@futdevpro/fsm-dynamo 1.10.26 → 1.10.27

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.
@@ -15,6 +15,7 @@ export declare class DyFM_DataModel_Settings<T extends DyFM_Metadata> extends Dy
15
15
  export type DyFM_Data_P<T> = DyFM_DataModel_Params<T>;
16
16
  export type DyFM_Data_Params<T> = DyFM_DataModel_Params<T>;
17
17
  export declare class DyFM_DataModel_Params<T extends DyFM_Metadata> extends DyFM_DataModel_Settings<T> {
18
+ readonly stackLocation: string;
18
19
  constructor(set: DyFM_DataModel_Settings<T>);
19
20
  constructed?(): boolean;
20
21
  setKeysForSubObjectParams?(property: DyFM_DataProperty_Params<any>): void;
@@ -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":"AAEA,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;AAErG,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;AACxD,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;AAC/D,qBAAa,uBAAuB,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,aAAa;IACjF;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAC3D,qBAAa,qBAAqB,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;gBAK1F,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAiIjC,WAAW,CAAC,IAAI,OAAO;IAIvB,yBAAyB,CAAC,CAAC,QAAQ,EAAE,wBAAwB,CAAC,GAAG,CAAC,GAAG,IAAI;CAkB1E"}
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":"AAGA,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;AAErG,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;AACxD,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;AAC/D,qBAAa,uBAAuB,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,aAAa;IACjF;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAC3D,qBAAa,qBAAqB,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAG5F,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAG7B,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAiJjC,WAAW,CAAC,IAAI,OAAO;IAIvB,yBAAyB,CAAC,CAAC,QAAQ,EAAE,wBAAwB,CAAC,GAAG,CAAC,GAAG,IAAI;CAmB1E"}
@@ -2,6 +2,7 @@
2
2
  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
+ const stack_util_1 = require("../../_collections/utils/stack.util");
5
6
  const basic_property_type_enum_1 = require("../../_enums/basic-property-type.enum");
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");
@@ -17,26 +18,34 @@ class DyFM_DataModel_Settings extends metadata_data_model_1.DyFM_Metadata {
17
18
  exports.DyFM_DataModel_Settings = DyFM_DataModel_Settings;
18
19
  class DyFM_DataModel_Params extends DyFM_DataModel_Settings {
19
20
  /* override properties?: DyFM_DataProperties<T>; */
21
+ stackLocation;
20
22
  constructor(set) {
21
23
  super(set);
22
24
  if (set) {
23
25
  Object.assign(this, set);
24
26
  }
27
+ this.stackLocation = (0, stack_util_1.DyFM_getStackLocation)();
25
28
  if (!this.properties || typeof this.properties !== 'object') {
26
29
  log_util_1.DyFM_Log.error('DyFM_DataModel_Params.constructor: ' +
27
- `Properties are missing in "${this.dataName}" model.`);
30
+ `Properties are missing in "${this.dataName}" model.` +
31
+ `\nstackLocation: ${this.stackLocation}`);
28
32
  this.properties = {};
29
33
  }
30
- Object.keys(this.properties).forEach((key) => {
34
+ const keys = Object.keys(this.properties);
35
+ keys.forEach((key) => {
31
36
  if (!key) {
32
37
  log_util_1.DyFM_Log.error('DyFM_DataModel_Params.constructor: ' +
33
- `A property key is missing in "${this.dataName}" model.`);
38
+ `A property key is missing in "${this.dataName}" model.` +
39
+ `\nstackLocation: ${this.stackLocation}`);
34
40
  }
35
41
  const property = this.properties[key];
36
42
  property.key = key;
37
- if (this.properties[key].subObjectParams) {
38
- this.setKeysForSubObjectParams(this.properties[key]);
43
+ if (property.subObjectParams) {
44
+ this.setKeysForSubObjectParams(property);
39
45
  }
46
+ });
47
+ keys.forEach((key) => {
48
+ const property = this.properties[key];
40
49
  /* if (property.vectorizeTo) {
41
50
  if (!this.properties[property.vectorizeTo]) {
42
51
  throw new Error(
@@ -50,28 +59,34 @@ class DyFM_DataModel_Params extends DyFM_DataModel_Settings {
50
59
  if (property.vectorizedFrom) {
51
60
  if (!this.properties[property.vectorizedFrom]) {
52
61
  throw new Error(`Vectorized from property "${property.vectorizedFrom}" is not found in ` +
53
- `"${this.dataName}" model.`);
62
+ `"${this.dataName}" model.` +
63
+ `\nstackLocation: ${this.stackLocation}`);
54
64
  }
55
65
  /* this.properties[property.vectorizedFrom].vectorizeTo ??= key; */
56
66
  if (property.type !== 'number[]') {
57
67
  throw new Error(`Vectorized from property "${property.vectorizedFrom}" is not a number[] property in ` +
58
- `"${this.dataName}" model.`);
68
+ `"${this.dataName}" model.` +
69
+ `\nstackLocation: ${this.stackLocation}`);
59
70
  }
60
71
  if (this.properties[property.vectorizedFrom].type !== basic_property_type_enum_1.DyFM_BasicProperty_Type.string) {
61
72
  throw new Error(`Vectorized from property "${property.vectorizedFrom}" is not a string property in ` +
62
- `"${this.dataName}" model.`);
73
+ `"${this.dataName}" model.` +
74
+ `\nstackLocation: ${this.stackLocation}`);
63
75
  }
64
76
  if (!property.vectorizeUseIndex) {
65
77
  throw new Error('vectorizeUseIndex is required if vectorizedFrom is set. ' +
66
- `"${this.dataName}" model.`);
78
+ `"${this.dataName}" model.` +
79
+ `\nstackLocation: ${this.stackLocation}`);
67
80
  }
68
81
  if (!this.properties[property.vectorizeUseIndex]) {
69
82
  throw new Error(`vectorizeUseIndex property "${property.vectorizeUseIndex}" is not found in ` +
70
- `"${this.dataName}" model.`);
83
+ `"${this.dataName}" model.` +
84
+ `\nstackLocation: ${this.stackLocation}`);
71
85
  }
72
86
  if (!this.properties[property.vectorizeUseIndex].index) {
73
87
  throw new Error(`vectorizeUseIndex property "${property.vectorizeUseIndex}" is not an ` +
74
- `index property in "${this.dataName}" model.`);
88
+ `index property in "${this.dataName}" model.` +
89
+ `\nstackLocation: ${this.stackLocation}`);
75
90
  }
76
91
  }
77
92
  });
@@ -98,12 +113,14 @@ class DyFM_DataModel_Params extends DyFM_DataModel_Settings {
98
113
  if (RegExp(/[A-Z]/).exec(this.dataName)) {
99
114
  log_util_1.DyFM_Log.warn('DyFM_DataModel_Params.constructor: ' +
100
115
  `dbName should be in snake_case in "${this.dataName}" model.` +
101
- 'For future compatibility.');
116
+ 'For future compatibility.' +
117
+ `\nstackLocation: ${this.stackLocation}`);
102
118
  }
103
119
  if (this.dataName.includes('-')) {
104
120
  log_util_1.DyFM_Log.warn('DyFM_DataModel_Params.constructor: ' +
105
121
  `dataName should be in snake_case in "${this.dataName}" model.` +
106
- 'For future compatibility.');
122
+ 'For future compatibility.' +
123
+ `\nstackLocation: ${this.stackLocation}`);
107
124
  }
108
125
  }
109
126
  constructed() {
@@ -114,7 +131,8 @@ class DyFM_DataModel_Params extends DyFM_DataModel_Settings {
114
131
  Object.keys(property.subObjectParams).forEach((key) => {
115
132
  if (!key) {
116
133
  log_util_1.DyFM_Log.error('DyFM_DataModel_Params.setKeysForSubObjectParams: ' +
117
- `A subObjectParams key is missing in "${this.dataName}" model.`);
134
+ `A subObjectParams key is missing in "${this.dataName}" model.` +
135
+ `\nstackLocation: ${this.stackLocation}`);
118
136
  }
119
137
  property.subObjectParams[key].key = key;
120
138
  if (property.subObjectParams[key].subObjectParams) {
@@ -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":"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"}
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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"}
@@ -23,14 +23,16 @@ describe('DyFM_DataModel_Params', () => {
23
23
  spyOn(log_util_1.DyFM_Log, 'error');
24
24
  mockSettings.properties = null;
25
25
  const params = new data_model_params_control_model_1.DyFM_DataModel_Params(mockSettings);
26
- expect(log_util_1.DyFM_Log.error).toHaveBeenCalledWith('DyFM_DataModel_Params.constructor: Properties are missing in "test_model" model.');
26
+ expect(log_util_1.DyFM_Log.error).toHaveBeenCalledWith('DyFM_DataModel_Params.constructor: Properties are missing in "test_model" model.' +
27
+ `\nstackLocation: ${params.stackLocation}`);
27
28
  expect(params.properties).toEqual({});
28
29
  });
29
30
  it('should log an error if a property key is missing', () => {
30
31
  spyOn(log_util_1.DyFM_Log, 'error');
31
32
  mockSettings.properties = { '': { key: '' } };
32
- new data_model_params_control_model_1.DyFM_DataModel_Params(mockSettings);
33
- expect(log_util_1.DyFM_Log.error).toHaveBeenCalledWith('DyFM_DataModel_Params.constructor: A property key is missing in "test_model" model.');
33
+ const params = new data_model_params_control_model_1.DyFM_DataModel_Params(mockSettings);
34
+ expect(log_util_1.DyFM_Log.error).toHaveBeenCalledWith('DyFM_DataModel_Params.constructor: A property key is missing in "test_model" model.' +
35
+ `\nstackLocation: ${params.stackLocation}`);
34
36
  });
35
37
  it('should set modelType to data if not provided or is data', () => {
36
38
  const params = new data_model_params_control_model_1.DyFM_DataModel_Params(mockSettings);
@@ -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;AAC7D,4EAAwE;AACxE,4EAAmE;AACnE,uFAAmG;AAGnG,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,MAAM,YAAa,SAAQ,mCAAa;KAEvC;IAED,IAAI,YAAmD,CAAC;IAExD,UAAU,CAAC,GAAG,EAAE;QACd,YAAY,GAAG;YACb,QAAQ,EAAE,YAAY;YACtB,UAAU,EAAE,EAAuC;SACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,MAAM,GAAG,IAAI,uDAAqB,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,KAAK,CAAC,mBAAQ,EAAE,OAAO,CAAC,CAAC;QACzB,YAAY,CAAC,UAAU,GAAG,IAAW,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,uDAAqB,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,CAAC,mBAAQ,CAAC,KAAK,CAAC,CAAC,oBAAoB,CACzC,kFAAkF,CACnF,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,KAAK,CAAC,mBAAQ,EAAE,OAAO,CAAC,CAAC;QACzB,YAAY,CAAC,UAAU,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAS,CAAC;QACrD,IAAI,uDAAqB,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,CAAC,mBAAQ,CAAC,KAAK,CAAC,CAAC,oBAAoB,CACzC,qFAAqF,CACtF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,MAAM,GAAG,IAAI,uDAAqB,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,0CAAmB,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,MAAM,GAAG,IAAI,uDAAqB,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
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;AAC7D,4EAAwE;AACxE,4EAAmE;AACnE,uFAAmG;AAGnG,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,MAAM,YAAa,SAAQ,mCAAa;KAEvC;IAED,IAAI,YAAmD,CAAC;IAExD,UAAU,CAAC,GAAG,EAAE;QACd,YAAY,GAAG;YACb,QAAQ,EAAE,YAAY;YACtB,UAAU,EAAE,EAAuC;SACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,MAAM,GAAG,IAAI,uDAAqB,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,KAAK,CAAC,mBAAQ,EAAE,OAAO,CAAC,CAAC;QACzB,YAAY,CAAC,UAAU,GAAG,IAAW,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,uDAAqB,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,CAAC,mBAAQ,CAAC,KAAK,CAAC,CAAC,oBAAoB,CACzC,kFAAkF;YAClF,oBAAoB,MAAM,CAAC,aAAa,EAAE,CAC3C,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,KAAK,CAAC,mBAAQ,EAAE,OAAO,CAAC,CAAC;QACzB,YAAY,CAAC,UAAU,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAS,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,uDAAqB,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,CAAC,mBAAQ,CAAC,KAAK,CAAC,CAAC,oBAAoB,CACzC,qFAAqF;YACrF,oBAAoB,MAAM,CAAC,aAAa,EAAE,CAC3C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,MAAM,GAAG,IAAI,uDAAqB,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,0CAAmB,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,MAAM,GAAG,IAAI,uDAAqB,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/fsm-dynamo",
3
- "version": "01.10.26",
3
+ "version": "01.10.27",
4
4
  "description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
5
5
  "scripts": {
6
6
  "prep": "npm i pnpm -g && npm i rimraf nodemon -g",
@@ -29,7 +29,8 @@ describe('DyFM_DataModel_Params', () => {
29
29
  mockSettings.properties = null as any;
30
30
  const params = new DyFM_DataModel_Params(mockSettings);
31
31
  expect(DyFM_Log.error).toHaveBeenCalledWith(
32
- 'DyFM_DataModel_Params.constructor: Properties are missing in "test_model" model.'
32
+ 'DyFM_DataModel_Params.constructor: Properties are missing in "test_model" model.' +
33
+ `\nstackLocation: ${params.stackLocation}`
33
34
  );
34
35
  expect(params.properties).toEqual({});
35
36
  });
@@ -37,9 +38,10 @@ describe('DyFM_DataModel_Params', () => {
37
38
  it('should log an error if a property key is missing', () => {
38
39
  spyOn(DyFM_Log, 'error');
39
40
  mockSettings.properties = { '': { key: '' } } as any;
40
- new DyFM_DataModel_Params(mockSettings);
41
+ const params = new DyFM_DataModel_Params(mockSettings);
41
42
  expect(DyFM_Log.error).toHaveBeenCalledWith(
42
- 'DyFM_DataModel_Params.constructor: A property key is missing in "test_model" model.'
43
+ 'DyFM_DataModel_Params.constructor: A property key is missing in "test_model" model.' +
44
+ `\nstackLocation: ${params.stackLocation}`
43
45
  );
44
46
  });
45
47
 
@@ -1,4 +1,5 @@
1
1
  import { DyFM_Log } from '../../_collections/utils/log.util';
2
+ import { DyFM_getStackLocation } from '../../_collections/utils/stack.util';
2
3
  import { DyFM_BasicProperty_Type } from '../../_enums/basic-property-type.enum';
3
4
  import { DyFM_DataModel_Type } from '../../_enums/data-model-type.enum';
4
5
  import { DyFM_Metadata } from '../data-models/metadata.data-model';
@@ -21,6 +22,7 @@ export type DyFM_Data_Params<T> = DyFM_DataModel_Params<T>;
21
22
  export class DyFM_DataModel_Params<T extends DyFM_Metadata> extends DyFM_DataModel_Settings<T> {
22
23
 
23
24
  /* override properties?: DyFM_DataProperties<T>; */
25
+ readonly stackLocation: string;
24
26
 
25
27
  constructor(
26
28
  set: DyFM_DataModel_Settings<T>
@@ -31,30 +33,38 @@ export class DyFM_DataModel_Params<T extends DyFM_Metadata> extends DyFM_DataMod
31
33
  Object.assign(this, set);
32
34
  }
33
35
 
36
+ this.stackLocation = DyFM_getStackLocation();
37
+
34
38
  if (!this.properties || typeof this.properties !== 'object') {
35
39
  DyFM_Log.error(
36
40
  'DyFM_DataModel_Params.constructor: ' +
37
- `Properties are missing in "${this.dataName}" model.`
41
+ `Properties are missing in "${this.dataName}" model.` +
42
+ `\nstackLocation: ${this.stackLocation}`
38
43
  );
39
44
 
40
45
  this.properties = {} as DyFM_DataProperties<T>;
41
46
  }
42
47
 
43
- Object.keys(this.properties).forEach((key: string): void => {
48
+ const keys: string[] = Object.keys(this.properties);
49
+ keys.forEach((key: string): void => {
44
50
  if (!key) {
45
51
  DyFM_Log.error(
46
52
  'DyFM_DataModel_Params.constructor: ' +
47
- `A property key is missing in "${this.dataName}" model.`
53
+ `A property key is missing in "${this.dataName}" model.` +
54
+ `\nstackLocation: ${this.stackLocation}`
48
55
  );
49
56
  }
50
57
 
51
58
  const property: DyFM_DataProperty_Params<any> = this.properties[key];
52
59
  property.key = key;
53
60
 
54
- if (this.properties[key].subObjectParams) {
55
- this.setKeysForSubObjectParams(this.properties[key]);
61
+ if (property.subObjectParams) {
62
+ this.setKeysForSubObjectParams(property);
56
63
  }
64
+ });
57
65
 
66
+ keys.forEach((key: string): void => {
67
+ const property: DyFM_DataProperty_Params<any> = this.properties[key];
58
68
  /* if (property.vectorizeTo) {
59
69
  if (!this.properties[property.vectorizeTo]) {
60
70
  throw new Error(
@@ -70,7 +80,8 @@ export class DyFM_DataModel_Params<T extends DyFM_Metadata> extends DyFM_DataMod
70
80
  if (!this.properties[property.vectorizedFrom]) {
71
81
  throw new Error(
72
82
  `Vectorized from property "${property.vectorizedFrom}" is not found in ` +
73
- `"${this.dataName}" model.`
83
+ `"${this.dataName}" model.` +
84
+ `\nstackLocation: ${this.stackLocation}`
74
85
  );
75
86
  }
76
87
 
@@ -79,35 +90,40 @@ export class DyFM_DataModel_Params<T extends DyFM_Metadata> extends DyFM_DataMod
79
90
  if (property.type !== 'number[]') {
80
91
  throw new Error(
81
92
  `Vectorized from property "${property.vectorizedFrom}" is not a number[] property in ` +
82
- `"${this.dataName}" model.`
93
+ `"${this.dataName}" model.` +
94
+ `\nstackLocation: ${this.stackLocation}`
83
95
  );
84
96
  }
85
97
 
86
98
  if ((this.properties[property.vectorizedFrom] as DyFM_DataProperty_Params<any>).type !== DyFM_BasicProperty_Type.string) {
87
99
  throw new Error(
88
100
  `Vectorized from property "${property.vectorizedFrom}" is not a string property in ` +
89
- `"${this.dataName}" model.`
101
+ `"${this.dataName}" model.` +
102
+ `\nstackLocation: ${this.stackLocation}`
90
103
  );
91
104
  }
92
105
 
93
106
  if (!property.vectorizeUseIndex) {
94
107
  throw new Error(
95
108
  'vectorizeUseIndex is required if vectorizedFrom is set. ' +
96
- `"${this.dataName}" model.`
109
+ `"${this.dataName}" model.` +
110
+ `\nstackLocation: ${this.stackLocation}`
97
111
  );
98
112
  }
99
113
 
100
114
  if (!this.properties[property.vectorizeUseIndex]) {
101
115
  throw new Error(
102
116
  `vectorizeUseIndex property "${property.vectorizeUseIndex}" is not found in ` +
103
- `"${this.dataName}" model.`
117
+ `"${this.dataName}" model.` +
118
+ `\nstackLocation: ${this.stackLocation}`
104
119
  );
105
120
  }
106
121
 
107
122
  if (!(this.properties[property.vectorizeUseIndex] as DyFM_DataProperty_Params<any>).index) {
108
123
  throw new Error(
109
124
  `vectorizeUseIndex property "${property.vectorizeUseIndex}" is not an ` +
110
- `index property in "${this.dataName}" model.`
125
+ `index property in "${this.dataName}" model.` +
126
+ `\nstackLocation: ${this.stackLocation}`
111
127
  );
112
128
  }
113
129
  }
@@ -139,7 +155,8 @@ export class DyFM_DataModel_Params<T extends DyFM_Metadata> extends DyFM_DataMod
139
155
  DyFM_Log.warn(
140
156
  'DyFM_DataModel_Params.constructor: ' +
141
157
  `dbName should be in snake_case in "${this.dataName}" model.` +
142
- 'For future compatibility.'
158
+ 'For future compatibility.' +
159
+ `\nstackLocation: ${this.stackLocation}`
143
160
  );
144
161
  }
145
162
 
@@ -147,7 +164,8 @@ export class DyFM_DataModel_Params<T extends DyFM_Metadata> extends DyFM_DataMod
147
164
  DyFM_Log.warn(
148
165
  'DyFM_DataModel_Params.constructor: ' +
149
166
  `dataName should be in snake_case in "${this.dataName}" model.` +
150
- 'For future compatibility.'
167
+ 'For future compatibility.' +
168
+ `\nstackLocation: ${this.stackLocation}`
151
169
  );
152
170
  }
153
171
  }
@@ -162,7 +180,8 @@ export class DyFM_DataModel_Params<T extends DyFM_Metadata> extends DyFM_DataMod
162
180
  if (!key) {
163
181
  DyFM_Log.error(
164
182
  'DyFM_DataModel_Params.setKeysForSubObjectParams: ' +
165
- `A subObjectParams key is missing in "${this.dataName}" model.`
183
+ `A subObjectParams key is missing in "${this.dataName}" model.` +
184
+ `\nstackLocation: ${this.stackLocation}`
166
185
  );
167
186
  }
168
187
 
Binary file