@futdevpro/fsm-dynamo 1.11.36 → 1.11.38
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/build/_collections/utils/utilities.util.d.ts +5 -0
- package/build/_collections/utils/utilities.util.d.ts.map +1 -1
- package/build/_collections/utils/utilities.util.js +40 -0
- package/build/_collections/utils/utilities.util.js.map +1 -1
- package/build/_enums/basic-property-type.enum.d.ts +4 -2
- package/build/_enums/basic-property-type.enum.d.ts.map +1 -1
- package/build/_enums/basic-property-type.enum.js +3 -1
- package/build/_enums/basic-property-type.enum.js.map +1 -1
- package/build/_models/control-models/data-model-params.control-model.d.ts +1 -5
- package/build/_models/control-models/data-model-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/data-model-params.control-model.js +152 -116
- package/build/_models/control-models/data-model-params.control-model.js.map +1 -1
- package/build/_models/control-models/data-model-params.control-model.spec.js +19 -1
- package/build/_models/control-models/data-model-params.control-model.spec.js.map +1 -1
- package/build/_models/control-models/data-property-params.control-model.d.ts +9 -8
- package/build/_models/control-models/data-property-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/data-property-params.control-model.js +1 -0
- package/build/_models/control-models/data-property-params.control-model.js.map +1 -1
- package/build/_models/control-models/data-property-params.control-model.spec.js.map +1 -1
- package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.d.ts.map +1 -1
- package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.js +4 -3
- package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.js.map +1 -1
- package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.js +7 -6
- package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.js.map +1 -1
- package/build/_modules/usage/_models/usg-session.data-model.spec.js +12 -9
- package/build/_modules/usage/_models/usg-session.data-model.spec.js.map +1 -1
- package/futdevpro-fsm-dynamo-01.11.38.tgz +0 -0
- package/package.json +1 -1
- package/src/_collections/utils/utilities.util.ts +45 -0
- package/src/_enums/basic-property-type.enum.ts +3 -1
- package/src/_models/control-models/data-model-params.control-model.spec.ts +29 -1
- package/src/_models/control-models/data-model-params.control-model.ts +183 -146
- package/src/_models/control-models/data-property-params.control-model.spec.ts +3 -3
- package/src/_models/control-models/data-property-params.control-model.ts +9 -8
- package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.ts +7 -6
- package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts +4 -3
- package/src/_modules/usage/_models/usg-session.data-model.spec.ts +12 -9
- package/futdevpro-fsm-dynamo-01.11.36.tgz +0 -0
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
import { DyFM_BasicProperty_Type } from '../../_enums/basic-property-type.enum';
|
|
1
2
|
/**
|
|
2
3
|
* checks if the value is not null or undefined
|
|
3
4
|
*/
|
|
4
5
|
export declare function DyFM_notNull(value: any): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* checks if the value is a function
|
|
8
|
+
*/
|
|
9
|
+
export declare function DyFM_getBasicPropertyType(type: string): DyFM_BasicProperty_Type;
|
|
5
10
|
//# sourceMappingURL=utilities.util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/utilities.util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utilities.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/utilities.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAEhD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CAuC/E"}
|
|
@@ -1,10 +1,50 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DyFM_notNull = DyFM_notNull;
|
|
4
|
+
exports.DyFM_getBasicPropertyType = DyFM_getBasicPropertyType;
|
|
5
|
+
const basic_property_type_enum_1 = require("../../_enums/basic-property-type.enum");
|
|
4
6
|
/**
|
|
5
7
|
* checks if the value is not null or undefined
|
|
6
8
|
*/
|
|
7
9
|
function DyFM_notNull(value) {
|
|
8
10
|
return value !== null && value !== undefined;
|
|
9
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* checks if the value is a function
|
|
14
|
+
*/
|
|
15
|
+
function DyFM_getBasicPropertyType(type) {
|
|
16
|
+
if (!type) {
|
|
17
|
+
throw new Error('Type is missing');
|
|
18
|
+
}
|
|
19
|
+
switch (type.toLocaleLowerCase()) {
|
|
20
|
+
case basic_property_type_enum_1.DyFM_BasicProperty_Type.string:
|
|
21
|
+
case 'string':
|
|
22
|
+
return basic_property_type_enum_1.DyFM_BasicProperty_Type.string;
|
|
23
|
+
case basic_property_type_enum_1.DyFM_BasicProperty_Type.number:
|
|
24
|
+
case 'number':
|
|
25
|
+
return basic_property_type_enum_1.DyFM_BasicProperty_Type.number;
|
|
26
|
+
case basic_property_type_enum_1.DyFM_BasicProperty_Type.boolean:
|
|
27
|
+
case 'boolean':
|
|
28
|
+
return basic_property_type_enum_1.DyFM_BasicProperty_Type.boolean;
|
|
29
|
+
case basic_property_type_enum_1.DyFM_BasicProperty_Type.date:
|
|
30
|
+
case 'date':
|
|
31
|
+
return basic_property_type_enum_1.DyFM_BasicProperty_Type.date;
|
|
32
|
+
case basic_property_type_enum_1.DyFM_BasicProperty_Type.object:
|
|
33
|
+
case 'object':
|
|
34
|
+
return basic_property_type_enum_1.DyFM_BasicProperty_Type.object;
|
|
35
|
+
case basic_property_type_enum_1.DyFM_BasicProperty_Type.array:
|
|
36
|
+
case 'array':
|
|
37
|
+
return basic_property_type_enum_1.DyFM_BasicProperty_Type.array;
|
|
38
|
+
default:
|
|
39
|
+
if (type.includes('[]') || type.includes('array')) {
|
|
40
|
+
return basic_property_type_enum_1.DyFM_BasicProperty_Type.array;
|
|
41
|
+
}
|
|
42
|
+
else if (type.includes('=>') || type.includes('function')) {
|
|
43
|
+
return basic_property_type_enum_1.DyFM_BasicProperty_Type.function;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return basic_property_type_enum_1.DyFM_BasicProperty_Type.object;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
10
50
|
//# sourceMappingURL=utilities.util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/utilities.util.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"utilities.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/utilities.util.ts"],"names":[],"mappings":";;AAKA,oCAEC;AAKD,8DAuCC;AAnDD,oFAAgF;AAEhF;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAU;IACrC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CAAC,IAAY;IACpD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,QAAQ,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACjC,KAAK,kDAAuB,CAAC,MAAM,CAAC;QACpC,KAAK,QAAQ;YACX,OAAO,kDAAuB,CAAC,MAAM,CAAC;QAExC,KAAK,kDAAuB,CAAC,MAAM,CAAC;QACpC,KAAK,QAAQ;YACX,OAAO,kDAAuB,CAAC,MAAM,CAAC;QAExC,KAAK,kDAAuB,CAAC,OAAO,CAAC;QACrC,KAAK,SAAS;YACZ,OAAO,kDAAuB,CAAC,OAAO,CAAC;QAEzC,KAAK,kDAAuB,CAAC,IAAI,CAAC;QAClC,KAAK,MAAM;YACT,OAAO,kDAAuB,CAAC,IAAI,CAAC;QAEtC,KAAK,kDAAuB,CAAC,MAAM,CAAC;QACpC,KAAK,QAAQ;YACX,OAAO,kDAAuB,CAAC,MAAM,CAAC;QAExC,KAAK,kDAAuB,CAAC,KAAK,CAAC;QACnC,KAAK,OAAO;YACV,OAAO,kDAAuB,CAAC,KAAK,CAAC;QAEvC;YACE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClD,OAAO,kDAAuB,CAAC,KAAK,CAAC;YACvC,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5D,OAAO,kDAAuB,CAAC,QAAQ,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,OAAO,kDAAuB,CAAC,MAAM,CAAC;YACxC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -10,7 +10,9 @@ export declare enum DyFM_BasicProperty_Type {
|
|
|
10
10
|
string = "string",
|
|
11
11
|
number = "number",
|
|
12
12
|
boolean = "boolean",
|
|
13
|
-
date = "
|
|
14
|
-
object = "object"
|
|
13
|
+
date = "date",
|
|
14
|
+
object = "object",
|
|
15
|
+
array = "array",
|
|
16
|
+
function = "function"
|
|
15
17
|
}
|
|
16
18
|
//# sourceMappingURL=basic-property-type.enum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-property-type.enum.d.ts","sourceRoot":"","sources":["../../src/_enums/basic-property-type.enum.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,oBAAY,uBAAuB;IACjC,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;
|
|
1
|
+
{"version":3,"file":"basic-property-type.enum.d.ts","sourceRoot":"","sources":["../../src/_enums/basic-property-type.enum.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,oBAAY,uBAAuB;IACjC,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB"}
|
|
@@ -14,7 +14,9 @@ var DyFM_BasicProperty_Type;
|
|
|
14
14
|
DyFM_BasicProperty_Type["string"] = "string";
|
|
15
15
|
DyFM_BasicProperty_Type["number"] = "number";
|
|
16
16
|
DyFM_BasicProperty_Type["boolean"] = "boolean";
|
|
17
|
-
DyFM_BasicProperty_Type["date"] = "
|
|
17
|
+
DyFM_BasicProperty_Type["date"] = "date";
|
|
18
18
|
DyFM_BasicProperty_Type["object"] = "object";
|
|
19
|
+
DyFM_BasicProperty_Type["array"] = "array";
|
|
20
|
+
DyFM_BasicProperty_Type["function"] = "function";
|
|
19
21
|
})(DyFM_BasicProperty_Type || (exports.DyFM_BasicProperty_Type = DyFM_BasicProperty_Type = {}));
|
|
20
22
|
//# sourceMappingURL=basic-property-type.enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-property-type.enum.js","sourceRoot":"","sources":["../../src/_enums/basic-property-type.enum.ts"],"names":[],"mappings":";;;AAGA;;;;;;;GAOG;AACH,IAAY,
|
|
1
|
+
{"version":3,"file":"basic-property-type.enum.js","sourceRoot":"","sources":["../../src/_enums/basic-property-type.enum.ts"],"names":[],"mappings":";;;AAGA;;;;;;;GAOG;AACH,IAAY,uBAQX;AARD,WAAY,uBAAuB;IACjC,4CAAiB,CAAA;IACjB,4CAAiB,CAAA;IACjB,8CAAmB,CAAA;IACnB,wCAAa,CAAA;IACb,4CAAiB,CAAA;IACjB,0CAAe,CAAA;IACf,gDAAqB,CAAA;AACvB,CAAC,EARW,uBAAuB,uCAAvB,uBAAuB,QAQlC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { DyFM_DataModel_Type } from '../../_enums/data-model-type.enum';
|
|
2
2
|
import { DyFM_Metadata } from '../data-models/metadata.data-model';
|
|
3
3
|
import { DyFM_DataProperties, DyFM_DataProperty_Params } from './data-property-params.control-model';
|
|
4
|
-
export type DyFM_Data_S<T extends DyFM_Metadata> = DyFM_DataModel_Settings<T>;
|
|
5
|
-
export type DyFM_Data_Settings<T extends DyFM_Metadata> = DyFM_DataModel_Settings<T>;
|
|
6
4
|
export declare class DyFM_DataModel_Settings<T extends DyFM_Metadata> extends DyFM_Metadata {
|
|
7
5
|
/** this will be used as db table name, therefore it should be in snake_case,
|
|
8
6
|
* this also will be used in logs and errors
|
|
@@ -24,12 +22,10 @@ export declare class DyFM_DataModel_Settings<T extends DyFM_Metadata> extends Dy
|
|
|
24
22
|
forbidDelete?: boolean;
|
|
25
23
|
properties: DyFM_DataProperties<T>;
|
|
26
24
|
}
|
|
27
|
-
export type DyFM_Data_P<T extends DyFM_Metadata> = DyFM_DataModel_Params<T>;
|
|
28
|
-
export type DyFM_Data_Params<T extends DyFM_Metadata> = DyFM_DataModel_Params<T>;
|
|
29
25
|
export declare class DyFM_DataModel_Params<T extends DyFM_Metadata> extends DyFM_DataModel_Settings<T> {
|
|
30
26
|
readonly stackLocation?: string;
|
|
31
27
|
constructor(set: DyFM_DataModel_Settings<T>);
|
|
32
28
|
constructed?(): boolean;
|
|
33
|
-
setKeysForSubObjectParams?(property: DyFM_DataProperty_Params<any>): void;
|
|
29
|
+
setKeysForSubObjectParams?(property: DyFM_DataProperty_Params<any, T>): void;
|
|
34
30
|
}
|
|
35
31
|
//# sourceMappingURL=data-model-params.control-model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-model-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data-model-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAKrG,qBAAa,uBAAuB,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,aAAa;IACjF;;OAEG;IACH,QAAQ,EAAG,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEhC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,UAAU,EAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACrC;AAID,qBAAa,qBAAqB,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAG5F,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;gBAG9B,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAuMjC,WAAW,CAAC,IAAI,OAAO;IAIvB,yBAAyB,CAAC,CAAC,QAAQ,EAAE,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI;CA0B7E"}
|
|
@@ -3,9 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DyFM_DataModel_Params = exports.DyFM_DataModel_Settings = void 0;
|
|
4
4
|
const log_util_1 = require("../../_collections/utils/log.util");
|
|
5
5
|
const stack_util_1 = require("../../_collections/utils/stack.util");
|
|
6
|
+
const utilities_util_1 = require("../../_collections/utils/utilities.util");
|
|
6
7
|
const data_model_type_enum_1 = require("../../_enums/data-model-type.enum");
|
|
7
8
|
const metadata_data_model_1 = require("../data-models/metadata.data-model");
|
|
8
9
|
const data_property_params_control_model_1 = require("./data-property-params.control-model");
|
|
10
|
+
const error_control_model_1 = require("./error.control-model");
|
|
11
|
+
/* export type DyFM_Data_S<T extends DyFM_Metadata> = DyFM_DataModel_Settings<T>;
|
|
12
|
+
export type DyFM_Data_Settings<T extends DyFM_Metadata> = DyFM_DataModel_Settings<T>; */
|
|
9
13
|
class DyFM_DataModel_Settings extends metadata_data_model_1.DyFM_Metadata {
|
|
10
14
|
/** this will be used as db table name, therefore it should be in snake_case,
|
|
11
15
|
* this also will be used in logs and errors
|
|
@@ -28,140 +32,166 @@ class DyFM_DataModel_Settings extends metadata_data_model_1.DyFM_Metadata {
|
|
|
28
32
|
properties;
|
|
29
33
|
}
|
|
30
34
|
exports.DyFM_DataModel_Settings = DyFM_DataModel_Settings;
|
|
35
|
+
/* export type DyFM_Data_P<T extends DyFM_Metadata> = DyFM_DataModel_Params<T>;
|
|
36
|
+
export type DyFM_Data_Params<T extends DyFM_Metadata> = DyFM_DataModel_Params<T>; */
|
|
31
37
|
class DyFM_DataModel_Params extends DyFM_DataModel_Settings {
|
|
32
38
|
/* override properties?: DyFM_DataProperties<T>; */
|
|
33
39
|
stackLocation;
|
|
34
40
|
constructor(set) {
|
|
35
41
|
super(set);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
`Properties are missing in "${this.dataName}" model.` +
|
|
43
|
-
`\nstackLocation: ${this.stackLocation}\n`);
|
|
44
|
-
this.properties = {};
|
|
45
|
-
}
|
|
46
|
-
const keys = Object.keys(this.properties);
|
|
47
|
-
keys.forEach((key) => {
|
|
48
|
-
if (!key) {
|
|
42
|
+
try {
|
|
43
|
+
if (set) {
|
|
44
|
+
Object.assign(this, set);
|
|
45
|
+
}
|
|
46
|
+
this.stackLocation = (0, stack_util_1.DyFM_getConstructionStackLocation)();
|
|
47
|
+
if (!this.properties || typeof this.properties !== 'object') {
|
|
49
48
|
log_util_1.DyFM_Log.error('DyFM_DataModel_Params.constructor: ' +
|
|
50
|
-
`
|
|
49
|
+
`Properties are missing in "${this.dataName}" model.` +
|
|
51
50
|
`\nstackLocation: ${this.stackLocation}\n`);
|
|
51
|
+
this.properties = {};
|
|
52
52
|
}
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
key
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
property
|
|
76
|
-
|
|
77
|
-
|
|
53
|
+
const keys = Object.keys(this.properties);
|
|
54
|
+
keys.forEach((key) => {
|
|
55
|
+
if (!key) {
|
|
56
|
+
log_util_1.DyFM_Log.error('DyFM_DataModel_Params.constructor: ' +
|
|
57
|
+
`A property key is missing in "${this.dataName}" model.` +
|
|
58
|
+
`\nstackLocation: ${this.stackLocation}\n`);
|
|
59
|
+
}
|
|
60
|
+
const propertyParams = new data_property_params_control_model_1.DyFM_DataProperty_Params({
|
|
61
|
+
...this.properties[key],
|
|
62
|
+
key: key,
|
|
63
|
+
}, this);
|
|
64
|
+
const basicType = (0, utilities_util_1.DyFM_getBasicPropertyType)(propertyParams.type);
|
|
65
|
+
if (basicType !== propertyParams.type) {
|
|
66
|
+
propertyParams.nonBasicType = propertyParams.type;
|
|
67
|
+
propertyParams.type = basicType;
|
|
68
|
+
}
|
|
69
|
+
this.properties[key] = propertyParams;
|
|
70
|
+
if (propertyParams.subObjectParams) {
|
|
71
|
+
this.setKeysForSubObjectParams(propertyParams);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
keys.forEach((key) => {
|
|
75
|
+
const property = this.properties[key];
|
|
76
|
+
/* if (property.vectorizeTo) {
|
|
77
|
+
if (!this.properties[property.vectorizeTo]) {
|
|
78
|
+
throw new Error(
|
|
79
|
+
`Vectorize to property "${property.vectorizeTo}" is not found in ` +
|
|
80
|
+
`"${this.dataName}" model.`
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
this.properties[property.vectorizeTo].vectorizeFrom ??= key;
|
|
85
|
+
} */
|
|
86
|
+
if (property.vectorizedFrom) {
|
|
87
|
+
property.vectorizedFrom.forEach((fromKey) => {
|
|
88
|
+
if (!this.properties[fromKey]) {
|
|
89
|
+
log_util_1.DyFM_Log.error(`Vectorized from property "${fromKey}" is not found in ` +
|
|
90
|
+
`"${this.dataName}" model.` +
|
|
91
|
+
`\nstackLocation: ${this.stackLocation}\n`);
|
|
92
|
+
}
|
|
93
|
+
/* if (!this.properties[fromKey].vectorizeUseIndex) {
|
|
94
|
+
DyFM_Log.error(
|
|
95
|
+
`Vectorized from property "${fromKey}" has no vectorizeUseIndex in ` +
|
|
96
|
+
`"${this.dataName}" model.` +
|
|
97
|
+
`\nstackLocation: ${this.stackLocation}\n`
|
|
98
|
+
);
|
|
99
|
+
} */
|
|
100
|
+
/* if (
|
|
101
|
+
(this.properties[fromKey] as DyFM_DataProperty_Params<any>)?.type !== DyFM_BasicProperty_Type.string
|
|
102
|
+
) {
|
|
103
|
+
DyFM_Log.error(
|
|
104
|
+
`Vectorized from property "${property.vectorizedFrom}" is not a string property in ` +
|
|
105
|
+
`"${this.dataName}" model.` +
|
|
106
|
+
`\nstackLocation: ${this.stackLocation}\n`
|
|
107
|
+
);
|
|
108
|
+
} */
|
|
109
|
+
});
|
|
110
|
+
/* this.properties[property.vectorizedFrom].vectorizeTo ??= key; */
|
|
111
|
+
if (property.type !== 'number[]') {
|
|
112
|
+
log_util_1.DyFM_Log.error(`Vectorized from property "${property.vectorizedFrom}" is not a number[] property in ` +
|
|
78
113
|
`"${this.dataName}" model.` +
|
|
79
114
|
`\nstackLocation: ${this.stackLocation}\n`);
|
|
80
115
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
116
|
+
if (!property.vectorizeUseIndex) {
|
|
117
|
+
log_util_1.DyFM_Log.error('vectorizeUseIndex is required if vectorizedFrom is set. ' +
|
|
118
|
+
`"${this.dataName}" model.` +
|
|
119
|
+
`\nstackLocation: ${this.stackLocation}\n`);
|
|
120
|
+
}
|
|
121
|
+
if (property.index) {
|
|
122
|
+
/** {@link DyFM_DataProperty_Params.vectorizeUseIndex} */
|
|
123
|
+
log_util_1.DyFM_Log.warn(`index is not recommended to be set for vectorized properties in ` +
|
|
124
|
+
`"${this.dataName}" model. ` +
|
|
125
|
+
`\n(you should set it in the Atlas and vectorizeUseIndex, ` +
|
|
126
|
+
`more info at DyFM_DataProperty_Params.vectorizeUseIndex))` +
|
|
127
|
+
`\nstackLocation: ${this.stackLocation}\n`);
|
|
128
|
+
}
|
|
129
|
+
/* if (!this.properties[property.vectorizeUseIndex]) {
|
|
130
|
+
throw new Error(
|
|
131
|
+
`vectorizeUseIndex property "${property.vectorizeUseIndex}" is not found in ` +
|
|
84
132
|
`"${this.dataName}" model.` +
|
|
85
133
|
`\nstackLocation: ${this.stackLocation}\n`
|
|
86
134
|
);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
`
|
|
93
|
-
|
|
94
|
-
`\nstackLocation: ${this.stackLocation}\n`
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
if (!(this.properties[property.vectorizeUseIndex] as DyFM_DataProperty_Params<any>).index) {
|
|
138
|
+
throw new Error(
|
|
139
|
+
`vectorizeUseIndex property "${property.vectorizeUseIndex}" is not an ` +
|
|
140
|
+
`index property in "${this.dataName}" model.` +
|
|
141
|
+
`\nstackLocation: ${this.stackLocation}`
|
|
95
142
|
);
|
|
96
143
|
} */
|
|
97
|
-
});
|
|
98
|
-
/* this.properties[property.vectorizedFrom].vectorizeTo ??= key; */
|
|
99
|
-
if (property.type !== 'number[]') {
|
|
100
|
-
log_util_1.DyFM_Log.error(`Vectorized from property "${property.vectorizedFrom}" is not a number[] property in ` +
|
|
101
|
-
`"${this.dataName}" model.` +
|
|
102
|
-
`\nstackLocation: ${this.stackLocation}\n`);
|
|
103
144
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
`\nstackLocation: ${this.stackLocation}\n`
|
|
122
|
-
);
|
|
145
|
+
});
|
|
146
|
+
if (!this?.modelType || this?.modelType == data_model_type_enum_1.DyFM_DataModel_Type.data) {
|
|
147
|
+
this.modelType = data_model_type_enum_1.DyFM_DataModel_Type.data;
|
|
148
|
+
}
|
|
149
|
+
/* if (!this.dbName && this?.modelType == DyFM_DataModel_Type.data) {
|
|
150
|
+
// upper case first letter
|
|
151
|
+
this.dbName = this.dataName.charAt(0).toUpperCase() + this.dataName.slice(1);
|
|
152
|
+
|
|
153
|
+
this.dbName.split('').forEach((char: string, index: number): void => {
|
|
154
|
+
if (
|
|
155
|
+
index > 0 &&
|
|
156
|
+
this.dbName[index - 1] === '_' &&
|
|
157
|
+
char === char.toUpperCase()
|
|
158
|
+
) {
|
|
159
|
+
this.dbName = this.dbName.slice(0, index) +
|
|
160
|
+
char.toLowerCase() +
|
|
161
|
+
this.dbName.slice(index + 1);
|
|
123
162
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
`
|
|
129
|
-
`\nstackLocation: ${this.stackLocation}`
|
|
130
|
-
|
|
131
|
-
} */
|
|
163
|
+
});
|
|
164
|
+
} */
|
|
165
|
+
if (!this.dataName) {
|
|
166
|
+
log_util_1.DyFM_Log.error('DyFM_DataModel_Params.constructor: ' +
|
|
167
|
+
`dataName is missing in "${this.dataName}" model.` +
|
|
168
|
+
`\nstackLocation: ${this.stackLocation}\n`);
|
|
169
|
+
this.dataName = 'UNNAMED_MODEL';
|
|
132
170
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
char === char.toUpperCase()
|
|
146
|
-
) {
|
|
147
|
-
this.dbName = this.dbName.slice(0, index) +
|
|
148
|
-
char.toLowerCase() +
|
|
149
|
-
this.dbName.slice(index + 1);
|
|
171
|
+
// check for any Uppercase letters in dbName
|
|
172
|
+
if (RegExp(/[A-Z]/).exec(this.dataName)) {
|
|
173
|
+
log_util_1.DyFM_Log.warn('DyFM_DataModel_Params.constructor: ' +
|
|
174
|
+
`dbName should be in snake_case in "${this.dataName}" model.` +
|
|
175
|
+
'For future compatibility.' +
|
|
176
|
+
`\nstackLocation: ${this.stackLocation}\n`);
|
|
177
|
+
}
|
|
178
|
+
if (this.dataName.includes('-')) {
|
|
179
|
+
log_util_1.DyFM_Log.warn('DyFM_DataModel_Params.constructor: ' +
|
|
180
|
+
`dataName should be in snake_case in "${this.dataName}" model.` +
|
|
181
|
+
'For future compatibility.' +
|
|
182
|
+
`\nstackLocation: ${this.stackLocation}\n`);
|
|
150
183
|
}
|
|
151
|
-
});
|
|
152
|
-
} */
|
|
153
|
-
// check for any Uppercase letters in dbName
|
|
154
|
-
if (RegExp(/[A-Z]/).exec(this.dataName)) {
|
|
155
|
-
log_util_1.DyFM_Log.warn('DyFM_DataModel_Params.constructor: ' +
|
|
156
|
-
`dbName should be in snake_case in "${this.dataName}" model.` +
|
|
157
|
-
'For future compatibility.' +
|
|
158
|
-
`\nstackLocation: ${this.stackLocation}\n`);
|
|
159
184
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
`\nstackLocation: ${this.stackLocation}
|
|
185
|
+
catch (error) {
|
|
186
|
+
error_control_model_1.DyFM_Error.logSimple('DyFM_DataModel_Params.constructor error:', error);
|
|
187
|
+
log_util_1.DyFM_Log.warn('Due to the error, the Params contruction failed, therefore the model is not constructed properly. ' +
|
|
188
|
+
`("${this.dataName}" model)` +
|
|
189
|
+
`\nstackLocation: ${this.stackLocation}`);
|
|
190
|
+
/* DyFM_Log.error(
|
|
191
|
+
'DyFM_DataModel_Params.constructor: ' +
|
|
192
|
+
`An error occurred while constructing the "${this.dataName}" model.` +
|
|
193
|
+
`\nstackLocation: ${this.stackLocation}\n`
|
|
194
|
+
); */
|
|
165
195
|
}
|
|
166
196
|
}
|
|
167
197
|
constructed() {
|
|
@@ -175,9 +205,15 @@ class DyFM_DataModel_Params extends DyFM_DataModel_Settings {
|
|
|
175
205
|
`A subObjectParams key is missing in "${this.dataName}" model.` +
|
|
176
206
|
`\nstackLocation: ${this.stackLocation}\n`);
|
|
177
207
|
}
|
|
178
|
-
property.subObjectParams[key]
|
|
179
|
-
|
|
180
|
-
|
|
208
|
+
const subObjectPropertyParams = property.subObjectParams[key];
|
|
209
|
+
subObjectPropertyParams.key = key;
|
|
210
|
+
const basicType = (0, utilities_util_1.DyFM_getBasicPropertyType)(subObjectPropertyParams.type);
|
|
211
|
+
if (basicType !== subObjectPropertyParams.type) {
|
|
212
|
+
subObjectPropertyParams.nonBasicType = subObjectPropertyParams.type;
|
|
213
|
+
subObjectPropertyParams.type = basicType;
|
|
214
|
+
}
|
|
215
|
+
if (subObjectPropertyParams.subObjectParams) {
|
|
216
|
+
this.setKeysForSubObjectParams(subObjectPropertyParams);
|
|
181
217
|
}
|
|
182
218
|
});
|
|
183
219
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-model-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.ts"],"names":[],"mappings":";;;AAAA,gEAA6D;AAC7D,oEAAwF;
|
|
1
|
+
{"version":3,"file":"data-model-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ const log_util_1 = require("../../_collections/utils/log.util");
|
|
|
4
4
|
const data_model_type_enum_1 = require("../../_enums/data-model-type.enum");
|
|
5
5
|
const metadata_data_model_1 = require("../data-models/metadata.data-model");
|
|
6
6
|
const data_model_params_control_model_1 = require("./data-model-params.control-model");
|
|
7
|
+
const error_control_model_1 = require("./error.control-model");
|
|
7
8
|
describe('| DyFM_DataModel_Params', () => {
|
|
8
9
|
class MockMetadata extends metadata_data_model_1.DyFM_Metadata {
|
|
9
10
|
}
|
|
@@ -27,13 +28,30 @@ describe('| DyFM_DataModel_Params', () => {
|
|
|
27
28
|
`\nstackLocation: ${params.stackLocation}\n`);
|
|
28
29
|
expect(params.properties).toEqual({});
|
|
29
30
|
});
|
|
31
|
+
it('| should log an error if a property type is missing', () => {
|
|
32
|
+
spyOn(error_control_model_1.DyFM_Error, 'logSimple');
|
|
33
|
+
spyOn(log_util_1.DyFM_Log, 'warn');
|
|
34
|
+
mockSettings.properties = { '': { key: 'asd', type: '' } };
|
|
35
|
+
const params = new data_model_params_control_model_1.DyFM_DataModel_Params(mockSettings);
|
|
36
|
+
expect(error_control_model_1.DyFM_Error.logSimple).toHaveBeenCalledWith('DyFM_DataModel_Params.constructor error:', new Error('Type is missing'));
|
|
37
|
+
expect(log_util_1.DyFM_Log.warn).toHaveBeenCalledWith('Due to the error, the Params contruction failed, therefore the model is not constructed properly. ' +
|
|
38
|
+
`("test_model" model)` +
|
|
39
|
+
`\nstackLocation: ${params.stackLocation}`);
|
|
40
|
+
});
|
|
30
41
|
it('| should log an error if a property key is missing', () => {
|
|
31
42
|
spyOn(log_util_1.DyFM_Log, 'error');
|
|
32
|
-
mockSettings.properties = { '': { key: '' } };
|
|
43
|
+
mockSettings.properties = { '': { key: '', type: 'any' } };
|
|
33
44
|
const params = new data_model_params_control_model_1.DyFM_DataModel_Params(mockSettings);
|
|
34
45
|
expect(log_util_1.DyFM_Log.error).toHaveBeenCalledWith('DyFM_DataModel_Params.constructor: A property key is missing in "test_model" model.' +
|
|
35
46
|
`\nstackLocation: ${params.stackLocation}\n`);
|
|
36
47
|
});
|
|
48
|
+
it('| should log an error if dataName is missing', () => {
|
|
49
|
+
spyOn(log_util_1.DyFM_Log, 'error');
|
|
50
|
+
mockSettings.dataName = '';
|
|
51
|
+
const params = new data_model_params_control_model_1.DyFM_DataModel_Params(mockSettings);
|
|
52
|
+
expect(log_util_1.DyFM_Log.error).toHaveBeenCalledWith('DyFM_DataModel_Params.constructor: dataName is missing in "" model.' +
|
|
53
|
+
`\nstackLocation: ${params.stackLocation}\n`);
|
|
54
|
+
});
|
|
37
55
|
it('| should set modelType to data if not provided or is data', () => {
|
|
38
56
|
const params = new data_model_params_control_model_1.DyFM_DataModel_Params(mockSettings);
|
|
39
57
|
expect(params.modelType).toBe(data_model_type_enum_1.DyFM_DataModel_Type.data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-model-params.control-model.spec.js","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.spec.ts"],"names":[],"mappings":";;AAAA,gEAA6D;
|
|
1
|
+
{"version":3,"file":"data-model-params.control-model.spec.js","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { DyFM_BasicProperty_Type } from '../../_enums/basic-property-type.enum';
|
|
2
2
|
import { DyFM_OpenAIEmbeddingModel } from '../../_modules/open-ai/_enums/open-ai-model.enum';
|
|
3
3
|
import { DyFM_DataModel_Params } from './data-model-params.control-model';
|
|
4
|
-
export type DyFM_DataProperties<
|
|
5
|
-
[K in keyof
|
|
4
|
+
export type DyFM_DataProperties<T_Data> = {
|
|
5
|
+
[K in keyof T_Data]: DyFM_DataProperty_Params<T_Data[K], T_Data>;
|
|
6
6
|
};
|
|
7
|
-
export declare class DyFM_DataProperty_Settings<
|
|
7
|
+
export declare class DyFM_DataProperty_Settings<T_Property, T_Data> {
|
|
8
8
|
key?: string;
|
|
9
9
|
type: DyFM_BasicProperty_Type | string;
|
|
10
|
-
|
|
10
|
+
nonBasicType?: string;
|
|
11
|
+
default?: T_Property;
|
|
11
12
|
unique?: boolean;
|
|
12
13
|
readonly?: boolean;
|
|
13
14
|
required?: boolean;
|
|
@@ -56,15 +57,15 @@ export declare class DyFM_DataProperty_Settings<T> {
|
|
|
56
57
|
minlength?: number;
|
|
57
58
|
maxlength?: number;
|
|
58
59
|
subObjectParams?: DyFM_DataProperties<any>;
|
|
59
|
-
additionalValidators?: ((
|
|
60
|
+
additionalValidators?: ((propertyValue: T_Property, data: T_Data) => void)[];
|
|
60
61
|
}
|
|
61
62
|
/**
|
|
62
63
|
* This will be used for setting up db.
|
|
63
64
|
* DataServices also uses this to prehook tools, as db service and dependency db service.
|
|
64
65
|
*/
|
|
65
|
-
export declare class DyFM_DataProperty_Params<
|
|
66
|
-
additionalValidators?: ((
|
|
67
|
-
constructor(set: DyFM_DataProperty_Settings<
|
|
66
|
+
export declare class DyFM_DataProperty_Params<T_Property, T_Data> extends DyFM_DataProperty_Settings<T_Property, T_Data> {
|
|
67
|
+
additionalValidators?: ((propertyValue: T_Property, data: T_Data) => void)[];
|
|
68
|
+
constructor(set: DyFM_DataProperty_Settings<T_Property, T_Data>, parentDataParams?: DyFM_DataModel_Params<any>);
|
|
68
69
|
constructed?(): boolean;
|
|
69
70
|
getBEType?(): string | number | boolean | object | Function | Array<any> | Date;
|
|
70
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-property-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/data-property-params.control-model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,MAAM,MAAM,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"data-property-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/data-property-params.control-model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,MAAM,MAAM,mBAAmB,CAAC,MAAM,IAAI;KACvC,CAAC,IAAI,MAAM,MAAM,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;CACjE,CAAA;AAID,qBAAa,0BAA0B,CAAC,UAAU,EAAE,MAAM;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAG,uBAAuB,GAAG,MAAM,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,UAAU,CAAC;IAErB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,cAAc,CAAC,EAAE,yBAAyB,CAAC;IAC3C;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,eAAe,CAAC,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAE3C,oBAAoB,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC;CAC9E;AAKD;;;GAGG;AACH,qBAAa,wBAAwB,CAAC,UAAU,EAAE,MAAM,CAAE,SAAQ,0BAA0B,CAAC,UAAU,EAAE,MAAM,CAAC;IAKrG,oBAAoB,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,EAAE,CAAM;gBAGzF,GAAG,EAAE,0BAA0B,CAAC,UAAU,EAAE,MAAM,CAAC,EACnD,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC;IAkE/C,WAAW,CAAC,IAAI,OAAO;IAKvB,SAAS,CAAC,IAAI,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI;CAyBhF"}
|