pwi-plata-type 0.4.148 → 0.4.150
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__/bin/plata-runtime.js +1 -1
- package/__BUILD__/bin/plata-runtime.js.map +1 -1
- package/__BUILD__/libs/build.js +1 -0
- package/__BUILD__/libs/build.js.map +1 -1
- package/__BUILD__/libs/models/model-template-combine.js +15 -3
- package/__BUILD__/libs/models/model-template-combine.js.map +1 -1
- package/package.json +1 -1
- package/src/@types/model.d.ts +1 -1
- package/src/bin/plata-runtime.ts +1 -1
- package/src/libs/build.ts +1 -0
- package/src/libs/models/model-template-combine.ts +20 -4
|
@@ -24,7 +24,7 @@ async function compile() {
|
|
|
24
24
|
}
|
|
25
25
|
exports.compile = compile;
|
|
26
26
|
const shouldCompile = async () => {
|
|
27
|
-
if (process.argv.findIndex(p => p === '--skip-recompile') !== -1)
|
|
27
|
+
if (process.argv.findIndex(p => p === '--skip-recompile') !== -1 || Plata.ProjectJson['plata_skip_recompile'] !== undefined)
|
|
28
28
|
return Plata.files.access(node_path_1.default.join(Plata.ProjectDir, '__BUILD__')).then(r => !r);
|
|
29
29
|
return true;
|
|
30
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plata-runtime.js","sourceRoot":"","sources":["../../src/bin/plata-runtime.ts"],"names":[],"mappings":";;;;;;;AAEA,0DAA4B;AAC5B,6CAAgC;AAChC,gEAAkC;AAClC,2DAAyD;AACzD,mCAAoC;AACpC,qCAA4C;AAC5C,yCAA0C;AAEnC,KAAK,UAAU,OAAO;IACzB,IAAI,CAAC,sBAAO,CAAC,SAAS;QAAE,OAAM;IAE9B,MAAM,kBAAU,CAAC,OAAO,CAAC;QACrB,QAAQ,EAAE,KAAK,CAAC,UAAU;QAC1B,QAAQ,EAAE,IAAI;QACd,gBAAgB,EAAE,KAAK;QACvB,QAAQ,EAAE,KAAK;KAClB,CAAC,CAAA;AA0BN,CAAC;AAlCD,0BAkCC;AAED,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IAC7B,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"plata-runtime.js","sourceRoot":"","sources":["../../src/bin/plata-runtime.ts"],"names":[],"mappings":"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"}
|
package/__BUILD__/libs/build.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/libs/build.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAC5B,+BAA2B;AAC3B,oDAA2B;AAE3B,IAAiB,UAAU,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/libs/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ class ModelTemplateCombine {
|
|
|
5
5
|
type;
|
|
6
6
|
models;
|
|
7
7
|
validations;
|
|
8
|
+
filters;
|
|
8
9
|
constructor(models) {
|
|
9
10
|
this.models = models;
|
|
10
11
|
this.validations = new Set();
|
|
@@ -12,14 +13,25 @@ class ModelTemplateCombine {
|
|
|
12
13
|
addValidation(callback) {
|
|
13
14
|
this.validations.add(callback);
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
addFilters(callback) {
|
|
17
|
+
this.addFilters(callback);
|
|
18
|
+
}
|
|
19
|
+
filter(obj) {
|
|
20
|
+
let value = obj;
|
|
17
21
|
for (let i = 0; i < this.models.length; i++) {
|
|
18
22
|
const model = this.models[i];
|
|
19
23
|
if (model.filter !== undefined) {
|
|
20
|
-
|
|
24
|
+
value = model.filter(value);
|
|
21
25
|
}
|
|
22
26
|
}
|
|
27
|
+
this.filters.forEach(f => { value = f(value); });
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
async validate(obj, skipFilter) {
|
|
31
|
+
let v = obj;
|
|
32
|
+
if (!skipFilter) {
|
|
33
|
+
v = this.filter(v);
|
|
34
|
+
}
|
|
23
35
|
{
|
|
24
36
|
const promises = [];
|
|
25
37
|
for (let i = 0; i < this.models.length; i++) {
|
|
@@ -1 +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;IACF,WAAW,CAAiE;
|
|
1
|
+
{"version":3,"file":"model-template-combine.js","sourceRoot":"","sources":["../../../src/libs/models/model-template-combine.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/@types/model.d.ts
CHANGED
|
@@ -108,7 +108,7 @@ declare namespace Model {
|
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
interface ModelClass {
|
|
111
|
-
readonly type:
|
|
111
|
+
readonly type: Record<string | number, any>
|
|
112
112
|
filter?: (value: any) => any
|
|
113
113
|
validate(value: any, skipFilter?: true): Promise<Model.ModelValidateReturnHelper<any, any>>
|
|
114
114
|
|
package/src/bin/plata-runtime.ts
CHANGED
|
@@ -45,7 +45,7 @@ export async function compile() {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
const shouldCompile = async () => { // TODO Colocar a compilição e essa função em um arquivo separado
|
|
48
|
-
if (process.argv.findIndex(p => p === '--skip-recompile') !== -1)
|
|
48
|
+
if (process.argv.findIndex(p => p === '--skip-recompile') !== -1 || Plata.ProjectJson['plata_skip_recompile'] !== undefined)
|
|
49
49
|
return Plata.files.access(path.join(Plata.ProjectDir, '__BUILD__')).then(r => !r)
|
|
50
50
|
;
|
|
51
51
|
|
package/src/libs/build.ts
CHANGED
|
@@ -2,6 +2,7 @@ export class ModelTemplateCombine<const T extends readonly Model.ModelClass[]> {
|
|
|
2
2
|
readonly type: ArrayCombine<T>['type']
|
|
3
3
|
readonly models: T
|
|
4
4
|
public readonly validations: Set<(value: typeof this.type) => Promise<Model.ValidateReturn>>
|
|
5
|
+
public readonly filters: Set<(value: Model.RemoveTypesForFilter<typeof this.type>) => ArrayCombine<T>['type']>
|
|
5
6
|
|
|
6
7
|
constructor(models: T) {
|
|
7
8
|
this.models = models
|
|
@@ -12,16 +13,32 @@ export class ModelTemplateCombine<const T extends readonly Model.ModelClass[]> {
|
|
|
12
13
|
this.validations.add(callback)
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
public
|
|
16
|
-
|
|
16
|
+
public addFilters(callback: (value: Model.RemoveTypesForFilter<typeof this.type>) => ArrayCombine<T>['type']) {
|
|
17
|
+
this.addFilters(callback)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
public filter(obj: any): any {
|
|
21
|
+
let value = obj
|
|
17
22
|
for (let i = 0; i < this.models.length; i++) {
|
|
18
23
|
const model = this.models[i]
|
|
19
24
|
|
|
20
25
|
if (model.filter !== undefined) {
|
|
21
|
-
|
|
26
|
+
value = model.filter(value)
|
|
22
27
|
}
|
|
23
28
|
}
|
|
24
29
|
|
|
30
|
+
this.filters.forEach(f => { value = f(value)})
|
|
31
|
+
|
|
32
|
+
return value
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public async validate(obj: any, skipFilter?: true): Promise<Model.ModelValidateReturnHelper<typeof this.type, undefined>> {
|
|
36
|
+
let v = obj
|
|
37
|
+
|
|
38
|
+
if (!skipFilter) {
|
|
39
|
+
v = this.filter(v)
|
|
40
|
+
}
|
|
41
|
+
|
|
25
42
|
{ // Valida as models
|
|
26
43
|
const promises: Promise<{ errors?: PlataError[] }>[] = []
|
|
27
44
|
|
|
@@ -46,7 +63,6 @@ export class ModelTemplateCombine<const T extends readonly Model.ModelClass[]> {
|
|
|
46
63
|
}
|
|
47
64
|
}
|
|
48
65
|
|
|
49
|
-
|
|
50
66
|
|
|
51
67
|
{ // Validacoes adicionais
|
|
52
68
|
const promises: Promise<Model.ValidateReturn>[] = []
|