definition-generator-framework 1.5.3 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +2 -2
- package/.vscode/settings.json +6 -1
- package/dist/_mocks/mocks.d.ts +1 -1
- package/dist/decorators/definition-component.d.ts +18 -0
- package/dist/decorators/definition-component.js +27 -0
- package/dist/decorators/definition-component.js.map +1 -0
- package/dist/decorators/definition-generator.d.ts +10 -0
- package/dist/decorators/definition-generator.js +21 -0
- package/dist/decorators/definition-generator.js.map +1 -0
- package/dist/framework/context.d.ts +1 -1
- package/dist/framework/definition-store.d.ts +8 -7
- package/dist/framework/definition-store.js +30 -13
- package/dist/framework/definition-store.js.map +1 -1
- package/dist/framework/interfaces.d.ts +32 -0
- package/dist/framework/interfaces.js +3 -0
- package/dist/framework/interfaces.js.map +1 -0
- package/dist/framework/kernel.d.ts +5 -1
- package/dist/framework/kernel.js +66 -34
- package/dist/framework/kernel.js.map +1 -1
- package/dist/helpers/common-functions/common-functions.js +1 -1
- package/dist/helpers/common-functions/common-functions.js.map +1 -1
- package/dist/helpers/duplicate-helper/duplicate-helper.d.ts +1 -1
- package/dist/helpers/raw-definition-helper/raw-definition.helper.d.ts +1 -1
- package/dist/helpers/raw-definition-helper/raw-definition.helper.js.map +1 -1
- package/dist/helpers/validator/custom-validator-helper/custom-validator.helper.d.ts +3 -5
- package/dist/helpers/validator/custom-validator-helper/custom-validator.helper.js +1 -10
- package/dist/helpers/validator/custom-validator-helper/custom-validator.helper.js.map +1 -1
- package/dist/helpers/validator/custom-validator-helper/custom-validator.helper.spec.js.map +1 -1
- package/dist/helpers/validator/custom-validators/path.custom-validator.d.ts +1 -1
- package/dist/helpers/validator/custom-validators/reference.custom-validator.d.ts +1 -1
- package/dist/helpers/validator/custom-validators/reference.custom-validator.js +6 -5
- package/dist/helpers/validator/custom-validators/reference.custom-validator.js.map +1 -1
- package/dist/helpers/validator/custom-validators/sprite.custom-validator.d.ts +2 -2
- package/dist/helpers/validator/joi-custom-validators.d.ts +4 -5
- package/dist/helpers/validator/joi-custom-validators.js +4 -34
- package/dist/helpers/validator/joi-custom-validators.js.map +1 -1
- package/dist/helpers/validator/validator.d.ts +6 -5
- package/dist/helpers/validator/validator.js +12 -14
- package/dist/helpers/validator/validator.js.map +1 -1
- package/dist/helpers/validator/validator.spec.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/pipeline/1-select-definitions-helper.d.ts +1 -1
- package/dist/pipeline/1-select-definitions-helper.js +1 -1
- package/dist/pipeline/1-select-definitions-helper.js.map +1 -1
- package/dist/pipeline/1-select-definitions.spec.js.map +1 -1
- package/dist/pipeline/2-structure-parser.helper.d.ts +1 -1
- package/dist/pipeline/3-config.d.ts +1 -1
- package/dist/pipeline/3-config.js +8 -28
- package/dist/pipeline/3-config.js.map +1 -1
- package/dist/pipeline/_mocks/index.d.ts +1 -1
- package/dist/pipeline/parsers/array-parser.d.ts +1 -1
- package/dist/pipeline/parsers/array-parser.js +4 -1
- package/dist/pipeline/parsers/array-parser.js.map +1 -1
- package/dist/pipeline/parsers/object-parser.d.ts +1 -1
- package/dist/pipeline/parsers/object-parser.js +10 -4
- package/dist/pipeline/parsers/object-parser.js.map +1 -1
- package/dist/pipeline/parsers/primitive-parser.d.ts +1 -1
- package/package.json +2 -5
package/.eslintrc.js
CHANGED
|
@@ -51,7 +51,7 @@ module.exports = {
|
|
|
51
51
|
'@typescript-eslint/ban-types': 'error',
|
|
52
52
|
'@typescript-eslint/consistent-type-definitions': 'error',
|
|
53
53
|
'@typescript-eslint/dot-notation': 'off',
|
|
54
|
-
'@typescript-eslint/explicit-function-return-type': '
|
|
54
|
+
'@typescript-eslint/explicit-function-return-type': 'warn',
|
|
55
55
|
'@typescript-eslint/explicit-member-accessibility': [
|
|
56
56
|
'off',
|
|
57
57
|
{
|
|
@@ -97,7 +97,7 @@ module.exports = {
|
|
|
97
97
|
'@typescript-eslint/no-misused-new': 'error',
|
|
98
98
|
'@typescript-eslint/no-namespace': 'error',
|
|
99
99
|
'@typescript-eslint/no-non-null-asserted-optional-chain': 'error',
|
|
100
|
-
'@typescript-eslint/no-non-null-assertion': '
|
|
100
|
+
'@typescript-eslint/no-non-null-assertion': 'off',
|
|
101
101
|
'@typescript-eslint/no-this-alias': 'error',
|
|
102
102
|
'@typescript-eslint/no-unused-expressions': 'off',
|
|
103
103
|
'@typescript-eslint/no-unused-vars': 'off',
|
package/.vscode/settings.json
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"javascript.preferences.importModuleSpecifier": "relative",
|
|
3
|
-
"typescript.preferences.importModuleSpecifier": "relative"
|
|
3
|
+
"typescript.preferences.importModuleSpecifier": "relative",
|
|
4
|
+
"workbench.activityBar.location": "top",
|
|
5
|
+
"window.zoomLevel": 0,
|
|
6
|
+
"editor.stickyScroll.enabled": false,
|
|
7
|
+
"workbench.tree.enableStickyScroll": false,
|
|
8
|
+
"terminal.integrated.shellIntegration.decorationsEnabled": "never"
|
|
4
9
|
}
|
package/dist/_mocks/mocks.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FileInfo, LocationInFile } from '../framework/
|
|
1
|
+
import { FileInfo, LocationInFile } from '../framework/interfaces';
|
|
2
2
|
export declare function resetContext(): void;
|
|
3
3
|
export declare function setMockContextFromContents(contents: string[]): void;
|
|
4
4
|
export declare function getMockFileInfo(content: string): FileInfo;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import Joi from 'joi';
|
|
2
|
+
import { Output } from '../framework/interfaces';
|
|
3
|
+
export type DefinitionComponentClassType<T> = new (...args: any[]) => DefinitionComponent<T> | SingleDefinitionComponent<T>;
|
|
4
|
+
export interface DefinitionComponentMeta {
|
|
5
|
+
componentName: string;
|
|
6
|
+
keyName?: string;
|
|
7
|
+
singleton?: boolean;
|
|
8
|
+
validationSchema: Joi.Schema;
|
|
9
|
+
}
|
|
10
|
+
export declare function DefinitionComponentDecorator(meta: DefinitionComponentMeta): (ComponentClass: DefinitionComponentClassType<any>) => any;
|
|
11
|
+
export declare abstract class DefinitionComponent<T> {
|
|
12
|
+
static getSchema(): Joi.Schema;
|
|
13
|
+
abstract process(definitions: T[], context: Output): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export declare abstract class SingleDefinitionComponent<T> {
|
|
16
|
+
static getSchema(): Joi.Schema;
|
|
17
|
+
abstract process(definitions: T, context: Output): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SingleDefinitionComponent = exports.DefinitionComponent = exports.DefinitionComponentDecorator = void 0;
|
|
4
|
+
function DefinitionComponentDecorator(meta) {
|
|
5
|
+
return function (ComponentClass) {
|
|
6
|
+
ComponentClass.$meta = {
|
|
7
|
+
componentName: meta.componentName,
|
|
8
|
+
keyName: meta.keyName,
|
|
9
|
+
singleton: meta.singleton,
|
|
10
|
+
validationSchema: meta.validationSchema
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
exports.DefinitionComponentDecorator = DefinitionComponentDecorator;
|
|
15
|
+
class DefinitionComponent {
|
|
16
|
+
static getSchema() {
|
|
17
|
+
return this.$meta.validationSchema;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.DefinitionComponent = DefinitionComponent;
|
|
21
|
+
class SingleDefinitionComponent {
|
|
22
|
+
static getSchema() {
|
|
23
|
+
return this.$meta.validationSchema;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.SingleDefinitionComponent = SingleDefinitionComponent;
|
|
27
|
+
//# sourceMappingURL=definition-component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-component.js","sourceRoot":"","sources":["../../src/decorators/definition-component.ts"],"names":[],"mappings":";;;AAaA,SAAgB,4BAA4B,CAAC,IAA6B;IACxE,OAAO,UAAU,cAAiD;QAC1D,cAAe,CAAC,KAAK,GAAG;YAC5B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AATD,oEASC;AAED,MAAsB,mBAAmB;IACvC,MAAM,CAAC,SAAS;QACd,OAAa,IAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC5C,CAAC;CAGF;AAND,kDAMC;AAED,MAAsB,yBAAyB;IAC7C,MAAM,CAAC,SAAS;QACd,OAAa,IAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC5C,CAAC;CAGF;AAND,8DAMC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DefinitionComponentClassType } from './definition-component';
|
|
2
|
+
interface DefinitionGeneratorMeta {
|
|
3
|
+
modules: DefinitionComponentClassType<any>[];
|
|
4
|
+
interfaces: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function DefinitionGeneratorDecorator(meta: DefinitionGeneratorMeta): (ModuleClass: DefinitionGeneratorClassType) => any;
|
|
7
|
+
export type DefinitionGeneratorClassType = new (...args: any[]) => DefinitionGenerator;
|
|
8
|
+
export declare abstract class DefinitionGenerator {
|
|
9
|
+
}
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefinitionGenerator = exports.DefinitionGeneratorDecorator = void 0;
|
|
4
|
+
const kernel_1 = require("../framework/kernel");
|
|
5
|
+
let ModuleIsRegistered = false;
|
|
6
|
+
function DefinitionGeneratorDecorator(meta) {
|
|
7
|
+
return function (ModuleClass) {
|
|
8
|
+
if (ModuleIsRegistered) {
|
|
9
|
+
console.error('There can be only one definition module!');
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
ModuleIsRegistered = true;
|
|
13
|
+
kernel_1.Kernel.process(meta.modules, meta.interfaces);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
exports.DefinitionGeneratorDecorator = DefinitionGeneratorDecorator;
|
|
18
|
+
class DefinitionGenerator {
|
|
19
|
+
}
|
|
20
|
+
exports.DefinitionGenerator = DefinitionGenerator;
|
|
21
|
+
//# sourceMappingURL=definition-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-generator.js","sourceRoot":"","sources":["../../src/decorators/definition-generator.ts"],"names":[],"mappings":";;;AACA,gDAA6C;AAO7C,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAC/B,SAAgB,4BAA4B,CAAC,IAA6B;IACxE,OAAO,UAAU,WAAyC;QACxD,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,kBAAkB,GAAG,IAAI,CAAC;YAC1B,eAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AATD,oEASC;AAID,MAAsB,mBAAmB;CAAG;AAA5C,kDAA4C"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { DefinitionComponentClassType } from '
|
|
2
|
-
export declare const ConfigDefinitionComponentName = "CONFIG";
|
|
3
|
-
export declare class FrameworkData {
|
|
4
|
-
static readonly definitionComponentNames: Set<string>;
|
|
5
|
-
static readonly modules: DefinitionComponentClassType<any>[];
|
|
6
|
-
static interfaces: string;
|
|
7
|
-
}
|
|
1
|
+
import { DefinitionComponentClassType } from '../decorators/definition-component';
|
|
8
2
|
export declare class DefinitionStore {
|
|
3
|
+
private static rawDefinitionsMap;
|
|
9
4
|
private static definitionsMap;
|
|
10
5
|
static getDefinition<T>(definitionClass: DefinitionComponentClassType<T>, key: string): T | undefined;
|
|
11
6
|
static getDefinitionOrFail<T>(definitionClass: DefinitionComponentClassType<T>, key: string): T;
|
|
7
|
+
private static isValidComponentName;
|
|
8
|
+
private static setComponentNames;
|
|
12
9
|
private static setDefinition;
|
|
10
|
+
private static isRawDefinitionExists;
|
|
11
|
+
private static getRawDefinition;
|
|
12
|
+
private static setRawDefinition;
|
|
13
|
+
private static getComponentName;
|
|
13
14
|
}
|
|
@@ -1,38 +1,55 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DefinitionStore =
|
|
3
|
+
exports.DefinitionStore = void 0;
|
|
4
4
|
const helpers_lib_1 = require("helpers-lib");
|
|
5
|
-
exports.ConfigDefinitionComponentName = 'CONFIG';
|
|
6
|
-
class FrameworkData {
|
|
7
|
-
static { this.definitionComponentNames = new Set([exports.ConfigDefinitionComponentName]); }
|
|
8
|
-
static { this.modules = []; }
|
|
9
|
-
static { this.interfaces = ''; }
|
|
10
|
-
}
|
|
11
|
-
exports.FrameworkData = FrameworkData;
|
|
12
5
|
class DefinitionStore {
|
|
6
|
+
static { this.rawDefinitionsMap = new Map(); }
|
|
13
7
|
static { this.definitionsMap = new Map(); }
|
|
14
8
|
static getDefinition(definitionClass, key) {
|
|
15
9
|
if (!definitionClass.$meta.keyName) {
|
|
16
10
|
throw new Error(`"${definitionClass.name}" doesn't have a keyName, getDefinition cannot be called on it.`);
|
|
17
11
|
}
|
|
18
|
-
return this.definitionsMap.get(definitionClass
|
|
12
|
+
return this.definitionsMap.get(this.getComponentName(definitionClass))?.get(key);
|
|
19
13
|
}
|
|
20
14
|
static getDefinitionOrFail(definitionClass, key) {
|
|
21
15
|
let definition = this.getDefinition(definitionClass, key);
|
|
22
16
|
if (!definition) {
|
|
23
|
-
throw new Error(`No result found for ${key} in "${definitionClass.name}".`);
|
|
17
|
+
throw new Error(`No result found for "${key}" in "${definitionClass.name}".`);
|
|
24
18
|
}
|
|
25
19
|
return definition;
|
|
26
20
|
}
|
|
21
|
+
static isValidComponentName(componentName) {
|
|
22
|
+
return this.definitionsMap.has(componentName);
|
|
23
|
+
}
|
|
24
|
+
static setComponentNames(componentNames) {
|
|
25
|
+
componentNames.forEach(componentName => {
|
|
26
|
+
this.definitionsMap.set(componentName, new Map());
|
|
27
|
+
});
|
|
28
|
+
}
|
|
27
29
|
static setDefinition(definitionClass, key, definition) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
let classMap = this.definitionsMap.get(this.getComponentName(definitionClass));
|
|
31
|
+
if (classMap) {
|
|
32
|
+
classMap.set(key, helpers_lib_1.JsonHelper.deepCopy(definition));
|
|
30
33
|
}
|
|
31
|
-
|
|
34
|
+
}
|
|
35
|
+
static isRawDefinitionExists(definitionClass, key) {
|
|
36
|
+
return this.rawDefinitionsMap.get(definitionClass.name)?.has(key) ? true : false;
|
|
37
|
+
}
|
|
38
|
+
static getRawDefinition(definitionClass, key) {
|
|
39
|
+
return this.rawDefinitionsMap.get(definitionClass.name)?.get(key);
|
|
40
|
+
}
|
|
41
|
+
static setRawDefinition(definitionClass, key, definition) {
|
|
42
|
+
if (!this.rawDefinitionsMap.has(definitionClass.name)) {
|
|
43
|
+
this.rawDefinitionsMap.set(definitionClass.name, new Map());
|
|
44
|
+
}
|
|
45
|
+
let classMap = this.rawDefinitionsMap.get(definitionClass.name);
|
|
32
46
|
if (classMap) {
|
|
33
47
|
classMap.set(key, helpers_lib_1.JsonHelper.deepCopy(definition));
|
|
34
48
|
}
|
|
35
49
|
}
|
|
50
|
+
static getComponentName(definitionClass) {
|
|
51
|
+
return definitionClass.$meta.componentName;
|
|
52
|
+
}
|
|
36
53
|
}
|
|
37
54
|
exports.DefinitionStore = DefinitionStore;
|
|
38
55
|
//# sourceMappingURL=definition-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-store.js","sourceRoot":"","sources":["../../src/framework/definition-store.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;
|
|
1
|
+
{"version":3,"file":"definition-store.js","sourceRoot":"","sources":["../../src/framework/definition-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface FileSystem {
|
|
2
|
+
existsSync: (path: string) => boolean;
|
|
3
|
+
}
|
|
4
|
+
export interface FileInfo {
|
|
5
|
+
path: string;
|
|
6
|
+
content: string;
|
|
7
|
+
}
|
|
8
|
+
export interface LocationInFile {
|
|
9
|
+
readonly path: string;
|
|
10
|
+
readonly line: number;
|
|
11
|
+
}
|
|
12
|
+
export interface ErrorLog {
|
|
13
|
+
readonly description: string;
|
|
14
|
+
readonly location: LocationInFile;
|
|
15
|
+
}
|
|
16
|
+
export interface Config {
|
|
17
|
+
projectRoot: string;
|
|
18
|
+
}
|
|
19
|
+
export type RawData = undefined | string | ParsedStructure[] | Record<string, ParsedStructure>;
|
|
20
|
+
export interface ParsedStructure {
|
|
21
|
+
readonly rawData: RawData;
|
|
22
|
+
readonly line: number;
|
|
23
|
+
}
|
|
24
|
+
export interface RawDefinition {
|
|
25
|
+
readonly componentName: string;
|
|
26
|
+
readonly parsedStructure: ParsedStructure;
|
|
27
|
+
readonly location: LocationInFile;
|
|
28
|
+
}
|
|
29
|
+
export interface Output {
|
|
30
|
+
addFile: (fileInfo: FileInfo) => void;
|
|
31
|
+
addError: (errorLog: ErrorLog) => void;
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/framework/interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import { DefinitionComponentClassType } from '../decorators/definition-component';
|
|
2
|
+
export declare const ConfigDefinitionComponentName = "CONFIG";
|
|
1
3
|
export declare class Kernel {
|
|
2
|
-
static process(): Promise<void>;
|
|
4
|
+
static process(modules: DefinitionComponentClassType<any>[], interfaces: string): Promise<void>;
|
|
3
5
|
private static generateOutputFiles;
|
|
6
|
+
private static iterateOnKeyNames;
|
|
7
|
+
private static registerDefinitions;
|
|
4
8
|
private static getOutputFiles;
|
|
5
9
|
}
|
package/dist/framework/kernel.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.Kernel = void 0;
|
|
26
|
+
exports.Kernel = exports.ConfigDefinitionComponentName = void 0;
|
|
27
27
|
const fs = __importStar(require("fs"));
|
|
28
28
|
const glob = __importStar(require("glob"));
|
|
29
29
|
const path = __importStar(require("path"));
|
|
@@ -34,35 +34,37 @@ const validator_1 = require("../helpers/validator/validator");
|
|
|
34
34
|
const custom_validator_helper_1 = require("../helpers/validator/custom-validator-helper/custom-validator.helper");
|
|
35
35
|
const definition_store_1 = require("./definition-store");
|
|
36
36
|
const context_1 = require("./context");
|
|
37
|
+
exports.ConfigDefinitionComponentName = 'CONFIG';
|
|
38
|
+
const KeyValueRegex = /^[a-z]+([a-zA-Z0-9]+)*$/;
|
|
37
39
|
class Kernel {
|
|
38
|
-
static async process() {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
static async process(modules, interfaces) {
|
|
41
|
+
definition_store_1.DefinitionStore['setComponentNames']([
|
|
42
|
+
exports.ConfigDefinitionComponentName,
|
|
43
|
+
...modules.map(module => module.$meta.componentName)
|
|
44
|
+
]);
|
|
45
|
+
context_1.Context.compilerExecutionPath = path.resolve('./').replace(/\\/g, '/');
|
|
46
|
+
context_1.Context.outputPath = `${context_1.Context.compilerExecutionPath}/.asset-build`;
|
|
47
|
+
context_1.Context.files = glob.sync(`${context_1.Context.compilerExecutionPath}/**/*.md`).map(filePath => {
|
|
44
48
|
let content = fs.readFileSync(filePath).toString();
|
|
45
|
-
|
|
49
|
+
let fileInfo = { path: filePath, content };
|
|
50
|
+
return fileInfo;
|
|
46
51
|
});
|
|
47
|
-
|
|
48
|
-
context_1.Context.outputPath
|
|
49
|
-
context_1.Context.files = files;
|
|
50
|
-
let outputFiles = await this.generateOutputFiles();
|
|
51
|
-
rimraf.sync(outputPath);
|
|
52
|
+
let outputFiles = await this.generateOutputFiles(modules, interfaces);
|
|
53
|
+
rimraf.sync(context_1.Context.outputPath); // Remove the output folder if it exists
|
|
52
54
|
outputFiles.forEach(outputFile => {
|
|
53
|
-
let fullPath = outputPath + outputFile.path;
|
|
55
|
+
let fullPath = context_1.Context.outputPath + outputFile.path;
|
|
54
56
|
let folderPath = fullPath.substring(0, fullPath.lastIndexOf('/'));
|
|
55
57
|
fs.mkdirSync(folderPath, { recursive: true });
|
|
56
58
|
fs.writeFileSync(fullPath, outputFile.content);
|
|
57
59
|
});
|
|
58
60
|
}
|
|
59
|
-
static async generateOutputFiles() {
|
|
61
|
+
static async generateOutputFiles(modules, interfaces) {
|
|
60
62
|
context_1.Context.output.push({
|
|
61
63
|
path: '/index.ts',
|
|
62
|
-
content:
|
|
64
|
+
content: interfaces
|
|
63
65
|
});
|
|
64
66
|
raw_data_parser_1.RawDataParser.process();
|
|
65
|
-
let preparedItems =
|
|
67
|
+
let preparedItems = modules.map(ModuleClass => {
|
|
66
68
|
let meta = ModuleClass.$meta;
|
|
67
69
|
let output = {
|
|
68
70
|
addFile: (fileInfo) => {
|
|
@@ -72,28 +74,15 @@ class Kernel {
|
|
|
72
74
|
context_1.Context.errorLogs.push(errorLog);
|
|
73
75
|
}
|
|
74
76
|
};
|
|
77
|
+
this.iterateOnKeyNames(meta.keyName, meta.componentName, ModuleClass);
|
|
75
78
|
let definitions;
|
|
76
79
|
if (meta.singleton) {
|
|
77
|
-
definitions = validator_1.Validator.
|
|
80
|
+
definitions = validator_1.Validator.validateAndConvertSingular(meta.componentName, meta.validationSchema) || [];
|
|
78
81
|
}
|
|
79
82
|
else {
|
|
80
|
-
definitions = validator_1.Validator.
|
|
81
|
-
}
|
|
82
|
-
let keyName = meta.keyName;
|
|
83
|
-
if (keyName) {
|
|
84
|
-
if (!helpers_lib_1.Comparator.isString(keyName)) {
|
|
85
|
-
throw new Error(`Definition key named '${keyName}' is not a string`);
|
|
86
|
-
}
|
|
87
|
-
definitions.forEach((definition) => {
|
|
88
|
-
let key = definition[keyName];
|
|
89
|
-
if (!key) {
|
|
90
|
-
throw new Error(`Definition doesn't have a property named '${keyName}'`);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
definition_store_1.DefinitionStore['setDefinition'](ModuleClass, key, definition);
|
|
94
|
-
}
|
|
95
|
-
});
|
|
83
|
+
definitions = validator_1.Validator.validateAndConvert(meta.componentName, meta.validationSchema);
|
|
96
84
|
}
|
|
85
|
+
this.registerDefinitions(definitions, meta.keyName, ModuleClass);
|
|
97
86
|
return {
|
|
98
87
|
definitions,
|
|
99
88
|
output,
|
|
@@ -109,6 +98,49 @@ class Kernel {
|
|
|
109
98
|
custom_validator_helper_1.CustomValidatorHelper.logDuplicates();
|
|
110
99
|
return this.getOutputFiles();
|
|
111
100
|
}
|
|
101
|
+
static iterateOnKeyNames(keyName, componentName, ModuleClass) {
|
|
102
|
+
let rawDefinitions = validator_1.Validator.getRawDefinitions(componentName);
|
|
103
|
+
if (keyName) {
|
|
104
|
+
rawDefinitions.forEach(rawDefinition => {
|
|
105
|
+
let rootRawData = rawDefinition.parsedStructure.rawData;
|
|
106
|
+
if (!helpers_lib_1.Comparator.isObject(rootRawData) || helpers_lib_1.Comparator.isArray(rootRawData)) {
|
|
107
|
+
context_1.Context.errorLogs.push({
|
|
108
|
+
description: `KeyName shold not be used with a content which is not an object, keyName: "${keyName}" in "${componentName}"`,
|
|
109
|
+
location: { line: rawDefinition.parsedStructure.line, path: rawDefinition.location.path }
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
let keyValue = rootRawData[keyName]?.rawData;
|
|
114
|
+
if (!helpers_lib_1.Comparator.isString(keyValue)) {
|
|
115
|
+
// Do nothing, joi validation will log the errors
|
|
116
|
+
}
|
|
117
|
+
else if (KeyValueRegex.test(keyValue) === false) {
|
|
118
|
+
context_1.Context.errorLogs.push({
|
|
119
|
+
description: `KeyName should be a valid key, keyName: "${keyName}" in "${componentName}"`,
|
|
120
|
+
location: { line: rootRawData[keyName].line, path: rawDefinition.location.path }
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
else if (definition_store_1.DefinitionStore['isRawDefinitionExists'](ModuleClass, keyValue)) {
|
|
124
|
+
context_1.Context.errorLogs.push({
|
|
125
|
+
description: `Definition with key "${keyValue}" already exists in "${componentName}"`,
|
|
126
|
+
location: { line: rootRawData[keyName].line, path: rawDefinition.location.path }
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
definition_store_1.DefinitionStore['setRawDefinition'](ModuleClass, keyValue, rawDefinition);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
static registerDefinitions(definitions, keyName, ModuleClass) {
|
|
137
|
+
if (keyName) {
|
|
138
|
+
definitions.forEach((definition) => {
|
|
139
|
+
let definitionName = definition[keyName];
|
|
140
|
+
definition_store_1.DefinitionStore['setDefinition'](ModuleClass, definitionName, definition);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
}
|
|
112
144
|
static getOutputFiles() {
|
|
113
145
|
if (context_1.Context.errorLogs.length === 0) {
|
|
114
146
|
console.dir('Definition generation completed without errors.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/framework/kernel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,2CAA6B;AAC7B,+CAAiC;AACjC,6CAAyC;AAGzC,iEAA4D;AAC5D,8DAA2D;AAC3D,kHAA6G;AAC7G,
|
|
1
|
+
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/framework/kernel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common-functions.js","sourceRoot":"","sources":["../../../src/helpers/common-functions/common-functions.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB;IACxB,sBAAsB,CAAC,IAAY,EAAE,aAAqB;QACxD,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;IACzF,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,gBAAgB,CAAC,GAAW;QAC1B,OAAO,GAAG;aACP,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;aACxB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;aACxB,IAAI,EAAE;aACN,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,cAAc,CAAC,GAAW;QACxB,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"common-functions.js","sourceRoot":"","sources":["../../../src/helpers/common-functions/common-functions.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB;IACxB,sBAAsB,CAAC,IAAY,EAAE,aAAqB;QACxD,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;IACzF,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,gBAAgB,CAAC,GAAW;QAC1B,OAAO,GAAG;aACP,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;aACxB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;aACxB,IAAI,EAAE;aACN,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,cAAc,CAAC,GAAW;QACxB,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC;CACF;AAEY,QAAA,eAAe,GAAG,IAAI,oBAAoB,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RawDefinition } from '../../framework/
|
|
1
|
+
import { RawDefinition } from '../../framework/interfaces';
|
|
2
2
|
export declare class RawDefinitionHelper {
|
|
3
3
|
static findLine(rawDefinition: RawDefinition, path: (string | number)[]): number;
|
|
4
4
|
static flatten(rawDefinition: RawDefinition): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raw-definition.helper.js","sourceRoot":"","sources":["../../../src/helpers/raw-definition-helper/raw-definition.helper.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAIzC,MAAa,mBAAmB;IAC9B,MAAM,CAAC,QAAQ,CAAC,aAA4B,EAAE,IAAyB;QACrE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC;QACjH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,aAA4B;QACzC,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,OAA4B,EAAE,IAAyB;QACpF,IAAI,SAAS,GAAgC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1D,IAAI,iBAA8C,CAAC;QAEnD,IAAI,OAAO,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,wBAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,IAAI,wBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChC,iBAAiB,GAAuB,OAAQ,CAAS,SAAS,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,wBAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjC,iBAAiB,GAAqC,OAAQ,CAAS,SAAS,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,iBAAiB,CAAC,IAAI,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,OAAgB;QAC5C,IAAI,wBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAA2B,OAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3G,CAAC;aAAM,IAAI,wBAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,IAAI,aAAa,GAAoC,OAAO,CAAC;YAC7D,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"raw-definition.helper.js","sourceRoot":"","sources":["../../../src/helpers/raw-definition-helper/raw-definition.helper.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAIzC,MAAa,mBAAmB;IAC9B,MAAM,CAAC,QAAQ,CAAC,aAA4B,EAAE,IAAyB;QACrE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC;QACjH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,aAA4B;QACzC,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,OAA4B,EAAE,IAAyB;QACpF,IAAI,SAAS,GAAgC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1D,IAAI,iBAA8C,CAAC;QAEnD,IAAI,OAAO,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,wBAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,IAAI,wBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChC,iBAAiB,GAAuB,OAAQ,CAAS,SAAS,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,wBAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjC,iBAAiB,GAAqC,OAAQ,CAAS,SAAS,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,iBAAiB,CAAC,IAAI,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,OAAgB;QAC5C,IAAI,wBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAA2B,OAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3G,CAAC;aAAM,IAAI,wBAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,IAAI,aAAa,GAAoC,OAAO,CAAC;YAC7D,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CACtC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACX,IAAI,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;gBACzC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACxD,OAAO,GAAG,CAAC;YACb,CAAC,EACoB,EAAE,CACxB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;CACF;AAvDD,kDAuDC"}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import Joi from 'joi';
|
|
2
|
-
import { RawDefinition } from '../../../framework/
|
|
2
|
+
import { RawDefinition } from '../../../framework/interfaces';
|
|
3
3
|
import { DuplicateHelper } from '../../duplicate-helper/duplicate-helper';
|
|
4
|
-
import { DefinitionComponentClassType } from '../../../
|
|
4
|
+
import { DefinitionComponentClassType } from '../../../decorators/definition-component';
|
|
5
5
|
export declare class CustomValidatorHelper {
|
|
6
|
-
private static definitionNames;
|
|
7
6
|
private static duplicateHelpers;
|
|
8
7
|
static logDuplicates(): void;
|
|
9
8
|
static getDefinitionComponentName(definitionComponentClass: DefinitionComponentClassType<any>): string;
|
|
10
9
|
static getDefinitionComponentNamesFromArray(definitionComponentClasses: DefinitionComponentClassType<any> | DefinitionComponentClassType<any>[]): string[];
|
|
11
|
-
static getValidationState(helpers: Joi.CustomHelpers): 'notValid' | 'valid'
|
|
10
|
+
static getValidationState(helpers: Joi.CustomHelpers): 'notValid' | 'valid';
|
|
12
11
|
static getPathAndRawDefinition(helpers: Joi.CustomHelpers): {
|
|
13
12
|
path: string[];
|
|
14
13
|
rawDefinition: RawDefinition;
|
|
15
14
|
};
|
|
16
|
-
static getDefinitionNames(componentName: string): Set<string>;
|
|
17
15
|
static getDuplicateHelper(componentName: string): DuplicateHelper;
|
|
18
16
|
}
|
|
@@ -4,7 +4,6 @@ exports.CustomValidatorHelper = void 0;
|
|
|
4
4
|
const helpers_lib_1 = require("helpers-lib");
|
|
5
5
|
const duplicate_helper_1 = require("../../duplicate-helper/duplicate-helper");
|
|
6
6
|
class CustomValidatorHelper {
|
|
7
|
-
static { this.definitionNames = new Map(); }
|
|
8
7
|
static { this.duplicateHelpers = new Map(); }
|
|
9
8
|
static logDuplicates() {
|
|
10
9
|
this.duplicateHelpers.forEach(duplicateHelper => duplicateHelper.logDuplicateErrors());
|
|
@@ -25,7 +24,7 @@ class CustomValidatorHelper {
|
|
|
25
24
|
return 'valid';
|
|
26
25
|
}
|
|
27
26
|
else if (helpers.state.path[0] && helpers.prefs.context) {
|
|
28
|
-
return
|
|
27
|
+
return 'valid';
|
|
29
28
|
}
|
|
30
29
|
else {
|
|
31
30
|
return 'notValid';
|
|
@@ -36,14 +35,6 @@ class CustomValidatorHelper {
|
|
|
36
35
|
let rawDefinition = helpers.prefs.context;
|
|
37
36
|
return { path, rawDefinition };
|
|
38
37
|
}
|
|
39
|
-
static getDefinitionNames(componentName) {
|
|
40
|
-
let definitionNames = this.definitionNames.get(componentName);
|
|
41
|
-
if (!definitionNames) {
|
|
42
|
-
definitionNames = new Set();
|
|
43
|
-
this.definitionNames.set(componentName, definitionNames);
|
|
44
|
-
}
|
|
45
|
-
return definitionNames;
|
|
46
|
-
}
|
|
47
38
|
static getDuplicateHelper(componentName) {
|
|
48
39
|
let duplicateHelper = this.duplicateHelpers.get(componentName);
|
|
49
40
|
if (!duplicateHelper) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-validator.helper.js","sourceRoot":"","sources":["../../../../src/helpers/validator/custom-validator-helper/custom-validator.helper.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAIzC,8EAA0E;AAG1E,MAAa,qBAAqB;aACjB,
|
|
1
|
+
{"version":3,"file":"custom-validator.helper.js","sourceRoot":"","sources":["../../../../src/helpers/validator/custom-validator-helper/custom-validator.helper.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAIzC,8EAA0E;AAG1E,MAAa,qBAAqB;aACjB,qBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAErE,MAAM,CAAC,aAAa;QAClB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,wBAA2D;QAC3F,OAAa,wBAAyB,CAAC,KAAK,CAAC,aAAa,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,oCAAoC,CACzC,0BAAmG;QAEnG,OAAO,wBAAU,CAAC,OAAO,CAAC,0BAA0B,CAAC;YACnD,CAAC,CAAuC,0BAA2B,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAC/F,IAAI,CAAC,0BAA0B,CAAC,wBAAwB,CAAC,CAC1D;YACH,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,OAA0B;QAClD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACxB,OAAO,UAAU,CAAC;QACpB,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO,OAAO,CAAC;QACjB,CAAC;aAAM,IAAU,OAAO,CAAC,KAAK,CAAC,IAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACjE,OAAO,OAAO,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,OAA0B;QACvD,IAAI,IAAI,GAAQ,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QACnC,IAAI,aAAa,GAAkB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QACzD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,aAAqB;QAC7C,IAAI,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/D,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,eAAe,GAAG,IAAI,kCAAe,CAAC,aAAa,CAAC,CAAC;YACrD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;;AA9CH,sDA+CC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-validator.helper.spec.js","sourceRoot":"","sources":["../../../../src/helpers/validator/custom-validator-helper/custom-validator.helper.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"custom-validator.helper.spec.js","sourceRoot":"","sources":["../../../../src/helpers/validator/custom-validator-helper/custom-validator.helper.spec.ts"],"names":[],"mappings":"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"}
|