いい感じの型が付いたTypeScript製文字変換ライブラリ
name | version | description |
---|---|---|
@submarin-converter/core | submarin-converter本体 | |
@submarin-converter/plugin-cjp | 怪レい日本语プラグイン | |
@submarin-converter/plugin-genhera | メンヘラっぽぃ日本語プラグイン | |
@submarin-converter/plugin-nomlish | 最終にして究極の幻想風の日本語プラグイン |
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); // "ほげほげふが"
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); // "ごんにさゎ。。。"
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); // "ごんにさゎ。。。"
git clone https://github.com/souhait0614/submarin-converter.git
cd submarin-converter
deno install
deno test --allow-net