pwi-plata-type 0.4.136 → 0.4.138

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.
Files changed (38) hide show
  1. package/__BUILD__/index.js +1 -1
  2. package/__BUILD__/index.js.map +1 -1
  3. package/__BUILD__/libs/models/index.js +21 -0
  4. package/__BUILD__/libs/models/index.js.map +1 -0
  5. package/__BUILD__/libs/models/model-template-env.js +48 -0
  6. package/__BUILD__/libs/models/model-template-env.js.map +1 -0
  7. package/__BUILD__/libs/models/model-template-union.js +50 -0
  8. package/__BUILD__/libs/models/model-template-union.js.map +1 -0
  9. package/__BUILD__/libs/models/model-template.js +88 -0
  10. package/__BUILD__/libs/models/model-template.js.map +1 -0
  11. package/__BUILD__/libs/models/model-union.js +1 -0
  12. package/__BUILD__/libs/models/model-union.js.map +1 -0
  13. package/__BUILD__/libs/models/model-validations.js.map +1 -0
  14. package/__BUILD__/libs/models/tools.js +114 -0
  15. package/__BUILD__/libs/models/tools.js.map +1 -0
  16. package/package.json +1 -1
  17. package/src/@types/exported.d.ts +1 -1
  18. package/src/@types/knex.d.ts +1 -1
  19. package/src/@types/model.d.ts +65 -7
  20. package/src/@types/sql.d.ts +3 -0
  21. package/src/bin/runtime/switch.ts +1 -1
  22. package/src/index.ts +1 -1
  23. package/src/libs/models/index.ts +4 -0
  24. package/src/libs/models/model-template-env.ts +58 -0
  25. package/src/libs/models/model-template-union.ts +55 -0
  26. package/src/libs/models/model-template.ts +104 -0
  27. package/src/libs/models/model-union.ts +0 -0
  28. package/src/libs/{model.ts → models/tools.ts} +31 -114
  29. package/src/libs/sql.ts +1 -1
  30. package/src/tests/model.env.test.ts +67 -0
  31. package/src/tests/model.test.ts +5 -3
  32. package/src/tests/model.union.test.ts +149 -0
  33. package/src/tests/sql.test.ts +1 -1
  34. package/__BUILD__/libs/model-validations.js.map +0 -1
  35. package/__BUILD__/libs/model.js +0 -200
  36. package/__BUILD__/libs/model.js.map +0 -1
  37. /package/__BUILD__/libs/{model-validations.js → models/model-validations.js} +0 -0
  38. /package/src/libs/{model-validations.ts → models/model-validations.ts} +0 -0
@@ -0,0 +1,55 @@
1
+ export class ModelTemplateUnion<const C extends Model.TemplateUnionConfig, const R extends Model.TemplateRecord> {
2
+ public readonly config: C
3
+ public readonly templates: R
4
+ public readonly type: Model.ExtractModelUnionType<C, R>
5
+
6
+ constructor(config: C, templates: R) {
7
+ this.config = config
8
+ this.templates = templates
9
+ }
10
+
11
+ public getExtractFromUnion(value: any): PlataResult<Model.ExtractModelUnionReturn<C, R>> {
12
+ let type = `${value[this.config.key] ?? null}`
13
+ value[this.config.key] = value[this.config.key] ?? null
14
+
15
+ const template = this.templates[type]
16
+
17
+ if (template === undefined) {
18
+ return {
19
+ errorID: 'PLMODUNEXTFRUN001',
20
+ msg: `O Valor de ${this.config.key} tem que ser ${Object.keys(this.templates).join(',')}`,
21
+ error: type
22
+ }
23
+ }
24
+
25
+ return {
26
+ model: template,
27
+ value: value,
28
+ } as any
29
+ }
30
+
31
+ public async validate(value: any): Promise<Model.ModelValidateReturnHelper<typeof this.type, undefined>> {
32
+ const extraced = this.getExtractFromUnion(value)
33
+
34
+ if (extraced.errorID !== undefined) {
35
+ return {
36
+ errors: [extraced],
37
+ value: undefined
38
+ }
39
+ }
40
+
41
+ const result = await extraced.model.validate(extraced.value)
42
+
43
+ if (result.errors !== undefined) {
44
+ return {
45
+ errors: result.errors,
46
+ value: undefined
47
+ }
48
+ }
49
+
50
+ return {
51
+ errors: undefined,
52
+ value: result.value
53
+ }
54
+ }
55
+ }
@@ -0,0 +1,104 @@
1
+ import { ModelsInternals } from "./tools"
2
+
3
+ export class ModelTemplate<T extends Model.Template, C extends Model.Converters<T>> {
4
+ public readonly template: T
5
+ public readonly converters: C | {}
6
+ public readonly validations: Map<string, Model.ModelTemplateValidation<T>>
7
+ public readonly filters: Map<string, Model.ModelTemplateFilter<T>>
8
+ public readonly type: Model.ExtractTemplateType<T>
9
+
10
+ constructor(template: T, converters: C | {}) {
11
+ this.template = template
12
+ this.converters = converters
13
+ this.validations = new Map()
14
+ this.filters = new Map()
15
+ }
16
+
17
+ public addValidation(nome: string, callback: Model.ModelTemplateValidation<T>) {
18
+ this.validations.set(nome, callback)
19
+ }
20
+
21
+ public addFilter(nome: string, callback: Model.ModelTemplateFilter<T>) {
22
+ this.filters.set(nome, callback)
23
+ }
24
+
25
+ public convert: Model.ModelConvertFuntion<T, C> = (value, to) => {
26
+ const c: Model.ConvertFunction<T, any> | undefined = this.converters[to as string]
27
+
28
+ if (c === undefined)
29
+ return {
30
+ errorID: 'BPLM0002',
31
+ msg: 'Invalid Converter',
32
+ error: to
33
+ }
34
+ ;
35
+
36
+ try {
37
+ return c(value)
38
+ } catch (e) {
39
+ return {
40
+ errorID: 'BPLM0003',
41
+ msg: 'Unexpected converter error',
42
+ error: e
43
+ }
44
+ }
45
+ }
46
+
47
+ public filter(value: any) {
48
+ let v = ModelsInternals.filterTemplate(value, this.template)
49
+
50
+ this.filters.forEach(f => {
51
+ v = f(v)
52
+ })
53
+
54
+ return v
55
+ }
56
+
57
+ public async validate(value: any): Promise<Model.ModelValidateReturn<T>> {
58
+ const v = this.filter(value)
59
+ const errors = await ModelsInternals.validateTemplate(v, this.template)
60
+
61
+ if (errors.errorID !== undefined) {
62
+ return {
63
+ value: v as any,
64
+ errors: [errors]
65
+ }
66
+ }
67
+
68
+ if (errors.length !== 0) {
69
+ return {
70
+ value: v as any,
71
+ errors
72
+ }
73
+ }
74
+
75
+ const promises: Promise<Model.ValidateReturn>[] = []
76
+
77
+ this.validations.forEach(validation => {
78
+ promises.push(validation(v as any))
79
+ })
80
+
81
+ const result: PlataResult<PlataError[]> = await Plata.FastPromise(() => Promise.all(promises)).then(
82
+ r => ([] as Model.ValidateReturn[]).concat(...r).filter(v => v !== null),
83
+ err => {
84
+ return {
85
+ errorID: 'BPLM0002',
86
+ msg: `unexpected error while validating model`,
87
+ error: err
88
+ }
89
+ }
90
+ ) as any
91
+
92
+ if (result.errorID !== undefined) {
93
+ return {
94
+ value: v as any,
95
+ errors: [result]
96
+ }
97
+ }
98
+
99
+ return {
100
+ value: v as any,
101
+ errors: result.length !== 0 ? result : undefined
102
+ }
103
+ }
104
+ }
File without changes
@@ -1,4 +1,5 @@
1
- export namespace Internals {
1
+
2
+ export namespace ModelsInternals {
2
3
  export function hasValue<T>(value: T | undefined | null): value is T {
3
4
  if (value === null)
4
5
  return false
@@ -17,7 +18,7 @@ export namespace Internals {
17
18
 
18
19
  // Objeto => param: { ... }
19
20
  if (t.length === undefined) {
20
- if (!Internals.hasValue(value[param])) {
21
+ if (!ModelsInternals.hasValue(value[param])) {
21
22
  value[param] = Object.create(null)
22
23
  }
23
24
 
@@ -27,7 +28,7 @@ export namespace Internals {
27
28
 
28
29
  // Parametro => param: [ PlataModels.Required() ]
29
30
  if (typeof t[0] === 'function') {
30
- if (!Internals.hasValue(value[param])) {
31
+ if (!ModelsInternals.hasValue(value[param])) {
31
32
  value[param] = null
32
33
  }
33
34
 
@@ -36,7 +37,7 @@ export namespace Internals {
36
37
 
37
38
  // Array de valores => param: [[ PlataModels.Required() ]]
38
39
  if (t[0].length !== undefined) {
39
- if (!Internals.hasValue(value[param])) {
40
+ if (!ModelsInternals.hasValue(value[param])) {
40
41
  value[param] = []
41
42
  }
42
43
 
@@ -48,7 +49,7 @@ export namespace Internals {
48
49
  }
49
50
 
50
51
  // Array de Objetos => param: [{ ... }]
51
- if (!Internals.hasValue(value[param])) {
52
+ if (!ModelsInternals.hasValue(value[param])) {
52
53
  value[param] = []
53
54
 
54
55
  continue
@@ -71,8 +72,29 @@ export namespace Internals {
71
72
 
72
73
  return value as DeepWritable<Model.ExtractTemplateTypeNotValid<typeof template>>
73
74
  }
74
-
75
- export async function validateParameter(value: any, pipeline: Model.PrimitiveValidationType[], name: string): Promise<Model.ValidateReturn> {
75
+
76
+ export async function validateTemplateEnv(value: Record<string, string | undefined>, template: Model.TemplateEnv): PlataPromise<PlataError[]> {
77
+ const promises: Promise<Model.ValidateReturn>[] = []
78
+
79
+ for (const env in template) {
80
+ promises.push(Plata.FastPromise(() => validateParameter(
81
+ value[env] ?? null,
82
+ template[env],
83
+ env
84
+ )))
85
+ }
86
+
87
+ return Promise.all(promises).then(
88
+ result => result.filter(Boolean),
89
+ err => ({
90
+ errorID: 'BPLMINVLTMEN001',
91
+ msg: `unexpected error while validating template for env`,
92
+ error: err
93
+ })
94
+ )
95
+ }
96
+
97
+ export async function validateParameter(value: any, pipeline: readonly Model.PrimitiveValidationType[], name: string): Promise<Model.ValidateReturn> {
76
98
  for (const validation of pipeline) {
77
99
  const result = await validation(name, value)
78
100
 
@@ -87,7 +109,7 @@ export namespace Internals {
87
109
 
88
110
  return null
89
111
  }
90
-
112
+
91
113
  export async function validateTemplate<Y extends Model.Template>(value: any, template: Y, name?: string): PlataPromise<PlataError[]> {
92
114
  const promises: any[] = []
93
115
  for (const param in template) {
@@ -151,109 +173,4 @@ export namespace Internals {
151
173
  }
152
174
  )
153
175
  }
154
- }
155
-
156
- export class ModelTemplate<T extends Model.Template, C extends Model.Converters<T>> {
157
- public readonly template: T
158
- public readonly converters: C | {}
159
- public readonly validations: Map<string, Model.ModelTemplateValidation<T>>
160
- public readonly filters: Map<string, Model.ModelTemplateFilter<T>>
161
- public readonly type: Model.ExtractTemplateType<T>
162
-
163
- constructor(template: T, converters: C | {}) {
164
- this.template = template
165
- this.converters = converters
166
- this.validations = new Map()
167
- this.filters = new Map()
168
- }
169
-
170
- public addValidation(nome: string, callback: Model.ModelTemplateValidation<T>) {
171
- this.validations.set(nome, callback)
172
- }
173
-
174
- public addFilter(nome: string, callback: Model.ModelTemplateFilter<T>) {
175
- this.filters.set(nome, callback)
176
- }
177
-
178
- public convert: Model.ModelConvertFuntion<T, C> = (value, to) => {
179
- const c: Model.ConvertFunction<T, any> | undefined = this.converters[to as string]
180
-
181
- if (c === undefined)
182
- return {
183
- errorID: 'BPLM0002',
184
- msg: 'Invalid Converter',
185
- error: to
186
- }
187
- ;
188
-
189
- try {
190
- return c(value)
191
- } catch (e) {
192
- return {
193
- errorID: 'BPLM0003',
194
- msg: 'Unexpected converter error',
195
- error: e
196
- }
197
- }
198
- }
199
-
200
- public filter(value: any) {
201
- let v = Internals.filterTemplate(value, this.template)
202
-
203
- this.filters.forEach(f => {
204
- v = f(v)
205
- })
206
-
207
- return v
208
- }
209
-
210
- public async validate(value: any): Promise<Model.ModelValidateReturn<T>> {
211
- const v = this.filter(value)
212
- const errors = await Internals.validateTemplate(v, this.template)
213
-
214
- if (errors.errorID !== undefined) {
215
- return {
216
- value: v as any,
217
- errors: [errors]
218
- }
219
- }
220
-
221
- if (errors.length !== 0) {
222
- return {
223
- value: v as any,
224
- errors
225
- }
226
- }
227
-
228
- const promises: Promise<Model.ValidateReturn>[] = []
229
-
230
- this.validations.forEach(validation => {
231
- promises.push(validation(v as any))
232
- })
233
-
234
- const result: PlataResult<PlataError[]> = await Plata.FastPromise(() => Promise.all(promises)).then(
235
- r => ([] as Model.ValidateReturn[]).concat(...r).filter(v => v !== null),
236
- err => {
237
- return {
238
- errorID: 'BPLM0002',
239
- msg: `unexpected error while validating model`,
240
- error: err
241
- }
242
- }
243
- ) as any
244
-
245
- if (result.errorID !== undefined) {
246
- return {
247
- value: v as any,
248
- errors: [result]
249
- }
250
- }
251
-
252
- return {
253
- value: v as any,
254
- errors: result.length !== 0 ? result : undefined
255
- }
256
- }
257
- }
258
-
259
- export * from './model-validations'
176
+ }
package/src/libs/sql.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import knex, { Knex } from "knex"
2
- import { ModelTemplate } from "./model"
2
+ import { ModelTemplate } from "./models"
3
3
  import schemaInspector from 'knex-schema-inspector';
4
4
  import moment from "moment"
5
5
  import { tagsExhaustive } from "effect/Match"
@@ -0,0 +1,67 @@
1
+ import { describe, it, before } from "node:test"
2
+ import assert from "node:assert"
3
+ import { loadRuntimeLibs } from "../bin/runtime/_setupRuntime"
4
+ import { PlataModels } from ".."
5
+
6
+ describe('PlataModels.env', () => {
7
+ const plataPromise = (async () => {
8
+ const g = global as any
9
+
10
+ g.Plata = await loadRuntimeLibs()
11
+ })()
12
+
13
+ before(async () => {
14
+ await plataPromise
15
+ })
16
+
17
+ const model = new PlataModels.ModelTemplateEnv({
18
+ ENV_enum: [ PlataModels.Enum([ 0, 1 ]) ],
19
+ ENV_decimal: [ PlataModels.Decimal(2,2) ],
20
+ ENV_intMin: [ PlataModels.Int(5) ],
21
+ ENV_intMax: [ PlataModels.Int(undefined, 5) ],
22
+ ENV_intRequired: [ PlataModels.Required(), PlataModels.Int() ],
23
+ ENV_smallDateTime: [ PlataModels.SmallDateTime() ],
24
+ ENV_varChar: [ PlataModels.VarChar(1) ],
25
+ })
26
+
27
+ const getOkayObj = () => ({
28
+ ENV_enum: `${0}`,
29
+ ENV_decimal: `${22.22}`,
30
+ ENV_intMin: `${5}`,
31
+ ENV_intMax: `${5}`,
32
+ ENV_intRequired: `${6}`,
33
+ ENV_smallDateTime: '2022-12-04',
34
+ ENV_varChar: '1',
35
+ })
36
+
37
+ const getNotOkayObj = () => ({
38
+ ENV_enum: `${2}`,
39
+ ENV_decimal: `${222.222}`,
40
+ ENV_intMin: `${4}`,
41
+ ENV_intMax: `${6}`,
42
+ ENV_smallDateTime: '2022-12--04',
43
+ ENV_varChar: '12',
44
+ })
45
+
46
+ it('Validations (Okay)', async () => {
47
+ const okayObj = getOkayObj()
48
+
49
+ const value = await model.validate(okayObj)
50
+
51
+ assert.strictEqual(value.errors, undefined)
52
+ assert.deepEqual(value.value, okayObj)
53
+ })
54
+
55
+ it('Validations (Not Okay)', async () => {
56
+ const notOkayObj = getNotOkayObj()
57
+
58
+ const value = await model.validate(notOkayObj)
59
+
60
+ assert.notStrictEqual(value.errors, undefined)
61
+ assert.strictEqual(
62
+ value.errors?.length,
63
+ Object.keys(model.template).length,
64
+ value.errors?.map(e => `${e.errorID} - ${e.msg}`).join('\n')
65
+ )
66
+ })
67
+ })
@@ -1,4 +1,4 @@
1
- import { describe, it } from "node:test"
1
+ import { describe, it, before } from "node:test"
2
2
  import assert from "node:assert"
3
3
  import { PlataModels } from ".."
4
4
  import { loadRuntimeLibs } from "../bin/runtime/_setupRuntime"
@@ -9,6 +9,10 @@ describe('PlataModels', () => {
9
9
 
10
10
  g.Plata = await loadRuntimeLibs()
11
11
  })()
12
+
13
+ before(async () => {
14
+ await plataPromise
15
+ })
12
16
 
13
17
  const modelStruct = new PlataModels.ModelTemplate({
14
18
  param: [ PlataModels.Required(), PlataModels.Int() ],
@@ -85,7 +89,6 @@ describe('PlataModels', () => {
85
89
  })
86
90
 
87
91
  it('Validations (Okay)', async () => {
88
- await plataPromise
89
92
  const okayObj = modelStruct.convert({} as any, 'toValidationsOkay')
90
93
 
91
94
  const { errors, value } = await modelValidations.validate(okayObj)
@@ -95,7 +98,6 @@ describe('PlataModels', () => {
95
98
  })
96
99
 
97
100
  it('Validations (Not Okay)', async () => {
98
- await plataPromise
99
101
  const notOkayObj = modelStruct.convert({} as any, 'toValidationsError')
100
102
 
101
103
  const { errors, value } = await modelValidations.validate(notOkayObj)
@@ -0,0 +1,149 @@
1
+ import { describe, it, before } from "node:test"
2
+ import assert from "node:assert"
3
+ import { loadRuntimeLibs } from "../bin/runtime/_setupRuntime"
4
+ import { PlataModels } from ".."
5
+
6
+ describe('PlataModels.union', () => {
7
+ const plataPromise = (async () => {
8
+ const g = global as any
9
+
10
+ g.Plata = await loadRuntimeLibs()
11
+ })()
12
+
13
+ before(async () => {
14
+ await plataPromise
15
+ })
16
+
17
+ const modelTemplateEnv = new PlataModels.ModelTemplateEnv({
18
+ ENV_enum: [ PlataModels.Enum([ 0, 1 ]) ],
19
+ ENV_decimal: [ PlataModels.Decimal(2,2) ],
20
+ ENV_intMin: [ PlataModels.Int(5) ],
21
+ ENV_intMax: [ PlataModels.Int(undefined, 5) ],
22
+ ENV_intRequired: [ PlataModels.Required(), PlataModels.Int() ],
23
+ ENV_smallDateTime: [ PlataModels.SmallDateTime() ],
24
+ ENV_varChar: [ PlataModels.VarChar(1) ],
25
+ })
26
+
27
+ const modelTemplate = new PlataModels.ModelTemplate({
28
+ enum: [ PlataModels.Enum([ 0,1 ]) ],
29
+ stringDateTime: [ PlataModels.StringDateTime() ],
30
+ dateTime: [ PlataModels.DateTime() ],
31
+ decimal: [ PlataModels.Decimal(2,2) ],
32
+ intMin: [ PlataModels.Int(5) ],
33
+ intMax: [ PlataModels.Int(undefined, 5) ],
34
+ intRequired: [ PlataModels.Required(), PlataModels.Int() ],
35
+ smallDateTime: [ PlataModels.SmallDateTime() ],
36
+ telefone: [ PlataModels.Telefone() ],
37
+ telefoneDDI: [ PlataModels.TelefoneDDI() ],
38
+ varCharMin: [ PlataModels.VarChar(1, 1) ],
39
+ varChar: [ PlataModels.VarChar(1) ],
40
+ } as const, {})
41
+
42
+ const modelUnion = new PlataModels.ModelTemplateUnion({ key: 'key' }, {
43
+ modelTemplate,
44
+ modelTemplateEnv,
45
+ })
46
+
47
+ const getTemplateOkay = () => ({
48
+ key: 'modelTemplate',
49
+ enum: 0,
50
+ stringDateTime: '2022-12-04T02:06:22',
51
+ dateTime: new Date(),
52
+ decimal: 99.99,
53
+ intMin: 5,
54
+ intMax: 5,
55
+ intRequired: 1,
56
+ smallDateTime: '2022-12-04',
57
+ telefone: '99-999999999',
58
+ telefoneDDI: '+055 99-999999999',
59
+ varCharMin: '1',
60
+ varChar: '1',
61
+ })
62
+
63
+ const getTemplateNotOkay = () => ({
64
+ key: 'modelTemplate',
65
+ enum: 2,
66
+ stringDateTime: '',
67
+ dateTime: '',
68
+ decimal: 5.666666666666,
69
+ intMin: 1,
70
+ intMax: 6,
71
+ intRequired: null,
72
+ smallDateTime: '',
73
+ telefone: '',
74
+ telefoneDDI: '',
75
+ varCharMin: '',
76
+ varChar: '11',
77
+ }) as any // Forced just for test
78
+
79
+ const getEnvOkay = () => ({
80
+ key: 'modelTemplateEnv',
81
+ ENV_enum: `${0}`,
82
+ ENV_decimal: `${22.22}`,
83
+ ENV_intMin: `${5}`,
84
+ ENV_intMax: `${5}`,
85
+ ENV_intRequired: `${6}`,
86
+ ENV_smallDateTime: '2022-12-04',
87
+ ENV_varChar: '1',
88
+ })
89
+
90
+ const getEnvNotOkay = () => ({
91
+ key: 'modelTemplateEnv',
92
+ ENV_enum: `${2}`,
93
+ ENV_decimal: `${222.222}`,
94
+ ENV_intMin: `${4}`,
95
+ ENV_intMax: `${6}`,
96
+ ENV_smallDateTime: '2022-12--04',
97
+ ENV_varChar: '12',
98
+ })
99
+
100
+ it('Validations Env (Okay)', async () => {
101
+ const okayObj = getEnvOkay()
102
+
103
+ const value = await modelUnion.validate(okayObj)
104
+
105
+ assert.strictEqual(value.errors, undefined)
106
+
107
+ const type: { key: 'modelTemplateEnv' | 'modelTemplate'} = value.value
108
+
109
+ assert.deepEqual(value.value, okayObj)
110
+ })
111
+
112
+ it('Validations Template (Okay)', async () => {
113
+ const okayObj = getTemplateOkay()
114
+
115
+ const value = await modelUnion.validate(okayObj)
116
+
117
+ assert.strictEqual(value.errors, undefined)
118
+
119
+ const type: { key: 'modelTemplateEnv' | 'modelTemplate'} = value.value
120
+
121
+ assert.deepEqual(value.value, okayObj)
122
+ })
123
+
124
+ it('Validations Env (Not Okay)', async () => {
125
+ const notOkayObj = getEnvNotOkay()
126
+
127
+ const value = await modelUnion.validate(notOkayObj)
128
+
129
+ assert.notStrictEqual(value.errors, undefined)
130
+ assert.strictEqual(
131
+ value.errors?.length,
132
+ Object.keys(modelTemplateEnv.template).length,
133
+ value.errors?.map(e => `${e.errorID} - ${e.msg}`).join('\n')
134
+ )
135
+ })
136
+
137
+ it('Validations Template (Not Okay)', async () => {
138
+ const notOkayObj = getTemplateNotOkay()
139
+
140
+ const value = await modelUnion.validate(notOkayObj)
141
+
142
+ assert.notStrictEqual(value.errors, undefined)
143
+ assert.strictEqual(
144
+ value.errors?.length,
145
+ Object.keys(modelTemplate.template).length,
146
+ value.errors?.map(e => `${e.errorID} - ${e.msg}`).join('\n')
147
+ )
148
+ })
149
+ })
@@ -68,7 +68,7 @@ describe('PlataSql', () => {
68
68
 
69
69
  before(async () => {
70
70
  await plataPromise
71
- Plata.config.ENV = 'debug'
71
+ Plata.config.ENV = 'test'
72
72
 
73
73
  sql = getSqlite3()
74
74
  aux = getSqlite3Aux()
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-validations.js","sourceRoot":"","sources":["../../src/libs/model-validations.ts"],"names":[],"mappings":"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"}