@larscom/ngx-translate-module-loader
Advanced tools
Comparing version 1.5.1 to 2.0.0
@@ -9,3 +9,3 @@ (function (global, factory) { | ||
var createJsonPath = function (path) { return path.concat('.json'); }; | ||
var toJsonPath = function (path) { return path.concat('.json'); }; | ||
var PATH_TEMPLATE_MATCH = /{([^}]+)}/gi; | ||
@@ -26,3 +26,3 @@ var ModuleTranslateLoader = /** @class */ (function () { | ||
this.options = options; | ||
this.defaultOptions = Object.assign({ enableNamespacing: true, nameSpaceUppercase: true, deepMerge: true, modulePathTemplate: '{baseTranslateUrl}/{moduleName}/{language}', pathTemplate: '{baseTranslateUrl}/{language}' }, this.options); | ||
this.defaultOptions = Object.assign({ disableNamespace: false, lowercaseNamespace: false, deepMerge: true, modulePathTemplate: '{baseTranslateUrl}/{moduleName}/{language}', pathTemplate: '{baseTranslateUrl}/{language}' }, this.options); | ||
} | ||
@@ -34,3 +34,3 @@ ModuleTranslateLoader.prototype.getTranslation = function (language) { | ||
ModuleTranslateLoader.prototype.mergeTranslations = function (moduleTranslations, _a) { | ||
var translateMerger = _a.translateMerger, deepMerge = _a.deepMerge; | ||
var deepMerge = _a.deepMerge, translateMerger = _a.translateMerger; | ||
return rxjs.forkJoin(moduleTranslations).pipe(operators.map(function (translations) { | ||
@@ -58,17 +58,17 @@ return translateMerger | ||
var pathOptions = { baseTranslateUrl: baseTranslateUrl, language: language }; | ||
var path = createJsonPath(pathTemplate.replace(PATH_TEMPLATE_MATCH, function (_, m1) { return pathOptions[m1] || ''; })); | ||
var path = toJsonPath(pathTemplate.replace(PATH_TEMPLATE_MATCH, function (_, m1) { return pathOptions[m1] || ''; })); | ||
return this.http.get(path).pipe(operators.map(function (translation) { return (translateMap ? translateMap(translation) : translation); }), this.catchError(path, translateError)); | ||
}; | ||
ModuleTranslateLoader.prototype.fetchTranslationForModule = function (language, _a, _b) { | ||
var modulePathTemplate = _a.modulePathTemplate, enableNamespacing = _a.enableNamespacing, nameSpaceUppercase = _a.nameSpaceUppercase, translateError = _a.translateError; | ||
var baseTranslateUrl = _b.baseTranslateUrl, translateMap = _b.translateMap, moduleName = _b.moduleName, nameSpace = _b.nameSpace; | ||
var modulePathTemplate = _a.modulePathTemplate, disableNamespace = _a.disableNamespace, lowercaseNamespace = _a.lowercaseNamespace, translateError = _a.translateError; | ||
var baseTranslateUrl = _b.baseTranslateUrl, moduleName = _b.moduleName, namespace = _b.namespace, translateMap = _b.translateMap; | ||
var modulePathOptions = { baseTranslateUrl: baseTranslateUrl, moduleName: moduleName, language: language }; | ||
var modulePath = createJsonPath(modulePathTemplate.replace(PATH_TEMPLATE_MATCH, function (_, m1) { return modulePathOptions[m1] || ''; })); | ||
var namespaceKey = nameSpace | ||
? nameSpaceUppercase | ||
? nameSpace.toUpperCase() | ||
: nameSpace.toLowerCase() | ||
: nameSpaceUppercase | ||
? moduleName.toUpperCase() | ||
: moduleName.toLowerCase(); | ||
var modulePath = toJsonPath(modulePathTemplate.replace(PATH_TEMPLATE_MATCH, function (_, m1) { return modulePathOptions[m1] || ''; })); | ||
var namespaceKey = namespace | ||
? lowercaseNamespace | ||
? namespace.toLowerCase() | ||
: namespace.toUpperCase() | ||
: lowercaseNamespace | ||
? moduleName.toLowerCase() | ||
: moduleName.toUpperCase(); | ||
return this.http.get(modulePath).pipe(operators.map(function (translation) { | ||
@@ -78,5 +78,5 @@ var _a; | ||
? translateMap(translation) | ||
: enableNamespacing | ||
? Object((_a = {}, _a[namespaceKey] = translation, _a)) | ||
: translation; | ||
: disableNamespace | ||
? translation | ||
: Object((_a = {}, _a[namespaceKey] = translation, _a)); | ||
}), this.catchError(modulePath, translateError)); | ||
@@ -83,0 +83,0 @@ }; |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("deepmerge"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@larscom/ngx-translate-module-loader",["exports","deepmerge","rxjs","rxjs/operators"],t):t(((e=e||self).larscom=e.larscom||{},e.larscom["ngx-translate-module-loader"]={}),e.merge,e.rxjs,e.rxjs.operators)}(this,(function(e,t,r,a){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var n=function(e){return e.concat(".json")},o=/{([^}]+)}/gi,s=function(){function e(e,t){this.http=e,this.options=t,this.defaultOptions=Object.assign({enableNamespacing:!0,nameSpaceUppercase:!0,deepMerge:!0,modulePathTemplate:"{baseTranslateUrl}/{moduleName}/{language}",pathTemplate:"{baseTranslateUrl}/{language}"},this.options)}return e.prototype.getTranslation=function(e){var t=this.defaultOptions;return this.mergeTranslations(this.getModuleTranslations(e,t),t)},e.prototype.mergeTranslations=function(e,n){var o=n.translateMerger,s=n.deepMerge;return r.forkJoin(e).pipe(a.map((function(e){return o?o(e):s?t.all(e):e.reduce((function(e,t){return Object.assign(Object.assign({},e),t)}),Object())})))},e.prototype.getModuleTranslations=function(e,t){var r=this;return t.modules.map((function(a){return a.moduleName?r.fetchTranslationForModule(e,t,a):r.fetchTranslation(e,t,a)}))},e.prototype.fetchTranslation=function(e,t,r){var s=t.pathTemplate,l=t.translateError,p=r.baseTranslateUrl,i=r.translateMap,u={baseTranslateUrl:p,language:e},c=n(s.replace(o,(function(e,t){return u[t]||""})));return this.http.get(c).pipe(a.map((function(e){return i?i(e):e})),this.catchError(c,l))},e.prototype.fetchTranslationForModule=function(e,t,r){var s=t.modulePathTemplate,l=t.enableNamespacing,p=t.nameSpaceUppercase,i=t.translateError,u=r.baseTranslateUrl,c=r.translateMap,f=r.moduleName,m=r.nameSpace,d={baseTranslateUrl:u,moduleName:f,language:e},g=n(s.replace(o,(function(e,t){return d[t]||""}))),h=m?p?m.toUpperCase():m.toLowerCase():p?f.toUpperCase():f.toLowerCase();return this.http.get(g).pipe(a.map((function(e){var t;return c?c(e):l?Object(((t={})[h]=e,t)):e})),this.catchError(g,i))},e.prototype.catchError=function(e,t){return a.catchError((function(a){return t&&t(a,e),console.error("Unable to load translation file:",e),r.of(Object())}))},e}();e.ModuleTranslateLoader=s,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("deepmerge"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@larscom/ngx-translate-module-loader",["exports","deepmerge","rxjs","rxjs/operators"],t):t(((e=e||self).larscom=e.larscom||{},e.larscom["ngx-translate-module-loader"]={}),e.merge,e.rxjs,e.rxjs.operators)}(this,(function(e,t,r,a){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var n=function(e){return e.concat(".json")},o=/{([^}]+)}/gi,s=function(){function e(e,t){this.http=e,this.options=t,this.defaultOptions=Object.assign({disableNamespace:!1,lowercaseNamespace:!1,deepMerge:!0,modulePathTemplate:"{baseTranslateUrl}/{moduleName}/{language}",pathTemplate:"{baseTranslateUrl}/{language}"},this.options)}return e.prototype.getTranslation=function(e){var t=this.defaultOptions;return this.mergeTranslations(this.getModuleTranslations(e,t),t)},e.prototype.mergeTranslations=function(e,n){var o=n.deepMerge,s=n.translateMerger;return r.forkJoin(e).pipe(a.map((function(e){return s?s(e):o?t.all(e):e.reduce((function(e,t){return Object.assign(Object.assign({},e),t)}),Object())})))},e.prototype.getModuleTranslations=function(e,t){var r=this;return t.modules.map((function(a){return a.moduleName?r.fetchTranslationForModule(e,t,a):r.fetchTranslation(e,t,a)}))},e.prototype.fetchTranslation=function(e,t,r){var s=t.pathTemplate,l=t.translateError,i=r.baseTranslateUrl,u=r.translateMap,p={baseTranslateUrl:i,language:e},c=n(s.replace(o,(function(e,t){return p[t]||""})));return this.http.get(c).pipe(a.map((function(e){return u?u(e):e})),this.catchError(c,l))},e.prototype.fetchTranslationForModule=function(e,t,r){var s=t.modulePathTemplate,l=t.disableNamespace,i=t.lowercaseNamespace,u=t.translateError,p=r.baseTranslateUrl,c=r.moduleName,f=r.namespace,d=r.translateMap,m={baseTranslateUrl:p,moduleName:c,language:e},h=n(s.replace(o,(function(e,t){return m[t]||""}))),g=f?i?f.toLowerCase():f.toUpperCase():i?c.toLowerCase():c.toUpperCase();return this.http.get(h).pipe(a.map((function(e){var t;return d?d(e):l?e:Object(((t={})[g]=e,t))})),this.catchError(h,u))},e.prototype.catchError=function(e,t){return a.catchError((function(a){return t&&t(a,e),console.error("Unable to load translation file:",e),r.of(Object())}))},e}();e.ModuleTranslateLoader=s,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=larscom-ngx-translate-module-loader.umd.min.js.map |
@@ -1,1 +0,1 @@ | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLXRyYW5zbGF0aW9uLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdHJhbnNsYXRlLW1vZHVsZS1sb2FkZXIvc3JjL2xpYi9tb2RlbHMvbW9kdWxlLXRyYW5zbGF0aW9uLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNb2R1bGVUcmFuc2xhdGlvbiB9IGZyb20gJy4vbW9kdWxlLXRyYW5zbGF0aW9uJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uIH0gZnJvbSAnLi90cmFuc2xhdGlvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1vZHVsZVRyYW5zbGF0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdHJhbnNsYXRpb24gbW9kdWxlIGNvbmZpZ3VyYXRpb25zXG4gICAqL1xuICBtb2R1bGVzOiBJTW9kdWxlVHJhbnNsYXRpb25bXTtcbiAgLyoqXG4gICAqIEVhY2ggbW9kdWxlIGdldHMgaXRzIG93biBuYW1lc3BhY2Ugc28gaXQgZG9lc24ndCBjb25mbGljdCB3aXRoIG90aGVyIG1vZHVsZXNcbiAgICovXG4gIGVuYWJsZU5hbWVzcGFjaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENyZWF0ZSBuYW1lc3BhY2VzIGluIFVwcGVyY2FzZSBpZiBuYW1lc3BhY2luZyBpcyBlbmFibGVkXG4gICAqL1xuICBuYW1lU3BhY2VVcHBlcmNhc2U/OiBib29sZWFuO1xuICAvKipcbiAgICogUGVyZm9ybSBhIGRlZXBtZXJnZSB3aGVuIG1lcmdpbmcgdHJhbnNsYXRpb24gZmlsZXNcbiAgICovXG4gIGRlZXBNZXJnZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0aGF0IGdldHMgZXhlY3V0ZWQgaWYgYW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmV0cmlldmluZyBhIHRyYW5zbGF0aW9uIGZpbGVcbiAgICogQHBhcmFtIGVycm9yIHRoZSBlcnJvciB0aGF0IG9jY3VycmVkXG4gICAqIEBwYXJhbSBwYXRoIHRoZSBwYXRoIHRvIHRoZSBsb2NhdGlvbiBmaWxlXG4gICAqL1xuICB0cmFuc2xhdGVFcnJvcj86IChlcnJvcjogYW55LCBwYXRoOiBzdHJpbmcpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDdXN0b20gdHJhbnNsYXRlIG1lcmdlIGZ1bmN0aW9uIGFmdGVyIHJldHJpZXZpbmcgYWxsIHRyYW5zbGF0aW9uIGZpbGVzXG4gICAqIEBwYXJhbSB0cmFuc2xhdGlvbnMgdGhlIHJlc29sdmVkIHRyYW5zbGF0aW9uIGZpbGVzXG4gICAqL1xuICB0cmFuc2xhdGVNZXJnZXI/OiAodHJhbnNsYXRpb25zOiBUcmFuc2xhdGlvbltdKSA9PiBUcmFuc2xhdGlvbjtcbiAgLyoqXG4gICAqIEN1c3RvbSBtb2R1bGUgcGF0aCB0ZW1wbGF0ZSBmb3IgZmV0Y2hpbmcgdHJhbnNsYXRpb25zXG4gICAqIEBleGFtcGxlXG4gICAqICd7YmFzZVRyYW5zbGF0ZVVybH0ve21vZHVsZU5hbWV9L3tsYW5ndWFnZX0nXG4gICAqL1xuICBtb2R1bGVQYXRoVGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDdXN0b20gcGF0aCB0ZW1wbGF0ZSBmb3IgZmV0Y2hpbmcgdHJhbnNsYXRpb25zXG4gICAqIEBleGFtcGxlXG4gICAqICd7YmFzZVRyYW5zbGF0ZVVybH0ve2xhbmd1YWdlfSdcbiAgICovXG4gIHBhdGhUZW1wbGF0ZT86IHN0cmluZztcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLXRyYW5zbGF0aW9uLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdHJhbnNsYXRlLW1vZHVsZS1sb2FkZXIvc3JjL2xpYi9tb2RlbHMvbW9kdWxlLXRyYW5zbGF0aW9uLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNb2R1bGVUcmFuc2xhdGlvbiB9IGZyb20gJy4vbW9kdWxlLXRyYW5zbGF0aW9uJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uIH0gZnJvbSAnLi90cmFuc2xhdGlvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1vZHVsZVRyYW5zbGF0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdHJhbnNsYXRpb24gbW9kdWxlIGNvbmZpZ3VyYXRpb25zXG4gICAqL1xuICBtb2R1bGVzOiBJTW9kdWxlVHJhbnNsYXRpb25bXTtcbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIGVhY2ggbW9kdWxlIGdldHMgaXRzIG93biBuYW1lc3BhY2Ugc28gaXQgZG9lc24ndCBjb25mbGljdCB3aXRoIG90aGVyIG1vZHVsZXNcbiAgICovXG4gIGRpc2FibGVOYW1lc3BhY2U/OiBib29sZWFuO1xuICAvKipcbiAgICogQnkgZGVmYXVsdCwgbmFtZXNwYWNlcyBhcmUgdXBwZXJjYXNlXG4gICAqL1xuICBsb3dlcmNhc2VOYW1lc3BhY2U/OiBib29sZWFuO1xuICAvKipcbiAgICogQnkgZGVmYXVsdCwgaXQnbGwgcGVyZm9ybSBhIGRlZXBtZXJnZSB3aGVuIG1lcmdpbmcgdHJhbnNsYXRpb24gZmlsZXNcbiAgICovXG4gIGRlZXBNZXJnZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0aGF0IGdldHMgZXhlY3V0ZWQgaWYgYW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmV0cmlldmluZyBhIHRyYW5zbGF0aW9uIGZpbGVcbiAgICogQHBhcmFtIGVycm9yIHRoZSBlcnJvciB0aGF0IG9jY3VycmVkXG4gICAqIEBwYXJhbSBwYXRoIHRoZSBwYXRoIHRvIHRoZSBsb2NhdGlvbiBmaWxlXG4gICAqL1xuICB0cmFuc2xhdGVFcnJvcj86IChlcnJvcjogYW55LCBwYXRoOiBzdHJpbmcpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDdXN0b20gdHJhbnNsYXRlIG1lcmdlIGZ1bmN0aW9uIGFmdGVyIHJldHJpZXZpbmcgYWxsIHRyYW5zbGF0aW9uIGZpbGVzXG4gICAqIEBwYXJhbSB0cmFuc2xhdGlvbnMgdGhlIHJlc29sdmVkIHRyYW5zbGF0aW9uIGZpbGVzXG4gICAqL1xuICB0cmFuc2xhdGVNZXJnZXI/OiAodHJhbnNsYXRpb25zOiBUcmFuc2xhdGlvbltdKSA9PiBUcmFuc2xhdGlvbjtcbiAgLyoqXG4gICAqIEN1c3RvbSBtb2R1bGUgcGF0aCB0ZW1wbGF0ZSBmb3IgZmV0Y2hpbmcgdHJhbnNsYXRpb25zXG4gICAqIEBleGFtcGxlXG4gICAqICd7YmFzZVRyYW5zbGF0ZVVybH0ve21vZHVsZU5hbWV9L3tsYW5ndWFnZX0nXG4gICAqL1xuICBtb2R1bGVQYXRoVGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDdXN0b20gcGF0aCB0ZW1wbGF0ZSBmb3IgZmV0Y2hpbmcgdHJhbnNsYXRpb25zXG4gICAqIEBleGFtcGxlXG4gICAqICd7YmFzZVRyYW5zbGF0ZVVybH0ve2xhbmd1YWdlfSdcbiAgICovXG4gIHBhdGhUZW1wbGF0ZT86IHN0cmluZztcbn1cbiJdfQ== |
@@ -1,1 +0,1 @@ | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLXRyYW5zbGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRyYW5zbGF0ZS1tb2R1bGUtbG9hZGVyL3NyYy9saWIvbW9kZWxzL21vZHVsZS10cmFuc2xhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNsYXRpb24gfSBmcm9tICcuL3RyYW5zbGF0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBJTW9kdWxlVHJhbnNsYXRpb24ge1xuICAvKipcbiAgICogVGhlIG1vZHVsZSBuYW1lXG4gICAqXG4gICAqIEZvciBleGFtcGxlOiBzaGFyZWRcbiAgICogQGRlc2NyaXB0aW9uIG9taXQgbW9kdWxlTmFtZSBpZiB5b3UgaGF2ZSBhIHRyYW5zbGF0ZSBmaWxlIGF0IGJhc2VUcmFuc2xhdGVVcmwgbGV2ZWxcbiAgICogQHNlZSBiYXNlVHJhbnNsYXRlVXJsXG4gICAqL1xuICBtb2R1bGVOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGJhc2UgdHJhbnNsYXRlIFVSTFxuICAgKlxuICAgKiBGb3IgZXhhbXBsZTogLi9hc3NldHMvaTE4blxuICAgKiBAZGVzY3JpcHRpb24gdGhlIGZpbmFsIHVybCB3aWxsIHRoZW4gYmU6IC4vYXNzZXRzL2kxOG4vc2hhcmVkIGlmIHRoZSBtb2R1bGVOYW1lIGlzIHNoYXJlZFxuICAgKiBAc2VlIG1vZHVsZU5hbWVcbiAgICovXG4gIGJhc2VUcmFuc2xhdGVVcmw6IHN0cmluZztcbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIGl0IHVzZXMgdGhlIG1vZHVsZU5hbWUgYXMgbmFtZVNwYWNlXG4gICAqIEBzZWUgbW9kdWxlTmFtZVxuICAgKlxuICAgKiBVc2UgdGhpcyBwcm9wZXJ0eSBpZiB5b3Ugd2FudCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBuYW1lU3BhY2VcbiAgICovXG4gIG5hbWVTcGFjZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSB0cmFuc2xhdGlvbiBtYXAgZnVuY3Rpb24gYWZ0ZXIgcmV0cmlldmluZyBhIHRyYW5zbGF0aW9uIGZpbGVcbiAgICogQHBhcmFtIHRyYW5zbGF0aW9uIHRoZSByZXNvbHZlZCB0cmFuc2xhdGlvbiBmaWxlXG4gICAqL1xuICB0cmFuc2xhdGVNYXA/OiAodHJhbnNsYXRpb246IFRyYW5zbGF0aW9uKSA9PiBUcmFuc2xhdGlvbjtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLXRyYW5zbGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRyYW5zbGF0ZS1tb2R1bGUtbG9hZGVyL3NyYy9saWIvbW9kZWxzL21vZHVsZS10cmFuc2xhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNsYXRpb24gfSBmcm9tICcuL3RyYW5zbGF0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBJTW9kdWxlVHJhbnNsYXRpb24ge1xuICAvKipcbiAgICogVGhlIG1vZHVsZSBuYW1lXG4gICAqXG4gICAqIEZvciBleGFtcGxlOiBzaGFyZWRcbiAgICogQGRlc2NyaXB0aW9uIG9taXQgbW9kdWxlTmFtZSBpZiB5b3UgaGF2ZSBhIHRyYW5zbGF0ZSBmaWxlIGF0IGJhc2VUcmFuc2xhdGVVcmwgbGV2ZWxcbiAgICogQHNlZSBiYXNlVHJhbnNsYXRlVXJsXG4gICAqL1xuICBtb2R1bGVOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGJhc2UgdHJhbnNsYXRlIFVSTFxuICAgKlxuICAgKiBGb3IgZXhhbXBsZTogLi9hc3NldHMvaTE4blxuICAgKiBAZGVzY3JpcHRpb24gdGhlIGZpbmFsIHVybCB3aWxsIHRoZW4gYmU6IC4vYXNzZXRzL2kxOG4vc2hhcmVkIGlmIHRoZSBtb2R1bGVOYW1lIGlzIHNoYXJlZFxuICAgKiBAc2VlIG1vZHVsZU5hbWVcbiAgICovXG4gIGJhc2VUcmFuc2xhdGVVcmw6IHN0cmluZztcbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIGl0IHVzZXMgdGhlIG1vZHVsZU5hbWUgYXMgbmFtZXNwYWNlXG4gICAqIEBzZWUgbW9kdWxlTmFtZVxuICAgKlxuICAgKiBVc2UgdGhpcyBwcm9wZXJ0eSBpZiB5b3Ugd2FudCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBuYW1lU3BhY2VcbiAgICovXG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSB0cmFuc2xhdGlvbiBtYXAgZnVuY3Rpb24gYWZ0ZXIgcmV0cmlldmluZyBhIHRyYW5zbGF0aW9uIGZpbGVcbiAgICogQHBhcmFtIHRyYW5zbGF0aW9uIHRoZSByZXNvbHZlZCB0cmFuc2xhdGlvbiBmaWxlXG4gICAqL1xuICB0cmFuc2xhdGVNYXA/OiAodHJhbnNsYXRpb246IFRyYW5zbGF0aW9uKSA9PiBUcmFuc2xhdGlvbjtcbn1cbiJdfQ== |
import merge from 'deepmerge'; | ||
import { forkJoin as ForkJoin, of } from 'rxjs'; | ||
import { catchError, map } from 'rxjs/operators'; | ||
export const createJsonPath = (path) => path.concat('.json'); | ||
export const toJsonPath = (path) => path.concat('.json'); | ||
const PATH_TEMPLATE_MATCH = /{([^}]+)}/gi; | ||
@@ -20,3 +20,3 @@ export class ModuleTranslateLoader { | ||
this.options = options; | ||
this.defaultOptions = Object.assign({ enableNamespacing: true, nameSpaceUppercase: true, deepMerge: true, modulePathTemplate: '{baseTranslateUrl}/{moduleName}/{language}', pathTemplate: '{baseTranslateUrl}/{language}' }, this.options); | ||
this.defaultOptions = Object.assign({ disableNamespace: false, lowercaseNamespace: false, deepMerge: true, modulePathTemplate: '{baseTranslateUrl}/{moduleName}/{language}', pathTemplate: '{baseTranslateUrl}/{language}' }, this.options); | ||
} | ||
@@ -27,3 +27,3 @@ getTranslation(language) { | ||
} | ||
mergeTranslations(moduleTranslations, { translateMerger, deepMerge }) { | ||
mergeTranslations(moduleTranslations, { deepMerge, translateMerger }) { | ||
return ForkJoin(moduleTranslations).pipe(map((translations) => { | ||
@@ -48,21 +48,21 @@ return translateMerger | ||
const pathOptions = { baseTranslateUrl, language }; | ||
const path = createJsonPath(pathTemplate.replace(PATH_TEMPLATE_MATCH, (_, m1) => pathOptions[m1] || '')); | ||
const path = toJsonPath(pathTemplate.replace(PATH_TEMPLATE_MATCH, (_, m1) => pathOptions[m1] || '')); | ||
return this.http.get(path).pipe(map((translation) => (translateMap ? translateMap(translation) : translation)), this.catchError(path, translateError)); | ||
} | ||
fetchTranslationForModule(language, { modulePathTemplate, enableNamespacing, nameSpaceUppercase, translateError }, { baseTranslateUrl, translateMap, moduleName, nameSpace }) { | ||
fetchTranslationForModule(language, { modulePathTemplate, disableNamespace, lowercaseNamespace, translateError }, { baseTranslateUrl, moduleName, namespace, translateMap }) { | ||
const modulePathOptions = { baseTranslateUrl, moduleName, language }; | ||
const modulePath = createJsonPath(modulePathTemplate.replace(PATH_TEMPLATE_MATCH, (_, m1) => modulePathOptions[m1] || '')); | ||
const namespaceKey = nameSpace | ||
? nameSpaceUppercase | ||
? nameSpace.toUpperCase() | ||
: nameSpace.toLowerCase() | ||
: nameSpaceUppercase | ||
? moduleName.toUpperCase() | ||
: moduleName.toLowerCase(); | ||
const modulePath = toJsonPath(modulePathTemplate.replace(PATH_TEMPLATE_MATCH, (_, m1) => modulePathOptions[m1] || '')); | ||
const namespaceKey = namespace | ||
? lowercaseNamespace | ||
? namespace.toLowerCase() | ||
: namespace.toUpperCase() | ||
: lowercaseNamespace | ||
? moduleName.toLowerCase() | ||
: moduleName.toUpperCase(); | ||
return this.http.get(modulePath).pipe(map((translation) => { | ||
return translateMap | ||
? translateMap(translation) | ||
: enableNamespacing | ||
? Object({ [namespaceKey]: translation }) | ||
: translation; | ||
: disableNamespace | ||
? translation | ||
: Object({ [namespaceKey]: translation }); | ||
}), this.catchError(modulePath, translateError)); | ||
@@ -80,2 +80,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLXRyYW5zbGF0ZS1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdHJhbnNsYXRlLW1vZHVsZS1sb2FkZXIvc3JjL2xpYi9tb2R1bGUtdHJhbnNsYXRlLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssTUFBTSxXQUFXLENBQUM7QUFDOUIsT0FBTyxFQUFFLFFBQVEsSUFBSSxRQUFRLEVBQXdDLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS2pELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUVyRSxNQUFNLG1CQUFtQixHQUFHLGFBQWEsQ0FBQztBQUUxQyxNQUFNLE9BQU8scUJBQXFCO0lBVWhDOzs7Ozs7Ozs7T0FTRztJQUNILFlBQTZCLElBQWdCLEVBQW1CLE9BQWtDO1FBQXJFLFNBQUksR0FBSixJQUFJLENBQVk7UUFBbUIsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFuQmpGLG1CQUFjLG1CQUM3QixpQkFBaUIsRUFBRSxJQUFJLEVBQ3ZCLGtCQUFrQixFQUFFLElBQUksRUFDeEIsU0FBUyxFQUFFLElBQUksRUFDZixrQkFBa0IsRUFBRSw0Q0FBNEMsRUFDaEUsWUFBWSxFQUFFLCtCQUErQixJQUMxQyxJQUFJLENBQUMsT0FBTyxFQUNmO0lBWW1HLENBQUM7SUFFL0YsY0FBYyxDQUFDLFFBQWdCO1FBQ3BDLE1BQU0sRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVPLGlCQUFpQixDQUN2QixrQkFBNkMsRUFDN0MsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUE2QjtRQUV6RCxPQUFPLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FDdEMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDbkIsT0FBTyxlQUFlO2dCQUNwQixDQUFDLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLFNBQVM7b0JBQ1gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQWMsWUFBWSxDQUFDO29CQUN0QyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLGlDQUFNLEdBQUcsR0FBSyxJQUFJLEVBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8scUJBQXFCLENBQUMsUUFBZ0IsRUFBRSxPQUFrQztRQUNoRixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRTVCLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzVCLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLENBQUM7WUFDOUIsT0FBTyxVQUFVO2dCQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUM7Z0JBQzNELENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0IsQ0FDdEIsUUFBZ0IsRUFDaEIsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUE2QixFQUMzRCxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBc0I7UUFFdEQsTUFBTSxXQUFXLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUNuRCxNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFVLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWpILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUMxQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQzlFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVPLHlCQUF5QixDQUMvQixRQUFnQixFQUNoQixFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBNkIsRUFDeEcsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBc0I7UUFFN0UsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQy9CLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFVLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUNoRyxDQUFDO1FBQ0YsTUFBTSxZQUFZLEdBQUcsU0FBUztZQUM1QixDQUFDLENBQUMsa0JBQWtCO2dCQUNsQixDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRTtnQkFDekIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUU7WUFDM0IsQ0FBQyxDQUFDLGtCQUFrQjtnQkFDcEIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0JBQzFCLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQ2hELEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2xCLE9BQU8sWUFBWTtnQkFDakIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxpQkFBaUI7b0JBQ25CLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO29CQUN6QyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxFQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUM1QyxDQUFDO0lBQ0osQ0FBQztJQUVPLFVBQVUsQ0FDaEIsSUFBWSxFQUNaLGNBQW1EO1FBRW5ELE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdEIsSUFBSSxjQUFjLEVBQUU7Z0JBQ2xCLGNBQWMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDekI7WUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3hELE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgbWVyZ2UgZnJvbSAnZGVlcG1lcmdlJztcbmltcG9ydCB7IGZvcmtKb2luIGFzIEZvcmtKb2luLCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJTW9kdWxlVHJhbnNsYXRpb24gfSBmcm9tICcuL21vZGVscy9tb2R1bGUtdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgSU1vZHVsZVRyYW5zbGF0aW9uT3B0aW9ucyB9IGZyb20gJy4vbW9kZWxzL21vZHVsZS10cmFuc2xhdGlvbi1vcHRpb25zJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uIH0gZnJvbSAnLi9tb2RlbHMvdHJhbnNsYXRpb24nO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlSnNvblBhdGggPSAocGF0aDogc3RyaW5nKSA9PiBwYXRoLmNvbmNhdCgnLmpzb24nKTtcblxuY29uc3QgUEFUSF9URU1QTEFURV9NQVRDSCA9IC97KFtefV0rKX0vZ2k7XG5cbmV4cG9ydCBjbGFzcyBNb2R1bGVUcmFuc2xhdGVMb2FkZXIgaW1wbGVtZW50cyBUcmFuc2xhdGVMb2FkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRPcHRpb25zOiBJTW9kdWxlVHJhbnNsYXRpb25PcHRpb25zID0ge1xuICAgIGVuYWJsZU5hbWVzcGFjaW5nOiB0cnVlLFxuICAgIG5hbWVTcGFjZVVwcGVyY2FzZTogdHJ1ZSxcbiAgICBkZWVwTWVyZ2U6IHRydWUsXG4gICAgbW9kdWxlUGF0aFRlbXBsYXRlOiAne2Jhc2VUcmFuc2xhdGVVcmx9L3ttb2R1bGVOYW1lfS97bGFuZ3VhZ2V9JyxcbiAgICBwYXRoVGVtcGxhdGU6ICd7YmFzZVRyYW5zbGF0ZVVybH0ve2xhbmd1YWdlfScsXG4gICAgLi4udGhpcy5vcHRpb25zLFxuICB9O1xuXG4gIC8qKlxuICAgKiBUaGUgTW9kdWxlVHJhbnNsYXRlTG9hZGVyIGZvciAnbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuICAgKlxuICAgKiBAZGVzY3JpcHRpb24gRmV0Y2ggbXVsdGlwbGUgdHJhbnNsYXRpb24gZmlsZXMgKGh0dHApLlxuICAgKlxuICAgKiBAcGFyYW0gaHR0cCB0aGUgSHR0cENsaWVudCBmcm9tICdhbmd1bGFyL2NvbW1vbidcbiAgICogQHBhcmFtIG9wdGlvbnMgdGhlIGNvbmZpZ3VyYWJsZSBvcHRpb25zIGZvciBNb2R1bGVUcmFuc2xhdGVMb2FkZXJcbiAgICpcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vbGFyc2NvbS9uZ3gtdHJhbnNsYXRlLW1vZHVsZS1sb2FkZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBJTW9kdWxlVHJhbnNsYXRpb25PcHRpb25zKSB7fVxuXG4gIHB1YmxpYyBnZXRUcmFuc2xhdGlvbihsYW5ndWFnZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUcmFuc2xhdGlvbj4ge1xuICAgIGNvbnN0IHsgZGVmYXVsdE9wdGlvbnM6IG9wdGlvbnMgfSA9IHRoaXM7XG4gICAgcmV0dXJuIHRoaXMubWVyZ2VUcmFuc2xhdGlvbnModGhpcy5nZXRNb2R1bGVUcmFuc2xhdGlvbnMobGFuZ3VhZ2UsIG9wdGlvbnMpLCBvcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgbWVyZ2VUcmFuc2xhdGlvbnMoXG4gICAgbW9kdWxlVHJhbnNsYXRpb25zOiBPYnNlcnZhYmxlPFRyYW5zbGF0aW9uPltdLFxuICAgIHsgdHJhbnNsYXRlTWVyZ2VyLCBkZWVwTWVyZ2UgfTogSU1vZHVsZVRyYW5zbGF0aW9uT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPFRyYW5zbGF0aW9uPiB7XG4gICAgcmV0dXJuIEZvcmtKb2luKG1vZHVsZVRyYW5zbGF0aW9ucykucGlwZShcbiAgICAgIG1hcCgodHJhbnNsYXRpb25zKSA9PiB7XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGVNZXJnZXJcbiAgICAgICAgICA/IHRyYW5zbGF0ZU1lcmdlcih0cmFuc2xhdGlvbnMpXG4gICAgICAgICAgOiBkZWVwTWVyZ2VcbiAgICAgICAgICA/IG1lcmdlLmFsbDxUcmFuc2xhdGlvbj4odHJhbnNsYXRpb25zKVxuICAgICAgICAgIDogdHJhbnNsYXRpb25zLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiAoeyAuLi5hY2MsIC4uLmN1cnIgfSksIE9iamVjdCgpKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TW9kdWxlVHJhbnNsYXRpb25zKGxhbmd1YWdlOiBzdHJpbmcsIG9wdGlvbnM6IElNb2R1bGVUcmFuc2xhdGlvbk9wdGlvbnMpOiBPYnNlcnZhYmxlPFRyYW5zbGF0aW9uPltdIHtcbiAgICBjb25zdCB7IG1vZHVsZXMgfSA9IG9wdGlvbnM7XG5cbiAgICByZXR1cm4gbW9kdWxlcy5tYXAoKG1vZHVsZSkgPT4ge1xuICAgICAgY29uc3QgeyBtb2R1bGVOYW1lIH0gPSBtb2R1bGU7XG4gICAgICByZXR1cm4gbW9kdWxlTmFtZVxuICAgICAgICA/IHRoaXMuZmV0Y2hUcmFuc2xhdGlvbkZvck1vZHVsZShsYW5ndWFnZSwgb3B0aW9ucywgbW9kdWxlKVxuICAgICAgICA6IHRoaXMuZmV0Y2hUcmFuc2xhdGlvbihsYW5ndWFnZSwgb3B0aW9ucywgbW9kdWxlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hUcmFuc2xhdGlvbihcbiAgICBsYW5ndWFnZTogc3RyaW5nLFxuICAgIHsgcGF0aFRlbXBsYXRlLCB0cmFuc2xhdGVFcnJvciB9OiBJTW9kdWxlVHJhbnNsYXRpb25PcHRpb25zLFxuICAgIHsgYmFzZVRyYW5zbGF0ZVVybCwgdHJhbnNsYXRlTWFwIH06IElNb2R1bGVUcmFuc2xhdGlvblxuICApOiBPYnNlcnZhYmxlPFRyYW5zbGF0aW9uPiB7XG4gICAgY29uc3QgcGF0aE9wdGlvbnMgPSB7IGJhc2VUcmFuc2xhdGVVcmwsIGxhbmd1YWdlIH07XG4gICAgY29uc3QgcGF0aCA9IGNyZWF0ZUpzb25QYXRoKHBhdGhUZW1wbGF0ZS5yZXBsYWNlKFBBVEhfVEVNUExBVEVfTUFUQ0gsIChfLCBtMTogc3RyaW5nKSA9PiBwYXRoT3B0aW9uc1ttMV0gfHwgJycpKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFRyYW5zbGF0aW9uPihwYXRoKS5waXBlKFxuICAgICAgbWFwKCh0cmFuc2xhdGlvbikgPT4gKHRyYW5zbGF0ZU1hcCA/IHRyYW5zbGF0ZU1hcCh0cmFuc2xhdGlvbikgOiB0cmFuc2xhdGlvbikpLFxuICAgICAgdGhpcy5jYXRjaEVycm9yKHBhdGgsIHRyYW5zbGF0ZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoVHJhbnNsYXRpb25Gb3JNb2R1bGUoXG4gICAgbGFuZ3VhZ2U6IHN0cmluZyxcbiAgICB7IG1vZHVsZVBhdGhUZW1wbGF0ZSwgZW5hYmxlTmFtZXNwYWNpbmcsIG5hbWVTcGFjZVVwcGVyY2FzZSwgdHJhbnNsYXRlRXJyb3IgfTogSU1vZHVsZVRyYW5zbGF0aW9uT3B0aW9ucyxcbiAgICB7IGJhc2VUcmFuc2xhdGVVcmwsIHRyYW5zbGF0ZU1hcCwgbW9kdWxlTmFtZSwgbmFtZVNwYWNlIH06IElNb2R1bGVUcmFuc2xhdGlvblxuICApOiBPYnNlcnZhYmxlPFRyYW5zbGF0aW9uPiB7XG4gICAgY29uc3QgbW9kdWxlUGF0aE9wdGlvbnMgPSB7IGJhc2VUcmFuc2xhdGVVcmwsIG1vZHVsZU5hbWUsIGxhbmd1YWdlIH07XG4gICAgY29uc3QgbW9kdWxlUGF0aCA9IGNyZWF0ZUpzb25QYXRoKFxuICAgICAgbW9kdWxlUGF0aFRlbXBsYXRlLnJlcGxhY2UoUEFUSF9URU1QTEFURV9NQVRDSCwgKF8sIG0xOiBzdHJpbmcpID0+IG1vZHVsZVBhdGhPcHRpb25zW20xXSB8fCAnJylcbiAgICApO1xuICAgIGNvbnN0IG5hbWVzcGFjZUtleSA9IG5hbWVTcGFjZVxuICAgICAgPyBuYW1lU3BhY2VVcHBlcmNhc2VcbiAgICAgICAgPyBuYW1lU3BhY2UudG9VcHBlckNhc2UoKVxuICAgICAgICA6IG5hbWVTcGFjZS50b0xvd2VyQ2FzZSgpXG4gICAgICA6IG5hbWVTcGFjZVVwcGVyY2FzZVxuICAgICAgPyBtb2R1bGVOYW1lLnRvVXBwZXJDYXNlKClcbiAgICAgIDogbW9kdWxlTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VHJhbnNsYXRpb24+KG1vZHVsZVBhdGgpLnBpcGUoXG4gICAgICBtYXAoKHRyYW5zbGF0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGVNYXBcbiAgICAgICAgICA/IHRyYW5zbGF0ZU1hcCh0cmFuc2xhdGlvbilcbiAgICAgICAgICA6IGVuYWJsZU5hbWVzcGFjaW5nXG4gICAgICAgICAgPyBPYmplY3QoeyBbbmFtZXNwYWNlS2V5XTogdHJhbnNsYXRpb24gfSlcbiAgICAgICAgICA6IHRyYW5zbGF0aW9uO1xuICAgICAgfSksXG4gICAgICB0aGlzLmNhdGNoRXJyb3IobW9kdWxlUGF0aCwgdHJhbnNsYXRlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2F0Y2hFcnJvcjxUPihcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgdHJhbnNsYXRlRXJyb3I/OiAoZXJyb3I6IGFueSwgcGF0aDogc3RyaW5nKSA9PiB2b2lkXG4gICk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gICAgcmV0dXJuIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgIGlmICh0cmFuc2xhdGVFcnJvcikge1xuICAgICAgICB0cmFuc2xhdGVFcnJvcihlLCBwYXRoKTtcbiAgICAgIH1cblxuICAgICAgY29uc29sZS5lcnJvcignVW5hYmxlIHRvIGxvYWQgdHJhbnNsYXRpb24gZmlsZTonLCBwYXRoKTtcbiAgICAgIHJldHVybiBvZihPYmplY3QoKSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLXRyYW5zbGF0ZS1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdHJhbnNsYXRlLW1vZHVsZS1sb2FkZXIvc3JjL2xpYi9tb2R1bGUtdHJhbnNsYXRlLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssTUFBTSxXQUFXLENBQUM7QUFDOUIsT0FBTyxFQUFFLFFBQVEsSUFBSSxRQUFRLEVBQXdDLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS2pELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUVqRSxNQUFNLG1CQUFtQixHQUFHLGFBQWEsQ0FBQztBQUUxQyxNQUFNLE9BQU8scUJBQXFCO0lBVWhDOzs7Ozs7Ozs7T0FTRztJQUNILFlBQTZCLElBQWdCLEVBQW1CLE9BQWtDO1FBQXJFLFNBQUksR0FBSixJQUFJLENBQVk7UUFBbUIsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFuQmpGLG1CQUFjLG1CQUM3QixnQkFBZ0IsRUFBRSxLQUFLLEVBQ3ZCLGtCQUFrQixFQUFFLEtBQUssRUFDekIsU0FBUyxFQUFFLElBQUksRUFDZixrQkFBa0IsRUFBRSw0Q0FBNEMsRUFDaEUsWUFBWSxFQUFFLCtCQUErQixJQUMxQyxJQUFJLENBQUMsT0FBTyxFQUNmO0lBWW1HLENBQUM7SUFFL0YsY0FBYyxDQUFDLFFBQWdCO1FBQ3BDLE1BQU0sRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsT0FB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M0IsQ0FBQyxDQUFDLGtCQUFrQjtnQkFDcEIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0JBQzFCLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQ2hELEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2xCLE9BQU8sWUFBWTtnQkFDakIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxnQkFBZ0I7b0JBQ2xCLENBQUMsQ0FBQyxXQUFXO29CQUNiLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLEVBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQzVDLENBQUM7SUFDSixDQUFDO0lBRU8sVUFBVSxDQUNoQixJQUFZLEVBQ1osY0FBbUQ7UUFFbkQsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0QixJQUFJLGNBQWMsRUFBRTtnQkFDbEIsY0FBYyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUN6QjtZQUVELE9BQU8sQ0FBQyxLQUFLLENBQUMsa0NBQWtDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDeEQsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCBtZXJnZSBmcm9tICdkZWVwbWVyZ2UnO1xuaW1wb3J0IHsgZm9ya0pvaW4gYXMgRm9ya0pvaW4sIE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElNb2R1bGVUcmFuc2xhdGlvbiB9IGZyb20gJy4vbW9kZWxzL21vZHVsZS10cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBJTW9kdWxlVHJhbnNsYXRpb25PcHRpb25zIH0gZnJvbSAnLi9tb2RlbHMvbW9kdWxlLXRyYW5zbGF0aW9uLW9wdGlvbnMnO1xuaW1wb3J0IHsgVHJhbnNsYXRpb24gfSBmcm9tICcuL21vZGVscy90cmFuc2xhdGlvbic7XG5cbmV4cG9ydCBjb25zdCB0b0pzb25QYXRoID0gKHBhdGg6IHN0cmluZykgPT4gcGF0aC5jb25jYXQoJy5qc29uJyk7XG5cbmNvbnN0IFBBVEhfVEVNUExBVEVfTUFUQ0ggPSAveyhbXn1dKyl9L2dpO1xuXG5leHBvcnQgY2xhc3MgTW9kdWxlVHJhbnNsYXRlTG9hZGVyIGltcGxlbWVudHMgVHJhbnNsYXRlTG9hZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0T3B0aW9uczogSU1vZHVsZVRyYW5zbGF0aW9uT3B0aW9ucyA9IHtcbiAgICBkaXNhYmxlTmFtZXNwYWNlOiBmYWxzZSxcbiAgICBsb3dlcmNhc2VOYW1lc3BhY2U6IGZhbHNlLFxuICAgIGRlZXBNZXJnZTogdHJ1ZSxcbiAgICBtb2R1bGVQYXRoVGVtcGxhdGU6ICd7YmFzZVRyYW5zbGF0ZVVybH0ve21vZHVsZU5hbWV9L3tsYW5ndWFnZX0nLFxuICAgIHBhdGhUZW1wbGF0ZTogJ3tiYXNlVHJhbnNsYXRlVXJsfS97bGFuZ3VhZ2V9JyxcbiAgICAuLi50aGlzLm9wdGlvbnNcbiAgfTtcblxuICAvKipcbiAgICogVGhlIE1vZHVsZVRyYW5zbGF0ZUxvYWRlciBmb3IgJ25neC10cmFuc2xhdGUvY29yZSdcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uIEZldGNoIG11bHRpcGxlIHRyYW5zbGF0aW9uIGZpbGVzIChodHRwKS5cbiAgICpcbiAgICogQHBhcmFtIGh0dHAgdGhlIEh0dHBDbGllbnQgZnJvbSAnYW5ndWxhci9jb21tb24nXG4gICAqIEBwYXJhbSBvcHRpb25zIHRoZSBjb25maWd1cmFibGUgb3B0aW9ucyBmb3IgTW9kdWxlVHJhbnNsYXRlTG9hZGVyXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2xhcnNjb20vbmd4LXRyYW5zbGF0ZS1tb2R1bGUtbG9hZGVyXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogSU1vZHVsZVRyYW5zbGF0aW9uT3B0aW9ucykge31cblxuICBwdWJsaWMgZ2V0VHJhbnNsYXRpb24obGFuZ3VhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8VHJhbnNsYXRpb24+IHtcbiAgICBjb25zdCB7IGRlZmF1bHRPcHRpb25zOiBvcHRpb25zIH0gPSB0aGlzO1xuICAgIHJldHVybiB0aGlzLm1lcmdlVHJhbnNsYXRpb25zKHRoaXMuZ2V0TW9kdWxlVHJhbnNsYXRpb25zKGxhbmd1YWdlLCBvcHRpb25zKSwgb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIG1lcmdlVHJhbnNsYXRpb25zKFxuICAgIG1vZHVsZVRyYW5zbGF0aW9uczogT2JzZXJ2YWJsZTxUcmFuc2xhdGlvbj5bXSxcbiAgICB7IGRlZXBNZXJnZSwgdHJhbnNsYXRlTWVyZ2VyIH06IElNb2R1bGVUcmFuc2xhdGlvbk9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxUcmFuc2xhdGlvbj4ge1xuICAgIHJldHVybiBGb3JrSm9pbihtb2R1bGVUcmFuc2xhdGlvbnMpLnBpcGUoXG4gICAgICBtYXAoKHRyYW5zbGF0aW9ucykgPT4ge1xuICAgICAgICByZXR1cm4gdHJhbnNsYXRlTWVyZ2VyXG4gICAgICAgICAgPyB0cmFuc2xhdGVNZXJnZXIodHJhbnNsYXRpb25zKVxuICAgICAgICAgIDogZGVlcE1lcmdlXG4gICAgICAgICAgPyBtZXJnZS5hbGw8VHJhbnNsYXRpb24+KHRyYW5zbGF0aW9ucylcbiAgICAgICAgICA6IHRyYW5zbGF0aW9ucy5yZWR1Y2UoKGFjYywgY3VycikgPT4gKHsgLi4uYWNjLCAuLi5jdXJyIH0pLCBPYmplY3QoKSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZHVsZVRyYW5zbGF0aW9ucyhsYW5ndWFnZTogc3RyaW5nLCBvcHRpb25zOiBJTW9kdWxlVHJhbnNsYXRpb25PcHRpb25zKTogT2JzZXJ2YWJsZTxUcmFuc2xhdGlvbj5bXSB7XG4gICAgY29uc3QgeyBtb2R1bGVzIH0gPSBvcHRpb25zO1xuXG4gICAgcmV0dXJuIG1vZHVsZXMubWFwKChtb2R1bGUpID0+IHtcbiAgICAgIGNvbnN0IHsgbW9kdWxlTmFtZSB9ID0gbW9kdWxlO1xuICAgICAgcmV0dXJuIG1vZHVsZU5hbWVcbiAgICAgICAgPyB0aGlzLmZldGNoVHJhbnNsYXRpb25Gb3JNb2R1bGUobGFuZ3VhZ2UsIG9wdGlvbnMsIG1vZHVsZSlcbiAgICAgICAgOiB0aGlzLmZldGNoVHJhbnNsYXRpb24obGFuZ3VhZ2UsIG9wdGlvbnMsIG1vZHVsZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoVHJhbnNsYXRpb24oXG4gICAgbGFuZ3VhZ2U6IHN0cmluZyxcbiAgICB7IHBhdGhUZW1wbGF0ZSwgdHJhbnNsYXRlRXJyb3IgfTogSU1vZHVsZVRyYW5zbGF0aW9uT3B0aW9ucyxcbiAgICB7IGJhc2VUcmFuc2xhdGVVcmwsIHRyYW5zbGF0ZU1hcCB9OiBJTW9kdWxlVHJhbnNsYXRpb25cbiAgKTogT2JzZXJ2YWJsZTxUcmFuc2xhdGlvbj4ge1xuICAgIGNvbnN0IHBhdGhPcHRpb25zID0geyBiYXNlVHJhbnNsYXRlVXJsLCBsYW5ndWFnZSB9O1xuICAgIGNvbnN0IHBhdGggPSB0b0pzb25QYXRoKHBhdGhUZW1wbGF0ZS5yZXBsYWNlKFBBVEhfVEVNUExBVEVfTUFUQ0gsIChfLCBtMTogc3RyaW5nKSA9PiBwYXRoT3B0aW9uc1ttMV0gfHwgJycpKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFRyYW5zbGF0aW9uPihwYXRoKS5waXBlKFxuICAgICAgbWFwKCh0cmFuc2xhdGlvbikgPT4gKHRyYW5zbGF0ZU1hcCA/IHRyYW5zbGF0ZU1hcCh0cmFuc2xhdGlvbikgOiB0cmFuc2xhdGlvbikpLFxuICAgICAgdGhpcy5jYXRjaEVycm9yKHBhdGgsIHRyYW5zbGF0ZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoVHJhbnNsYXRpb25Gb3JNb2R1bGUoXG4gICAgbGFuZ3VhZ2U6IHN0cmluZyxcbiAgICB7IG1vZHVsZVBhdGhUZW1wbGF0ZSwgZGlzYWJsZU5hbWVzcGFjZSwgbG93ZXJjYXNlTmFtZXNwYWNlLCB0cmFuc2xhdGVFcnJvciB9OiBJTW9kdWxlVHJhbnNsYXRpb25PcHRpb25zLFxuICAgIHsgYmFzZVRyYW5zbGF0ZVVybCwgbW9kdWxlTmFtZSwgbmFtZXNwYWNlLCB0cmFuc2xhdGVNYXAgfTogSU1vZHVsZVRyYW5zbGF0aW9uXG4gICk6IE9ic2VydmFibGU8VHJhbnNsYXRpb24+IHtcbiAgICBjb25zdCBtb2R1bGVQYXRoT3B0aW9ucyA9IHsgYmFzZVRyYW5zbGF0ZVVybCwgbW9kdWxlTmFtZSwgbGFuZ3VhZ2UgfTtcbiAgICBjb25zdCBtb2R1bGVQYXRoID0gdG9Kc29uUGF0aChcbiAgICAgIG1vZHVsZVBhdGhUZW1wbGF0ZS5yZXBsYWNlKFBBVEhfVEVNUExBVEVfTUFUQ0gsIChfLCBtMTogc3RyaW5nKSA9PiBtb2R1bGVQYXRoT3B0aW9uc1ttMV0gfHwgJycpXG4gICAgKTtcbiAgICBjb25zdCBuYW1lc3BhY2VLZXkgPSBuYW1lc3BhY2VcbiAgICAgID8gbG93ZXJjYXNlTmFtZXNwYWNlXG4gICAgICAgID8gbmFtZXNwYWNlLnRvTG93ZXJDYXNlKClcbiAgICAgICAgOiBuYW1lc3BhY2UudG9VcHBlckNhc2UoKVxuICAgICAgOiBsb3dlcmNhc2VOYW1lc3BhY2VcbiAgICAgID8gbW9kdWxlTmFtZS50b0xvd2VyQ2FzZSgpXG4gICAgICA6IG1vZHVsZU5hbWUudG9VcHBlckNhc2UoKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFRyYW5zbGF0aW9uPihtb2R1bGVQYXRoKS5waXBlKFxuICAgICAgbWFwKCh0cmFuc2xhdGlvbikgPT4ge1xuICAgICAgICByZXR1cm4gdHJhbnNsYXRlTWFwXG4gICAgICAgICAgPyB0cmFuc2xhdGVNYXAodHJhbnNsYXRpb24pXG4gICAgICAgICAgOiBkaXNhYmxlTmFtZXNwYWNlXG4gICAgICAgICAgPyB0cmFuc2xhdGlvblxuICAgICAgICAgIDogT2JqZWN0KHsgW25hbWVzcGFjZUtleV06IHRyYW5zbGF0aW9uIH0pO1xuICAgICAgfSksXG4gICAgICB0aGlzLmNhdGNoRXJyb3IobW9kdWxlUGF0aCwgdHJhbnNsYXRlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2F0Y2hFcnJvcjxUPihcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgdHJhbnNsYXRlRXJyb3I/OiAoZXJyb3I6IGFueSwgcGF0aDogc3RyaW5nKSA9PiB2b2lkXG4gICk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gICAgcmV0dXJuIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgIGlmICh0cmFuc2xhdGVFcnJvcikge1xuICAgICAgICB0cmFuc2xhdGVFcnJvcihlLCBwYXRoKTtcbiAgICAgIH1cblxuICAgICAgY29uc29sZS5lcnJvcignVW5hYmxlIHRvIGxvYWQgdHJhbnNsYXRpb24gZmlsZTonLCBwYXRoKTtcbiAgICAgIHJldHVybiBvZihPYmplY3QoKSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ== |
@@ -5,3 +5,3 @@ import merge from 'deepmerge'; | ||
const createJsonPath = (path) => path.concat('.json'); | ||
const toJsonPath = (path) => path.concat('.json'); | ||
const PATH_TEMPLATE_MATCH = /{([^}]+)}/gi; | ||
@@ -22,3 +22,3 @@ class ModuleTranslateLoader { | ||
this.options = options; | ||
this.defaultOptions = Object.assign({ enableNamespacing: true, nameSpaceUppercase: true, deepMerge: true, modulePathTemplate: '{baseTranslateUrl}/{moduleName}/{language}', pathTemplate: '{baseTranslateUrl}/{language}' }, this.options); | ||
this.defaultOptions = Object.assign({ disableNamespace: false, lowercaseNamespace: false, deepMerge: true, modulePathTemplate: '{baseTranslateUrl}/{moduleName}/{language}', pathTemplate: '{baseTranslateUrl}/{language}' }, this.options); | ||
} | ||
@@ -29,3 +29,3 @@ getTranslation(language) { | ||
} | ||
mergeTranslations(moduleTranslations, { translateMerger, deepMerge }) { | ||
mergeTranslations(moduleTranslations, { deepMerge, translateMerger }) { | ||
return forkJoin(moduleTranslations).pipe(map((translations) => { | ||
@@ -50,21 +50,21 @@ return translateMerger | ||
const pathOptions = { baseTranslateUrl, language }; | ||
const path = createJsonPath(pathTemplate.replace(PATH_TEMPLATE_MATCH, (_, m1) => pathOptions[m1] || '')); | ||
const path = toJsonPath(pathTemplate.replace(PATH_TEMPLATE_MATCH, (_, m1) => pathOptions[m1] || '')); | ||
return this.http.get(path).pipe(map((translation) => (translateMap ? translateMap(translation) : translation)), this.catchError(path, translateError)); | ||
} | ||
fetchTranslationForModule(language, { modulePathTemplate, enableNamespacing, nameSpaceUppercase, translateError }, { baseTranslateUrl, translateMap, moduleName, nameSpace }) { | ||
fetchTranslationForModule(language, { modulePathTemplate, disableNamespace, lowercaseNamespace, translateError }, { baseTranslateUrl, moduleName, namespace, translateMap }) { | ||
const modulePathOptions = { baseTranslateUrl, moduleName, language }; | ||
const modulePath = createJsonPath(modulePathTemplate.replace(PATH_TEMPLATE_MATCH, (_, m1) => modulePathOptions[m1] || '')); | ||
const namespaceKey = nameSpace | ||
? nameSpaceUppercase | ||
? nameSpace.toUpperCase() | ||
: nameSpace.toLowerCase() | ||
: nameSpaceUppercase | ||
? moduleName.toUpperCase() | ||
: moduleName.toLowerCase(); | ||
const modulePath = toJsonPath(modulePathTemplate.replace(PATH_TEMPLATE_MATCH, (_, m1) => modulePathOptions[m1] || '')); | ||
const namespaceKey = namespace | ||
? lowercaseNamespace | ||
? namespace.toLowerCase() | ||
: namespace.toUpperCase() | ||
: lowercaseNamespace | ||
? moduleName.toLowerCase() | ||
: moduleName.toUpperCase(); | ||
return this.http.get(modulePath).pipe(map((translation) => { | ||
return translateMap | ||
? translateMap(translation) | ||
: enableNamespacing | ||
? Object({ [namespaceKey]: translation }) | ||
: translation; | ||
: disableNamespace | ||
? translation | ||
: Object({ [namespaceKey]: translation }); | ||
}), this.catchError(modulePath, translateError)); | ||
@@ -71,0 +71,0 @@ } |
@@ -9,11 +9,11 @@ import { IModuleTranslation } from './module-translation'; | ||
/** | ||
* Each module gets its own namespace so it doesn't conflict with other modules | ||
* By default, each module gets its own namespace so it doesn't conflict with other modules | ||
*/ | ||
enableNamespacing?: boolean; | ||
disableNamespace?: boolean; | ||
/** | ||
* Create namespaces in Uppercase if namespacing is enabled | ||
* By default, namespaces are uppercase | ||
*/ | ||
nameSpaceUppercase?: boolean; | ||
lowercaseNamespace?: boolean; | ||
/** | ||
* Perform a deepmerge when merging translation files | ||
* By default, it'll perform a deepmerge when merging translation files | ||
*/ | ||
@@ -20,0 +20,0 @@ deepMerge?: boolean; |
@@ -20,3 +20,3 @@ import { Translation } from './translation'; | ||
/** | ||
* By default, it uses the moduleName as nameSpace | ||
* By default, it uses the moduleName as namespace | ||
* @see moduleName | ||
@@ -26,3 +26,3 @@ * | ||
*/ | ||
nameSpace?: string; | ||
namespace?: string; | ||
/** | ||
@@ -29,0 +29,0 @@ * Custom translation map function after retrieving a translation file |
@@ -6,3 +6,3 @@ import { HttpClient } from '@angular/common/http'; | ||
import { Translation } from './models/translation'; | ||
export declare const createJsonPath: (path: string) => string; | ||
export declare const toJsonPath: (path: string) => string; | ||
export declare class ModuleTranslateLoader implements TranslateLoader { | ||
@@ -9,0 +9,0 @@ private readonly http; |
{ | ||
"name": "@larscom/ngx-translate-module-loader", | ||
"version": "1.5.1", | ||
"version": "2.0.0", | ||
"description": "Highly configurable and flexible translations loader for ngx-translate. Fetch multiple translations, each translation file gets it's own namespace by default", | ||
@@ -5,0 +5,0 @@ "repository": { |
@@ -7,6 +7,8 @@ # @larscom/ngx-translate-module-loader | ||
Highly configurable and flexible translations loader for [@ngx-translate/core](https://github.com/ngx-translate/core). Fetch multiple translations (http only) | ||
Highly configurable and flexible translations loader for [@ngx-translate/core](https://github.com/ngx-translate/core). | ||
Each translation file has it's own **namespace** out of the box so the key/value pairs do not conflict with each other. Namespacing can be disabled or you can provide your own value. | ||
Fetch multiple translations (http only) and configure them to your needs. | ||
Each translation file has it's own **namespace** out of the box so the key/value pairs do not conflict with each other. You can disable namespaces or provide your own value as well. | ||
## Demo | ||
@@ -118,6 +120,6 @@ | ||
If you don't need upper case keys, set `nameSpaceUppercase` to false in the options because it's upper case by default. | ||
If you don't want to enable namespaces at all, set `enableNamespacing` to false. | ||
If you don't want uppercase keys, set `lowercaseNamespace` to true in the options because it's uppercase by default. | ||
If you don't want namespaces at all, set `disableNamespace` to true. | ||
You can override the default name space by setting the `nameSpace` property in the options. | ||
You can override the default name space by setting the `namespace` property in the options. | ||
@@ -133,11 +135,11 @@ ## Configuration | ||
/** | ||
* Each module gets its own namespace so it doesn't conflict with other modules | ||
* By default, each module gets its own namespace so it doesn't conflict with other modules | ||
*/ | ||
enableNamespacing?: boolean; | ||
disableNamespace?: boolean; | ||
/** | ||
* Create namespaces in Uppercase if namespacing is enabled | ||
* By default, namespaces are uppercase | ||
*/ | ||
nameSpaceUppercase?: boolean; | ||
lowercaseNamespace?: boolean; | ||
/** | ||
* Perform a deepmerge when merging translation files | ||
* By default, it'll perform a deepmerge when merging translation files | ||
*/ | ||
@@ -190,3 +192,3 @@ deepMerge?: boolean; | ||
/** | ||
* By default, it uses the moduleName as nameSpace | ||
* By default, it uses the moduleName as namespace | ||
* @see moduleName | ||
@@ -196,3 +198,3 @@ * | ||
*/ | ||
nameSpace?: string; | ||
namespace?: string; | ||
/** | ||
@@ -199,0 +201,0 @@ * Custom translation map function after retrieving a translation file |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
220
0
67653