Skip to main content
Home

Built and signed on GitHub Actions

Utility for encoding text in morse code.

This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers
This package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
This package works with Bun
This package works with Browsers
JSR Score
100%
Published
a year ago (0.2.0)

Morse

JSR

Encode text in morse code.

This work is in very early stages.

  • Only supports encoding, no decoding yet
  • Built-in encodings only supports 26 basic latin letters (a-z) and and Arabic numerals (0-9)
  • Support specifying custom encoding
  • Unsupported characters are skipped

Usage

Using built-in encoding

import { encodeMorse } from "@darcien/morse";

const input = "SOS SOS";

const simple = encodeMorse(input, { variant: "simple" });
// "... --- ...       ... --- ..."

const compact = encodeMorse(input, { variant: "compact" });
// "... --- ... / ... --- ..."

const spoken = encodeMorse(input, { variant: "spoken" });
// "di di dit   dah dah dah   di di dit,       di di dit   dah dah dah   di di dit"

Using custom encoding

import {
  encodeMorse,
  ENCODING_BY_VARIANT,
  transformSimpleMorseCodeValues,
} from "@darcien/morse";

const myEncoding: MorseEncoding = {
  variant: "my cool encoding",
  shortGap: " ",
  mediumGap: " | ",
  // The map keys should be in lower case
  codeByLetter: {
    s: "dot_dot_lastdot",
    o: "dash_dash_dash",
    // ...other letters
  },
  // A transform function is exported to make it easier
  // writing a custom encoding in simple morse code.
  // This is equivalent to the example above,
  // which uses simple encoding as base template.
  // codeByLetter: transformSimpleMorseCodeValues(
  //   ENCODING_BY_VARIANT.simple.codeByLetter,
  //   {
  //     shortMark: "dot",
  //     lastShortMark: "lastdot",
  //     longMark: "dash",
  //     interMarkGap: "_",
  //   },
  // ),
};

const input = "SOS SOS";

const encoded = encodeMorse(input, { encoding: myEncoding });
// dot_dot_lastdot dash_dash_dash dot_dot_lastdot | dot_dot_lastdot dash_dash_dash dot_dot_lastdot
Built and signed on
GitHub Actions

New Ticket: Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@darcien/morse

Import symbol

import * as morse from "@darcien/morse";
or

Import directly with a jsr specifier

import * as morse from "jsr:@darcien/morse";

Add Package

pnpm i jsr:@darcien/morse
or (using pnpm 10.8 or older)
pnpm dlx jsr add @darcien/morse

Import symbol

import * as morse from "@darcien/morse";

Add Package

yarn add jsr:@darcien/morse
or (using Yarn 4.8 or older)
yarn dlx jsr add @darcien/morse

Import symbol

import * as morse from "@darcien/morse";

Add Package

vlt install jsr:@darcien/morse

Import symbol

import * as morse from "@darcien/morse";

Add Package

npx jsr add @darcien/morse

Import symbol

import * as morse from "@darcien/morse";

Add Package

bunx jsr add @darcien/morse

Import symbol

import * as morse from "@darcien/morse";