@o3r/configuration 10.3.0-prerelease.7 → 10.3.0-prerelease.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/collection.json +6 -0
- package/core/configurable.d.ts +1 -1
- package/core/configurable.d.ts.map +1 -1
- package/esm2022/core/configurable.mjs +1 -1
- package/esm2022/devkit/configuration-devtools.console.service.mjs +3 -3
- package/esm2022/devkit/configuration-devtools.message.service.mjs +3 -3
- package/esm2022/devkit/configuration-devtools.module.mjs +4 -4
- package/esm2022/devkit/configuration-devtools.service.mjs +3 -3
- package/esm2022/rules-engine/configuration.handler-action.mjs +3 -3
- package/esm2022/rules-engine/configuration.rules-engine.module.mjs +4 -4
- package/esm2022/services/configuration/configuration.base.module.mjs +4 -4
- package/esm2022/services/configuration/configuration.base.service.mjs +3 -3
- package/esm2022/stores/config-override/config-override.module.mjs +4 -4
- package/esm2022/stores/configuration/configuration.module.mjs +4 -4
- package/esm2022/tools/configuration.decorators.mjs +35 -0
- package/esm2022/tools/configuration.signal.mjs +19 -0
- package/esm2022/tools/index.mjs +3 -2
- package/fesm2022/o3r-configuration-rules-engine.mjs +7 -7
- package/fesm2022/o3r-configuration.mjs +74 -48
- package/fesm2022/o3r-configuration.mjs.map +1 -1
- package/middlewares/bootstrap-config.middleware.js.map +1 -0
- package/middlewares/index.js.map +1 -0
- package/migration.json +10 -0
- package/package.json +7 -7
- package/schematics/configuration-to-component/index.d.ts.map +1 -1
- package/schematics/configuration-to-component/index.js +93 -13
- package/schematics/configuration-to-component/index.js.map +1 -0
- package/schematics/configuration-to-component/schema.d.ts +2 -0
- package/schematics/configuration-to-component/schema.d.ts.map +1 -1
- package/schematics/configuration-to-component/schema.js.map +1 -0
- package/schematics/configuration-to-component/schema.json +5 -0
- package/schematics/ng-add/helpers/devtools-registration.js.map +1 -0
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/ng-add/schema.js.map +1 -0
- package/schematics/ng-update/v10-3/index.d.ts +6 -0
- package/schematics/ng-update/v10-3/index.d.ts.map +1 -0
- package/schematics/ng-update/v10-3/index.js +21 -0
- package/schematics/ng-update/v10-3/index.js.map +1 -0
- package/schematics/use-config-signal/index.d.ts +8 -0
- package/schematics/use-config-signal/index.d.ts.map +1 -0
- package/schematics/use-config-signal/index.js +95 -0
- package/schematics/use-config-signal/index.js.map +1 -0
- package/schematics/use-config-signal/schema.d.ts +8 -0
- package/schematics/use-config-signal/schema.d.ts.map +1 -0
- package/schematics/use-config-signal/schema.js +3 -0
- package/schematics/use-config-signal/schema.js.map +1 -0
- package/schematics/use-config-signal/schema.json +21 -0
- package/tools/configuration.decorators.d.ts +10 -0
- package/tools/configuration.decorators.d.ts.map +1 -0
- package/tools/configuration.signal.d.ts +16 -0
- package/tools/configuration.signal.d.ts.map +1 -0
- package/tools/index.d.ts +2 -1
- package/tools/index.d.ts.map +1 -1
- package/esm2022/tools/configuration.decorator.mjs +0 -26
- package/tools/configuration.decorator.d.ts +0 -5
- package/tools/configuration.decorator.d.ts.map +0 -1
|
@@ -8,5 +8,7 @@ export interface NgAddConfigSchematicsSchema extends SchematicOptionObject {
|
|
|
8
8
|
skipLinter: boolean;
|
|
9
9
|
/** Should change a component into an exposed component */
|
|
10
10
|
exposeComponent: boolean;
|
|
11
|
+
/** Should add a config signal instead of observable in the component */
|
|
12
|
+
useSignal: boolean;
|
|
11
13
|
}
|
|
12
14
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/configuration-to-component/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACxE,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,8BAA8B;IAC9B,UAAU,EAAE,OAAO,CAAC;IAEpB,0DAA0D;IAC1D,eAAe,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/configuration-to-component/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACxE,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,8BAA8B;IAC9B,UAAU,EAAE,OAAO,CAAC;IAEpB,0DAA0D;IAC1D,eAAe,EAAE,OAAO,CAAC;IAEzB,wEAAwE;IACxE,SAAS,EAAE,OAAO,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../schematics/configuration-to-component/schema.ts"],"names":[],"mappings":""}
|
|
@@ -24,6 +24,11 @@
|
|
|
24
24
|
"type": "boolean",
|
|
25
25
|
"description": "Should change a component into an exposed component, to have it extracted in CMS metadata",
|
|
26
26
|
"default": true
|
|
27
|
+
},
|
|
28
|
+
"useSignal": {
|
|
29
|
+
"type": "boolean",
|
|
30
|
+
"description": "Should add a config signal instead of observable in the component.",
|
|
31
|
+
"default": false
|
|
27
32
|
}
|
|
28
33
|
},
|
|
29
34
|
"additionalProperties": true,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devtools-registration.js","sourceRoot":"","sources":["../../../../schematics/ng-add/helpers/devtools-registration.ts"],"names":[],"mappings":";;;AAAA,2DAAyD;AACzD,kCAAkC;AAGlC,MAAM,mBAAmB,GAAG,6BAA6B,CAAC;AAC1D,MAAM,4BAA4B,GAAG,qCAAqC,CAAC;AAC3E,MAAM,4BAA4B,GAAG,qCAAqC,CAAC;AAC3E,MAAM,YAAY,GAAW,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;AAErG;;;;;;GAMG;AACI,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAA8B,EAAiB,EAAE;IACtF,MAAM,EAAE,6BAA6B,EAAE,GAAG,2CAAa,iBAAiB,EAAC,CAAC;IAC1E,OAAO,IAAA,kBAAK,EAAC;QACX,6BAA6B,CAAC;YAC5B,UAAU,EAAE,mBAAmB;YAC/B,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,4BAA4B;YACzC,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC;QACF,6BAA6B,CAAC;YAC5B,UAAU,EAAE,mBAAmB;YAC/B,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,4BAA4B;YACzC,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC;AAhBW,QAAA,gBAAgB,oBAgB3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../schematics/ng-add/schema.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-update/v10-3/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAQ,MAAM,4BAA4B,CAAC;AAiB7D;;GAEG;AACH,eAAO,MAAM,WAAW,4BAAuD,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateV10_3 = void 0;
|
|
4
|
+
const schematics_1 = require("@o3r/schematics");
|
|
5
|
+
const configObserverRegExp = /\bConfigObserver\b/g;
|
|
6
|
+
function updateV10_3Fn() {
|
|
7
|
+
return (tree) => {
|
|
8
|
+
const files = (0, schematics_1.findFilesInTree)(tree.getDir(''), (filePath) => /.*\.ts/.test(filePath));
|
|
9
|
+
files.forEach(({ content, path }) => {
|
|
10
|
+
const str = content.toString();
|
|
11
|
+
if (configObserverRegExp.test(str)) {
|
|
12
|
+
tree.overwrite(path, str.replaceAll(configObserverRegExp, 'O3rConfig'));
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Update of Otter configuration V10.3
|
|
19
|
+
*/
|
|
20
|
+
exports.updateV10_3 = (0, schematics_1.createSchematicWithMetricsIfInstalled)(updateV10_3Fn);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-update/v10-3/index.ts"],"names":[],"mappings":";;;AAEA,gDAAyF;AAEzF,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEnD,SAAS,aAAa;IACpB,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,MAAM,KAAK,GAAG,IAAA,4BAAe,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtF,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;YAClC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC/B,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACU,QAAA,WAAW,GAAG,IAAA,kDAAqC,EAAC,aAAa,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Rule } from '@angular-devkit/schematics';
|
|
2
|
+
import type { NgUseConfigSignalSchematicsSchema } from './schema';
|
|
3
|
+
/**
|
|
4
|
+
* Migrate from configuration observable to signal
|
|
5
|
+
* @param options
|
|
6
|
+
*/
|
|
7
|
+
export declare const ngUseConfigSignal: (options: NgUseConfigSignalSchematicsSchema) => Rule;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/use-config-signal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,IAAI,EAEV,MAAM,4BAA4B,CAAC;AAYpC,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,UAAU,CAAC;AAgIlE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,sDAA6D,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ngUseConfigSignal = void 0;
|
|
4
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
|
+
const schematics_2 = require("@o3r/schematics");
|
|
6
|
+
const ts = require("typescript");
|
|
7
|
+
const configObserverRegexp = /.*new ConfigurationObserver<(?<configName>\w+)>\(\s*(?<configId>\w+),\s*(?<defaultConfig>\w+)(,\s*\w+)?\s*\);/;
|
|
8
|
+
function ngUseConfigSignalFn(options) {
|
|
9
|
+
return (0, schematics_1.chain)([
|
|
10
|
+
(0, schematics_2.addImportsRule)(options.path, [
|
|
11
|
+
{
|
|
12
|
+
from: '@angular/core',
|
|
13
|
+
importNames: [
|
|
14
|
+
'inject',
|
|
15
|
+
'input'
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
from: '@angular/core/rxjs-interop',
|
|
20
|
+
importNames: [
|
|
21
|
+
'toObservable'
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
from: '@o3r/configuration',
|
|
26
|
+
importNames: [
|
|
27
|
+
'configSignal',
|
|
28
|
+
'O3rConfig',
|
|
29
|
+
'ConfigurationBaseService',
|
|
30
|
+
'DynamicConfigurableWithSignal'
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
]),
|
|
34
|
+
(tree) => {
|
|
35
|
+
const content = tree.readText(options.path);
|
|
36
|
+
// Retrieve all info
|
|
37
|
+
const match = content.match(configObserverRegexp);
|
|
38
|
+
const { configName, configId, defaultConfig } = match?.groups || {};
|
|
39
|
+
if (!configName || !configId || !defaultConfig) {
|
|
40
|
+
throw new schematics_2.O3rCliError(`Configuration name, id or default value not found in ${options.path}.\nCannot migrate to signal based configuration.`);
|
|
41
|
+
}
|
|
42
|
+
const componentSourceFile = ts.createSourceFile(options.path, content, ts.ScriptTarget.ES2020, true);
|
|
43
|
+
const result = ts.transform(componentSourceFile, [
|
|
44
|
+
(0, schematics_2.addInterfaceToClassTransformerFactory)(`DynamicConfigurableWithSignal<${configName}>`, schematics_2.isO3rClassComponent, new Set(['DynamicConfigurable'])),
|
|
45
|
+
(ctx) => (rootNode) => {
|
|
46
|
+
const { factory } = ctx;
|
|
47
|
+
const visit = (node) => {
|
|
48
|
+
if (ts.isClassDeclaration(node) && (0, schematics_2.isO3rClassComponent)(node)) {
|
|
49
|
+
const propertiesToAdd = (0, schematics_2.generateClassElementsFromString)(`
|
|
50
|
+
private readonly configurationService = inject(ConfigurationBaseService);
|
|
51
|
+
|
|
52
|
+
public config = input<Partial<${configName}>>();
|
|
53
|
+
|
|
54
|
+
@O3rConfig()
|
|
55
|
+
public readonly configSignal = configSignal(this.config, ${configId}, ${defaultConfig}, this.configurationService);
|
|
56
|
+
|
|
57
|
+
public readonly config$ = toObservable(this.configSignal);`);
|
|
58
|
+
const newMembers = propertiesToAdd.concat(node.members.filter((member) => !member.name
|
|
59
|
+
|| (ts.isIdentifier(member.name)
|
|
60
|
+
&& member.name.escapedText !== 'config$'
|
|
61
|
+
&& member.name.escapedText !== 'config'
|
|
62
|
+
&& member.name.escapedText !== 'dynamicConfig$')));
|
|
63
|
+
(0, schematics_2.addCommentsOnClassProperties)(newMembers, {
|
|
64
|
+
config: 'Input configuration to override the default configuration of the component',
|
|
65
|
+
configSignal: 'Configuration signal based on the input and the stored configuration',
|
|
66
|
+
config$: '@deprecated use configSignal instead'
|
|
67
|
+
});
|
|
68
|
+
return factory.updateClassDeclaration(node, ts.getModifiers(node), node.name, node.typeParameters, node.heritageClauses, newMembers);
|
|
69
|
+
}
|
|
70
|
+
return ts.visitEachChild(node, visit, ctx);
|
|
71
|
+
};
|
|
72
|
+
return ts.visitNode(rootNode, visit);
|
|
73
|
+
}
|
|
74
|
+
]);
|
|
75
|
+
const printer = ts.createPrinter({
|
|
76
|
+
removeComments: false,
|
|
77
|
+
newLine: ts.NewLineKind.LineFeed
|
|
78
|
+
});
|
|
79
|
+
let newContent = printer.printFile(result.transformed[0]);
|
|
80
|
+
newContent = newContent
|
|
81
|
+
.replace(/this\.dynamicConfig\$\.next\(this.config\);/, '// TODO remove the ngOnChanges if empty')
|
|
82
|
+
.replace(configObserverRegexp, '')
|
|
83
|
+
.replace(/this\.config\$\s*=\s*this\.dynamicConfig\$\s*\.asObservable\(\);/, '');
|
|
84
|
+
tree.overwrite(options.path, newContent);
|
|
85
|
+
return tree;
|
|
86
|
+
},
|
|
87
|
+
options.skipLinter ? (0, schematics_1.noop)() : (0, schematics_2.applyEsLintFix)()
|
|
88
|
+
]);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Migrate from configuration observable to signal
|
|
92
|
+
* @param options
|
|
93
|
+
*/
|
|
94
|
+
exports.ngUseConfigSignal = (0, schematics_2.createSchematicWithMetricsIfInstalled)(ngUseConfigSignalFn);
|
|
95
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/use-config-signal/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SchematicOptionObject } from '@o3r/schematics';
|
|
2
|
+
export interface NgUseConfigSignalSchematicsSchema extends SchematicOptionObject {
|
|
3
|
+
/** Path to the component */
|
|
4
|
+
path: string;
|
|
5
|
+
/** Skip the linter process */
|
|
6
|
+
skipLinter: boolean;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/use-config-signal/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,iCAAkC,SAAQ,qBAAqB;IAC9E,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,8BAA8B;IAC9B,UAAU,EAAE,OAAO,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../schematics/use-config-signal/schema.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "NgUseConfigSignalSchematicsSchema",
|
|
4
|
+
"title": "Migrate from configuration observable to signal",
|
|
5
|
+
"description": "Migrate from configuration observable to signal",
|
|
6
|
+
"properties": {
|
|
7
|
+
"path": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Path to the component"
|
|
10
|
+
},
|
|
11
|
+
"skipLinter": {
|
|
12
|
+
"type": "boolean",
|
|
13
|
+
"description": "Skip the linter process",
|
|
14
|
+
"default": false
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"additionalProperties": true,
|
|
18
|
+
"required": [
|
|
19
|
+
"path"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decorator to identify the configuration observer
|
|
3
|
+
* @deprecated please use O3rConfig, will be removed in v12
|
|
4
|
+
*/
|
|
5
|
+
export declare function ConfigObserver(): (target: any, key: string) => void;
|
|
6
|
+
/**
|
|
7
|
+
* Decorator to identify the component's configuration
|
|
8
|
+
*/
|
|
9
|
+
export declare function O3rConfig(): (target: any, key: string) => void;
|
|
10
|
+
//# sourceMappingURL=configuration.decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration.decorators.d.ts","sourceRoot":"","sources":["../../src/tools/configuration.decorators.ts"],"names":[],"mappings":"AAwBA;;;GAGG;AAEH,wBAAgB,cAAc,uCAE7B;AAED;;GAEG;AAEH,wBAAgB,SAAS,uCAExB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { InputSignal, Signal } from '@angular/core';
|
|
2
|
+
import type { Configuration } from '@o3r/core';
|
|
3
|
+
import type { ConfigurationBaseService } from '../services';
|
|
4
|
+
/** Configuration signal */
|
|
5
|
+
export type ConfigurationSignal<T> = Signal<T> & {
|
|
6
|
+
configId: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Get a configuration signal
|
|
10
|
+
* @param configInput
|
|
11
|
+
* @param configId
|
|
12
|
+
* @param defaultConfig
|
|
13
|
+
* @param configurationService
|
|
14
|
+
*/
|
|
15
|
+
export declare const configSignal: <T extends Configuration>(configInput: InputSignal<Partial<T> | undefined>, configId: string, defaultConfig: T, configurationService?: ConfigurationBaseService | null) => ConfigurationSignal<T>;
|
|
16
|
+
//# sourceMappingURL=configuration.signal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration.signal.d.ts","sourceRoot":"","sources":["../../src/tools/configuration.signal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,2BAA2B;AAC3B,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,yCACV,YAAY,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,YACtC,MAAM,iBACD,CAAC,yBACO,wBAAwB,GAAG,IAAI,KACrD,oBAAoB,CAAC,CAcvB,CAAC"}
|
package/tools/index.d.ts
CHANGED
package/tools/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { otterComponentInfoPropertyName } from '@o3r/core';
|
|
2
|
-
/**
|
|
3
|
-
* Decorator to identify the configuration observer
|
|
4
|
-
*/
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
6
|
-
export function ConfigObserver() {
|
|
7
|
-
return (target, key) => {
|
|
8
|
-
const privateField = `_${key}`;
|
|
9
|
-
if (delete target[key]) {
|
|
10
|
-
Object.defineProperty(target, key, {
|
|
11
|
-
get: function () {
|
|
12
|
-
return this[privateField];
|
|
13
|
-
},
|
|
14
|
-
set: function (value) {
|
|
15
|
-
this[privateField] = value;
|
|
16
|
-
if (this[otterComponentInfoPropertyName]) {
|
|
17
|
-
this[otterComponentInfoPropertyName].configId = this[privateField].configId;
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
enumerable: true,
|
|
21
|
-
configurable: true
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbHMvY29uZmlndXJhdGlvbi5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQiw4QkFBOEIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUcxRTs7R0FFRztBQUNILGdFQUFnRTtBQUNoRSxNQUFNLFVBQVUsY0FBYztJQUM1QixPQUFPLENBQUMsTUFBVyxFQUFFLEdBQVcsRUFBRSxFQUFFO1FBQ2xDLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFFL0IsSUFBSSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDakMsR0FBRyxFQUFFO29CQUNILE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUM1QixDQUFDO2dCQUNELEdBQUcsRUFBRSxVQUFxQixLQUE4QjtvQkFDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEtBQUssQ0FBQztvQkFDM0IsSUFBSSxJQUFJLENBQUMsOEJBQThCLENBQUMsRUFBRSxDQUFDO3dCQUN6QyxJQUFJLENBQUMsOEJBQThCLENBQUMsQ0FBQyxRQUFRLEdBQUksSUFBSSxDQUFDLFlBQVksQ0FBMEMsQ0FBQyxRQUFRLENBQUM7b0JBQ3hILENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxVQUFVLEVBQUUsSUFBSTtnQkFDaEIsWUFBWSxFQUFFLElBQUk7YUFDbkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWd1cmF0aW9uLCBvdHRlckNvbXBvbmVudEluZm9Qcm9wZXJ0eU5hbWUgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbk9ic2VydmVyIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLm9ic2VydmVyJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgdG8gaWRlbnRpZnkgdGhlIGNvbmZpZ3VyYXRpb24gb2JzZXJ2ZXJcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGZ1bmN0aW9uIENvbmZpZ09ic2VydmVyKCkge1xuICByZXR1cm4gKHRhcmdldDogYW55LCBrZXk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHByaXZhdGVGaWVsZCA9IGBfJHtrZXl9YDtcblxuICAgIGlmIChkZWxldGUgdGFyZ2V0W2tleV0pIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICh0aGlzOiBhbnkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpc1twcml2YXRlRmllbGRdO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh0aGlzOiBhbnksIHZhbHVlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgICAgICAgIHRoaXNbcHJpdmF0ZUZpZWxkXSA9IHZhbHVlO1xuICAgICAgICAgIGlmICh0aGlzW290dGVyQ29tcG9uZW50SW5mb1Byb3BlcnR5TmFtZV0pIHtcbiAgICAgICAgICAgIHRoaXNbb3R0ZXJDb21wb25lbnRJbmZvUHJvcGVydHlOYW1lXS5jb25maWdJZCA9ICh0aGlzW3ByaXZhdGVGaWVsZF0gYXMgQ29uZmlndXJhdGlvbk9ic2VydmVyPENvbmZpZ3VyYXRpb24+KS5jb25maWdJZDtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.decorator.d.ts","sourceRoot":"","sources":["../../src/tools/configuration.decorator.ts"],"names":[],"mappings":"AAGA;;GAEG;AAEH,wBAAgB,cAAc,aACZ,GAAG,OAAO,MAAM,UAmBjC"}
|