Skip to content

いい感じの型が付いたTypeScript製文字変換ライブラリ

License

Notifications You must be signed in to change notification settings

souhait0614/submarin-converter

Repository files navigation

submarin-converter

いい感じの型が付いたTypeScript製文字変換ライブラリ

GitHub License GitHub Actions Workflow Status

Packages

name version description
@submarin-converter/core core JSR submarin-converter本体
@submarin-converter/plugin-cjp plugin-cjp JSR 怪レい日本语プラグイン
@submarin-converter/plugin-genhera plugin-genhera JSR メンヘラっぽぃ日本語プラグイン
@submarin-converter/plugin-nomlish plugin-nomlish JSR 最終にして究極の幻想風の日本語プラグイン

Example

General usage

import { Converter, type Plugin } from "@submarin-converter/core";

const double: Plugin<undefined> = {
  convertFunctions: [(text) => text + text],
};
const suffix: Plugin<{ suffix: string }> = {
  defaultOption: { suffix: "" },
  convertFunctions: [(text, option) => text + option.suffix],
};
const converter = new Converter({
  double,
  suffix,
});

const input = "ほげ";

const output = await converter.convert(
  input,
  [
    "double",
    {
      name: "suffix",
      option: { suffix: "ふが" },
    },
  ] as const,
);
console.log(output.text); // "ほげほげふが"

Using plugin libraries

import { Converter, type Plugin } from "@submarin-converter/core";
import cjp from "@submarin-converter/plugin-cjp";
import genhera from "@submarin-converter/plugin-genhera";

const converter = new Converter({
  cjp,
  genhera,
});

const input = "こんにちは。";

const output = await converter.convert(
  input,
  [
    "cjp",
    "genhera",
  ] as const,
);
console.log(output.text); // "ごんにさゎ。。。"

Convert results

import { Converter, type Plugin } from "@submarin-converter/core";
import cjp from "@submarin-converter/plugin-cjp";
import genhera from "@submarin-converter/plugin-genhera";

const converter = new Converter({
  cjp,
  genhera,
});

const input = "こんにちは。";

const output = await converter.convert(
  input,
  [
    "cjp",
    "genhera",
  ] as const,
);
// cjp convert result
console.log(output.results[0].ok); // true
console.log(output.results[0].convertedText); // "ごんにさは。"
// genhera convert result
console.log(output.results[1].ok); // true
console.log(output.results[1].convertedText); // "ごんにさゎ。。。"

Development

git clone https://github.com/souhait0614/submarin-converter.git
cd submarin-converter
deno install
deno test --allow-net

About

いい感じの型が付いたTypeScript製文字変換ライブラリ

Resources

License

Stars

Watchers

Forks