i18n-json-to-ts
TypeScript icon, indicating that this package has built-in type declarations

1.1.7 • Public • Published

i18nJsonToTs

Utility to generate TypeScript out of a translatable I18N JSON. (using TypeScript compiler API)

Note: this is not a tool that maps JSON to TypeScript one to one.

Example

JSON

{
	"exampleText": "This is an example text.",
	"placeholderText": "This example says {helloMessage: string} to you!",
	"pluralTexts": {
		"0": "No example tags here.",
		"1": "There is one example tag with name {name: string}.",
		"n": "There are {count: number} example tags with name {name: string}."
	}
}

Resulting TypeScript

{
	exampleText: "This is an example text.",
	placeholderText: (helloMessage: string) => `This example says ${helloMessage} to you!`,
	pluralTexts: (count: number, name: string) => {
		if (count === 0) {
			return "No example tags here.";
		}
		if (count === 1) {
			return `There is one example tag with name ${name}.`;
		}
		return `There are ${count} example tags with name ${name}.`;
	}
}

Call

getTypeScriptFromString(`{
  "exampleText": "This is an example text.",
  "placeholderText": "This example says {helloMessage: string} to you!",
  "pluralTexts": {
    "0": "No example tags here.",
    "1": "There is one example tag with name {name: string}.",
    "n": "There are {count: number} example tags with name {name: string}."
  }
}`);

Dependencies (0)

    Dev Dependencies (8)

    Package Sidebar

    Install

    npm i i18n-json-to-ts

    Weekly Downloads

    12

    Version

    1.1.7

    License

    MIT

    Unpacked Size

    60.6 kB

    Total Files

    41

    Last publish

    Collaborators

    • hmuralt