@webiny/i18n 5.17.4-beta.1 → 5.18.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/I18n.js CHANGED
@@ -445,5 +445,4 @@ class I18N {
445
445
 
446
446
  }
447
447
 
448
- exports.default = I18N;
449
- //# sourceMappingURL=I18n.js.map
448
+ exports.default = I18N;
@@ -54,5 +54,4 @@ var _default = source => {
54
54
  return results;
55
55
  };
56
56
 
57
- exports.default = _default;
58
- //# sourceMappingURL=extract.js.map
57
+ exports.default = _default;
@@ -60,5 +60,4 @@ class Extractor {
60
60
  }
61
61
 
62
62
  var _default = Extractor;
63
- exports.default = _default;
64
- //# sourceMappingURL=index.js.map
63
+ exports.default = _default;
package/index.js CHANGED
@@ -31,5 +31,4 @@ const defaultModifiers = (0, _modifiers.default)({
31
31
  });
32
32
  exports.defaultModifiers = defaultModifiers;
33
33
  var _default = i18n;
34
- exports.default = _default;
35
- //# sourceMappingURL=index.js.map
34
+ exports.default = _default;
@@ -36,5 +36,4 @@ var _default = {
36
36
  }
37
37
 
38
38
  };
39
- exports.default = _default;
40
- //# sourceMappingURL=countModifier.js.map
39
+ exports.default = _default;
@@ -16,5 +16,4 @@ var _default = ({
16
16
 
17
17
  });
18
18
 
19
- exports.default = _default;
20
- //# sourceMappingURL=dateModifier.js.map
19
+ exports.default = _default;
@@ -16,5 +16,4 @@ var _default = ({
16
16
 
17
17
  });
18
18
 
19
- exports.default = _default;
20
- //# sourceMappingURL=dateTimeModifier.js.map
19
+ exports.default = _default;
@@ -12,5 +12,4 @@ var _default = {
12
12
  }
13
13
 
14
14
  };
15
- exports.default = _default;
16
- //# sourceMappingURL=genderModifier.js.map
15
+ exports.default = _default;
@@ -12,5 +12,4 @@ var _default = {
12
12
  }
13
13
 
14
14
  };
15
- exports.default = _default;
16
- //# sourceMappingURL=ifModifier.js.map
15
+ exports.default = _default;
@@ -28,5 +28,4 @@ var _priceModifier = _interopRequireDefault(require("./priceModifier"));
28
28
  // Built-in modifiers
29
29
  var _default = options => [_countModifier.default, _genderModifier.default, _ifModifier.default, _pluralModifier.default, (0, _dateModifier.default)(options), (0, _dateTimeModifier.default)(options), (0, _timeModifier.default)(options), (0, _numberModifier.default)(options), (0, _priceModifier.default)(options)];
30
30
 
31
- exports.default = _default;
32
- //# sourceMappingURL=index.js.map
31
+ exports.default = _default;
@@ -16,5 +16,4 @@ var _default = ({
16
16
 
17
17
  });
18
18
 
19
- exports.default = _default;
20
- //# sourceMappingURL=numberModifier.js.map
19
+ exports.default = _default;
@@ -35,5 +35,4 @@ var _default = {
35
35
  }
36
36
 
37
37
  };
38
- exports.default = _default;
39
- //# sourceMappingURL=pluralModifier.js.map
38
+ exports.default = _default;
@@ -16,5 +16,4 @@ var _default = ({
16
16
 
17
17
  });
18
18
 
19
- exports.default = _default;
20
- //# sourceMappingURL=priceModifier.js.map
19
+ exports.default = _default;
@@ -16,5 +16,4 @@ var _default = ({
16
16
 
17
17
  });
18
18
 
19
- exports.default = _default;
20
- //# sourceMappingURL=timeModifier.js.map
19
+ exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/i18n",
3
- "version": "5.17.4-beta.1",
3
+ "version": "5.18.0-beta.2",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,8 +29,8 @@
29
29
  "@babel/preset-env": "^7.5.5",
30
30
  "@babel/preset-typescript": "^7.8.3",
31
31
  "@babel/register": "^7.5.5",
32
- "@webiny/cli": "^5.17.4-beta.1",
33
- "@webiny/project-utils": "^5.17.4-beta.1",
32
+ "@webiny/cli": "^5.18.0-beta.2",
33
+ "@webiny/project-utils": "^5.18.0-beta.2",
34
34
  "babel-plugin-lodash": "^3.3.4",
35
35
  "glob": "^7.1.2",
36
36
  "rimraf": "^3.0.2",
@@ -44,5 +44,5 @@
44
44
  "build": "yarn webiny run build",
45
45
  "watch": "yarn webiny run watch"
46
46
  },
47
- "gitHead": "42a79226fee87b18750a72c9d8399f3b32625a9a"
47
+ "gitHead": "02bb6242be1f61cbc204aea458fbc9e7c6000fc8"
48
48
  }
@@ -66,5 +66,4 @@ const processor = {
66
66
 
67
67
  };
68
68
  var _default = processor;
69
- exports.default = _default;
70
- //# sourceMappingURL=default.js.map
69
+ exports.default = _default;
package/types.js CHANGED
@@ -2,5 +2,4 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- });
6
- //# sourceMappingURL=types.js.map
5
+ });
package/I18n.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/I18n.ts"],"names":["I18N","constructor","locale","defaultFormats","getDefaultFormats","translations","modifiers","processors","translate","base","namespace","Error","translation","getTranslation","hasVariables","includes","values","data","i18n","key","canExecute","execute","ns","date","value","outputFormat","inputFormat","getDateFormat","parsedValue","fecha","parse","format","time","getTimeFormat","dateTime","getDateTimeFormat","price","getPriceFormat","replace","accounting","formatMoney","symbol","precision","thousand","decimal","number","getNumberFormat","formatNumber","getTranslations","hasTranslation","setTranslation","setTranslations","clearTranslations","mergeTranslations","getLocale","setLocale","registerModifier","modifier","name","registerModifiers","forEach","unregisterModifier","registerProcessor","processor","registerProcessors","unregisterProcessor","datetime"],"mappings":"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","sourcesContent":["import _ from \"lodash\";\nimport hash from \"short-hash\";\nimport * as fecha from \"fecha\";\nimport accounting from \"accounting\";\n\nimport {\n Formats,\n I18NData,\n Modifier,\n NumberFormat,\n PriceFormat,\n Processor,\n Translations,\n Translator\n} from \"./types\";\n\n/**\n * Main class used for all I18n needs.\n */\nexport default class I18N {\n locale?: string;\n defaultFormats: Formats;\n translations: Translations;\n modifiers: { [name: string]: Modifier };\n processors: { [name: string]: Processor };\n\n constructor() {\n this.locale = null;\n\n /**\n * If we fail to fetch formats for currently selected locale, these default formats will be used.\n * @type {{date: string, time: string, datetime: string, number: string}}\n */\n this.defaultFormats = this.getDefaultFormats();\n\n /**\n * All currently-loaded translations, for easier (synchronous) access.\n * @type {{}}\n */\n this.translations = {};\n\n /**\n * All registered modifiers.\n * @type {{}}\n */\n this.modifiers = {};\n\n /**\n * All registered processors.\n * Default built-in processors are registered immediately below.\n * @type {{}}\n */\n this.processors = {};\n }\n\n translate(base: string, namespace?: string): any {\n // Returns full translation for given base text in given namespace (optional).\n // If translation isn't found, base text will be returned.\n // We create a key out of given namespace and base text.\n\n if (!namespace) {\n throw Error(\"I18N text namespace not defined.\");\n }\n\n base = _.get(base, \"raw.0\", base);\n\n let translation = this.getTranslation(namespace + \".\" + hash(base));\n\n if (!translation) {\n translation = base;\n }\n\n const hasVariables = base.includes(\"{\") && base.includes(\"}\");\n if (hasVariables) {\n // @ts-ignore\n return values => {\n const data = { translation, base, namespace, values, i18n: this };\n for (const key in this.processors) {\n if (this.processors[key].canExecute(data)) {\n return this.processors[key].execute(data);\n }\n }\n return null;\n };\n }\n\n const data: I18NData = { translation, base, namespace, values: {}, i18n: this };\n for (const key in this.processors) {\n if (this.processors[key].canExecute(data)) {\n return this.processors[key].execute(data);\n }\n }\n return null;\n }\n\n namespace(namespace: string): Translator {\n return base => {\n return this.translate(base as string, namespace);\n };\n }\n\n ns(namespace: string): Translator {\n return this.namespace(namespace);\n }\n\n /**\n * Formats and outputs date.\n * It will try to load format from currently selected locale's settings. If not defined, default formats will be used.\n * @param value\n * @param outputFormat\n * @param inputFormat\n */\n date(\n value: Date | string | number,\n outputFormat?: string,\n inputFormat?: \"YYYY-MM-DDTHH:mm:ss.SSSZ\"\n ): string {\n if (!outputFormat) {\n outputFormat = this.getDateFormat();\n }\n\n let parsedValue: number | Date;\n\n if (typeof value === \"string\") {\n parsedValue = fecha.parse(value, inputFormat) as Date;\n }\n\n return fecha.format(parsedValue, outputFormat);\n }\n\n /**\n * Formats and outputs time.\n * It will try to load format from currently selected locale's settings. If not defined, default formats will be used.\n * @param value\n * @param outputFormat\n * @param inputFormat\n */\n time(\n value: Date | string | number,\n outputFormat: string = null,\n inputFormat = \"YYYY-MM-DDTHH:mm:ss.SSSZ\"\n ): string {\n if (!outputFormat) {\n outputFormat = this.getTimeFormat();\n }\n\n let parsedValue: number | Date;\n\n if (typeof value === \"string\") {\n parsedValue = fecha.parse(value, inputFormat) as Date;\n }\n\n return fecha.format(parsedValue, outputFormat);\n }\n\n /**\n * Formats and outputs date/time.\n * It will try to load format from currently selected locale's settings. If not defined, default formats will be used.\n * @param value\n * @param outputFormat\n * @param inputFormat\n */\n dateTime(\n value: Date | string | number,\n outputFormat: string = null,\n inputFormat = \"YYYY-MM-DDTHH:mm:ss.SSSZ\"\n ): string {\n if (!outputFormat) {\n outputFormat = this.getDateTimeFormat();\n }\n\n let parsedValue: number | Date;\n\n if (typeof value === \"string\") {\n parsedValue = fecha.parse(value, inputFormat) as Date;\n }\n\n return fecha.format(parsedValue, outputFormat);\n }\n\n /**\n * Outputs formatted number as amount of price.\n * @param value\n * @param outputFormat\n */\n price(value: string | number, outputFormat?: any): string {\n if (!outputFormat) {\n outputFormat = this.getPriceFormat();\n } else {\n outputFormat = _.assign({}, this.defaultFormats.price, outputFormat);\n }\n\n // Convert placeholders to accounting's placeholders.\n let format = outputFormat.format;\n format = format.replace(\"{symbol}\", \"%s\");\n format = format.replace(\"{amount}\", \"%v\");\n\n return accounting.formatMoney(\n value,\n outputFormat.symbol,\n outputFormat.precision,\n outputFormat.thousand,\n outputFormat.decimal,\n format\n );\n }\n\n /**\n * Outputs formatted number.\n * @param value\n * @param outputFormat\n */\n number(value: string | number, outputFormat?: NumberFormat): string {\n if (!outputFormat) {\n outputFormat = this.getNumberFormat();\n } else {\n outputFormat = _.assign({}, this.defaultFormats.number, outputFormat);\n }\n return accounting.formatNumber(\n value,\n outputFormat.precision,\n outputFormat.thousand,\n outputFormat.decimal\n );\n }\n\n /**\n * Returns translation for given text key.\n * @param key\n * @returns {*|string}\n */\n getTranslation(key?: string) {\n return this.translations[key];\n }\n\n /**\n * Returns all translations for current locale.\n * @returns {*|{}}\n */\n getTranslations() {\n return this.translations;\n }\n\n /**\n * Returns true if given key has a translation for currently set locale.\n * @param key\n */\n hasTranslation(key: string): boolean {\n return key in this.translations;\n }\n\n /**\n * Sets translation for given text key.\n * @param key\n * @param translation\n * @returns {I18N}\n */\n setTranslation(key: string, translation: string): I18N {\n this.translations[key] = translation;\n return this;\n }\n\n /**\n * Sets translations that will be used.\n * @returns {*|{}}\n */\n setTranslations(translations: Translations): I18N {\n this.translations = translations;\n return this;\n }\n\n /**\n * Clears all translations.\n * @returns {*|{}}\n */\n clearTranslations(): I18N {\n this.setTranslations({});\n return this;\n }\n\n /**\n * Merges given translations object with already existing.\n * @returns {*|{}}\n */\n\n mergeTranslations(translations: Translations) {\n return _.assign(this.translations, translations);\n }\n\n /**\n * Returns currently selected locale (locale's key).\n */\n getLocale(): null | string {\n return this.locale;\n }\n\n /**\n * Sets current locale.\n */\n setLocale(locale: string): I18N {\n this.locale = locale;\n return this;\n }\n\n /**\n * Registers single modifier.\n * @returns {I18N}\n */\n registerModifier(modifier: Modifier): I18N {\n this.modifiers[modifier.name] = modifier;\n return this;\n }\n\n /**\n * Registers all modifiers in given array.\n * @param modifiers\n * @returns {I18N}\n */\n registerModifiers(modifiers: Array<Modifier>): I18N {\n modifiers.forEach(modifier => this.registerModifier(modifier));\n return this;\n }\n\n /**\n * Unregisters given modifier.\n * @param name\n * @returns {I18N}\n */\n unregisterModifier(name: string): I18N {\n delete this.modifiers[name];\n return this;\n }\n\n /**\n * Registers single processor.\n * @returns {I18N}\n */\n registerProcessor(processor: Processor): I18N {\n this.processors[processor.name] = processor;\n return this;\n }\n\n /**\n * Registers all processors in given array.\n * @param processors\n * @returns {I18N}\n */\n registerProcessors(processors: Array<Processor>): I18N {\n processors.forEach(processor => this.registerProcessor(processor));\n return this;\n }\n\n /**\n * Unregisters given processor.\n * @param name\n * @returns {I18N}\n */\n unregisterProcessor(name: string): I18N {\n delete this.processors[name];\n return this;\n }\n\n /**\n * Returns default formats\n * @returns {{date: string, time: string, datetime: string, number: string}}\n */\n getDefaultFormats(): Formats {\n return {\n date: \"DD/MM/YYYY\",\n time: \"HH:mm\",\n datetime: \"DD/MM/YYYY HH:mm\",\n price: {\n symbol: \"\",\n format: \"{symbol}{amount}\",\n decimal: \".\",\n thousand: \",\",\n precision: 2\n },\n number: {\n decimal: \".\",\n thousand: \",\",\n precision: 2\n }\n };\n }\n\n /**\n * Returns current format to be used when outputting dates.\n */\n getDateFormat(): string {\n return _.get(this.locale, \"formats.date\", this.defaultFormats.date);\n }\n\n /**\n * Returns current format to be used when outputting time.\n */\n getTimeFormat(): string {\n return _.get(this.locale, \"formats.time\", this.defaultFormats.time);\n }\n\n /**\n * Returns current format to be used when outputting date/time.\n */\n getDateTimeFormat(): string {\n return _.get(this.locale, \"formats.datetime\", this.defaultFormats.datetime);\n }\n\n /**\n * Returns current format to be used when outputting prices.\n */\n getPriceFormat(): PriceFormat {\n return _.assign({}, this.defaultFormats.price, _.get(this.locale, \"formats.price\", {}));\n }\n\n /**\n * Returns current format to be used when outputting numbers.\n */\n getNumberFormat(): NumberFormat {\n return _.assign({}, this.defaultFormats.number, _.get(this.locale, \"formats.number\", {}));\n }\n}\n"],"file":"I18n.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/extractor/extract.ts"],"names":["getNamespaces","source","regex","m","results","exec","index","lastIndex","allDeclaredNamespaces","variable","RegExp","matchedText","key"],"mappings":";;;;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,aAAa,GAAGC,MAAM,IAAI;AAC5B,QAAMC,KAAK,GAAG,qEAAd;AACA,MAAIC,CAAJ;AAEA,QAAMC,OAAO,GAAG,EAAhB;;AAEA,SAAO,CAACD,CAAC,GAAGD,KAAK,CAACG,IAAN,CAAWJ,MAAX,CAAL,MAA6B,IAApC,EAA0C;AACtC,QAAIE,CAAC,CAACG,KAAF,KAAYJ,KAAK,CAACK,SAAtB,EAAiC;AAC7BL,MAAAA,KAAK,CAACK,SAAN;AACH;;AAEDH,IAAAA,OAAO,CAACD,CAAC,CAAC,CAAD,CAAF,CAAP,GAAgBA,CAAC,CAAC,CAAD,CAAjB;AACH;;AAED,SAAOC,OAAP;AACH,CAfD;;eAiBgBH,MAAD,IAAoB;AAC/B,QAAMG,OAAO,GAAG,EAAhB;AACA,QAAMI,qBAAqB,GAAGR,aAAa,CAACC,MAAD,CAA3C;;AAEA,OAAK,MAAMQ,QAAX,IAAuBD,qBAAvB,EAA8C;AAC1C,UAAMN,KAAK,GAAG,IAAIQ,MAAJ,CAAWD,QAAQ,GAAG,SAAtB,EAAiC,GAAjC,CAAd;AAEA,QAAIN,CAAJ;;AACA,WAAO,CAACA,CAAC,GAAGD,KAAK,CAACG,IAAN,CAAWJ,MAAX,CAAL,MAA6B,IAApC,EAA0C;AACtC,UAAIE,CAAC,CAACG,KAAF,KAAYJ,KAAK,CAACK,SAAtB,EAAiC;AAC7BL,QAAAA,KAAK,CAACK,SAAN;AACH,OAHqC,CAKtC;;;AACA,YAAMI,WAAW,GAAGR,CAAC,CAAC,CAAD,CAArB;AACA,YAAMS,GAAG,GAAGJ,qBAAqB,CAACC,QAAD,CAArB,GAAkC,GAAlC,GAAwC,wBAAKE,WAAL,CAApD;AACAP,MAAAA,OAAO,CAACQ,GAAD,CAAP,GAAeD,WAAf;AACH;AACJ;;AAED,SAAOP,OAAP;AACH,C","sourcesContent":["import hash from \"short-hash\";\n\n/**\n * Searches for all declared namespaces.\n * Result contains an object with identifiers as keys, and namespaces they represent as values, for example:\n * {ns1: 'Webiny.Ns1', ns2: 'Webiny.Ns2', i18n: 'NewNamespace', t: 'Some.Other.Namespace'}\n * @param source\n */\nconst getNamespaces = source => {\n const regex = /([a-zA-Z0-9]+)[ ]+=[ ]+i18n.namespace\\(['\"`]([a-zA-Z0-9.]+)['\"`]\\)/g;\n let m;\n\n const results = {};\n\n while ((m = regex.exec(source)) !== null) {\n if (m.index === regex.lastIndex) {\n regex.lastIndex++;\n }\n\n results[m[1]] = m[2];\n }\n\n return results;\n};\n\nexport default (source: string) => {\n const results = {};\n const allDeclaredNamespaces = getNamespaces(source);\n\n for (const variable in allDeclaredNamespaces) {\n const regex = new RegExp(variable + \"`(.*?)`\", \"g\");\n\n let m;\n while ((m = regex.exec(source)) !== null) {\n if (m.index === regex.lastIndex) {\n regex.lastIndex++;\n }\n\n // This is the key - namespace + hash of matched label.\n const matchedText = m[1];\n const key = allDeclaredNamespaces[variable] + \".\" + hash(matchedText);\n results[key] = matchedText;\n }\n }\n\n return results;\n};\n"],"file":"extract.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/extractor/index.ts"],"names":["Extractor","setGlob","glob","setContent","content","execute","results","paths","sync","forEach","path","contents","fs","readFileSync","parsed","key","setListOnly","flag","listOnly"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,MAAMA,SAAN,CAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;;AAKZC,EAAAA,OAAO,CAACC,IAAD,EAA0B;AAC7B,SAAKA,IAAL,GAAYA,IAAZ;AACA,WAAO,IAAP;AACH;;AAEDC,EAAAA,UAAU,CAACC,OAAD,EAA6B;AACnC,SAAKA,OAAL,GAAeA,OAAf;AACA,WAAO,IAAP;AACH;;AAEDC,EAAAA,OAAO,GAAG;AACN,UAAMC,OAAO,GAAG,EAAhB;;AAEA,QAAI,KAAKJ,IAAT,EAAe;AACX,YAAMK,KAAK,GAAGL,cAAKM,IAAL,CAAU,KAAKN,IAAf,CAAd;;AACAK,MAAAA,KAAK,CAACE,OAAN,CAAcC,IAAI,IAAI;AAClB,cAAMC,QAAQ,GAAGC,YAAGC,YAAH,CAAgBH,IAAhB,EAAsB,MAAtB,CAAjB;;AACA,cAAMI,MAAM,GAAG,sBAAQH,QAAR,CAAf;;AACA,aAAK,MAAMI,GAAX,IAAkBD,MAAlB,EAA0B;AACtBR,UAAAA,OAAO,CAACS,GAAD,CAAP,GAAeD,MAAM,CAACC,GAAD,CAArB;AACH;AACJ,OAND;AAOH;;AAED,WAAOT,OAAP;AACH;;AAEDU,EAAAA,WAAW,CAACC,IAAI,GAAG,IAAR,EAAyB;AAChC,SAAKC,QAAL,GAAgBD,IAAhB;AACA,WAAO,IAAP;AACH;;AAnCW;;eAsCDjB,S","sourcesContent":["import extract from \"./extract\";\nimport glob from \"glob\";\nimport fs from \"fs\";\n\nclass Extractor {\n glob: string;\n content: string;\n listOnly: boolean;\n\n setGlob(glob: string): Extractor {\n this.glob = glob;\n return this;\n }\n\n setContent(content: string): Extractor {\n this.content = content;\n return this;\n }\n\n execute() {\n const results = {};\n\n if (this.glob) {\n const paths = glob.sync(this.glob);\n paths.forEach(path => {\n const contents = fs.readFileSync(path, \"utf8\");\n const parsed = extract(contents);\n for (const key in parsed) {\n results[key] = parsed[key];\n }\n });\n }\n\n return results;\n }\n\n setListOnly(flag = true): Extractor {\n this.listOnly = flag;\n return this;\n }\n}\n\nexport default Extractor;\n"],"file":"index.js"}
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["i18n","I18n","defaultModifiers"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,MAAMA,IAAI,GAAG,IAAIC,aAAJ,EAAb;AAEA,MAAMC,gBAAgB,GAAG,wBAAiB;AAAEF,EAAAA;AAAF,CAAjB,CAAzB;;eAEeA,I","sourcesContent":["import I18n from \"./I18n\";\nimport defaultProcessor from \"./processors/default\";\nimport modifiersFactory from \"./modifiers\";\n\nconst i18n = new I18n();\n\nconst defaultModifiers = modifiersFactory({ i18n });\n\nexport default i18n;\n\nexport { I18n, defaultModifiers, defaultProcessor };\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/modifiers/countModifier.ts"],"names":["name","execute","value","parameters","i","length","current","numbers","split","String"],"mappings":";;;;;;eAEe;AACXA,EAAAA,IAAI,EAAE,OADK;;AAEXC,EAAAA,OAAO,CAACC,KAAD,EAAgBC,UAAhB,EAA2C;AAC9C;AACA,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,UAAU,CAACE,MAA/B,EAAuCD,CAAC,GAAGA,CAAC,GAAG,CAA/C,EAAkD;AAC9C,YAAME,OAAO,GAAGH,UAAU,CAACC,CAAD,CAA1B;;AACA,UAAIE,OAAO,KAAK,SAAhB,EAA2B;AACvB,eAAOJ,KAAK,GAAG,GAAR,GAAcC,UAAU,CAACC,CAAC,GAAG,CAAL,CAA/B;AACH;;AAED,YAAMG,OAAO,GAAGD,OAAO,CAACE,KAAR,CAAc,GAAd,CAAhB,CAN8C,CAQ9C;;AACA,UAAID,OAAO,CAACF,MAAR,KAAmB,CAAvB,EAA0B;AACtB,YAAIH,KAAK,IAAIK,OAAO,CAAC,CAAD,CAAhB,IAAuBL,KAAK,IAAIK,OAAO,CAAC,CAAD,CAA3C,EAAgD;AAC5C,iBAAOL,KAAK,GAAG,GAAR,GAAcC,UAAU,CAACC,CAAC,GAAG,CAAL,CAA/B;AACH;;AACD;AACH;;AAED,UAAIK,MAAM,CAACP,KAAD,CAAN,KAAkBK,OAAO,CAAC,CAAD,CAA7B,EAAkC;AAC9B,eAAOL,KAAK,GAAG,GAAR,GAAcC,UAAU,CAACC,CAAC,GAAG,CAAL,CAA/B;AACH;AACJ,KArB6C,CAuB9C;;;AACA,WAAOF,KAAP;AACH;;AA3BU,C","sourcesContent":["import { Modifier } from \"../types\";\n\nexport default {\n name: \"count\",\n execute(value: string, parameters: Array<string>) {\n // Numbers can be single number or ranges.\n for (let i = 0; i < parameters.length; i = i + 2) {\n const current = parameters[i];\n if (current === \"default\") {\n return value + \" \" + parameters[i + 1];\n }\n\n const numbers = current.split(\"-\");\n\n // If we are dealing with a numbers range, then let's check if we are in it.\n if (numbers.length === 2) {\n if (value >= numbers[0] && value <= numbers[1]) {\n return value + \" \" + parameters[i + 1];\n }\n continue;\n }\n\n if (String(value) === numbers[0]) {\n return value + \" \" + parameters[i + 1];\n }\n }\n\n // If we didn't match any condition, let's just remove the received value.\n return value;\n }\n} as Modifier;\n"],"file":"countModifier.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/modifiers/dateModifier.ts"],"names":["i18n","name","execute","value","date"],"mappings":";;;;;;;eAEe,CAAC;AAAEA,EAAAA;AAAF,CAAD,MAAyB;AACpCC,EAAAA,IAAI,EAAE,MAD8B;;AAEpCC,EAAAA,OAAO,CAACC,KAAD,EAAQ;AACX,WAAOH,IAAI,CAACI,IAAL,CAAUD,KAAV,CAAP;AACH;;AAJmC,CAAzB,C","sourcesContent":["import { Modifier } from \"../types\";\n\nexport default ({ i18n }): Modifier => ({\n name: \"date\",\n execute(value) {\n return i18n.date(value);\n }\n});\n"],"file":"dateModifier.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/modifiers/dateTimeModifier.ts"],"names":["i18n","name","execute","value","dateTime"],"mappings":";;;;;;;eAEe,CAAC;AAAEA,EAAAA;AAAF,CAAD,MAAyB;AACpCC,EAAAA,IAAI,EAAE,UAD8B;;AAEpCC,EAAAA,OAAO,CAACC,KAAD,EAAgB;AACnB,WAAOH,IAAI,CAACI,QAAL,CAAcD,KAAd,CAAP;AACH;;AAJmC,CAAzB,C","sourcesContent":["import { Modifier } from \"../types\";\n\nexport default ({ i18n }): Modifier => ({\n name: \"dateTime\",\n execute(value: string) {\n return i18n.dateTime(value);\n }\n});\n"],"file":"dateTimeModifier.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/modifiers/genderModifier.ts"],"names":["name","execute","value","parameters"],"mappings":";;;;;;eAEe;AACXA,EAAAA,IAAI,EAAE,QADK;;AAEXC,EAAAA,OAAO,CAACC,KAAD,EAAgBC,UAAhB,EAA2C;AAC9C,WAAOD,KAAK,KAAK,MAAV,GAAmBC,UAAU,CAAC,CAAD,CAA7B,GAAmCA,UAAU,CAAC,CAAD,CAApD;AACH;;AAJU,C","sourcesContent":["import { Modifier } from \"../types\";\n\nexport default {\n name: \"gender\",\n execute(value: string, parameters: Array<string>) {\n return value === \"male\" ? parameters[0] : parameters[1];\n }\n} as Modifier;\n"],"file":"genderModifier.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/modifiers/ifModifier.ts"],"names":["name","execute","value","parameters"],"mappings":";;;;;;eAEe;AACXA,EAAAA,IAAI,EAAE,IADK;;AAEXC,EAAAA,OAAO,CAACC,KAAD,EAAgBC,UAAhB,EAA2C;AAC9C,WAAOD,KAAK,KAAKC,UAAU,CAAC,CAAD,CAApB,GAA0BA,UAAU,CAAC,CAAD,CAApC,GAA0CA,UAAU,CAAC,CAAD,CAAV,IAAiB,EAAlE;AACH;;AAJU,C","sourcesContent":["import { Modifier } from \"../types\";\n\nexport default {\n name: \"if\",\n execute(value: string, parameters: Array<string>) {\n return value === parameters[0] ? parameters[1] : parameters[2] || \"\";\n }\n} as Modifier;\n"],"file":"ifModifier.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/modifiers/index.ts"],"names":["options","countModifiers","genderModifier","ifModifier","pluralModifier"],"mappings":";;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AATA;eAWeA,OAAO,IAAI,CACtBC,sBADsB,EAEtBC,uBAFsB,EAGtBC,mBAHsB,EAItBC,uBAJsB,EAKtB,2BAAaJ,OAAb,CALsB,EAMtB,+BAAiBA,OAAjB,CANsB,EAOtB,2BAAaA,OAAb,CAPsB,EAQtB,6BAAeA,OAAf,CARsB,EAStB,4BAAcA,OAAd,CATsB,C","sourcesContent":["// Built-in modifiers\nimport countModifiers from \"./countModifier\";\nimport genderModifier from \"./genderModifier\";\nimport ifModifier from \"./ifModifier\";\nimport pluralModifier from \"./pluralModifier\";\nimport dateModifier from \"./dateModifier\";\nimport dateTimeModifier from \"./dateTimeModifier\";\nimport timeModifier from \"./timeModifier\";\nimport numberModifier from \"./numberModifier\";\nimport priceModifier from \"./priceModifier\";\n\nexport default options => [\n countModifiers,\n genderModifier,\n ifModifier,\n pluralModifier,\n dateModifier(options),\n dateTimeModifier(options),\n timeModifier(options),\n numberModifier(options),\n priceModifier(options)\n];\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/modifiers/numberModifier.ts"],"names":["i18n","name","execute","value","number"],"mappings":";;;;;;;eAEe,CAAC;AAAEA,EAAAA;AAAF,CAAD,MAAyB;AACpCC,EAAAA,IAAI,EAAE,QAD8B;;AAEpCC,EAAAA,OAAO,CAACC,KAAD,EAAgB;AACnB,WAAOH,IAAI,CAACI,MAAL,CAAYD,KAAZ,CAAP;AACH;;AAJmC,CAAzB,C","sourcesContent":["import { Modifier } from \"../types\";\n\nexport default ({ i18n }): Modifier => ({\n name: \"number\",\n execute(value: string) {\n return i18n.number(value);\n }\n});\n"],"file":"numberModifier.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/modifiers/pluralModifier.ts"],"names":["name","execute","value","parameters","i","length","current","numbers","split","String"],"mappings":";;;;;;eAEe;AACXA,EAAAA,IAAI,EAAE,QADK;;AAEXC,EAAAA,OAAO,CAACC,KAAD,EAAgBC,UAAhB,EAA2C;AAC9C;AACA,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,UAAU,CAACE,MAA/B,EAAuCD,CAAC,GAAGA,CAAC,GAAG,CAA/C,EAAkD;AAC9C,YAAME,OAAO,GAAGH,UAAU,CAACC,CAAD,CAA1B;;AACA,UAAIE,OAAO,KAAK,SAAhB,EAA2B;AACvB,eAAOH,UAAU,CAACC,CAAC,GAAG,CAAL,CAAjB;AACH;;AAED,YAAMG,OAAO,GAAGD,OAAO,CAACE,KAAR,CAAc,GAAd,CAAhB,CAN8C,CAQ9C;;AACA,UAAID,OAAO,CAACF,MAAR,KAAmB,CAAvB,EAA0B;AACtB,YAAIH,KAAK,IAAIK,OAAO,CAAC,CAAD,CAAhB,IAAuBL,KAAK,IAAIK,OAAO,CAAC,CAAD,CAA3C,EAAgD;AAC5C,iBAAOJ,UAAU,CAACC,CAAC,GAAG,CAAL,CAAjB;AACH;;AACD;AACH;;AAED,UAAIK,MAAM,CAACP,KAAD,CAAN,KAAkBK,OAAO,CAAC,CAAD,CAA7B,EAAkC;AAC9B,eAAOJ,UAAU,CAACC,CAAC,GAAG,CAAL,CAAjB;AACH;AACJ;;AAED,WAAO,EAAP;AACH;;AA1BU,C","sourcesContent":["import { Modifier } from \"../types\";\n\nexport default {\n name: \"plural\",\n execute(value: string, parameters: Array<string>) {\n // Numbers can be single number or ranges.\n for (let i = 0; i < parameters.length; i = i + 2) {\n const current = parameters[i];\n if (current === \"default\") {\n return parameters[i + 1];\n }\n\n const numbers = current.split(\"-\");\n\n // If we are dealing with a numbers range, then let's check if we are in it.\n if (numbers.length === 2) {\n if (value >= numbers[0] && value <= numbers[1]) {\n return parameters[i + 1];\n }\n continue;\n }\n\n if (String(value) === numbers[0]) {\n return parameters[i + 1];\n }\n }\n\n return \"\";\n }\n} as Modifier;\n"],"file":"pluralModifier.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/modifiers/priceModifier.ts"],"names":["i18n","name","execute","value","price"],"mappings":";;;;;;;eAEe,CAAC;AAAEA,EAAAA;AAAF,CAAD,MAAyB;AACpCC,EAAAA,IAAI,EAAE,OAD8B;;AAEpCC,EAAAA,OAAO,CAACC,KAAD,EAAgB;AACnB,WAAOH,IAAI,CAACI,KAAL,CAAWD,KAAX,CAAP;AACH;;AAJmC,CAAzB,C","sourcesContent":["import { Modifier } from \"../types\";\n\nexport default ({ i18n }): Modifier => ({\n name: \"price\",\n execute(value: string) {\n return i18n.price(value);\n }\n});\n"],"file":"priceModifier.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/modifiers/timeModifier.ts"],"names":["i18n","name","execute","value","time"],"mappings":";;;;;;;eAEe,CAAC;AAAEA,EAAAA;AAAF,CAAD,MAAyB;AACpCC,EAAAA,IAAI,EAAE,MAD8B;;AAEpCC,EAAAA,OAAO,CAACC,KAAD,EAAgB;AACnB,WAAOH,IAAI,CAACI,IAAL,CAAUD,KAAV,CAAP;AACH;;AAJmC,CAAzB,C","sourcesContent":["import { Modifier } from \"../types\";\n\nexport default ({ i18n }): Modifier => ({\n name: \"time\",\n execute(value: string) {\n return i18n.time(value);\n }\n});\n"],"file":"timeModifier.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/processors/default.ts"],"names":["processTextPart","part","values","modifiers","parts","split","variable","modifier","output","value","parameters","name","shift","execute","processor","canExecute","data","key","Date","translation","reduce","carry","i18n"],"mappings":";;;;;;;;;;;;;;;AAGA,MAAMA,eAAe,GAAG,CAACC,IAAD,EAAeC,MAAf,EAA+BC,SAA/B,KAAqD;AACzE,MAAI,CAAC,0BAAaF,IAAb,EAAmB,GAAnB,CAAL,EAA8B;AAC1B,WAAOA,IAAP;AACH;;AAED,QAAMG,KAAK,GAAG,oBAAOH,IAAP,EAAa,IAAb,EAAmBI,KAAnB,CAAyB,GAAzB,CAAd;AAEA,QAAM,CAACC,QAAD,EAAWC,QAAX,IAAuBH,KAA7B;;AAEA,MAAI,CAAC,mBAAMF,MAAN,EAAcI,QAAd,CAAL,EAA8B;AAC1B,WAAQ,IAAGA,QAAS,GAApB;AACH;;AAED,QAAME,MAAM,GAAG;AAAEC,IAAAA,KAAK,EAAEP,MAAM,CAACI,QAAD;AAAf,GAAf;;AAEA,MAAIC,QAAJ,EAAc;AACV,UAAMG,UAAU,GAAGH,QAAQ,CAACF,KAAT,CAAe,GAAf,CAAnB;AACA,UAAMM,IAAI,GAAGD,UAAU,CAACE,KAAX,EAAb;;AACA,QAAIT,SAAS,CAACQ,IAAD,CAAb,EAAqB;AACjB,YAAMJ,QAAQ,GAAGJ,SAAS,CAACQ,IAAD,CAA1B;AACAH,MAAAA,MAAM,CAACC,KAAP,GAAeF,QAAQ,CAACM,OAAT,CAAiBL,MAAM,CAACC,KAAxB,EAA+BC,UAA/B,CAAf;AACH;AACJ;;AAED,SAAOF,MAAM,CAACC,KAAd;AACH,CAzBD;;AA2BA,MAAMK,SAAoB,GAAG;AACzBH,EAAAA,IAAI,EAAE,SADmB;;AAEzBI,EAAAA,UAAU,CAACC,IAAD,EAAmB;AACzB,SAAK,MAAMC,GAAX,IAAkBD,IAAI,CAACd,MAAvB,EAA+B;AAC3B,YAAMO,KAAK,GAAGO,IAAI,CAACd,MAAL,CAAYe,GAAZ,CAAd;;AACA,UACI,OAAOR,KAAP,KAAiB,QAAjB,IACA,OAAOA,KAAP,KAAiB,QADjB,IAEAA,KAAK,KAAK,IAFV,IAGAA,KAAK,YAAYS,IAJrB,EAKE;AACE;AACH;;AACD,aAAO,KAAP;AACH;;AAED,WAAO,IAAP;AACH,GAjBwB;;AAkBzBL,EAAAA,OAAO,CAACG,IAAD,EAAO;AACV,UAAMZ,KAAK,GAAGY,IAAI,CAACG,WAAL,CAAiBd,KAAjB,CAAuB,SAAvB,CAAd;AACA,WAAOD,KAAK,CAACgB,MAAN,CACH,CAACC,KAAD,EAAQpB,IAAR,KAAiBoB,KAAK,GAAGrB,eAAe,CAACC,IAAD,EAAOe,IAAI,CAACd,MAAZ,EAAoBc,IAAI,CAACM,IAAL,CAAUnB,SAA9B,CADrC,EAEH,EAFG,CAAP;AAIH;;AAxBwB,CAA7B;eA2BeW,S","sourcesContent":["import _ from \"lodash\";\nimport { Processor } from \"../types\";\n\nconst processTextPart = (part: string, values: Object, modifiers): string => {\n if (!_.startsWith(part, \"{\")) {\n return part;\n }\n\n const parts = _.trim(part, \"{}\").split(\"|\");\n\n const [variable, modifier] = parts;\n\n if (!_.has(values, variable)) {\n return `{${variable}}`;\n }\n\n const output = { value: values[variable] };\n\n if (modifier) {\n const parameters = modifier.split(\":\");\n const name = parameters.shift();\n if (modifiers[name]) {\n const modifier = modifiers[name];\n output.value = modifier.execute(output.value, parameters);\n }\n }\n\n return output.value;\n};\n\nconst processor: Processor = {\n name: \"default\",\n canExecute(data: { values }) {\n for (const key in data.values) {\n const value = data.values[key];\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n value === null ||\n value instanceof Date\n ) {\n continue;\n }\n return false;\n }\n\n return true;\n },\n execute(data) {\n const parts = data.translation.split(/({.*?})/);\n return parts.reduce(\n (carry, part) => carry + processTextPart(part, data.values, data.i18n.modifiers),\n \"\"\n );\n }\n};\n\nexport default processor;\n"],"file":"default.js"}
package/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"types.js"}