@jsverse/transloco 7.6.1 → 8.0.1
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/CHANGELOG.md +48 -3
- package/README.md +2 -0
- package/esm2022/index.mjs +4 -5
- package/esm2022/lib/get-fallbacks-loaders.mjs +1 -1
- package/esm2022/lib/lang-resolver.mjs +3 -2
- package/esm2022/lib/resolve-loader.mjs +2 -2
- package/esm2022/lib/scope-resolver.mjs +3 -2
- package/esm2022/lib/template-handler.mjs +2 -2
- package/esm2022/lib/transloco-missing-handler.mjs +1 -1
- package/esm2022/lib/transloco-scope.mjs +1 -1
- package/esm2022/lib/transloco-testing.module.mjs +1 -1
- package/esm2022/lib/transloco.config.mjs +1 -1
- package/esm2022/lib/transloco.directive.mjs +4 -3
- package/esm2022/lib/transloco.interceptor.mjs +1 -1
- package/esm2022/lib/transloco.loader.mjs +1 -1
- package/esm2022/lib/transloco.pipe.mjs +4 -3
- package/esm2022/lib/transloco.providers.mjs +1 -1
- package/esm2022/lib/transloco.service.mjs +4 -3
- package/esm2022/lib/transloco.signal.mjs +1 -1
- package/esm2022/lib/transloco.transpiler.mjs +3 -2
- package/esm2022/lib/transloco.types.mjs +2 -0
- package/esm2022/lib/utils/browser.utils.mjs +30 -0
- package/esm2022/lib/utils/flat.utils.mjs +37 -0
- package/esm2022/lib/utils/lang.utils.mjs +15 -0
- package/esm2022/lib/utils/object.utils.mjs +28 -0
- package/esm2022/lib/utils/pipe.utils.mjs +17 -0
- package/esm2022/lib/utils/scope.utils.mjs +51 -0
- package/esm2022/lib/utils/type.utils.mjs +2 -0
- package/fesm2022/jsverse-transloco.mjs +156 -209
- package/fesm2022/jsverse-transloco.mjs.map +1 -1
- package/index.d.ts +3 -4
- package/lib/get-fallbacks-loaders.d.ts +1 -1
- package/lib/resolve-loader.d.ts +2 -2
- package/lib/scope-resolver.d.ts +2 -1
- package/lib/transloco-missing-handler.d.ts +1 -1
- package/lib/transloco-scope.d.ts +1 -1
- package/lib/transloco-testing.module.d.ts +2 -1
- package/lib/transloco.config.d.ts +1 -1
- package/lib/transloco.directive.d.ts +2 -2
- package/lib/transloco.interceptor.d.ts +1 -1
- package/lib/transloco.loader.d.ts +1 -1
- package/lib/transloco.pipe.d.ts +3 -1
- package/lib/transloco.providers.d.ts +1 -1
- package/lib/transloco.service.d.ts +2 -1
- package/lib/transloco.signal.d.ts +2 -1
- package/lib/transloco.transpiler.d.ts +2 -1
- package/lib/{types.d.ts → transloco.types.d.ts} +1 -2
- package/lib/{browser-lang.d.ts → utils/browser.utils.d.ts} +1 -0
- package/lib/utils/flat.utils.d.ts +3 -0
- package/lib/utils/lang.utils.d.ts +4 -0
- package/lib/utils/object.utils.d.ts +2 -0
- package/lib/utils/pipe.utils.d.ts +8 -0
- package/lib/utils/scope.utils.d.ts +7 -0
- package/lib/utils/type.utils.d.ts +1 -0
- package/package.json +14 -17
- package/schematics/collection.json +12 -0
- package/schematics/ng-add/generators/http-loader.gen.d.ts +5 -0
- package/schematics/{src/ng-add → ng-add}/generators/http-loader.gen.js +1 -0
- package/schematics/ng-add/generators/http-loader.gen.js.map +1 -0
- package/schematics/{src/ng-add → ng-add}/generators/root-module.gen.js +3 -3
- package/schematics/ng-add/generators/root-module.gen.js.map +1 -0
- package/schematics/{src/ng-migrate → ng-add}/index.d.ts +1 -1
- package/schematics/{src/ng-add → ng-add}/index.js +29 -19
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/ng-add/ng-add.spec.d.ts +1 -0
- package/schematics/ng-add/ng-add.spec.js +45 -0
- package/schematics/ng-add/ng-add.spec.js.map +1 -0
- package/schematics/{src/ng-add → ng-add}/schema.d.ts +0 -8
- package/schematics/ng-add/schema.js +9 -0
- package/schematics/ng-add/schema.js.map +1 -0
- package/schematics/{src/ng-add → ng-add}/schema.json +1 -1
- package/schematics-core/index.d.ts +9 -0
- package/schematics-core/index.js +36 -0
- package/schematics-core/index.js.map +1 -0
- package/schematics-core/testing/create-workspace.d.ts +11 -0
- package/schematics-core/testing/create-workspace.js +34 -0
- package/schematics-core/testing/create-workspace.js.map +1 -0
- package/schematics-core/testing/index.d.ts +2 -0
- package/schematics-core/testing/index.js +19 -0
- package/schematics-core/testing/index.js.map +1 -0
- package/schematics-core/testing/mocks.d.ts +14 -0
- package/schematics-core/testing/mocks.js +10 -0
- package/schematics-core/testing/mocks.js.map +1 -0
- package/{schematics/src/utils/array.js → schematics-core/utils/collections.js} +1 -1
- package/schematics-core/utils/collections.js.map +1 -0
- package/schematics-core/utils/file.d.ts +6 -0
- package/schematics-core/utils/file.js +21 -0
- package/schematics-core/utils/file.js.map +1 -0
- package/{schematics/src → schematics-core}/utils/find-module.js +2 -0
- package/schematics-core/utils/find-module.js.map +1 -0
- package/{schematics/src → schematics-core}/utils/package.d.ts +0 -3
- package/{schematics/src → schematics-core}/utils/package.js +2 -4
- package/schematics-core/utils/package.js.map +1 -0
- package/schematics-core/utils/schematic.d.ts +6 -0
- package/{schematics/src/schematics.utils.js → schematics-core/utils/schematic.js} +6 -6
- package/schematics-core/utils/schematic.js.map +1 -0
- package/schematics-core/utils/translation.d.ts +20 -0
- package/schematics-core/utils/translation.js +83 -0
- package/schematics-core/utils/translation.js.map +1 -0
- package/schematics-core/utils/transloco.d.ts +5 -0
- package/schematics-core/utils/transloco.js +31 -0
- package/schematics-core/utils/transloco.js.map +1 -0
- package/schematics-core/utils/workspace.d.ts +6 -0
- package/{schematics/src/utils/projects.js → schematics-core/utils/workspace.js} +1 -13
- package/schematics-core/utils/workspace.js.map +1 -0
- package/esm2022/lib/browser-lang.mjs +0 -28
- package/esm2022/lib/helpers.mjs +0 -129
- package/esm2022/lib/shared.mjs +0 -73
- package/esm2022/lib/types.mjs +0 -2
- package/lib/helpers.d.ts +0 -20
- package/lib/shared.d.ts +0 -17
- package/schematics/src/assets/i18n/en.json +0 -1
- package/schematics/src/collection.json +0 -59
- package/schematics/src/component/index.d.ts +0 -2
- package/schematics/src/component/index.js +0 -21
- package/schematics/src/component/index.js.map +0 -1
- package/schematics/src/join/index.d.ts +0 -3
- package/schematics/src/join/index.js +0 -79
- package/schematics/src/join/index.js.map +0 -1
- package/schematics/src/join/schema.d.ts +0 -28
- package/schematics/src/join/schema.js +0 -3
- package/schematics/src/join/schema.js.map +0 -1
- package/schematics/src/join/schema.json +0 -43
- package/schematics/src/keys-manager/index.d.ts +0 -5
- package/schematics/src/keys-manager/index.js +0 -96
- package/schematics/src/keys-manager/index.js.map +0 -1
- package/schematics/src/keys-manager/schema.d.ts +0 -19
- package/schematics/src/keys-manager/schema.js +0 -3
- package/schematics/src/keys-manager/schema.js.map +0 -1
- package/schematics/src/keys-manager/schema.json +0 -33
- package/schematics/src/migrate/index.d.ts +0 -3
- package/schematics/src/migrate/index.js +0 -21
- package/schematics/src/migrate/index.js.map +0 -1
- package/schematics/src/migrate/ngx-translate-migration.d.ts +0 -3
- package/schematics/src/migrate/ngx-translate-migration.js +0 -175
- package/schematics/src/migrate/ngx-translate-migration.js.map +0 -1
- package/schematics/src/migrate/schema.d.ts +0 -10
- package/schematics/src/migrate/schema.js +0 -3
- package/schematics/src/migrate/schema.js.map +0 -1
- package/schematics/src/migrate/schema.json +0 -23
- package/schematics/src/ng-add/generators/http-loader.gen.d.ts +0 -4
- package/schematics/src/ng-add/generators/http-loader.gen.js.map +0 -1
- package/schematics/src/ng-add/generators/root-module.gen.js.map +0 -1
- package/schematics/src/ng-add/generators/translation-files.gen.d.ts +0 -4
- package/schematics/src/ng-add/generators/translation-files.gen.js +0 -22
- package/schematics/src/ng-add/generators/translation-files.gen.js.map +0 -1
- package/schematics/src/ng-add/index.d.ts +0 -3
- package/schematics/src/ng-add/index.js.map +0 -1
- package/schematics/src/ng-add/schema.js +0 -14
- package/schematics/src/ng-add/schema.js.map +0 -1
- package/schematics/src/ng-migrate/index.js +0 -14
- package/schematics/src/ng-migrate/index.js.map +0 -1
- package/schematics/src/ng-migrate/ng-migrate.d.ts +0 -5
- package/schematics/src/ng-migrate/ng-migrate.js +0 -105
- package/schematics/src/ng-migrate/ng-migrate.js.map +0 -1
- package/schematics/src/ng-migrate/schema.d.ts +0 -14
- package/schematics/src/ng-migrate/schema.js +0 -3
- package/schematics/src/ng-migrate/schema.js.map +0 -1
- package/schematics/src/ng-migrate/schema.json +0 -27
- package/schematics/src/schematics.utils.d.ts +0 -6
- package/schematics/src/schematics.utils.js.map +0 -1
- package/schematics/src/scope/index.d.ts +0 -3
- package/schematics/src/scope/index.js +0 -101
- package/schematics/src/scope/index.js.map +0 -1
- package/schematics/src/scope/schema.d.ts +0 -28
- package/schematics/src/scope/schema.js +0 -3
- package/schematics/src/scope/schema.js.map +0 -1
- package/schematics/src/scope/schema.json +0 -84
- package/schematics/src/split/index.d.ts +0 -3
- package/schematics/src/split/index.js +0 -66
- package/schematics/src/split/index.js.map +0 -1
- package/schematics/src/split/schema.d.ts +0 -20
- package/schematics/src/split/schema.js +0 -3
- package/schematics/src/split/schema.js.map +0 -1
- package/schematics/src/split/schema.json +0 -35
- package/schematics/src/types.d.ts +0 -5
- package/schematics/src/types.js +0 -10
- package/schematics/src/types.js.map +0 -1
- package/schematics/src/upgrade/index.d.ts +0 -3
- package/schematics/src/upgrade/index.js +0 -19
- package/schematics/src/upgrade/index.js.map +0 -1
- package/schematics/src/upgrade/schema.d.ts +0 -6
- package/schematics/src/upgrade/schema.js +0 -3
- package/schematics/src/upgrade/schema.js.map +0 -1
- package/schematics/src/upgrade/schema.json +0 -16
- package/schematics/src/upgrade/v2.d.ts +0 -1
- package/schematics/src/upgrade/v2.js +0 -88
- package/schematics/src/upgrade/v2.js.map +0 -1
- package/schematics/src/utils/array.js.map +0 -1
- package/schematics/src/utils/config.d.ts +0 -2
- package/schematics/src/utils/config.js +0 -12
- package/schematics/src/utils/config.js.map +0 -1
- package/schematics/src/utils/find-module.js.map +0 -1
- package/schematics/src/utils/package.js.map +0 -1
- package/schematics/src/utils/projects.d.ts +0 -8
- package/schematics/src/utils/projects.js.map +0 -1
- package/schematics/src/utils/translations.d.ts +0 -7
- package/schematics/src/utils/translations.js +0 -30
- package/schematics/src/utils/translations.js.map +0 -1
- package/schematics/src/utils/transloco.d.ts +0 -24
- package/schematics/src/utils/transloco.js +0 -88
- package/schematics/src/utils/transloco.js.map +0 -1
- /package/schematics/{src/ng-add → ng-add}/files/transloco-loader/transloco-loader.__ts__ +0 -0
- /package/schematics/{src/ng-add → ng-add}/files/transloco-module/transloco-root.module.__ts__ +0 -0
- /package/schematics/{src/ng-add → ng-add}/generators/root-module.gen.d.ts +0 -0
- /package/{schematics/src/utils/array.d.ts → schematics-core/utils/collections.d.ts} +0 -0
- /package/{schematics/src → schematics-core}/utils/find-module.d.ts +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SchematicTestRunner } from '@angular-devkit/schematics/testing';
|
|
2
|
+
import type { Schema as WorkspaceSchema } from '@schematics/angular/workspace/schema';
|
|
3
|
+
import { Schema as ApplicationSchema } from '@schematics/angular/application/schema';
|
|
4
|
+
import type { Schema as LibrarySchema } from '@schematics/angular/library/schema';
|
|
5
|
+
export declare const defaultWorkspaceOptions: WorkspaceSchema;
|
|
6
|
+
export declare const defaultAppOptions: ApplicationSchema;
|
|
7
|
+
export declare function createWorkspace(schematicRunner: SchematicTestRunner, options?: {
|
|
8
|
+
workspaceOptions?: Partial<WorkspaceSchema>;
|
|
9
|
+
appOptions?: Partial<ApplicationSchema>;
|
|
10
|
+
libOptions?: Partial<LibrarySchema>;
|
|
11
|
+
}): Promise<import("@angular-devkit/schematics/testing").UnitTestTree>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultAppOptions = exports.defaultWorkspaceOptions = void 0;
|
|
4
|
+
exports.createWorkspace = createWorkspace;
|
|
5
|
+
const schema_1 = require("@schematics/angular/application/schema");
|
|
6
|
+
exports.defaultWorkspaceOptions = {
|
|
7
|
+
name: 'workspace',
|
|
8
|
+
newProjectRoot: 'projects',
|
|
9
|
+
version: '16.0.4',
|
|
10
|
+
minimal: true,
|
|
11
|
+
};
|
|
12
|
+
exports.defaultAppOptions = {
|
|
13
|
+
name: 'bar',
|
|
14
|
+
inlineStyle: false,
|
|
15
|
+
inlineTemplate: false,
|
|
16
|
+
viewEncapsulation: schema_1.ViewEncapsulation.Emulated,
|
|
17
|
+
routing: false,
|
|
18
|
+
style: schema_1.Style.Css,
|
|
19
|
+
skipTests: false,
|
|
20
|
+
};
|
|
21
|
+
const defaultLibOptions = {
|
|
22
|
+
name: 'baz',
|
|
23
|
+
};
|
|
24
|
+
function createWorkspace(schematicRunner, options = {}) {
|
|
25
|
+
const appOptions = Object.assign(Object.assign({}, exports.defaultAppOptions), options.appOptions);
|
|
26
|
+
const workspaceOptions = Object.assign(Object.assign({}, exports.defaultWorkspaceOptions), options.workspaceOptions);
|
|
27
|
+
const libOptions = Object.assign(Object.assign({}, defaultLibOptions), options.libOptions);
|
|
28
|
+
const angularSchematic = '@schematics/angular';
|
|
29
|
+
return schematicRunner
|
|
30
|
+
.runExternalSchematic(angularSchematic, 'workspace', workspaceOptions)
|
|
31
|
+
.then((tree) => schematicRunner.runExternalSchematic(angularSchematic, 'application', appOptions, tree))
|
|
32
|
+
.then((tree) => schematicRunner.runExternalSchematic(angularSchematic, 'library', libOptions, tree));
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=create-workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-workspace.js","sourceRoot":"","sources":["../../../../../libs/transloco/schematics-core/testing/create-workspace.ts"],"names":[],"mappings":";;;AA8BA,0CAkCC;AA9DD,mEAIgD;AAGnC,QAAA,uBAAuB,GAAoB;IACtD,IAAI,EAAE,WAAW;IACjB,cAAc,EAAE,UAAU;IAC1B,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,IAAI;CACd,CAAC;AAEW,QAAA,iBAAiB,GAAsB;IAClD,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,KAAK;IAClB,cAAc,EAAE,KAAK;IACrB,iBAAiB,EAAE,0BAAiB,CAAC,QAAQ;IAC7C,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,cAAK,CAAC,GAAG;IAChB,SAAS,EAAE,KAAK;CACjB,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF,SAAgB,eAAe,CAC7B,eAAoC,EACpC,UAII,EAAE;IAEN,MAAM,UAAU,mCAAQ,yBAAiB,GAAK,OAAO,CAAC,UAAU,CAAE,CAAC;IACnE,MAAM,gBAAgB,mCACjB,+BAAuB,GACvB,OAAO,CAAC,gBAAgB,CAC5B,CAAC;IACF,MAAM,UAAU,mCAAQ,iBAAiB,GAAK,OAAO,CAAC,UAAU,CAAE,CAAC;IACnE,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;IAE/C,OAAO,eAAe;SACnB,oBAAoB,CAAC,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,CAAC;SACrE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,eAAe,CAAC,oBAAoB,CAClC,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,IAAI,CACL,CACF;SACA,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,eAAe,CAAC,oBAAoB,CAClC,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,IAAI,CACL,CACF,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./create-workspace"), exports);
|
|
18
|
+
__exportStar(require("./mocks"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/transloco/schematics-core/testing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,0CAAwB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.translationMocks = void 0;
|
|
4
|
+
exports.translationMocks = {
|
|
5
|
+
en: { hello: 'hello' },
|
|
6
|
+
es: { hello: 'hola' },
|
|
7
|
+
scopeEn: { hello: 'hello scope' },
|
|
8
|
+
scopeEs: { hello: 'hola scope' },
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=mocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mocks.js","sourceRoot":"","sources":["../../../../../libs/transloco/schematics-core/testing/mocks.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC9B,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;IACtB,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;IACrB,OAAO,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;IACjC,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;CACjC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../../../libs/transloco/schematics-core/utils/collections.ts"],"names":[],"mappings":";;AAAA,sCAEC;AAID,kCAEC;AARD,SAAgB,aAAa,CAAI,IAAS,EAAE,SAAS,GAAG,IAAI;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACzD,CAAC;AAID,SAAgB,WAAW,CAAI,KAAc;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PathFragment } from '@angular-devkit/core';
|
|
2
|
+
import { DirEntry, Tree } from '@angular-devkit/schematics';
|
|
3
|
+
export declare function getJsonFileContent(fileName: PathFragment, dir: DirEntry): any;
|
|
4
|
+
export declare function writeToJson(host: Tree, dirPath: string, fileName: PathFragment, content: unknown): void;
|
|
5
|
+
export declare function hasSubdirs(dir: DirEntry): boolean;
|
|
6
|
+
export declare function hasFiles(dir: DirEntry): boolean;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getJsonFileContent = getJsonFileContent;
|
|
4
|
+
exports.writeToJson = writeToJson;
|
|
5
|
+
exports.hasSubdirs = hasSubdirs;
|
|
6
|
+
exports.hasFiles = hasFiles;
|
|
7
|
+
const nodePath = require("node:path");
|
|
8
|
+
function getJsonFileContent(fileName, dir) {
|
|
9
|
+
const content = dir.file(fileName).content.toString('utf-8');
|
|
10
|
+
return JSON.parse(content);
|
|
11
|
+
}
|
|
12
|
+
function writeToJson(host, dirPath, fileName, content) {
|
|
13
|
+
return host.overwrite(nodePath.join(dirPath, fileName), JSON.stringify(content, null, 2));
|
|
14
|
+
}
|
|
15
|
+
function hasSubdirs(dir) {
|
|
16
|
+
return dir.subdirs && dir.subdirs.length > 0;
|
|
17
|
+
}
|
|
18
|
+
function hasFiles(dir) {
|
|
19
|
+
return dir.subfiles && dir.subfiles.length > 0;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../../libs/transloco/schematics-core/utils/file.ts"],"names":[],"mappings":";;AAKA,gDAIC;AAED,kCAUC;AAED,gCAEC;AAED,4BAEC;AA7BD,sCAAsC;AAKtC,SAAgB,kBAAkB,CAAC,QAAsB,EAAE,GAAa;IACtE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE9D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,WAAW,CACzB,IAAU,EACV,OAAe,EACf,QAAsB,EACtB,OAAgB;IAEhB,OAAO,IAAI,CAAC,SAAS,CACnB,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAChC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CACjC,CAAC;AACJ,CAAC;AAED,SAAgB,UAAU,CAAC,GAAa;IACtC,OAAO,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,QAAQ,CAAC,GAAa;IACpC,OAAO,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -4,6 +4,8 @@ exports.ROUTING_MODULE_EXT = exports.MODULE_EXT = void 0;
|
|
|
4
4
|
exports.findRootModule = findRootModule;
|
|
5
5
|
exports.findModuleFromOptions = findModuleFromOptions;
|
|
6
6
|
exports.findModule = findModule;
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
// @ts-nocheck
|
|
7
9
|
/**
|
|
8
10
|
* @license
|
|
9
11
|
* Copyright Google Inc. All Rights Reserved.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-module.js","sourceRoot":"","sources":["../../../../../libs/transloco/schematics-core/utils/find-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addScriptToPackageJson = addScriptToPackageJson;
|
|
4
|
-
/**
|
|
5
|
-
* Adds a script to the package.json
|
|
6
|
-
*/
|
|
7
4
|
function addScriptToPackageJson(host, scriptName, script) {
|
|
5
|
+
var _a;
|
|
8
6
|
const packageFile = host.read('package.json');
|
|
9
7
|
if (packageFile !== null) {
|
|
10
8
|
const sourceText = packageFile.toString('utf-8');
|
|
11
9
|
const json = JSON.parse(sourceText);
|
|
12
|
-
json['scripts']
|
|
10
|
+
(_a = json['scripts']) !== null && _a !== void 0 ? _a : (json['scripts'] = {});
|
|
13
11
|
json['scripts'][scriptName] = script;
|
|
14
12
|
host.overwrite('package.json', JSON.stringify(json, null, 2));
|
|
15
13
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../../../../libs/transloco/schematics-core/utils/package.ts"],"names":[],"mappings":";;AAEA,wDAgBC;AAhBD,SAAgB,sBAAsB,CACpC,IAAU,EACV,UAAkB,EAClB,MAAc;;IAEd,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACpC,MAAA,IAAI,CAAC,SAAS,qCAAd,IAAI,CAAC,SAAS,IAAM,EAAE,EAAC;QACvB,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;QAErC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.NAMES = void 0;
|
|
4
4
|
exports.generateConfigFile = generateConfigFile;
|
|
5
5
|
const node_util_1 = require("node:util");
|
|
6
|
-
exports.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
exports.NAMES = {
|
|
7
|
+
LIB_NAME: '@jsverse/transloco',
|
|
8
|
+
CONFIG_FILE: 'transloco.config.ts',
|
|
9
|
+
};
|
|
10
10
|
function generateConfigFile(config) {
|
|
11
11
|
return `import {TranslocoGlobalConfig} from '@jsverse/transloco-utils';
|
|
12
12
|
|
|
@@ -14,4 +14,4 @@ const config: TranslocoGlobalConfig = ${(0, node_util_1.inspect)(config)};
|
|
|
14
14
|
|
|
15
15
|
export default config;`;
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=
|
|
17
|
+
//# sourceMappingURL=schematic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schematic.js","sourceRoot":"","sources":["../../../../../libs/transloco/schematics-core/utils/schematic.ts"],"names":[],"mappings":";;;AASA,gDAMC;AAfD,yCAAoC;AAIvB,QAAA,KAAK,GAAG;IACnB,QAAQ,EAAE,oBAAoB;IAC9B,WAAW,EAAE,qBAAqB;CACnC,CAAC;AAEF,SAAgB,kBAAkB,CAAC,MAA6B;IAC9D,OAAO;;wCAE+B,IAAA,mBAAO,EAAC,MAAM,CAAC;;uBAEhC,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Tree } from '@angular-devkit/schematics';
|
|
2
|
+
export declare function createTranslateFiles(langs: string[], path: string): import("@angular-devkit/schematics").Source;
|
|
3
|
+
export declare function checkIfTranslationFilesExist(path: string, langs: string[], extension: string, skipThrow?: boolean): boolean;
|
|
4
|
+
export declare function createTranslateFilesFromOptions(_: Tree, options: {
|
|
5
|
+
langs: string[];
|
|
6
|
+
translationFilePath: string;
|
|
7
|
+
}): import("@angular-devkit/schematics").Source;
|
|
8
|
+
export declare function getTranslationKey(prefix: string | undefined, key: string): string;
|
|
9
|
+
export declare function getTranslationsRoot(host: Tree, options: {
|
|
10
|
+
project?: string;
|
|
11
|
+
translationPath?: string;
|
|
12
|
+
}): string;
|
|
13
|
+
export declare function getTranslationFiles(host: Tree, root: string): {
|
|
14
|
+
lang: string;
|
|
15
|
+
translation: Record<string, unknown>;
|
|
16
|
+
}[];
|
|
17
|
+
export declare function getTranslationEntryPaths(host: Tree, rootDirPath: string): {
|
|
18
|
+
scope: string;
|
|
19
|
+
path: string;
|
|
20
|
+
}[];
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTranslateFiles = createTranslateFiles;
|
|
4
|
+
exports.checkIfTranslationFilesExist = checkIfTranslationFilesExist;
|
|
5
|
+
exports.createTranslateFilesFromOptions = createTranslateFilesFromOptions;
|
|
6
|
+
exports.getTranslationKey = getTranslationKey;
|
|
7
|
+
exports.getTranslationsRoot = getTranslationsRoot;
|
|
8
|
+
exports.getTranslationFiles = getTranslationFiles;
|
|
9
|
+
exports.getTranslationEntryPaths = getTranslationEntryPaths;
|
|
10
|
+
const nodePath = require("node:path");
|
|
11
|
+
const fs = require("node:fs");
|
|
12
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
13
|
+
const workspace_1 = require("./workspace");
|
|
14
|
+
const file_1 = require("./file");
|
|
15
|
+
const transloco_1 = require("./transloco");
|
|
16
|
+
function jsonTranslationFileCreator(source, lang) {
|
|
17
|
+
source.create(`${lang}.json`, `{}
|
|
18
|
+
`);
|
|
19
|
+
}
|
|
20
|
+
function createTranslateFiles(langs, path) {
|
|
21
|
+
const treeSource = new schematics_1.EmptyTree();
|
|
22
|
+
for (const lang of langs) {
|
|
23
|
+
jsonTranslationFileCreator(treeSource, lang);
|
|
24
|
+
}
|
|
25
|
+
return (0, schematics_1.apply)((0, schematics_1.source)(treeSource), [(0, schematics_1.move)('/', path)]);
|
|
26
|
+
}
|
|
27
|
+
function checkIfTranslationFilesExist(path, langs, extension, skipThrow) {
|
|
28
|
+
for (const lang of langs) {
|
|
29
|
+
const filePath = nodePath.resolve(`${path}/${lang}${extension}`);
|
|
30
|
+
if (fs.existsSync(filePath)) {
|
|
31
|
+
if (skipThrow) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
throw new schematics_1.SchematicsException(`Translation file ${filePath} is already exist, please use --skip-creation`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
function createTranslateFilesFromOptions(_, options) {
|
|
40
|
+
const extension = '.json';
|
|
41
|
+
checkIfTranslationFilesExist(options.translationFilePath, options.langs, extension);
|
|
42
|
+
return createTranslateFiles(options.langs, options.translationFilePath);
|
|
43
|
+
}
|
|
44
|
+
function getTranslationKey(prefix = '', key) {
|
|
45
|
+
return prefix ? `${prefix}.${key}` : key;
|
|
46
|
+
}
|
|
47
|
+
function getTranslationsRoot(host, options) {
|
|
48
|
+
const translocoConfig = (0, transloco_1.getGlobalConfig)();
|
|
49
|
+
if (options.translationPath) {
|
|
50
|
+
return options.translationPath;
|
|
51
|
+
}
|
|
52
|
+
else if (translocoConfig && translocoConfig.rootTranslationsPath) {
|
|
53
|
+
return translocoConfig.rootTranslationsPath;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
const project = (0, workspace_1.getProject)(host, options.project || '');
|
|
57
|
+
const rootPath = (project && project.sourceRoot) || 'src';
|
|
58
|
+
return nodePath.join(rootPath, 'assets', 'i18n');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function getTranslationFiles(host, root) {
|
|
62
|
+
const rootDir = host.getDir(root);
|
|
63
|
+
return rootDir.subfiles.map((fileName) => ({
|
|
64
|
+
lang: fileName.split('.')[0],
|
|
65
|
+
translation: (0, file_1.getJsonFileContent)(fileName, rootDir),
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
function getTranslationEntryPaths(host, rootDirPath) {
|
|
69
|
+
const translocoConfig = (0, transloco_1.getGlobalConfig)();
|
|
70
|
+
if (translocoConfig.scopePathMap &&
|
|
71
|
+
Object.keys(translocoConfig.scopePathMap).length) {
|
|
72
|
+
return Object.entries(translocoConfig.scopePathMap).map(([scope, path]) => ({
|
|
73
|
+
scope,
|
|
74
|
+
path: path,
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
const rootDir = host.getDir(rootDirPath);
|
|
78
|
+
return rootDir.subdirs.map((subDir) => ({
|
|
79
|
+
scope: subDir,
|
|
80
|
+
path: nodePath.join(rootDirPath, subDir),
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=translation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translation.js","sourceRoot":"","sources":["../../../../../libs/transloco/schematics-core/utils/translation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Tree } from '@angular-devkit/schematics';
|
|
2
|
+
import { TranslocoGlobalConfig } from '@jsverse/transloco-utils';
|
|
3
|
+
export declare function getGlobalConfig(): TranslocoGlobalConfig;
|
|
4
|
+
export declare function createGlobalConfig(host: Tree, langs: string[], rootTranslationsPath?: string): void;
|
|
5
|
+
export declare function updateGlobalConfig(host: Tree, config: TranslocoGlobalConfig): void;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getGlobalConfig = getGlobalConfig;
|
|
4
|
+
exports.createGlobalConfig = createGlobalConfig;
|
|
5
|
+
exports.updateGlobalConfig = updateGlobalConfig;
|
|
6
|
+
const transloco_utils_1 = require("@jsverse/transloco-utils");
|
|
7
|
+
const schematic_1 = require("./schematic");
|
|
8
|
+
let config;
|
|
9
|
+
function getGlobalConfig() {
|
|
10
|
+
if (config)
|
|
11
|
+
return config;
|
|
12
|
+
config = (0, transloco_utils_1.getGlobalConfig)();
|
|
13
|
+
return config;
|
|
14
|
+
}
|
|
15
|
+
function createGlobalConfig(host, langs, rootTranslationsPath = 'assets/i18n/') {
|
|
16
|
+
if (!host.get(schematic_1.NAMES.CONFIG_FILE)) {
|
|
17
|
+
host.create(schematic_1.NAMES.CONFIG_FILE, (0, schematic_1.generateConfigFile)({
|
|
18
|
+
rootTranslationsPath: rootTranslationsPath,
|
|
19
|
+
langs,
|
|
20
|
+
keysManager: {},
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function updateGlobalConfig(host, config) {
|
|
25
|
+
const originalConfig = getGlobalConfig();
|
|
26
|
+
if (!originalConfig || Object.keys(originalConfig).length === 0) {
|
|
27
|
+
return createGlobalConfig(host, config.langs || [], config.rootTranslationsPath);
|
|
28
|
+
}
|
|
29
|
+
host.overwrite(schematic_1.NAMES.CONFIG_FILE, (0, schematic_1.generateConfigFile)(Object.assign(Object.assign({}, config), originalConfig)));
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=transloco.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transloco.js","sourceRoot":"","sources":["../../../../../libs/transloco/schematics-core/utils/transloco.ts"],"names":[],"mappings":";;AAUA,0CAKC;AAED,gDAeC;AAED,gDAaC;AA9CD,8DAGkC;AAElC,2CAAwD;AAExD,IAAI,MAA6B,CAAC;AAElC,SAAgB,eAAe;IAC7B,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,GAAG,IAAA,iCAAgB,GAAE,CAAC;IAE5B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,kBAAkB,CAChC,IAAU,EACV,KAAe,EACf,oBAAoB,GAAG,cAAc;IAErC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CACT,iBAAK,CAAC,WAAW,EACjB,IAAA,8BAAkB,EAAC;YACjB,oBAAoB,EAAE,oBAAoB;YAC1C,KAAK;YACL,WAAW,EAAE,EAAE;SAChB,CAAC,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAU,EAAE,MAA6B;IAC1E,MAAM,cAAc,GAAG,eAAe,EAAE,CAAC;IACzC,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,kBAAkB,CACvB,IAAI,EACJ,MAAM,CAAC,KAAK,IAAI,EAAE,EAClB,MAAM,CAAC,oBAAoB,CAC5B,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,SAAS,CACZ,iBAAK,CAAC,WAAW,EACjB,IAAA,8BAAkB,kCAAM,MAAM,GAAK,cAAc,EAAG,CACrD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { WorkspaceSchema } from '@schematics/angular/utility/workspace-models';
|
|
2
|
+
import { Tree } from '@angular-devkit/schematics';
|
|
3
|
+
export declare function getWorkspace(host: Tree): WorkspaceSchema;
|
|
4
|
+
export declare function setWorkspace(host: Tree, workspace: WorkspaceSchema): void;
|
|
5
|
+
export declare function getProject(host: Tree, project: string): import("@schematics/angular/utility/workspace-models").WorkspaceProject<import("@schematics/angular/utility/workspace-models").ProjectType>;
|
|
6
|
+
export declare function setEnvironments(host: Tree, sourceRoot: string, transformer: (env: string) => string): void;
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getWorkspacePath = getWorkspacePath;
|
|
4
3
|
exports.getWorkspace = getWorkspace;
|
|
5
4
|
exports.setWorkspace = setWorkspace;
|
|
6
5
|
exports.getProject = getProject;
|
|
7
6
|
exports.setEnvironments = setEnvironments;
|
|
8
|
-
exports.getProjectPath = getProjectPath;
|
|
9
7
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
10
8
|
function getWorkspacePath(host) {
|
|
11
9
|
const possibleFiles = ['/angular.json', '/.angular.json'];
|
|
@@ -42,14 +40,4 @@ function setEnvironments(host, sourceRoot, transformer) {
|
|
|
42
40
|
host.overwrite(filePath, transformer(source));
|
|
43
41
|
});
|
|
44
42
|
}
|
|
45
|
-
|
|
46
|
-
if (project.root.substr(-1) === '/') {
|
|
47
|
-
project.root = project.root.substr(0, project.root.length - 1);
|
|
48
|
-
}
|
|
49
|
-
if (options.path === undefined) {
|
|
50
|
-
const projectDirName = project.projectType === 'application' ? 'app' : 'lib';
|
|
51
|
-
return `${project.root ? `/${project.root}` : ''}/src/${projectDirName}`;
|
|
52
|
-
}
|
|
53
|
-
return options.path;
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=projects.js.map
|
|
43
|
+
//# sourceMappingURL=workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../../libs/transloco/schematics-core/utils/workspace.ts"],"names":[],"mappings":";;AAUA,oCASC;AAED,oCAIC;AAED,gCAOC;AAED,0CAcC;AAjDD,2DAAuE;AAEvE,SAAS,gBAAgB,CAAC,IAAU;IAClC,MAAM,aAAa,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;IAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,YAAY,CAAC,IAAU;IACrC,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,gCAAmB,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IAEvC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,YAAY,CAAC,IAAU,EAAE,SAA0B;IACjE,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEpC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAgB,UAAU,CAAC,IAAU,EAAE,OAAe;IACpD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,IAAI,gCAAmB,CAAC,oCAAoC,CAAC,CAAC;AACtE,CAAC;AAED,SAAgB,eAAe,CAC7B,IAAU,EACV,UAAkB,EAClB,WAAoC;IAEpC,MAAM,IAAI,GAAG,UAAU,GAAG,eAAe,CAAC;IAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5C,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,YAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { isBrowser } from './helpers';
|
|
2
|
-
/**
|
|
3
|
-
* Returns the language code name from the browser, e.g. "en"
|
|
4
|
-
*/
|
|
5
|
-
export function getBrowserLang() {
|
|
6
|
-
let browserLang = getBrowserCultureLang();
|
|
7
|
-
if (!browserLang || !isBrowser()) {
|
|
8
|
-
return undefined;
|
|
9
|
-
}
|
|
10
|
-
if (browserLang.indexOf('-') !== -1) {
|
|
11
|
-
browserLang = browserLang.split('-')[0];
|
|
12
|
-
}
|
|
13
|
-
if (browserLang.indexOf('_') !== -1) {
|
|
14
|
-
browserLang = browserLang.split('_')[0];
|
|
15
|
-
}
|
|
16
|
-
return browserLang;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Returns the culture language code name from the browser, e.g. "en-US"
|
|
20
|
-
*/
|
|
21
|
-
export function getBrowserCultureLang() {
|
|
22
|
-
if (!isBrowser()) {
|
|
23
|
-
return '';
|
|
24
|
-
}
|
|
25
|
-
const navigator = window.navigator;
|
|
26
|
-
return navigator.languages?.[0] ?? navigator.language;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci1sYW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy90cmFuc2xvY28vc3JjL2xpYi9icm93c2VyLWxhbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV0Qzs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjO0lBQzVCLElBQUksV0FBVyxHQUFHLHFCQUFxQixFQUFFLENBQUM7SUFDMUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7UUFDakMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3BDLFdBQVcsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNwQyxXQUFXLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQjtJQUNuQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztRQUNqQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO0lBRW5DLE9BQU8sU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUM7QUFDeEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQnJvd3NlciB9IGZyb20gJy4vaGVscGVycyc7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgbGFuZ3VhZ2UgY29kZSBuYW1lIGZyb20gdGhlIGJyb3dzZXIsIGUuZy4gXCJlblwiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRCcm93c2VyTGFuZygpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBsZXQgYnJvd3NlckxhbmcgPSBnZXRCcm93c2VyQ3VsdHVyZUxhbmcoKTtcbiAgaWYgKCFicm93c2VyTGFuZyB8fCAhaXNCcm93c2VyKCkpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgaWYgKGJyb3dzZXJMYW5nLmluZGV4T2YoJy0nKSAhPT0gLTEpIHtcbiAgICBicm93c2VyTGFuZyA9IGJyb3dzZXJMYW5nLnNwbGl0KCctJylbMF07XG4gIH1cblxuICBpZiAoYnJvd3NlckxhbmcuaW5kZXhPZignXycpICE9PSAtMSkge1xuICAgIGJyb3dzZXJMYW5nID0gYnJvd3Nlckxhbmcuc3BsaXQoJ18nKVswXTtcbiAgfVxuXG4gIHJldHVybiBicm93c2VyTGFuZztcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBjdWx0dXJlIGxhbmd1YWdlIGNvZGUgbmFtZSBmcm9tIHRoZSBicm93c2VyLCBlLmcuIFwiZW4tVVNcIlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnJvd3NlckN1bHR1cmVMYW5nKCk6IHN0cmluZyB7XG4gIGlmICghaXNCcm93c2VyKCkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBjb25zdCBuYXZpZ2F0b3IgPSB3aW5kb3cubmF2aWdhdG9yO1xuXG4gIHJldHVybiBuYXZpZ2F0b3IubGFuZ3VhZ2VzPy5bMF0gPz8gbmF2aWdhdG9yLmxhbmd1YWdlO1xufVxuIl19
|
package/esm2022/lib/helpers.mjs
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
export function getValue(obj, path) {
|
|
2
|
-
if (!obj) {
|
|
3
|
-
return obj;
|
|
4
|
-
}
|
|
5
|
-
/* For cases where the key is like: 'general.something.thing' */
|
|
6
|
-
if (Object.prototype.hasOwnProperty.call(obj, path)) {
|
|
7
|
-
return obj[path];
|
|
8
|
-
}
|
|
9
|
-
return path.split('.').reduce((p, c) => p?.[c], obj);
|
|
10
|
-
}
|
|
11
|
-
export function setValue(obj, prop, val) {
|
|
12
|
-
obj = { ...obj };
|
|
13
|
-
const split = prop.split('.');
|
|
14
|
-
const lastIndex = split.length - 1;
|
|
15
|
-
split.reduce((acc, part, index) => {
|
|
16
|
-
if (index === lastIndex) {
|
|
17
|
-
acc[part] = val;
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
acc[part] = Array.isArray(acc[part])
|
|
21
|
-
? acc[part].slice()
|
|
22
|
-
: { ...acc[part] };
|
|
23
|
-
}
|
|
24
|
-
return acc && acc[part];
|
|
25
|
-
}, obj);
|
|
26
|
-
return obj;
|
|
27
|
-
}
|
|
28
|
-
export function size(collection) {
|
|
29
|
-
if (!collection) {
|
|
30
|
-
return 0;
|
|
31
|
-
}
|
|
32
|
-
if (Array.isArray(collection)) {
|
|
33
|
-
return collection.length;
|
|
34
|
-
}
|
|
35
|
-
if (isObject(collection)) {
|
|
36
|
-
return Object.keys(collection).length;
|
|
37
|
-
}
|
|
38
|
-
return collection ? collection.length : 0;
|
|
39
|
-
}
|
|
40
|
-
export function isEmpty(collection) {
|
|
41
|
-
return size(collection) === 0;
|
|
42
|
-
}
|
|
43
|
-
export function isFunction(val) {
|
|
44
|
-
return typeof val === 'function';
|
|
45
|
-
}
|
|
46
|
-
export function isString(val) {
|
|
47
|
-
return typeof val === 'string';
|
|
48
|
-
}
|
|
49
|
-
export function isNumber(val) {
|
|
50
|
-
return typeof val === 'number';
|
|
51
|
-
}
|
|
52
|
-
export function isObject(item) {
|
|
53
|
-
return !!item && typeof item === 'object' && !Array.isArray(item);
|
|
54
|
-
}
|
|
55
|
-
export function coerceArray(value) {
|
|
56
|
-
return Array.isArray(value) ? value : [value];
|
|
57
|
-
}
|
|
58
|
-
/*
|
|
59
|
-
* @example
|
|
60
|
-
*
|
|
61
|
-
* given: path-to-happiness => pathToHappiness
|
|
62
|
-
* given: path_to_happiness => pathToHappiness
|
|
63
|
-
* given: path-to_happiness => pathToHappiness
|
|
64
|
-
*
|
|
65
|
-
*/
|
|
66
|
-
export function toCamelCase(str) {
|
|
67
|
-
return str
|
|
68
|
-
.replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => index == 0 ? word.toLowerCase() : word.toUpperCase())
|
|
69
|
-
.replace(/\s+|_|-|\//g, '');
|
|
70
|
-
}
|
|
71
|
-
export function isBrowser() {
|
|
72
|
-
return typeof window !== 'undefined';
|
|
73
|
-
}
|
|
74
|
-
export function isNil(value) {
|
|
75
|
-
return value === null || value === undefined;
|
|
76
|
-
}
|
|
77
|
-
export function isDefined(value) {
|
|
78
|
-
return isNil(value) === false;
|
|
79
|
-
}
|
|
80
|
-
export function toNumber(value) {
|
|
81
|
-
if (isNumber(value))
|
|
82
|
-
return value;
|
|
83
|
-
if (isString(value) && !isNaN(Number(value) - parseFloat(value))) {
|
|
84
|
-
return Number(value);
|
|
85
|
-
}
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
export function isScopeObject(item) {
|
|
89
|
-
return item && typeof item.scope === 'string';
|
|
90
|
-
}
|
|
91
|
-
export function hasInlineLoader(item) {
|
|
92
|
-
return item && isObject(item.loader);
|
|
93
|
-
}
|
|
94
|
-
export function flatten(obj) {
|
|
95
|
-
const result = {};
|
|
96
|
-
function recurse(curr, prop) {
|
|
97
|
-
if (curr === null) {
|
|
98
|
-
result[prop] = null;
|
|
99
|
-
}
|
|
100
|
-
else if (isObject(curr)) {
|
|
101
|
-
for (const [key, value] of Object.entries(curr)) {
|
|
102
|
-
recurse(value, prop ? `${prop}.${key}` : key);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
result[prop] = curr;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
recurse(obj, '');
|
|
110
|
-
return result;
|
|
111
|
-
}
|
|
112
|
-
export function unflatten(obj) {
|
|
113
|
-
const result = {};
|
|
114
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
115
|
-
const keys = key.split('.');
|
|
116
|
-
let current = result;
|
|
117
|
-
keys.forEach((key, i) => {
|
|
118
|
-
if (i === keys.length - 1) {
|
|
119
|
-
current[key] = value;
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
current[key] ??= {};
|
|
123
|
-
current = current[key];
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
return result;
|
|
128
|
-
}
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvL3NyYy9saWIvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsUUFBUSxDQUFJLEdBQU0sRUFBRSxJQUFhO0lBQy9DLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNULE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELGdFQUFnRTtJQUNoRSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNwRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBUSxJQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQVUsQ0FBQyxDQUFDO0FBQzFFLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVEsRUFBRSxJQUFZLEVBQUUsR0FBUTtJQUN2RCxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBRWpCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFbkMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDaEMsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEIsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNsQixDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsQ0FBQyxJ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RyxJQUFJLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pCLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEdBQWdCO0lBQ3hDLE1BQU0sTUFBTSxHQUE0QixFQUFFLENBQUM7SUFFM0MsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMvQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUVyQixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDdkIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUE0QixDQUFDO1lBQ3BELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXJTY29wZSwgVHJhbnNsYXRpb24gfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbHVlPFQ+KG9iajogVCwgcGF0aDoga2V5b2YgVCkge1xuICBpZiAoIW9iaikge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICAvKiBGb3IgY2FzZXMgd2hlcmUgdGhlIGtleSBpcyBsaWtlOiAnZ2VuZXJhbC5zb21ldGhpbmcudGhpbmcnICovXG4gIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwYXRoKSkge1xuICAgIHJldHVybiBvYmpbcGF0aF07XG4gIH1cblxuICByZXR1cm4gKHBhdGggYXMgc3RyaW5nKS5zcGxpdCgnLicpLnJlZHVjZSgocCwgYykgPT4gcD8uW2NdLCBvYmogYXMgYW55KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFZhbHVlKG9iajogYW55LCBwcm9wOiBzdHJpbmcsIHZhbDogYW55KSB7XG4gIG9iaiA9IHsgLi4ub2JqIH07XG5cbiAgY29uc3Qgc3BsaXQgPSBwcm9wLnNwbGl0KCcuJyk7XG4gIGNvbnN0IGxhc3RJbmRleCA9IHNwbGl0Lmxlbmd0aCAtIDE7XG5cbiAgc3BsaXQucmVkdWNlKChhY2MsIHBhcnQsIGluZGV4KSA9PiB7XG4gICAgaWYgKGluZGV4ID09PSBsYXN0SW5kZXgpIHtcbiAgICAgIGFjY1twYXJ0XSA9IHZhbDtcbiAgICB9IGVsc2Uge1xuICAgICAgYWNjW3BhcnRdID0gQXJyYXkuaXNBcnJheShhY2NbcGFydF0pXG4gICAgICAgID8gYWNjW3BhcnRdLnNsaWNlKClcbiAgICAgICAgOiB7IC4uLmFjY1twYXJ0XSB9O1xuICAgIH1cblxuICAgIHJldHVybiBhY2MgJiYgYWNjW3BhcnRdO1xuICB9LCBvYmopO1xuXG4gIHJldHVybiBvYmo7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaXplKGNvbGxlY3Rpb246IGFueSk6IG51bWJlciB7XG4gIGlmICghY29sbGVjdGlvbikge1xuICAgIHJldHVybiAwO1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoY29sbGVjdGlvbikpIHtcbiAgICByZXR1cm4gY29sbGVjdGlvbi5sZW5ndGg7XG4gIH1cblxuICBpZiAoaXNPYmplY3QoY29sbGVjdGlvbikpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoY29sbGVjdGlvbikubGVuZ3RoO1xuICB9XG5cbiAgcmV0dXJuIGNvbGxlY3Rpb24gPyBjb2xsZWN0aW9uLmxlbmd0aCA6IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0VtcHR5KGNvbGxlY3Rpb246IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gc2l6ZShjb2xsZWN0aW9uKSA9PT0gMDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsOiB1bmtub3duKTogdmFsIGlzIENhbGxhYmxlRnVuY3Rpb24ge1xuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nKHZhbDogdW5rbm93bik6IHZhbCBpcyBzdHJpbmcge1xuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ3N0cmluZyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlcih2YWw6IHVua25vd24pOiB2YWwgaXMgbnVtYmVyIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdudW1iZXInO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNPYmplY3QoaXRlbTogdW5rbm93bik6IGl0ZW0gaXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICByZXR1cm4gISFpdGVtICYmIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShpdGVtKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvZXJjZUFycmF5PFQ+KHZhbHVlOiBUIHwgVFtdKTogVFtdO1xuZXhwb3J0IGZ1bmN0aW9uIGNvZXJjZUFycmF5PFQ+KHZhbHVlOiBUIHwgcmVhZG9ubHkgVFtdKTogcmVhZG9ubHkgVFtdO1xuZXhwb3J0IGZ1bmN0aW9uIGNvZXJjZUFycmF5PFQ+KHZhbHVlOiBUIHwgVFtdKTogVFtdIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xufVxuXG4vKlxuICogQGV4YW1wbGVcbiAqXG4gKiBnaXZlbjogcGF0aC10by1oYXBwaW5lc3MgPT4gcGF0aFRvSGFwcGluZXNzXG4gKiBnaXZlbjogcGF0aF90b19oYXBwaW5lc3MgPT4gcGF0aFRvSGFwcGluZXNzXG4gKiBnaXZlbjogcGF0aC10b19oYXBwaW5lc3MgPT4gcGF0aFRvSGFwcGluZXNzXG4gKlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9DYW1lbENhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyXG4gICAgLnJlcGxhY2UoLyg/Ol5cXHd8W0EtWl18XFxiXFx3KS9nLCAod29yZCwgaW5kZXgpID0+XG4gICAgICBpbmRleCA9PSAwID8gd29yZC50b0xvd2VyQ2FzZSgpIDogd29yZC50b1VwcGVyQ2FzZSgpLFxuICAgIClcbiAgICAucmVwbGFjZSgvXFxzK3xffC18XFwvL2csICcnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQnJvd3NlcigpIHtcbiAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOaWwodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBudWxsIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0RlZmluZWQodmFsdWU6IHVua25vd24pIHtcbiAgcmV0dXJuIGlzTmlsKHZhbHVlKSA9PT0gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b051bWJlcih2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKTogbnVtYmVyIHwgbnVsbCB7XG4gIGlmIChpc051bWJlcih2YWx1ZSkpIHJldHVybiB2YWx1ZTtcblxuICBpZiAoaXNTdHJpbmcodmFsdWUpICYmICFpc05hTihOdW1iZXIodmFsdWUpIC0gcGFyc2VGbG9hdCh2YWx1ZSkpKSB7XG4gICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2NvcGVPYmplY3QoaXRlbTogYW55KTogaXRlbSBpcyBQcm92aWRlclNjb3BlIHtcbiAgcmV0dXJuIGl0ZW0gJiYgdHlwZW9mIGl0ZW0uc2NvcGUgPT09ICdzdHJpbmcnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzSW5saW5lTG9hZGVyKGl0ZW06IGFueSk6IGl0ZW0gaXMgUHJvdmlkZXJTY29wZSB7XG4gIHJldHVybiBpdGVtICYmIGlzT2JqZWN0KGl0ZW0ubG9hZGVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXR0ZW4ob2JqOiBUcmFuc2xhdGlvbik6IFRyYW5zbGF0aW9uIHtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuXG4gIGZ1bmN0aW9uIHJlY3Vyc2UoY3VycjogdW5rbm93biwgcHJvcDogc3RyaW5nKSB7XG4gICAgaWYgKGN1cnIgPT09IG51bGwpIHtcbiAgICAgIHJlc3VsdFtwcm9wXSA9IG51bGw7XG4gICAgfSBlbHNlIGlmIChpc09iamVjdChjdXJyKSkge1xuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoY3VycikpIHtcbiAgICAgICAgcmVjdXJzZSh2YWx1ZSwgcHJvcCA/IGAke3Byb3B9LiR7a2V5fWAgOiBrZXkpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHRbcHJvcF0gPSBjdXJyO1xuICAgIH1cbiAgfVxuXG4gIHJlY3Vyc2Uob2JqLCAnJyk7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bmZsYXR0ZW4ob2JqOiBUcmFuc2xhdGlvbik6IFRyYW5zbGF0aW9uIHtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICBjb25zdCBrZXlzID0ga2V5LnNwbGl0KCcuJyk7XG4gICAgbGV0IGN1cnJlbnQgPSByZXN1bHQ7XG5cbiAgICBrZXlzLmZvckVhY2goKGtleSwgaSkgPT4ge1xuICAgICAgaWYgKGkgPT09IGtleXMubGVuZ3RoIC0gMSkge1xuICAgICAgICBjdXJyZW50W2tleV0gPSB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnJlbnRba2V5XSA/Pz0ge307XG4gICAgICAgIGN1cnJlbnQgPSBjdXJyZW50W2tleV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuIl19
|