pwi-plata-type 0.4.140 → 0.4.142

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.
@@ -18,4 +18,5 @@ __exportStar(require("./model-validations"), exports);
18
18
  __exportStar(require("./model-template"), exports);
19
19
  __exportStar(require("./model-template-env"), exports);
20
20
  __exportStar(require("./model-template-union"), exports);
21
+ __exportStar(require("./model-template-combine"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAmC;AACnC,mDAAgC;AAChC,uDAAoC;AACpC,yDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAmC;AACnC,mDAAgC;AAChC,uDAAoC;AACpC,yDAAsC;AACtC,2DAAwC"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModelTemplateCombine = void 0;
4
+ class ModelTemplateCombine {
5
+ type;
6
+ models;
7
+ constructor(models) {
8
+ this.models = models;
9
+ }
10
+ async validate(obj) {
11
+ let v = obj;
12
+ for (let i = 0; i < this.models.length; i++) {
13
+ const model = this.models[i];
14
+ if (model.filter !== undefined) {
15
+ v = model.filter(v);
16
+ }
17
+ }
18
+ const promises = [];
19
+ for (let i = 0; i < this.models.length; i++) {
20
+ const model = this.models[i];
21
+ promises.push(Plata.FastPromise(() => model.validate(v, true)));
22
+ }
23
+ const results = await Promise.all(promises);
24
+ const errors = results
25
+ .filter((r) => r !== undefined)
26
+ .flatMap(r => r.errors);
27
+ if (errors.length !== 0) {
28
+ return {
29
+ value: undefined,
30
+ errors
31
+ };
32
+ }
33
+ return {
34
+ value: v,
35
+ errors: undefined
36
+ };
37
+ }
38
+ }
39
+ exports.ModelTemplateCombine = ModelTemplateCombine;
40
+ //# sourceMappingURL=model-template-combine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-template-combine.js","sourceRoot":"","sources":["../../../src/libs/models/model-template-combine.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAoB;IACpB,IAAI,CAAyB;IAC7B,MAAM,CAAG;IAElB,YAAY,MAAS;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,GAAQ;QAC1B,IAAI,CAAC,GAAG,GAAG,CAAA;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAE5B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;gBAC5B,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;aACtB;SACJ;QAED,MAAM,QAAQ,GAAyC,EAAE,CAAA;QAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAE7B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;SAClE;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAE3C,MAAM,MAAM,GAAG,OAAO;aACjB,MAAM,CAAC,CAAC,CAAC,EAAiC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;aAC7D,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAC1B;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO;gBACH,KAAK,EAAE,SAAS;gBAChB,MAAM;aACT,CAAA;SACJ;QAED,OAAO;YACH,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,SAAS;SACpB,CAAA;IACL,CAAC;CACJ;AA7CD,oDA6CC"}
@@ -25,7 +25,17 @@ class ModelTemplateUnion {
25
25
  value: value,
26
26
  };
27
27
  }
28
- async validate(value) {
28
+ filter(value) {
29
+ const extraced = this.getExtractFromUnion(value);
30
+ if (extraced.errorID !== undefined) {
31
+ return value;
32
+ }
33
+ if (extraced.model.filter !== undefined) {
34
+ value = extraced.model.filter(value);
35
+ }
36
+ return value;
37
+ }
38
+ async validate(value, skipFilter) {
29
39
  const extraced = this.getExtractFromUnion(value);
30
40
  if (extraced.errorID !== undefined) {
31
41
  return {
@@ -33,7 +43,7 @@ class ModelTemplateUnion {
33
43
  value: undefined
34
44
  };
35
45
  }
36
- const result = await extraced.model.validate(extraced.value);
46
+ const result = await extraced.model.validate(extraced.value, skipFilter);
37
47
  if (result.errors !== undefined) {
38
48
  return {
39
49
  errors: result.errors,
@@ -1 +1 @@
1
- {"version":3,"file":"model-template-union.js","sourceRoot":"","sources":["../../../src/libs/models/model-template-union.ts"],"names":[],"mappings":";;;AAAA,MAAa,kBAAkB;IACX,MAAM,CAAG;IACT,SAAS,CAAG;IACZ,IAAI,CAAmC;IAEvD,YAAY,MAAS,EAAE,SAAY;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;IAEM,mBAAmB,CAAC,KAAU;QACjC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;QAEvD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAErC,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,OAAO;gBACH,OAAO,EAAE,mBAAmB;gBAC5B,GAAG,EAAE,cAAc,IAAI,CAAC,MAAM,CAAC,GAAG,gBAAgB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACzF,KAAK,EAAE,IAAI;aACd,CAAA;SACJ;QAED,OAAO;YACH,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,KAAK;SACR,CAAA;IACZ,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,KAAU;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAEhD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;YAChC,OAAO;gBACH,MAAM,EAAE,CAAC,QAAQ,CAAC;gBAClB,KAAK,EAAE,SAAS;aACnB,CAAA;SACJ;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAE5D,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;YAC7B,OAAO;gBACH,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,SAAS;aACnB,CAAA;SACJ;QAED,OAAO;YACH,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;SACtB,CAAA;IACL,CAAC;CACJ;AAtDD,gDAsDC"}
1
+ {"version":3,"file":"model-template-union.js","sourceRoot":"","sources":["../../../src/libs/models/model-template-union.ts"],"names":[],"mappings":";;;AAAA,MAAa,kBAAkB;IACX,MAAM,CAAG;IACT,SAAS,CAAG;IACZ,IAAI,CAAmC;IAEvD,YAAY,MAAS,EAAE,SAAY;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;IAEM,mBAAmB,CAAC,KAAU;QACjC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;QAEvD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAErC,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,OAAO;gBACH,OAAO,EAAE,mBAAmB;gBAC5B,GAAG,EAAE,cAAc,IAAI,CAAC,MAAM,CAAC,GAAG,gBAAgB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACzF,KAAK,EAAE,IAAI;aACd,CAAA;SACJ;QAED,OAAO;YACH,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,KAAK;SACR,CAAA;IACZ,CAAC;IAKM,MAAM,CAAC,KAAU;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAEhD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;YAChC,OAAO,KAAK,CAAA;SACf;QAED,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;YACrC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;SACvC;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,KAAU,EAAE,UAAiB;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAEhD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;YAChC,OAAO;gBACH,MAAM,EAAE,CAAC,QAAQ,CAAC;gBAClB,KAAK,EAAE,SAAS;aACnB,CAAA;SACJ;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QAExE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;YAC7B,OAAO;gBACH,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,SAAS;aACnB,CAAA;SACJ;QAED,OAAO;YACH,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;SACtB,CAAA;IACL,CAAC;CACJ;AAvED,gDAuEC"}
@@ -46,7 +46,7 @@ var ModelsInternals;
46
46
  value[param] = [value[param]];
47
47
  }
48
48
  for (let i = 0; i < value[param].length; i++) {
49
- value[param][i] = ModelsInternals.filterValidation(value[param][i], t);
49
+ value[param][i] = ModelsInternals.filterValidation(value[param][i], t[0]);
50
50
  }
51
51
  continue;
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/libs/models/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/libs/models/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pwi-plata-type",
3
- "version": "0.4.140",
3
+ "version": "0.4.142",
4
4
  "main": "__BUILD__/index",
5
5
  "types": "src/@types/exported.d.ts",
6
6
  "bin": {
@@ -104,4 +104,10 @@ interface PlataEnvConfig {
104
104
 
105
105
  type DeepWritable<T extends {}> = {
106
106
  -readonly [K in keyof T]: T[K] extends Dictionary<any> ? DeepWritable<T[K]> : T[K]
107
- }
107
+ }
108
+
109
+ type ArrayCombine<T extends readonly any[]> =
110
+ T extends readonly [ infer U extends T[number] ] ? U
111
+ : T extends readonly [ infer U extends T[number], ...infer R] ? U & ArrayCombine<R>
112
+ : never
113
+ ;
@@ -1,4 +1,5 @@
1
1
  export * from './model-validations'
2
2
  export * from './model-template'
3
3
  export * from './model-template-env'
4
- export * from './model-template-union'
4
+ export * from './model-template-union'
5
+ export * from './model-template-combine'
@@ -0,0 +1,46 @@
1
+ export class ModelTemplateCombine<const T extends readonly Model.ModelClass[]> {
2
+ readonly type: ArrayCombine<T>['type']
3
+ readonly models: T
4
+
5
+ constructor(models: T) {
6
+ this.models = models
7
+ }
8
+
9
+ public async validate(obj: any): Promise<Model.ModelValidateReturnHelper<typeof this.type, undefined>> {
10
+ let v = obj
11
+ for (let i = 0; i < this.models.length; i++) {
12
+ const model = this.models[i]
13
+
14
+ if (model.filter !== undefined) {
15
+ v = model.filter(v)
16
+ }
17
+ }
18
+
19
+ const promises: Promise<{ errors?: PlataError[] }>[] = []
20
+
21
+ for (let i = 0; i < this.models.length; i++) {
22
+ const model = this.models[i];
23
+
24
+ promises.push(Plata.FastPromise(() => model.validate(v, true)))
25
+ }
26
+
27
+ const results = await Promise.all(promises)
28
+
29
+ const errors = results
30
+ .filter((r): r is { errors: PlataError[] } => r !== undefined)
31
+ .flatMap(r => r.errors)
32
+ ;
33
+
34
+ if (errors.length !== 0) {
35
+ return {
36
+ value: undefined,
37
+ errors
38
+ }
39
+ }
40
+
41
+ return {
42
+ value: v,
43
+ errors: undefined
44
+ }
45
+ }
46
+ }
@@ -28,7 +28,24 @@ export class ModelTemplateUnion<const C extends Model.TemplateUnionConfig, const
28
28
  } as any
29
29
  }
30
30
 
31
- public async validate(value: any): Promise<Model.ModelValidateReturnHelper<typeof this.type, undefined>> {
31
+ /**
32
+ * Essa função so é para ser usada dentro da plataforma, considera que logo depois será rodado o validate
33
+ */
34
+ public filter(value: any): any {
35
+ const extraced = this.getExtractFromUnion(value)
36
+
37
+ if (extraced.errorID !== undefined) {
38
+ return value
39
+ }
40
+
41
+ if (extraced.model.filter !== undefined) {
42
+ value = extraced.model.filter(value)
43
+ }
44
+
45
+ return value
46
+ }
47
+
48
+ public async validate(value: any, skipFilter?: true): Promise<Model.ModelValidateReturnHelper<typeof this.type, undefined>> {
32
49
  const extraced = this.getExtractFromUnion(value)
33
50
 
34
51
  if (extraced.errorID !== undefined) {
@@ -38,7 +55,7 @@ export class ModelTemplateUnion<const C extends Model.TemplateUnionConfig, const
38
55
  }
39
56
  }
40
57
 
41
- const result = await extraced.model.validate(extraced.value)
58
+ const result = await extraced.model.validate(extraced.value, skipFilter)
42
59
 
43
60
  if (result.errors !== undefined) {
44
61
  return {
@@ -61,7 +61,7 @@ export namespace ModelsInternals {
61
61
  }
62
62
 
63
63
  for (let i = 0; i < value[param].length; i++) {
64
- value[param][i] = ModelsInternals.filterValidation(value[param][i], t as Model.PrimitiveValidationType[])
64
+ value[param][i] = ModelsInternals.filterValidation(value[param][i], t[0] as Model.PrimitiveValidationType[])
65
65
  }
66
66
 
67
67
  continue
@@ -37,7 +37,8 @@ describe('PlataModels', () => {
37
37
  subModel: {
38
38
  required: 1,
39
39
  optional: null
40
- }
40
+ },
41
+ subModelArray: []
41
42
  }
42
43
  }
43
44
 
@@ -66,6 +67,10 @@ describe('PlataModels', () => {
66
67
  optional: [ PlataModels.Optional(), PlataModels.Int() ],
67
68
  required: [ PlataModels.Required(), PlataModels.Int() ],
68
69
  } as const , {})) ],
70
+ subModelArray: [[ PlataModels.useModel(new PlataModels.ModelTemplate({
71
+ optional: [ PlataModels.Optional(), PlataModels.Int() ],
72
+ required: [ PlataModels.Required(), PlataModels.Int() ],
73
+ } as const , {})) ]],
69
74
  array: [ [ PlataModels.VarChar(30) ] ],
70
75
  array_objects: [{
71
76
  param: [ PlataModels.Optional(), PlataModels.Decimal(10,2) ]
@@ -90,7 +95,8 @@ describe('PlataModels', () => {
90
95
 
91
96
  it('Struct Filter', () => {
92
97
  const InitObj = {
93
- array_objects: [{ param: '123' }]
98
+ array_objects: [{ param: '123' }],
99
+ subModelArray: [{ required: 1 }]
94
100
  }
95
101
 
96
102
  const FilteredObj = modelStruct.filter(InitObj)
@@ -104,6 +110,10 @@ describe('PlataModels', () => {
104
110
  required: null,
105
111
  optional: null,
106
112
  },
113
+ subModelArray: [{
114
+ required: 1,
115
+ optional: null,
116
+ }],
107
117
  array: [],
108
118
  array_objects: [{
109
119
  param: '123'