lexora 1.4.0 → 1.4.3

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/README.md CHANGED
@@ -6,4 +6,323 @@
6
6
 
7
7
  ## What is Lexora
8
8
 
9
- ***Lexora*** is a lightweight TypeScript helper for managing multi-language strings with optional grammatical support.
9
+ ***Lexora*** is a lightweight, pipeline-based translation and formatting library for TypeScript.
10
+ It is designed for applications that need more than simple key-value translations, but still want to stay small, explicit and easy to reason about.
11
+
12
+ Lexora supports:
13
+ - language based string resources
14
+ - nested placeholders
15
+ - translation metadata
16
+ - value pipelines
17
+ - plural/form selection
18
+ - grammatical articles
19
+ - number, date, time, currency and list formatting
20
+ - watchable reactive strings
21
+ - composable grammar-aware pipelines
22
+
23
+ ---
24
+
25
+ ## Installation
26
+ ```bash
27
+ npm install lexora
28
+ ```
29
+
30
+ # Usage
31
+
32
+ ## Basic
33
+
34
+ ```ts
35
+ import { LexoraContext } from "lexora";
36
+
37
+ const ctx = LexoraContext.createWithDefaults();
38
+
39
+ ctx.loadMultipleStringResourceTranslations({
40
+ house: {
41
+ en: "house",
42
+ de: "Haus",
43
+ },
44
+ greeting: {
45
+ en: "Hello {{house}}",
46
+ de: "Hallo {{house}}",
47
+ },
48
+ });
49
+
50
+ ctx.language = "de";
51
+
52
+ ctx.get("greeting");
53
+ // "Hallo Haus"
54
+ ```
55
+ ## String Resources
56
+ A string resource can be either a plain string:
57
+ ```ts
58
+ house: {
59
+ en: "house",
60
+ de: "Haus",
61
+ }
62
+ ```
63
+ or a tuple with metadata:
64
+ ```ts
65
+ house: {
66
+ en: "house",
67
+ de: ["Haus", { gender: "neuter" }],
68
+ }
69
+ ```
70
+ Metadata is useful for language-specific pipeline functions, for example German articles.
71
+
72
+ ## Templates
73
+ Templates can reference other resources with {{key}}.
74
+ ```ts
75
+ ctx.translate("Hello {{name}}", {
76
+ name: "Luca",
77
+ });
78
+ ```
79
+ Output:
80
+ ```ts
81
+ Hello Luca
82
+ ```
83
+ Templates can also be stored as resources:
84
+ ```ts
85
+ ctx.loadMultipleStringResourceTranslations({
86
+ welcome: {
87
+ en: "Welcome {{name}}",
88
+ de: "Willkommen {{name}}",
89
+ },
90
+ });
91
+ ```
92
+ ## Pipelines
93
+ Pipelines are written with ->.
94
+ ```ts
95
+ ctx.translate("{{house->upper}}");
96
+ ```
97
+ Example:
98
+ ```ts
99
+ HOUSE
100
+ ```
101
+ Pipelines can be chained:
102
+ ```ts
103
+ ctx.translate("{{house->prefix('My ')->capitalize}}");
104
+ ```
105
+ Output:
106
+ ```ts
107
+ My house
108
+ ```
109
+ ### Built-in Pipelines
110
+ Lexora includes common default pipelines:
111
+ ```ts
112
+ upper
113
+ lower
114
+ trim
115
+ capitalize
116
+ prefix
117
+ suffix
118
+ number
119
+ currency
120
+ date
121
+ time
122
+ boolean
123
+ list
124
+ form
125
+ switch
126
+ ```
127
+ Language packs can add additional pipelines, such as articles.
128
+ ## Plural and Forms
129
+ Lexora supports forms for grammatical variants like singular and plural.
130
+ ```ts
131
+ point: {
132
+ en: [{ _: "point", other: "points" }],
133
+ de: [{ _: "Punkt", other: "Punkte" }, { gender: "masculine" }],
134
+ }
135
+ ```
136
+ _ is the default form.
137
+ Use the form pipeline to select the correct form:
138
+ ```ts
139
+ ctx.translate("{{count}} {{point->form(count)}}", {
140
+ count: 1,
141
+ });
142
+ ```
143
+ Output:
144
+ ```ts
145
+ 1 point
146
+ ```
147
+ ```ts
148
+ ctx.translate("{{count}} {{point->form(count)}}", {
149
+ count: 5,
150
+ });
151
+ ```
152
+ Output:
153
+ ```ts
154
+ 5 points
155
+ ```
156
+ Internally, Lexora uses Intl.PluralRules.
157
+
158
+ You can also select a form explicitly:
159
+ ```ts
160
+ ctx.translate("{{point->form(:other)}}");
161
+ ```
162
+ ## German Articles
163
+
164
+ With metadata and language packs, Lexora can apply grammatical articles.
165
+
166
+ ```ts
167
+ house: {
168
+ de: ["Haus", { gender: "neuter" }],
169
+ }
170
+ ```
171
+ ```ts
172
+ ctx.language = "de";
173
+
174
+ ctx.translate("{{house->article(nominative)}}");
175
+ ```
176
+ Output:
177
+ ```ts
178
+ das Haus
179
+ ```
180
+ Forms also work together with articles:
181
+ ```ts
182
+ ctx.translate("{{point->form(count)->article(nominative)}}", {
183
+ count: 5,
184
+ });
185
+ ```
186
+ Output:
187
+ ```ts
188
+ die Punkte
189
+ ```
190
+
191
+ ## Switch Pipeline
192
+ Use switch for semantic choices, for example gender-based labels.
193
+ ```ts
194
+ ctx.loadMultipleStringResourceTranslations({
195
+ maleUser: {
196
+ en: "user",
197
+ de: "Benutzer",
198
+ },
199
+ femaleUser: {
200
+ en: "user",
201
+ de: "Benutzerin",
202
+ },
203
+ });
204
+ ```
205
+ ```ts
206
+ ctx.translate(
207
+ "{{gender->switch('male:{{maleUser}}','female:{{femaleUser}}')}}",
208
+ {
209
+ gender: "female",
210
+ }
211
+ );
212
+ ```
213
+ Output:
214
+ Output:
215
+ ```ts
216
+ Benutzerin
217
+ ```
218
+ Switch results can contain nested placeholders and pipelines:
219
+ ```ts
220
+ ctx.translate(
221
+ "{{gender->switch('male:{{maleUser->upper}}','female:{{femaleUser->upper}}')}}",
222
+ {
223
+ gender: "female",
224
+ }
225
+ );
226
+ ```
227
+ Output:
228
+ ```ts
229
+ BENUTZERIN
230
+ ```
231
+ ## Formatting
232
+ Numbers:
233
+ ```ts
234
+ ctx.translate("{{value->number}}", {
235
+ value: 1234.56,
236
+ });
237
+ ```
238
+ Dates:
239
+ ```ts
240
+ ctx.translate("{{value->date(long)}}", {
241
+ value: new Date(),
242
+ });
243
+ ```
244
+ Currency:
245
+ ```ts
246
+ ctx.translate("{{value->currency(USD)}}", {
247
+ value: 1234.56,
248
+ });
249
+ ```
250
+ Lists:
251
+ ```ts
252
+ ctx.translate("{{items->list}}", {
253
+ items: ["apple", "banana", "cherry"],
254
+ });
255
+ ```
256
+ ## Call Context
257
+ Values passed in the call context override resources.
258
+ ```ts
259
+ ctx.translate("{{house}}", {
260
+ house: {
261
+ en: "villa",
262
+ de: "Villa",
263
+ },
264
+ });
265
+ ```
266
+ Context values can also include metadata:
267
+ ```ts
268
+ ctx.translate("{{house->article(nominative)}}", {
269
+ house: ["Villa", { gender: "feminine" }],
270
+ });
271
+ ```
272
+ Output:
273
+ ```ts
274
+ die Villa
275
+ ```
276
+ ## Watchable Strings
277
+ Lexora can create reactive strings that update when the language changes.
278
+ ```ts
279
+ import { LexoraContext } from "lexora";
280
+
281
+ const ctx = LexoraContext.createWithDefaults();
282
+
283
+ ctx.loadMultipleStringResourceTranslations({
284
+ greeting: {
285
+ en: "Hello {{user}}",
286
+ de: "Hallo {{user}}",
287
+ },
288
+ });
289
+
290
+ ctx.language = "en";
291
+
292
+ const watch = ctx.translateWatch("{{greeting}}", {
293
+ user: "Luca",
294
+ });
295
+
296
+ console.log(watch.value);
297
+ // -> Hello Luca
298
+
299
+ watch.on("update", (value) => {
300
+ console.log("Updated:", value);
301
+ });
302
+
303
+ ctx.language = "de";
304
+
305
+ // console:
306
+ // Updated: Hallo Luca
307
+
308
+ console.log(watch.value);
309
+ // -> Hallo Luca
310
+ ```
311
+ ## Strict and Lenient Mode
312
+ Lexora can either throw errors or gracefully fall back.
313
+ ```
314
+ const ctx = LexoraContext.createWithDefaults({
315
+ ignoreMissingKeys: false,
316
+ skipFailedPipelineFunctions: false,
317
+ ignoreMissingPipelineFunctions: false,
318
+ });
319
+ ```
320
+ Lenient mode:
321
+ ```
322
+ const ctx = LexoraContext.createWithDefaults({
323
+ ignoreMissingKeys: true,
324
+ defaultValueForMissingKeys: "?",
325
+ skipFailedPipelineFunctions: true,
326
+ ignoreMissingPipelineFunctions: true,
327
+ });
328
+ ```
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import "intl-list-format";
2
2
  import "intl-list-format/locale-data/en";
3
3
  import "intl-list-format/locale-data/de";
4
+ import 'intl-pluralrules';
4
5
  import { BoundTemplate, boundTemplate, isBoundTemplate } from "./lib/BoundTemplate";
5
6
  import { LanguageKey } from "./lib/LanguageKey";
6
7
  import { LanguagePacks } from "./lib/LanguagePack";
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SR=exports.isBoundTemplate=exports.boundTemplate=exports.WatchableString=exports.LexoraContext=exports.LanguagePacks=void 0,require("intl-list-format"),require("intl-list-format/locale-data/en"),require("intl-list-format/locale-data/de");const BoundTemplate_1=require("./lib/BoundTemplate");Object.defineProperty(exports,"boundTemplate",{enumerable:!0,get:function(){return BoundTemplate_1.boundTemplate}}),Object.defineProperty(exports,"isBoundTemplate",{enumerable:!0,get:function(){return BoundTemplate_1.isBoundTemplate}});const LanguagePack_1=require("./lib/LanguagePack");Object.defineProperty(exports,"LanguagePacks",{enumerable:!0,get:function(){return LanguagePack_1.LanguagePacks}});const LexoraContext_1=require("./lib/LexoraContext");Object.defineProperty(exports,"LexoraContext",{enumerable:!0,get:function(){return LexoraContext_1.LexoraContext}});const StringResource_1=require("./lib/StringResource");Object.defineProperty(exports,"SR",{enumerable:!0,get:function(){return StringResource_1.SR}});const WatchableString_1=require("./lib/WatchableString");Object.defineProperty(exports,"WatchableString",{enumerable:!0,get:function(){return WatchableString_1.WatchableString}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SR=exports.isBoundTemplate=exports.boundTemplate=exports.WatchableString=exports.LexoraContext=exports.LanguagePacks=void 0,require("intl-list-format"),require("intl-list-format/locale-data/en"),require("intl-list-format/locale-data/de"),require("intl-pluralrules");const BoundTemplate_1=require("./lib/BoundTemplate");Object.defineProperty(exports,"boundTemplate",{enumerable:!0,get:function(){return BoundTemplate_1.boundTemplate}}),Object.defineProperty(exports,"isBoundTemplate",{enumerable:!0,get:function(){return BoundTemplate_1.isBoundTemplate}});const LanguagePack_1=require("./lib/LanguagePack");Object.defineProperty(exports,"LanguagePacks",{enumerable:!0,get:function(){return LanguagePack_1.LanguagePacks}});const LexoraContext_1=require("./lib/LexoraContext");Object.defineProperty(exports,"LexoraContext",{enumerable:!0,get:function(){return LexoraContext_1.LexoraContext}});const StringResource_1=require("./lib/StringResource");Object.defineProperty(exports,"SR",{enumerable:!0,get:function(){return StringResource_1.SR}});const WatchableString_1=require("./lib/WatchableString");Object.defineProperty(exports,"WatchableString",{enumerable:!0,get:function(){return WatchableString_1.WatchableString}});
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,4BAA0B;AAC1B,2CAAyC;AACzC,2CAAyC;AAEzC,uDAAoF;AAoBhF,8FApBoB,6BAAa,OAoBpB;AACb,gGArBmC,+BAAe,OAqBnC;AAnBnB,qDAAmD;AAW/C,8FAXK,4BAAa,OAWL;AATjB,uDAA0E;AAUtE,8FAVK,6BAAa,OAUL;AARjB,yDAA6E;AAiBzE,mFAjBwC,mBAAE,OAiBxC;AAhBN,2DAAwD;AAWpD,gGAXK,iCAAe,OAWL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,4BAA0B;AAC1B,2CAAyC;AACzC,2CAAyC;AACzC,4BAAyB;AAEzB,uDAAoF;AAoBhF,8FApBoB,6BAAa,OAoBpB;AACb,gGArBmC,+BAAe,OAqBnC;AAnBnB,qDAAmD;AAW/C,8FAXK,4BAAa,OAWL;AATjB,uDAA0E;AAUtE,8FAVK,6BAAa,OAUL;AARjB,yDAA6E;AAiBzE,mFAjBwC,mBAAE,OAiBxC;AAhBN,2DAAwD;AAWpD,gGAXK,iCAAe,OAWL"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ArticlePipelineFunction=exports.DeGrammaticalCase=void 0;const __1=require("../../../.."),Features_1=require("../Features");var DeGrammaticalCase;function isDeGrammaticalCase(e){return e===DeGrammaticalCase.Nominative||e===DeGrammaticalCase.Accusative||e===DeGrammaticalCase.Dative||e===DeGrammaticalCase.Genitive}!function(e){e.Nominative="nominative",e.Accusative="accusative",e.Dative="dative",e.Genitive="genitive"}(DeGrammaticalCase||(exports.DeGrammaticalCase=DeGrammaticalCase={}));const DEFINITE_ARTICLES={[DeGrammaticalCase.Nominative]:{[Features_1.Features.GrammaticalGender.Masculine]:"der",[Features_1.Features.GrammaticalGender.Feminine]:"die",[Features_1.Features.GrammaticalGender.Neuter]:"das"},[DeGrammaticalCase.Accusative]:{[Features_1.Features.GrammaticalGender.Masculine]:"den",[Features_1.Features.GrammaticalGender.Feminine]:"die",[Features_1.Features.GrammaticalGender.Neuter]:"das"},[DeGrammaticalCase.Dative]:{[Features_1.Features.GrammaticalGender.Masculine]:"dem",[Features_1.Features.GrammaticalGender.Feminine]:"der",[Features_1.Features.GrammaticalGender.Neuter]:"dem"},[DeGrammaticalCase.Genitive]:{[Features_1.Features.GrammaticalGender.Masculine]:"des",[Features_1.Features.GrammaticalGender.Feminine]:"der",[Features_1.Features.GrammaticalGender.Neuter]:"des"}},DEFINITE_PLURAL_ARTICLES={[DeGrammaticalCase.Nominative]:"die",[DeGrammaticalCase.Accusative]:"die",[DeGrammaticalCase.Dative]:"den",[DeGrammaticalCase.Genitive]:"der"};exports.ArticlePipelineFunction={name:"article",type:"value",phase:"transform",process:e=>{const a=e.parameters?.[0];if(!a)throw new Error(`article: missing parameter[0] grammatical case (expected one of: ${Object.values(DeGrammaticalCase).join(", ")})`);if(!isDeGrammaticalCase(a))throw new Error(`article: invalid grammatical case "${a}" (expected one of: ${Object.values(DeGrammaticalCase).join(", ")})`);const r=e.stringResource;if(!r)throw new Error("article: can not determine gender without stringResource");const t=__1.SR.getMetadata(r),i=e.executionContext.form,s=void 0!==i&&"_"!==i&&"one"!==i?DEFINITE_PLURAL_ARTICLES[a]:(()=>{const e=t.gender;if(e!==Features_1.Features.GrammaticalGender.Masculine&&e!==Features_1.Features.GrammaticalGender.Feminine&&e!==Features_1.Features.GrammaticalGender.Neuter)throw new Error(`article: missing/invalid gender in stringResource.metadata.gender (expected: "${Features_1.Features.GrammaticalGender.Masculine}" | "${Features_1.Features.GrammaticalGender.Feminine}" | "${Features_1.Features.GrammaticalGender.Neuter}")`);return DEFINITE_ARTICLES[a][e]})(),m=String(e.value??"");if(!m.trim())throw new Error("article: empty noun value in context");return`${s} ${m}`}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ArticlePipelineFunction=exports.DeGrammaticalCase=void 0;const __1=require("../../../.."),Features_1=require("../Features");var DeGrammaticalCase;function isDeGrammaticalCase(e){return e===DeGrammaticalCase.Nominative||e===DeGrammaticalCase.Accusative||e===DeGrammaticalCase.Dative||e===DeGrammaticalCase.Genitive}!function(e){e.Nominative="nominative",e.Accusative="accusative",e.Dative="dative",e.Genitive="genitive"}(DeGrammaticalCase||(exports.DeGrammaticalCase=DeGrammaticalCase={}));const DEFINITE_ARTICLES={[DeGrammaticalCase.Nominative]:{[Features_1.Features.GrammaticalGender.Masculine]:"der",[Features_1.Features.GrammaticalGender.Feminine]:"die",[Features_1.Features.GrammaticalGender.Neuter]:"das"},[DeGrammaticalCase.Accusative]:{[Features_1.Features.GrammaticalGender.Masculine]:"den",[Features_1.Features.GrammaticalGender.Feminine]:"die",[Features_1.Features.GrammaticalGender.Neuter]:"das"},[DeGrammaticalCase.Dative]:{[Features_1.Features.GrammaticalGender.Masculine]:"dem",[Features_1.Features.GrammaticalGender.Feminine]:"der",[Features_1.Features.GrammaticalGender.Neuter]:"dem"},[DeGrammaticalCase.Genitive]:{[Features_1.Features.GrammaticalGender.Masculine]:"des",[Features_1.Features.GrammaticalGender.Feminine]:"der",[Features_1.Features.GrammaticalGender.Neuter]:"des"}},DEFINITE_PLURAL_ARTICLES={[DeGrammaticalCase.Nominative]:"die",[DeGrammaticalCase.Accusative]:"die",[DeGrammaticalCase.Dative]:"den",[DeGrammaticalCase.Genitive]:"der"};exports.ArticlePipelineFunction={name:"article",type:"value",phase:"format",process:e=>{const a=e.parameters?.[0];if(!a)throw new Error(`article: missing parameter[0] grammatical case (expected one of: ${Object.values(DeGrammaticalCase).join(", ")})`);if(!isDeGrammaticalCase(a))throw new Error(`article: invalid grammatical case "${a}" (expected one of: ${Object.values(DeGrammaticalCase).join(", ")})`);const r=e.stringResource;if(!r)throw new Error("article: can not determine gender without stringResource");const t=__1.SR.getMetadata(r),i=e.executionContext.form,s=void 0!==i&&"_"!==i&&"one"!==i?DEFINITE_PLURAL_ARTICLES[a]:(()=>{const e=t.gender;if(e!==Features_1.Features.GrammaticalGender.Masculine&&e!==Features_1.Features.GrammaticalGender.Feminine&&e!==Features_1.Features.GrammaticalGender.Neuter)throw new Error(`article: missing/invalid gender in stringResource.metadata.gender (expected: "${Features_1.Features.GrammaticalGender.Masculine}" | "${Features_1.Features.GrammaticalGender.Feminine}" | "${Features_1.Features.GrammaticalGender.Neuter}")`);return DEFINITE_ARTICLES[a][e]})(),m=String(e.value??"");if(!m.trim())throw new Error("article: empty noun value in context");return`${s} ${m}`}};
@@ -1 +1 @@
1
- {"version":3,"file":"Article.js","sourceRoot":"","sources":["../../../../../src/lib/LanguagePack/German/PipelineFunctions/Article.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Article.js","sourceRoot":"","sources":["../../../../../src/lib/LanguagePack/German/PipelineFunctions/Article.ts"],"names":[],"mappings":";;;AAAA,mCAAiD;AAEjD,0CAAuC;AAEvC,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB,8CAAyB,CAAA;IACzB,8CAAyB,CAAA;IACzB,sCAAiB,CAAA;IACjB,0CAAqB,CAAA;AACzB,CAAC,EALW,iBAAiB,iCAAjB,iBAAiB,QAK5B;AAED,SAAS,mBAAmB,CAAC,CAAS;IAClC,OAAO,CACH,CAAC,KAAK,iBAAiB,CAAC,UAAU;QAClC,CAAC,KAAK,iBAAiB,CAAC,UAAU;QAClC,CAAC,KAAK,iBAAiB,CAAC,MAAM;QAC9B,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CACnC,CAAC;AACN,CAAC;AAED,MAAM,iBAAiB,GAGnB;IACA,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE;QAC5B,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,KAAK;QAC7C,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAK;QAC5C,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,KAAK;KAC7C;IACD,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE;QAC5B,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,KAAK;QAC7C,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAK;QAC5C,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,KAAK;KAC7C;IACD,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE;QACxB,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,KAAK;QAC7C,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAK;QAC5C,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,KAAK;KAC7C;IACD,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;QAC1B,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,KAAK;QAC7C,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAK;QAC5C,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,KAAK;KAC7C;CACJ,CAAC;AAEF,MAAM,wBAAwB,GAAsC;IAChE,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,KAAK;IACrC,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,KAAK;IACrC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,KAAK;IACjC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAK;CACtC,CAAC;AAEW,QAAA,uBAAuB,GAAqB;IACrD,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAEnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACX,oEAAoE,MAAM,CAAC,MAAM,CAC7E,iBAAiB,CACpB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAC;QACN,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACX,sCAAsC,kBAAkB,uBAAuB,MAAM,CAAC,MAAM,CACxF,iBAAiB,CACpB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAC;QACN,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC9C,IAAG,CAAC,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAChG,MAAM,QAAQ,GAAG,MAAE,CAAC,WAAW,CAAC,cAAgC,CAAC,CAAC;QAElE,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAA6C,CAAC;QACpF,MAAM,YAAY,GACd,IAAI,KAAK,SAAS;YAClB,IAAI,KAAK,GAAG;YACZ,IAAI,KAAK,KAAK,CAAC;QAEnB,MAAM,OAAO,GAAG,YAAY;YACxB,CAAC,CAAC,wBAAwB,CAAC,kBAAkB,CAAC;YAC9C,CAAC,CAAC,CAAC,GAAG,EAAE;gBACF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAET,CAAC;gBAEhB,IACI,MAAM,KAAK,mBAAQ,CAAC,iBAAiB,CAAC,SAAS;oBAC/C,MAAM,KAAK,mBAAQ,CAAC,iBAAiB,CAAC,QAAQ;oBAC9C,MAAM,KAAK,mBAAQ,CAAC,iBAAiB,CAAC,MAAM,EAC9C,CAAC;oBACC,MAAM,IAAI,KAAK,CACX,iFAAiF,mBAAQ,CAAC,iBAAiB,CAAC,SAAS,QAAQ,mBAAQ,CAAC,iBAAiB,CAAC,QAAQ,QAAQ,mBAAQ,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAChN,CAAC;gBACN,CAAC;gBAED,OAAO,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC,CAAC,EAAE,CAAC;QAEX,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAE1E,OAAO,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC;IAChC,CAAC;CACJ,CAAC"}
@@ -1 +1 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexoraContext=void 0;const LanguagePack_1=require("./LanguagePack"),DefaultPipelinesFunctions_1=require("./PipelineFunction/DefaultPipelinesFunctions"),StringResource_1=require("./StringResource"),emitix_1=__importDefault(require("emitix")),WatchableString_1=require("./WatchableString"),PlaceholderParser_1=require("./Parser/PlaceholderParser"),PipelineProcessor_1=require("./PipelineFunction/PipelineProcessor"),DefaultFormatter_1=require("./DefaultFormatter"),BoundTemplate_1=require("./BoundTemplate");class LexoraContext extends emitix_1.default.Protected{constructor(e){super(),this._options={skipFailedPipelineFunctions:!1,ignoreMissingKeys:!0,ignoreMissingPipelineFunctions:!1,defaultValueForMissingKeys:"?"},this._defaultPipelineFunctions=[],this._currentLanguage="en",this._currentPipelineFunctionsMap={},this._languagePacks={},this._stringResources={},this._watchableStrings=new Set,this._finalizeWatchableStrings="undefined"!=typeof FinalizationRegistry?new FinalizationRegistry((e=>{this._watchableStrings.delete(e)})):null,e&&(this._options={...this._options,...e}),this.on("update",(()=>{for(const e of this._watchableStrings){const t=e.deref();t?t._update(this):this._watchableStrings.delete(e)}}))}_trackWatchableString(e){const t=new WeakRef(e);this._watchableStrings.add(t),this._finalizeWatchableStrings?.register(e,t)}untrackWatchableString(e){for(const t of this._watchableStrings){if(t.deref()===e){this._watchableStrings.delete(t),this._finalizeWatchableStrings?.unregister(e);break}}}static createWithDefaults(e){const t=new LexoraContext(e);return t.loadDefaultPipelineFunction(DefaultPipelinesFunctions_1.DefaultPipelineFunctions),t.loadLanguagePack(Object.values(LanguagePack_1.LanguagePacks).map((e=>e.pack))),t}loadDefaultPipelineFunction(e){Array.isArray(e)?this._defaultPipelineFunctions.push(...e):this._defaultPipelineFunctions.push(e),this._updateCurrentLanguagePipelineFunctions(),this.emit("update")}loadLanguagePack(e){Array.isArray(e)?e.forEach((e=>{this._languagePacks[e.language]=e})):this._languagePacks[e.language]=e,this._updateCurrentLanguagePipelineFunctions(),this.emit("update")}loadLanguageStringResources(e,t){this._stringResources[e]={...this._stringResources[e],...t},this.emit("update")}loadStringResourceTranslations(e,t){for(const i in t)this._stringResources[i]={...this._stringResources[i],[e]:t[i]};this.emit("update")}loadMultipleStringResourceTranslations(e){for(const t in e){const i=e[t];for(const e in i)this._stringResources[e]={...this._stringResources[e],[t]:i[e]}}this.emit("update")}set language(e){const t=this._currentLanguage;this._currentLanguage=e,t!==e&&(this._updateCurrentLanguagePipelineFunctions(),this.emit("update"))}_updateCurrentLanguagePipelineFunctions(){const e={};for(const t of this._defaultPipelineFunctions)e[t.name]=t;const t=this._languagePacks[this._currentLanguage];if(t)for(const i of t.pipelineFunctions)e[i.name]=i;this._currentPipelineFunctionsMap=e}_processStringResource(e,t,i){const n=StringResource_1.SR.getDefaultValue(e);if(-1===n.indexOf("{{"))return n;const r=this._stringResources[this._currentLanguage]??{};return(0,PlaceholderParser_1.replacePlaceholdersFast)(n,((e,n)=>{if(i.includes(e))throw new Error(`Circular reference detected for key '${e}' in call path '${[...i,e].join("->")}'`);let s=this._resolveKeyFromCallContext(e,t)??r[e];if(null==s){if(this._options.ignoreMissingKeys)return this._options.defaultValueForMissingKeys??"?";throw new Error(`Can not resolve key '${e}' with language '${this._currentLanguage}'`)}const a=(0,PipelineProcessor_1.resolvePipelineFunctionCalls)(n,this._currentPipelineFunctionsMap,this._options.ignoreMissingPipelineFunctions),o=a.filter((e=>"value"===e.pipeline.type));if(!StringResource_1.SR.isStringResource(s)&&Array.isArray(s)){const r=a.filter((e=>"array"===e.pipeline.type)),u=s.map((n=>this._processValue(e,n,t,o,i)));return 0===n.length?u.join(" "):(0,PipelineProcessor_1.processPipeline)(u,void 0,this._currentLanguage,r,t,{},this._options)}return this._processValue(e,s,t,o,i)}))}_processValue(e,t,i,n,r){const s=n.filter((e=>"transform"===e.pipeline.phase)),a=n.filter((e=>"format"===e.pipeline.phase)),o={};let u;if(StringResource_1.SR.isStringResource(t)){if(u=t,StringResource_1.SR.hasForms(t)){const e=n.filter((e=>"select"===e.pipeline.phase));t=e.length>0?(0,PipelineProcessor_1.processPipeline)(t,t,this._currentLanguage,e,i,o,this._options):StringResource_1.SR.getDefaultValue(t)}if(t=this._processStringResource(t,i,[...r,e]),0===n.length)return t}return s.length>0&&(t=(0,PipelineProcessor_1.processPipeline)(t,u,this._currentLanguage,s,i,o,this._options)),a.length>0&&(t=(0,PipelineProcessor_1.processPipeline)(t,u,this._currentLanguage,a,i,o,this._options)),"string"==typeof t?t:(0,DefaultFormatter_1.formatFormattableResourceDefault)(t,this._currentLanguage)}_resolveKeyFromCallContext(e,t){const i=t[e];if(null!=i)return Array.isArray(i)&&!StringResource_1.SR.isStringResource(i)?i.map((e=>(0,DefaultFormatter_1.resolveStringResourceMaps)(e,this._currentLanguage))):(0,DefaultFormatter_1.resolveStringResourceMaps)(i,this._currentLanguage)}get(e,t={}){let i=(this._stringResources[this._currentLanguage]??{})[e];if(null==i){if(this._options.ignoreMissingKeys)return this._options.defaultValueForMissingKeys??"?";throw new Error(`Can not resolve key '${e}' with language '${this._currentLanguage}'`)}return this._processStringResource(i,t,[e])}getWatch(e,t={}){const i={...t},n=t=>t.get(e,i),r=new WatchableString_1.WatchableString(n(this),n);return this._trackWatchableString(r),r}translate(e,t={}){if((0,BoundTemplate_1.isBoundTemplate)(e))return this.translate(e.template,{...e.context,...t});let i;if("object"!=typeof e||StringResource_1.SR.isForms(e))i=e;else if(i=e[this._currentLanguage],null==i){if(this._options.ignoreMissingKeys)return this._options.defaultValueForMissingKeys??"?";throw new Error(`Can not resolve template for language '${this._currentLanguage}'`)}return this._processStringResource(i,t,["[template]"])}translateWatch(e,t={}){if((0,BoundTemplate_1.isBoundTemplate)(e))return this.translateWatch(e.template,{...e.context,...t});const i={...t},n="string"==typeof e?e:{...e},r=e=>e.translate(n,i);let s;return s=new WatchableString_1.WatchableString(r(this),r,(()=>this.untrackWatchableString(s))),this._trackWatchableString(s),s}}exports.LexoraContext=LexoraContext;
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexoraContext=void 0;const LanguagePack_1=require("./LanguagePack"),DefaultPipelinesFunctions_1=require("./PipelineFunction/DefaultPipelinesFunctions"),StringResource_1=require("./StringResource"),emitix_1=__importDefault(require("emitix")),WatchableString_1=require("./WatchableString"),PlaceholderParser_1=require("./Parser/PlaceholderParser"),PipelineProcessor_1=require("./PipelineFunction/PipelineProcessor"),DefaultFormatter_1=require("./DefaultFormatter"),BoundTemplate_1=require("./BoundTemplate");class LexoraContext extends emitix_1.default.Protected{constructor(e){super(),this._options={skipFailedPipelineFunctions:!1,ignoreMissingKeys:!0,ignoreMissingPipelineFunctions:!1,defaultValueForMissingKeys:"?"},this._defaultPipelineFunctions=[],this._currentLanguage="en",this._currentPipelineFunctionsMap={},this._languagePacks={},this._stringResources={},this._watchableStrings=new Set,this._finalizeWatchableStrings="undefined"!=typeof FinalizationRegistry?new FinalizationRegistry((e=>{this._watchableStrings.delete(e)})):null,e&&(this._options={...this._options,...e}),this.on("update",(()=>{for(const e of this._watchableStrings){const t=e.deref();t?t._update(this):this._watchableStrings.delete(e)}}))}_trackWatchableString(e){const t=new WeakRef(e);this._watchableStrings.add(t),this._finalizeWatchableStrings?.register(e,t)}untrackWatchableString(e){for(const t of this._watchableStrings){if(t.deref()===e){this._watchableStrings.delete(t),this._finalizeWatchableStrings?.unregister(e);break}}}static createWithDefaults(e){const t=new LexoraContext(e);return t.loadDefaultPipelineFunction(DefaultPipelinesFunctions_1.DefaultPipelineFunctions),t.loadLanguagePack(Object.values(LanguagePack_1.LanguagePacks).map((e=>e.pack))),t}loadDefaultPipelineFunction(e){Array.isArray(e)?this._defaultPipelineFunctions.push(...e):this._defaultPipelineFunctions.push(e),this._updateCurrentLanguagePipelineFunctions(),this.emit("update")}loadLanguagePack(e){Array.isArray(e)?e.forEach((e=>{this._languagePacks[e.language]=e})):this._languagePacks[e.language]=e,this._updateCurrentLanguagePipelineFunctions(),this.emit("update")}loadLanguageStringResources(e,t){this._stringResources[e]={...this._stringResources[e],...t},this.emit("update")}loadStringResourceTranslations(e,t){for(const i in t)this._stringResources[i]={...this._stringResources[i],[e]:t[i]};this.emit("update")}loadMultipleStringResourceTranslations(e){for(const t in e){const i=e[t];for(const e in i)this._stringResources[e]={...this._stringResources[e],[t]:i[e]}}this.emit("update")}set language(e){const t=this._currentLanguage;this._currentLanguage=e,t!==e&&(this._updateCurrentLanguagePipelineFunctions(),this.emit("update"))}_updateCurrentLanguagePipelineFunctions(){const e={};for(const t of this._defaultPipelineFunctions)e[t.name]=t;const t=this._languagePacks[this._currentLanguage];if(t)for(const i of t.pipelineFunctions)e[i.name]=i;this._currentPipelineFunctionsMap=e}_processStringResource(e,t,i){const r=StringResource_1.SR.getDefaultValue(e);if(-1===r.indexOf("{{"))return r;const n=this._stringResources[this._currentLanguage]??{};return(0,PlaceholderParser_1.replacePlaceholdersFast)(r,((e,r)=>{if(i.includes(e))throw new Error(`Circular reference detected for key '${e}' in call path '${[...i,e].join("->")}'`);let s=this._resolveKeyFromCallContext(e,t)??n[e];if(null==s){if(this._options.ignoreMissingKeys)return this._options.defaultValueForMissingKeys??"?";throw new Error(`Can not resolve key '${e}' with language '${this._currentLanguage}'`)}const a=(0,PipelineProcessor_1.resolvePipelineFunctionCalls)(r,this._currentPipelineFunctionsMap,this._options.ignoreMissingPipelineFunctions),o=a.filter((e=>"value"===e.pipeline.type));if(!StringResource_1.SR.isStringResource(s)&&Array.isArray(s)){const n=a.filter((e=>"array"===e.pipeline.type)),u=s.map((r=>this._processValue(e,r,t,o,i)));return 0===r.length?u.join(" "):(0,PipelineProcessor_1.processPipeline)(u,void 0,this._currentLanguage,n,t,{},this._options)}return this._processValue(e,s,t,o,i)}))}_processValue(e,t,i,r,n){const s=r.filter((e=>"transform"===e.pipeline.phase)),a=r.filter((e=>"format"===e.pipeline.phase)),o={};let u;if(StringResource_1.SR.isStringResource(t)&&(u=t,StringResource_1.SR.hasForms(t))){const e=r.filter((e=>"select"===e.pipeline.phase));t=e.length>0?(0,PipelineProcessor_1.processPipeline)(t,t,this._currentLanguage,e,i,o,this._options):StringResource_1.SR.getDefaultValue(t)}return s.length>0&&(t=(0,PipelineProcessor_1.processPipeline)(t,u,this._currentLanguage,s,i,o,this._options)),StringResource_1.SR.isStringResource(t)&&(t=this._processStringResource(t,i,[...n,e])),a.length>0&&(t=(0,PipelineProcessor_1.processPipeline)(t,u,this._currentLanguage,a,i,o,this._options)),"string"==typeof t?t:(0,DefaultFormatter_1.formatFormattableResourceDefault)(t,this._currentLanguage)}_resolveKeyFromCallContext(e,t){const i=t[e];if(null!=i)return Array.isArray(i)&&!StringResource_1.SR.isStringResource(i)?i.map((e=>(0,DefaultFormatter_1.resolveStringResourceMaps)(e,this._currentLanguage))):(0,DefaultFormatter_1.resolveStringResourceMaps)(i,this._currentLanguage)}get(e,t={}){let i=(this._stringResources[this._currentLanguage]??{})[e];if(null==i){if(this._options.ignoreMissingKeys)return this._options.defaultValueForMissingKeys??"?";throw new Error(`Can not resolve key '${e}' with language '${this._currentLanguage}'`)}return this._processStringResource(i,t,[e])}getWatch(e,t={}){const i={...t},r=t=>t.get(e,i),n=new WatchableString_1.WatchableString(r(this),r);return this._trackWatchableString(n),n}translate(e,t={}){if((0,BoundTemplate_1.isBoundTemplate)(e))return this.translate(e.template,{...e.context,...t});let i;if("object"!=typeof e||StringResource_1.SR.isForms(e))i=e;else if(i=e[this._currentLanguage],null==i){if(this._options.ignoreMissingKeys)return this._options.defaultValueForMissingKeys??"?";throw new Error(`Can not resolve template for language '${this._currentLanguage}'`)}return this._processStringResource(i,t,["[template]"])}translateWatch(e,t={}){if((0,BoundTemplate_1.isBoundTemplate)(e))return this.translateWatch(e.template,{...e.context,...t});const i={...t},r="string"==typeof e?e:{...e},n=e=>e.translate(r,i);let s;return s=new WatchableString_1.WatchableString(n(this),n,(()=>this.untrackWatchableString(s))),this._trackWatchableString(s),s}}exports.LexoraContext=LexoraContext;
@@ -1 +1 @@
1
- {"version":3,"file":"LexoraContext.js","sourceRoot":"","sources":["../../src/lib/LexoraContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LexoraContext.js","sourceRoot":"","sources":["../../src/lib/LexoraContext.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.replacePlaceholdersFast=replacePlaceholdersFast;const KEY_FORBIDDEN=/->|\(|\)|,|\{\{|\}\}/;function isWs(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function isNameChar(e){const n=e.charCodeAt(0);return n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122||"_"===e||"-"===e}function findClosingParen(e,n){let t=n,r=null;for(;t<e.length;){const n=e[t];if(r){if("\\"===n){t+=2;continue}if(n===r){r=null,t++;continue}t++}else if("'"!==n&&'"'!==n){if(")"===n)return t;t++}else r=n,t++}return-1}function splitArgsQuoted(e){const n=[];let t=0;const r=()=>{for(;t<e.length&&isWs(e[t]);)t++},s=()=>{const n=t;for(;t<e.length&&","!==e[t];)t++;let r=n,s=t;for(;r<s&&isWs(e[r]);)r++;for(;s>r&&isWs(e[s-1]);)s--;return e.slice(r,s)},i=n=>{t++;let r="";for(;t<e.length;){const s=e[t];if("\\"!==s){if(s===n)return t++,r;r+=s,t++}else{const n=e[t+1];if(null!=n){r+=n,t+=2;continue}t++}}throw new Error("Unterminated quoted parameter")};for(;t<e.length&&(r(),!(t>=e.length));){let o="";const l=e[t];"'"===l||'"'===l?(o=i(l),r()):o=s(),o.length>0&&n.push(o),r(),","===e[t]&&t++}return n}function parseInnerFast(e){let n=0;const t=()=>{for(;n<e.length&&isWs(e[n]);)n++},r=(()=>{t();const r=n;for(;n<e.length&&!isWs(e[n])&&("-"!==e[n]||">"!==e[n+1]);)n++;return e.slice(r,n)})().trim();if(!r)throw new Error("Missing key");if(KEY_FORBIDDEN.test(r))throw new Error("Invalid key");const s=[];for(;t(),"-"===e[n]&&">"===e[n+1];){n+=2,t();const r=n;for(;n<e.length&&isNameChar(e[n])&&("-"!==e[n]||">"!==e[n+1]);)n++;const i=e.slice(r,n);if(!i)throw new Error("Missing pipeline name");t(),t();let o=[];if("("===e[n]){n++;const t=n,r=findClosingParen(e,n);if(-1===r)throw new Error("Missing ')'");o=splitArgsQuoted(e.slice(t,r)),n=r+1}s.push({name:i,params:o})}if(t(),n<e.length&&e.slice(n).trim())throw new Error("Unexpected content");return{key:r,pipelines:s}}function replacePlaceholdersFast(e,n){let t="",r=0;for(;r<e.length;){const s=e.indexOf("{{",r);if(-1===s){t+=e.slice(r);break}t+=e.slice(r,s);const i=e.indexOf("}}",s+2);if(-1===i){t+=e.slice(s);break}const o=e.slice(s,i+2),l=e.slice(s+2,i);let c;const{key:f,pipelines:a}=parseInnerFast(l);c=n(f,a,o),t+=c,r=i+2}return t}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.replacePlaceholdersFast=replacePlaceholdersFast;const KEY_FORBIDDEN=/->|\(|\)|,|\{\{|\}\}/;function isWs(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function isNameChar(e){const n=e.charCodeAt(0);return n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122||"_"===e||"-"===e}function findClosingParen(e,n){let t=n,r=null;for(;t<e.length;){const n=e[t];if(r){if("\\"===n){t+=2;continue}if(n===r){r=null,t++;continue}t++}else if("'"!==n&&'"'!==n){if(")"===n)return t;t++}else r=n,t++}return-1}function splitArgsQuoted(e){const n=[];let t=0;const r=()=>{for(;t<e.length&&isWs(e[t]);)t++},s=()=>{const n=t;for(;t<e.length&&","!==e[t];)t++;let r=n,s=t;for(;r<s&&isWs(e[r]);)r++;for(;s>r&&isWs(e[s-1]);)s--;return e.slice(r,s)},i=n=>{t++;let r="";for(;t<e.length;){const s=e[t];if("\\"!==s){if(s===n)return t++,r;r+=s,t++}else{const n=e[t+1];if(null!=n){r+=n,t+=2;continue}t++}}throw new Error("Unterminated quoted parameter")};for(;t<e.length&&(r(),!(t>=e.length));){let o="";const l=e[t];"'"===l||'"'===l?(o=i(l),r()):o=s(),o.length>0&&n.push(o),r(),","===e[t]&&t++}return n}function parseInnerFast(e){let n=0;const t=()=>{for(;n<e.length&&isWs(e[n]);)n++},r=(()=>{t();const r=n;for(;n<e.length&&!isWs(e[n])&&("-"!==e[n]||">"!==e[n+1]);)n++;return e.slice(r,n)})().trim();if(!r)throw new Error("Missing key");if(KEY_FORBIDDEN.test(r))throw new Error("Invalid key");const s=[];for(;t(),"-"===e[n]&&">"===e[n+1];){n+=2,t();const r=n;for(;n<e.length&&isNameChar(e[n])&&("-"!==e[n]||">"!==e[n+1]);)n++;const i=e.slice(r,n);if(!i)throw new Error("Missing pipeline name");t(),t();let o=[];if("("===e[n]){n++;const t=n,r=findClosingParen(e,n);if(-1===r)throw new Error("Missing ')'");o=splitArgsQuoted(e.slice(t,r)),n=r+1}s.push({name:i,params:o})}if(t(),n<e.length&&e.slice(n).trim())throw new Error("Unexpected content");return{key:r,pipelines:s}}function findClosingPlaceholder(e,n){let t=n,r=null;for(;t<e.length-1;){const n=e[t];if(r){if("\\"===n){t+=2;continue}if(n===r){r=null,t++;continue}t++}else if("'"!==n&&'"'!==n){if("}"===n&&"}"===e[t+1])return t;t++}else r=n,t++}return-1}function replacePlaceholdersFast(e,n){let t="",r=0;for(;r<e.length;){const s=e.indexOf("{{",r);if(-1===s){t+=e.slice(r);break}t+=e.slice(r,s);const i=findClosingPlaceholder(e,s+2);if(-1===i){t+=e.slice(s);break}const o=e.slice(s,i+2),l=e.slice(s+2,i);let c;const{key:f,pipelines:u}=parseInnerFast(l);c=n(f,u,o),t+=c,r=i+2}return t}
@@ -1 +1 @@
1
- {"version":3,"file":"PlaceholderParser.js","sourceRoot":"","sources":["../../../src/lib/Parser/PlaceholderParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlaceholderParser.js","sourceRoot":"","sources":["../../../src/lib/Parser/PlaceholderParser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DefaultPipelineFunctions=void 0;const ListPipelineFunction_1=require("./Lib/ListPipelineFunction"),CurrencyPipelineFunction_1=require("./Lib/CurrencyPipelineFunction"),DatePipelineFunction_1=require("./Lib/DatePipelineFunction"),NumberPipelineFunction_1=require("./Lib/NumberPipelineFunction"),StringUtilPipelineFunctions_1=require("./Lib/StringUtilPipelineFunctions"),TimePipelineFunction_1=require("./Lib/TimePipelineFunction"),FormPipelineFunction_1=require("./Lib/FormPipelineFunction");exports.DefaultPipelineFunctions=[...Object.values(StringUtilPipelineFunctions_1.StringUtilPipelineFunctions),CurrencyPipelineFunction_1.CurrencyPipelineFunction,DatePipelineFunction_1.DatePipelineFunction,TimePipelineFunction_1.TimePipelineFunction,NumberPipelineFunction_1.NumberPipelineFunction,ListPipelineFunction_1.ListPipelineFunction,FormPipelineFunction_1.FormPipelineFunction];
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DefaultPipelineFunctions=void 0;const ListPipelineFunction_1=require("./Lib/ListPipelineFunction"),CurrencyPipelineFunction_1=require("./Lib/CurrencyPipelineFunction"),DatePipelineFunction_1=require("./Lib/DatePipelineFunction"),NumberPipelineFunction_1=require("./Lib/NumberPipelineFunction"),StringUtilPipelineFunctions_1=require("./Lib/StringUtilPipelineFunctions"),TimePipelineFunction_1=require("./Lib/TimePipelineFunction"),FormPipelineFunction_1=require("./Lib/FormPipelineFunction"),SwitchPipelineFunction_1=require("./Lib/SwitchPipelineFunction");exports.DefaultPipelineFunctions=[...Object.values(StringUtilPipelineFunctions_1.StringUtilPipelineFunctions),CurrencyPipelineFunction_1.CurrencyPipelineFunction,DatePipelineFunction_1.DatePipelineFunction,TimePipelineFunction_1.TimePipelineFunction,NumberPipelineFunction_1.NumberPipelineFunction,ListPipelineFunction_1.ListPipelineFunction,FormPipelineFunction_1.FormPipelineFunction,SwitchPipelineFunction_1.SwitchPipelineFunction];
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultPipelinesFunctions.js","sourceRoot":"","sources":["../../../src/lib/PipelineFunction/DefaultPipelinesFunctions.ts"],"names":[],"mappings":";;;AAAA,qEAAkE;AAClE,6EAA0E;AAC1E,qEAAkE;AAClE,yEAAsE;AACtE,mFAAgF;AAChF,qEAAkE;AAElE,qEAAkE;AAErD,QAAA,wBAAwB,GAAuB;IACxD,GAAG,MAAM,CAAC,MAAM,CAAC,yDAA2B,CAAC;IAC7C,mDAAwB;IACxB,2CAAoB;IACpB,2CAAoB;IACpB,+CAAsB;IACtB,2CAAoB;IACpB,2CAAoB;CACvB,CAAC"}
1
+ {"version":3,"file":"DefaultPipelinesFunctions.js","sourceRoot":"","sources":["../../../src/lib/PipelineFunction/DefaultPipelinesFunctions.ts"],"names":[],"mappings":";;;AAAA,qEAAkE;AAClE,6EAA0E;AAC1E,qEAAkE;AAClE,yEAAsE;AACtE,mFAAgF;AAChF,qEAAkE;AAElE,qEAAkE;AAClE,yEAAsE;AAEzD,QAAA,wBAAwB,GAAuB;IACxD,GAAG,MAAM,CAAC,MAAM,CAAC,yDAA2B,CAAC;IAC7C,mDAAwB;IACxB,2CAAoB;IACpB,2CAAoB;IACpB,+CAAsB;IACtB,2CAAoB;IACpB,2CAAoB;IACpB,+CAAsB;CACzB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { PipelineFunction } from "../PipelineFunction";
2
+ export declare const SwitchPipelineFunction: PipelineFunction;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SwitchPipelineFunction=void 0,exports.SwitchPipelineFunction={name:"switch",type:"value",phase:"transform",process:e=>{const{value:t,parameters:i}=e,r=String(t);for(const e of i??[]){const t=e.indexOf(":");if(-1===t)throw new Error(`switch: invalid case "${e}" (expected "case:value")`);const i=e.slice(0,t).trim(),s=e.slice(t+1);if(i===r)return s}const s=i?.find((e=>e.trimStart().startsWith("_:")));if(s)return s.slice(s.indexOf(":")+1);throw new Error(`switch: no matching case for "${r}"`)}};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwitchPipelineFunction.js","sourceRoot":"","sources":["../../../../src/lib/PipelineFunction/Lib/SwitchPipelineFunction.ts"],"names":[],"mappings":";;;AAEa,QAAA,sBAAsB,GAAqB;IACpD,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAEtC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAElC,KAAK,MAAM,SAAS,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;YACvC,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAE9C,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACX,yBAAyB,SAAS,2BAA2B,CAChE,CAAC;YACN,CAAC;YAED,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;YAEnD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC3B,OAAO,MAAM,CAAC;YAClB,CAAC;YAED,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;gBACnB,SAAS;YACb,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC/C,SAAS,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CACzC,CAAC;QAEF,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,IAAI,KAAK,CACX,iCAAiC,WAAW,GAAG,CAClD,CAAC;IACN,CAAC;CACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lexora",
3
- "version": "1.4.0",
3
+ "version": "1.4.3",
4
4
  "description": "A lightweight TypeScript helper for managing multi-language strings with optional grammatical support.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -30,7 +30,8 @@
30
30
  ],
31
31
  "dependencies": {
32
32
  "emitix": "^2.3.2",
33
- "intl-list-format": "^1.0.3"
33
+ "intl-list-format": "^1.0.3",
34
+ "intl-pluralrules": "^2.0.1"
34
35
  },
35
36
  "devDependencies": {
36
37
  "@types/chai": "^5.2.3",