definition-generator-framework 1.3.2 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/framework/definition-store.d.ts +6 -0
- package/dist/framework/definition-store.js +23 -0
- package/dist/framework/definition-store.js.map +1 -0
- package/dist/framework/framework.d.ts +1 -0
- package/dist/framework/framework.js +1 -0
- package/dist/framework/framework.js.map +1 -1
- package/dist/framework/kernel.js +28 -4
- package/dist/framework/kernel.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DefinitionComponentClassType } from './framework';
|
|
2
|
+
export declare class DefinitionStore {
|
|
3
|
+
private static definitionsMap;
|
|
4
|
+
static getDefinition<T>(definitionClass: DefinitionComponentClassType<T>, key: string): T | undefined;
|
|
5
|
+
private static setDefinition;
|
|
6
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefinitionStore = void 0;
|
|
4
|
+
class DefinitionStore {
|
|
5
|
+
static { this.definitionsMap = new Map(); }
|
|
6
|
+
static getDefinition(definitionClass, key) {
|
|
7
|
+
if (!definitionClass.$meta.keyName) {
|
|
8
|
+
throw new Error(`"${definitionClass.name}" doesn't have a keyName, getDefinition cannot be called on it.`);
|
|
9
|
+
}
|
|
10
|
+
return this.definitionsMap.get(definitionClass.name)?.get(key);
|
|
11
|
+
}
|
|
12
|
+
static setDefinition(definitionClass, key, definition) {
|
|
13
|
+
if (!this.definitionsMap.has(definitionClass.name)) {
|
|
14
|
+
this.definitionsMap.set(definitionClass.name, new Map());
|
|
15
|
+
}
|
|
16
|
+
let classMap = this.definitionsMap.get(definitionClass.name);
|
|
17
|
+
if (classMap) {
|
|
18
|
+
classMap.set(key, definition);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.DefinitionStore = DefinitionStore;
|
|
23
|
+
//# sourceMappingURL=definition-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-store.js","sourceRoot":"","sources":["../../src/framework/definition-store.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;aACX,mBAAc,GAAkC,IAAI,GAAG,EAAe,CAAC;IAEtF,MAAM,CAAC,aAAa,CAAI,eAAgD,EAAE,GAAW;QACnF,IAAI,CAAO,eAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,iEAAiE,CAAC,CAAC;QAC7G,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC;IAEO,MAAM,CAAC,aAAa,CAAI,eAAgD,EAAE,GAAW,EAAE,UAAa;QAC1G,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,EAAa,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;;AAnBH,0CAoBC"}
|
|
@@ -3,6 +3,7 @@ import { Output } from './framework.model';
|
|
|
3
3
|
export type DefinitionComponentClassType<T> = new (...args: any[]) => DefinitionComponent<T>;
|
|
4
4
|
export interface DefinitionComponentMeta {
|
|
5
5
|
definitionName: string;
|
|
6
|
+
keyName?: string;
|
|
6
7
|
singleton?: boolean;
|
|
7
8
|
validationSchema: Joi.Schema;
|
|
8
9
|
}
|
|
@@ -8,6 +8,7 @@ function DefinitionComponentDecorator(meta) {
|
|
|
8
8
|
framework_data_1.FrameworkData.definitionNames.add(meta.definitionName);
|
|
9
9
|
ComponentClass.$meta = {
|
|
10
10
|
definitionName: meta.definitionName,
|
|
11
|
+
keyName: meta.keyName,
|
|
11
12
|
singleton: meta.singleton,
|
|
12
13
|
validationSchema: meta.validationSchema
|
|
13
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework.js","sourceRoot":"","sources":["../../src/framework/framework.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAEjD,qCAAkC;
|
|
1
|
+
{"version":3,"file":"framework.js","sourceRoot":"","sources":["../../src/framework/framework.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAEjD,qCAAkC;AAWlC,SAAgB,4BAA4B,CAAC,IAA6B;IACxE,OAAO,UAAU,cAAiD;QAChE,8BAAa,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEjD,cAAe,CAAC,KAAK,GAAG;YAC5B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAXD,oEAWC;AAED,MAAsB,mBAAmB;IACvC,MAAM,CAAC,SAAS;QACd,OAAa,IAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC5C,CAAC;CAGF;AAND,kDAMC;AAQD,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAC/B,SAAgB,yBAAyB,CAAC,IAA0B;IAClE,OAAO,UAAU,WAAsC;QACrD,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,kBAAkB,GAAG,IAAI,CAAC;YAC1B,8BAAa,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,8BAAa,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAE3C,eAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAZD,8DAYC;AAID,MAAsB,gBAAgB;CAAG;AAAzC,4CAAyC"}
|
package/dist/framework/kernel.js
CHANGED
|
@@ -32,6 +32,8 @@ const raw_data_parser_1 = require("../pipeline/raw-data-parser");
|
|
|
32
32
|
const framework_data_1 = require("./framework.data");
|
|
33
33
|
const validator_1 = require("../helpers/validator/validator");
|
|
34
34
|
const custom_validator_helper_1 = require("../helpers/validator/custom-validator-helper/custom-validator.helper");
|
|
35
|
+
const definition_store_1 = require("./definition-store");
|
|
36
|
+
const helpers_lib_1 = require("helpers-lib");
|
|
35
37
|
class Kernel {
|
|
36
38
|
static async process() {
|
|
37
39
|
let root = path.resolve('./').replace(/\\/g, '/');
|
|
@@ -67,7 +69,7 @@ class Kernel {
|
|
|
67
69
|
content: framework_data_1.FrameworkData.interfaces
|
|
68
70
|
});
|
|
69
71
|
raw_data_parser_1.RawDataParser.process(context);
|
|
70
|
-
|
|
72
|
+
let preparedItems = framework_data_1.FrameworkData.modules.map(ModuleClass => {
|
|
71
73
|
let meta = ModuleClass.$meta;
|
|
72
74
|
let output = {
|
|
73
75
|
addFile: (fileInfo) => {
|
|
@@ -84,9 +86,31 @@ class Kernel {
|
|
|
84
86
|
else {
|
|
85
87
|
definitions = validator_1.Validator.convert(meta.definitionName, meta.validationSchema, context) || [];
|
|
86
88
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
89
|
+
let keyName = meta.keyName;
|
|
90
|
+
if (keyName) {
|
|
91
|
+
if (!helpers_lib_1.Comparator.isString(keyName)) {
|
|
92
|
+
throw new Error(`Definition key named '${keyName}' is not a string`);
|
|
93
|
+
}
|
|
94
|
+
definitions.forEach((definition) => {
|
|
95
|
+
let key = definition[keyName];
|
|
96
|
+
if (!key) {
|
|
97
|
+
throw new Error(`Definition doesn't have a property named '${keyName}'`);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
definition_store_1.DefinitionStore['setDefinition'](ModuleClass, key, definition);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
definitions,
|
|
106
|
+
output,
|
|
107
|
+
ModuleClass
|
|
108
|
+
};
|
|
109
|
+
});
|
|
110
|
+
for (let preparedItem of preparedItems) {
|
|
111
|
+
if (preparedItem.definitions) {
|
|
112
|
+
let module = new preparedItem.ModuleClass();
|
|
113
|
+
await module.process(preparedItem.definitions, preparedItem.output);
|
|
90
114
|
}
|
|
91
115
|
}
|
|
92
116
|
custom_validator_helper_1.CustomValidatorHelper.logDuplicates(context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/framework/kernel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,2CAA6B;AAC7B,+CAAiC;AAGjC,iEAA4D;AAC5D,qDAAiD;AACjD,8DAA2D;AAE3D,kHAA6G;
|
|
1
|
+
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/framework/kernel.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { Validator } from './helpers/validator/validator';
|
|
2
2
|
export { JoiCustomValidators } from './helpers/validator/joi-custom-validators';
|
|
3
|
+
export { DefinitionStore } from './framework/definition-store';
|
|
3
4
|
export { DefinitionModule, DefinitionModuleDecorator, DefinitionComponent, DefinitionComponentDecorator } from './framework/framework';
|
|
4
5
|
export { OutputHelper } from './helpers/output-helper/output-helper';
|
|
5
6
|
export { Output, ErrorLog } from './framework/framework.model';
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OutputHelper = exports.DefinitionComponentDecorator = exports.DefinitionComponent = exports.DefinitionModuleDecorator = exports.DefinitionModule = exports.JoiCustomValidators = exports.Validator = void 0;
|
|
3
|
+
exports.OutputHelper = exports.DefinitionComponentDecorator = exports.DefinitionComponent = exports.DefinitionModuleDecorator = exports.DefinitionModule = exports.DefinitionStore = exports.JoiCustomValidators = exports.Validator = void 0;
|
|
4
4
|
var validator_1 = require("./helpers/validator/validator");
|
|
5
5
|
Object.defineProperty(exports, "Validator", { enumerable: true, get: function () { return validator_1.Validator; } });
|
|
6
6
|
var joi_custom_validators_1 = require("./helpers/validator/joi-custom-validators");
|
|
7
7
|
Object.defineProperty(exports, "JoiCustomValidators", { enumerable: true, get: function () { return joi_custom_validators_1.JoiCustomValidators; } });
|
|
8
|
+
var definition_store_1 = require("./framework/definition-store");
|
|
9
|
+
Object.defineProperty(exports, "DefinitionStore", { enumerable: true, get: function () { return definition_store_1.DefinitionStore; } });
|
|
8
10
|
var framework_1 = require("./framework/framework");
|
|
9
11
|
Object.defineProperty(exports, "DefinitionModule", { enumerable: true, get: function () { return framework_1.DefinitionModule; } });
|
|
10
12
|
Object.defineProperty(exports, "DefinitionModuleDecorator", { enumerable: true, get: function () { return framework_1.DefinitionModuleDecorator; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAAjD,sGAAA,SAAS,OAAA;AAClB,mFAAgF;AAAvE,4HAAA,mBAAmB,OAAA;AAC5B,mDAK+B;AAJ7B,6GAAA,gBAAgB,OAAA;AAChB,sHAAA,yBAAyB,OAAA;AACzB,gHAAA,mBAAmB,OAAA;AACnB,yHAAA,4BAA4B,OAAA;AAE9B,uEAAqE;AAA5D,6GAAA,YAAY,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAAjD,sGAAA,SAAS,OAAA;AAClB,mFAAgF;AAAvE,4HAAA,mBAAmB,OAAA;AAC5B,iEAA+D;AAAtD,mHAAA,eAAe,OAAA;AACxB,mDAK+B;AAJ7B,6GAAA,gBAAgB,OAAA;AAChB,sHAAA,yBAAyB,OAAA;AACzB,gHAAA,mBAAmB,OAAA;AACnB,yHAAA,4BAA4B,OAAA;AAE9B,uEAAqE;AAA5D,6GAAA,YAAY,OAAA"}
|