pwi-plata-type 0.4.144 → 0.4.146

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.
@@ -28,7 +28,7 @@ class ModelTemplateCombine {
28
28
  }
29
29
  const results = await Promise.all(promises);
30
30
  const errors = results
31
- .filter((r) => r !== undefined)
31
+ .filter((r) => r.errors !== undefined)
32
32
  .flatMap(r => r.errors);
33
33
  if (errors.length !== 0) {
34
34
  return {
@@ -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;IAE5F,YAAY,MAAS;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAA;IAChC,CAAC;IAEM,aAAa,CAAC,QAAoE;QACrF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClC,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;YACI,MAAM,QAAQ,GAAyC,EAAE,CAAA;YAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAE7B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;aAClE;YAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAE3C,MAAM,MAAM,GAAG,OAAO;iBACjB,MAAM,CAAC,CAAC,CAAC,EAAiC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;iBAC7D,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAC1B;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,OAAO;oBACH,KAAK,EAAE,SAAS;oBAChB,MAAM;iBACT,CAAA;aACJ;SACJ;QAID;YACI,MAAM,QAAQ,GAAoC,EAAE,CAAA;YAEpD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAC1B,QAAQ,CAAC,IAAI,CACT,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CACjC,CACJ,CAAA;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAE1C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAErC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,OAAQ;oBACJ,MAAM;oBACN,KAAK,EAAE,SAAS;iBACnB,CAAA;aACJ;SACJ;QAED,OAAO;YACH,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,SAAS;SACpB,CAAA;IACL,CAAC;CACJ;AA5ED,oDA4EC"}
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;IAE5F,YAAY,MAAS;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAA;IAChC,CAAC;IAEM,aAAa,CAAC,QAAoE;QACrF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClC,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;YACI,MAAM,QAAQ,GAAyC,EAAE,CAAA;YAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAE7B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;aAClE;YAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAE3C,MAAM,MAAM,GAAG,OAAO;iBACjB,MAAM,CAAC,CAAC,CAAC,EAAiC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;iBACpE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAC1B;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,OAAO;oBACH,KAAK,EAAE,SAAS;oBAChB,MAAM;iBACT,CAAA;aACJ;SACJ;QAID;YACI,MAAM,QAAQ,GAAoC,EAAE,CAAA;YAEpD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAC1B,QAAQ,CAAC,IAAI,CACT,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CACjC,CACJ,CAAA;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAE1C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAErC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,OAAQ;oBACJ,MAAM;oBACN,KAAK,EAAE,SAAS;iBACnB,CAAA;aACJ;SACJ;QAED,OAAO;YACH,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,SAAS;SACpB,CAAA;IACL,CAAC;CACJ;AA5ED,oDA4EC"}
@@ -5,9 +5,14 @@ class ModelTemplateUnion {
5
5
  config;
6
6
  templates;
7
7
  type;
8
+ filters;
8
9
  constructor(config, templates) {
9
10
  this.config = config;
10
11
  this.templates = templates;
12
+ this.filters = new Set();
13
+ }
14
+ addFilter(filter) {
15
+ this.filters.add(filter);
11
16
  }
12
17
  getExtractFromUnion(value) {
13
18
  let type = `${value[this.config.key] ?? null}`;
@@ -33,6 +38,7 @@ class ModelTemplateUnion {
33
38
  if (extraced.model.filter !== undefined) {
34
39
  value = extraced.model.filter(value);
35
40
  }
41
+ this.filters.forEach(f => { value = f(value); });
36
42
  return value;
37
43
  }
38
44
  async validate(value, skipFilter) {
@@ -43,6 +49,9 @@ class ModelTemplateUnion {
43
49
  value: undefined
44
50
  };
45
51
  }
52
+ if (!skipFilter) {
53
+ this.filters.forEach(f => { value = f(value); });
54
+ }
46
55
  const result = await extraced.model.validate(extraced.value, skipFilter);
47
56
  if (result.errors !== undefined) {
48
57
  return {
@@ -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;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"}
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;IACvC,OAAO,CAA8F;IAErH,YAAY,MAAS,EAAE,SAAY;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA;IAC5B,CAAC;IAEM,SAAS,CAAC,MAA+F;QAC5G,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5B,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,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA,CAAA,CAAC,CAAC,CAAA;QAE9C,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,IAAI,CAAC,UAAU,EAAE;YACb,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;SAClD;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;AAnFD,gDAmFC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pwi-plata-type",
3
- "version": "0.4.144",
3
+ "version": "0.4.146",
4
4
  "main": "__BUILD__/index",
5
5
  "types": "src/@types/exported.d.ts",
6
6
  "bin": {
@@ -122,6 +122,16 @@ declare namespace Model {
122
122
  [K in keyof R]: Record<C['key'], K> & R[K]['type']
123
123
  }[keyof R]
124
124
 
125
+ type RemoveTypesForFilter<T extends Record<string, any>> = {
126
+ -readonly [K in keyof T]:
127
+ T[K] extends Record<string, any> ? RemoveTypesForFilter<T[K]>
128
+ : number | boolean | string | null
129
+
130
+ }
131
+
132
+ type ExtractModelUnionTypeFilter<const C extends TemplateUnionConfig, const R extends TemplateRecord> = {
133
+ [K in keyof R]: Record<C['key'], K> & RemoveTypesForFilter<R[K]['type']>
134
+ }[keyof R]
125
135
 
126
136
  type ExtractModelUnionReturn<const C extends TemplateUnionConfig, const R extends TemplateRecord> =
127
137
  {
@@ -34,7 +34,7 @@ export class ModelTemplateCombine<const T extends readonly Model.ModelClass[]> {
34
34
  const results = await Promise.all(promises)
35
35
 
36
36
  const errors = results
37
- .filter((r): r is { errors: PlataError[] } => r !== undefined)
37
+ .filter((r): r is { errors: PlataError[] } => r.errors !== undefined)
38
38
  .flatMap(r => r.errors)
39
39
  ;
40
40
 
@@ -2,10 +2,16 @@ export class ModelTemplateUnion<const C extends Model.TemplateUnionConfig, const
2
2
  public readonly config: C
3
3
  public readonly templates: R
4
4
  public readonly type: Model.ExtractModelUnionType<C, R>
5
+ public readonly filters: Set<(x: Model.ExtractModelUnionTypeFilter<C, R>) => Model.ExtractModelUnionTypeFilter<C, R>>
5
6
 
6
7
  constructor(config: C, templates: R) {
7
8
  this.config = config
8
9
  this.templates = templates
10
+ this.filters = new Set()
11
+ }
12
+
13
+ public addFilter(filter: (x: Model.ExtractModelUnionTypeFilter<C, R>) => Model.ExtractModelUnionTypeFilter<C, R>) {
14
+ this.filters.add(filter)
9
15
  }
10
16
 
11
17
  public getExtractFromUnion(value: any): PlataResult<Model.ExtractModelUnionReturn<C, R>> {
@@ -42,6 +48,8 @@ export class ModelTemplateUnion<const C extends Model.TemplateUnionConfig, const
42
48
  value = extraced.model.filter(value)
43
49
  }
44
50
 
51
+ this.filters.forEach(f => { value = f(value)})
52
+
45
53
  return value
46
54
  }
47
55
 
@@ -55,6 +63,10 @@ export class ModelTemplateUnion<const C extends Model.TemplateUnionConfig, const
55
63
  }
56
64
  }
57
65
 
66
+ if (!skipFilter) {
67
+ this.filters.forEach(f => { value = f(value) })
68
+ }
69
+
58
70
  const result = await extraced.model.validate(extraced.value, skipFilter)
59
71
 
60
72
  if (result.errors !== undefined) {
@@ -15,6 +15,7 @@ describe('PlataModels.union', () => {
15
15
  })
16
16
 
17
17
  const modelTemplateEnv = new PlataModels.ModelTemplateEnv({
18
+ test_union: [ PlataModels.Required(), PlataModels.VarChar(Infinity) ],
18
19
  ENV_enum: [ PlataModels.Enum([ 0, 1 ]) ],
19
20
  ENV_decimal: [ PlataModels.Decimal(2,2) ],
20
21
  ENV_intMin: [ PlataModels.Int(5) ],
@@ -25,6 +26,7 @@ describe('PlataModels.union', () => {
25
26
  })
26
27
 
27
28
  const modelTemplate = new PlataModels.ModelTemplate({
29
+ test_union: [ PlataModels.Required(), PlataModels.VarChar(Infinity) ],
28
30
  enum: [ PlataModels.Enum([ 0,1 ]) ],
29
31
  stringDateTime: [ PlataModels.StringDateTime() ],
30
32
  dateTime: [ PlataModels.DateTime() ],
@@ -44,7 +46,14 @@ describe('PlataModels.union', () => {
44
46
  modelTemplateEnv,
45
47
  })
46
48
 
49
+ modelUnion.addFilter(x => {
50
+ x.test_union = x.test_union === true ? '1' : null
51
+
52
+ return x
53
+ })
54
+
47
55
  const getTemplateOkay = () => ({
56
+ test_union: true,
48
57
  key: 'modelTemplate',
49
58
  enum: 0,
50
59
  stringDateTime: '2022-12-04T02:06:22',
@@ -62,6 +71,7 @@ describe('PlataModels.union', () => {
62
71
 
63
72
  const getTemplateNotOkay = () => ({
64
73
  key: 'modelTemplate',
74
+ test_union: false,
65
75
  enum: 2,
66
76
  stringDateTime: '',
67
77
  dateTime: '',
@@ -78,6 +88,7 @@ describe('PlataModels.union', () => {
78
88
 
79
89
  const getEnvOkay = () => ({
80
90
  key: 'modelTemplateEnv',
91
+ test_union: true,
81
92
  ENV_enum: `${0}`,
82
93
  ENV_decimal: `${22.22}`,
83
94
  ENV_intMin: `${5}`,
@@ -89,6 +100,7 @@ describe('PlataModels.union', () => {
89
100
 
90
101
  const getEnvNotOkay = () => ({
91
102
  key: 'modelTemplateEnv',
103
+ test_union: false,
92
104
  ENV_enum: `${2}`,
93
105
  ENV_decimal: `${222.222}`,
94
106
  ENV_intMin: `${4}`,