lexora 1.0.8 → 1.1.0
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.
|
@@ -24,6 +24,15 @@ export declare class LexoraContext extends EventEmitter.Protected<{
|
|
|
24
24
|
private _finalizeWatchableStrings;
|
|
25
25
|
constructor(options?: LexoraContextOptions);
|
|
26
26
|
private _trackWatchableString;
|
|
27
|
+
/**
|
|
28
|
+
* @description
|
|
29
|
+
* Untracks a watchable string, so it won't receive updates anymore.
|
|
30
|
+
* This is useful to prevent memory leaks when a watchable string is no longer needed.
|
|
31
|
+
* Notice normaly you don't need to call this method, because the context will automatically
|
|
32
|
+
* untrack watchable strings when they are garbage collected.
|
|
33
|
+
* @param w
|
|
34
|
+
*/
|
|
35
|
+
untrackWatchableString(w: WatchableString<LexoraContext>): void;
|
|
27
36
|
static createWithDefaults(options?: LexoraContextOptions): LexoraContext;
|
|
28
37
|
/**
|
|
29
38
|
* Loads default pipeline function or functions that are applied to all translations.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";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=require("emitix"),WatchableString_1=require("./WatchableString"),PlaceholderParser_1=require("./Parser/PlaceholderParser"),PipelineProcessor_1=require("./PipelineFunction/PipelineProcessor");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=new FinalizationRegistry((e=>{this._watchableStrings.delete(e)})),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
|
|
1
|
+
"use strict";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=require("emitix"),WatchableString_1=require("./WatchableString"),PlaceholderParser_1=require("./Parser/PlaceholderParser"),PipelineProcessor_1=require("./PipelineFunction/PipelineProcessor");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(Object.values(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.process;const t=this._languagePacks[this._currentLanguage];if(t)for(const i of t.pipelineFunctions)e[i.name]=i.process;this._currentPipelineFunctionsMap=e}_processStringResource(e,t,i){const n=StringResource_1.SR.getValue(e);if(-1===n.indexOf("{{"))return n;const s=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 r=this._resolveKeyFromCallContext(e,t)??s[e];if(null==r){if(this._options.ignoreMissingKeys)return this._options.defaultValueForMissingKeys??"?";throw new Error(`Can not resolve key '${e}' with language '${this._currentLanguage}'`)}const a=this._processStringResource(r,t,[...i,e]);return 0===n.length?a:(0,PipelineProcessor_1.processPipeline)(a,r,this._currentPipelineFunctionsMap,n,this._options)}))}_resolveKeyFromCallContext(e,t){const i=t[e];if(null!=i)return"string"==typeof i||Array.isArray(i)?i: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),s=new WatchableString_1.WatchableString(n(this),n);return this._trackWatchableString(s),s}translate(e,t={}){let i;if("object"==typeof e){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}'`)}}else i=e;return this._processStringResource(i,t,["[template]"])}translateWatch(e,t={}){const i={...t},n="string"==typeof e?e:{...e},s=e=>e.translate(n,i);let r;return r=new WatchableString_1.WatchableString(s(this),s,(()=>this.untrackWatchableString(r))),this._trackWatchableString(r),r}}exports.LexoraContext=LexoraContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LexoraContext.js","sourceRoot":"","sources":["../../src/lib/LexoraContext.ts"],"names":[],"mappings":";;;AACA,iDAA+C;AAE/C,4FAAwF;AAExF,qDAAyE;AACzE,mCAAkC;AAClC,uDAAoD;AACpD,kEAAqE;AACrE,4EAAuE;AAYvE,MAAa,aAAc,SAAQ,gBAAY,CAAC,SAE9C;
|
|
1
|
+
{"version":3,"file":"LexoraContext.js","sourceRoot":"","sources":["../../src/lib/LexoraContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@ export declare class WatchableString<T = LexoraContext> extends EventEmitter.Pro
|
|
|
6
6
|
}> {
|
|
7
7
|
private _value;
|
|
8
8
|
private _updater;
|
|
9
|
-
|
|
9
|
+
private _unbind?;
|
|
10
|
+
constructor(value: string, updater: (context: T) => string, unbind?: () => void);
|
|
11
|
+
destroy(): void;
|
|
10
12
|
get value(): string;
|
|
11
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.WatchableString=void 0;const emitix_1=require("emitix");class WatchableString extends emitix_1.EventEmitter.Protected{constructor(t,e){super(),this._value=t,this._updater=e}_update(t){try{const e=this._updater(t);e!==this._value&&(this._value=e,this.emit("update",this._value))}catch(t){this.emit("error",t instanceof Error?t:new Error(String(t)))}}get value(){return this._value}}exports.WatchableString=WatchableString;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.WatchableString=void 0;const emitix_1=require("emitix");class WatchableString extends emitix_1.EventEmitter.Protected{constructor(t,e,i){super(),this._value=t,this._updater=e,this._unbind=i}destroy(){this.off(),this._unbind&&(this._unbind(),this._unbind=void 0)}_update(t){try{const e=this._updater(t);e!==this._value&&(this._value=e,this.emit("update",this._value))}catch(t){this.emit("error",t instanceof Error?t:new Error(String(t)))}}get value(){return this._value}}exports.WatchableString=WatchableString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WatchableString.js","sourceRoot":"","sources":["../../src/lib/WatchableString.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAGtC,MAAa,eAAmC,SAAQ,qBAAY,CAAC,SAGnE;
|
|
1
|
+
{"version":3,"file":"WatchableString.js","sourceRoot":"","sources":["../../src/lib/WatchableString.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAGtC,MAAa,eAAmC,SAAQ,qBAAY,CAAC,SAGnE;IAKE,YAAY,KAAa,EAAE,OAA+B,EAAE,MAAmB;QAC3E,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;SAC5B;IACL,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAU;QACd,IAAI;YACA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM,EAAE;gBAC1B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aACpC;SACJ;QACD,OAAO,KAAK,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACjF;IACL,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AA1CD,0CA0CC"}
|
package/package.json
CHANGED