@bedrockio/yada 1.0.32 → 1.0.34

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.
@@ -208,18 +208,30 @@ class Schema {
208
208
  required,
209
209
  format,
210
210
  ...tags,
211
+ ...this.getAnyType(),
211
212
  ...this.getDefault(),
212
213
  ...this.enumToOpenApi(),
213
214
  ...this.expandExtra(extra)
214
215
  };
215
216
  }
217
+ getAnyType() {
218
+ const {
219
+ type,
220
+ enum: set
221
+ } = this.meta;
222
+ if (!type && !set) {
223
+ return {
224
+ type: ['object', 'array', 'string', 'number', 'boolean', 'null']
225
+ };
226
+ }
227
+ }
216
228
  getDefault() {
217
229
  const {
218
230
  default: defaultValue
219
231
  } = this.meta;
220
232
  if (typeof defaultValue === 'function') {
221
233
  return {};
222
- } else {
234
+ } else if (defaultValue != null) {
223
235
  return {
224
236
  default: defaultValue
225
237
  };
@@ -24,8 +24,8 @@ class TypeSchema extends _Schema.default {
24
24
  }
25
25
  toOpenApi(extra) {
26
26
  return {
27
- type: this.meta.type,
28
- ...super.toOpenApi(extra)
27
+ ...super.toOpenApi(extra),
28
+ type: this.meta.type
29
29
  };
30
30
  }
31
31
  }
package/dist/cjs/array.js CHANGED
@@ -131,9 +131,9 @@ class ArraySchema extends _Schema.default {
131
131
  };
132
132
  }
133
133
  return {
134
- type: 'array',
135
134
  ...super.toOpenApi(extra),
136
- ...other
135
+ ...other,
136
+ type: 'array'
137
137
  };
138
138
  }
139
139
  }
package/dist/cjs/date.js CHANGED
@@ -155,8 +155,8 @@ class DateSchema extends _Schema.default {
155
155
  format
156
156
  } = this.meta;
157
157
  return {
158
- type: format.includes('timestamp') ? 'number' : 'string',
159
- ...super.toOpenApi(extra)
158
+ ...super.toOpenApi(extra),
159
+ type: format.includes('timestamp') ? 'number' : 'string'
160
160
  };
161
161
  }
162
162
  getDefault() {
package/dist/cjs/tuple.js CHANGED
@@ -90,8 +90,8 @@ class TupleSchema extends _Schema.default {
90
90
  schemas
91
91
  } = this.meta;
92
92
  return {
93
- type: 'array',
94
93
  ...super.toOpenApi(extra),
94
+ type: 'array',
95
95
  prefixItems: schemas.map(schema => {
96
96
  return schema.toOpenApi();
97
97
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bedrockio/yada",
3
- "version": "1.0.32",
3
+ "version": "1.0.34",
4
4
  "description": "Validation library inspired by Joi.",
5
5
  "scripts": {
6
6
  "test": "jest",
package/src/Schema.js CHANGED
@@ -195,18 +195,30 @@ export default class Schema {
195
195
  required,
196
196
  format,
197
197
  ...tags,
198
+ ...this.getAnyType(),
198
199
  ...this.getDefault(),
199
200
  ...this.enumToOpenApi(),
200
201
  ...this.expandExtra(extra),
201
202
  };
202
203
  }
203
204
 
205
+ getAnyType() {
206
+ const { type, enum: set } = this.meta;
207
+ if (!type && !set) {
208
+ return {
209
+ type: ['object', 'array', 'string', 'number', 'boolean', 'null'],
210
+ };
211
+ }
212
+ }
213
+
204
214
  getDefault() {
205
215
  const { default: defaultValue } = this.meta;
206
216
  if (typeof defaultValue === 'function') {
207
217
  return {};
208
- } else {
209
- return { default: defaultValue };
218
+ } else if (defaultValue != null) {
219
+ return {
220
+ default: defaultValue,
221
+ };
210
222
  }
211
223
  }
212
224
 
package/src/TypeSchema.js CHANGED
@@ -16,8 +16,8 @@ export default class TypeSchema extends Schema {
16
16
 
17
17
  toOpenApi(extra) {
18
18
  return {
19
- type: this.meta.type,
20
19
  ...super.toOpenApi(extra),
20
+ type: this.meta.type,
21
21
  };
22
22
  }
23
23
  }
package/src/array.js CHANGED
@@ -130,9 +130,9 @@ class ArraySchema extends Schema {
130
130
  }
131
131
 
132
132
  return {
133
- type: 'array',
134
133
  ...super.toOpenApi(extra),
135
134
  ...other,
135
+ type: 'array',
136
136
  };
137
137
  }
138
138
  }
package/src/date.js CHANGED
@@ -145,8 +145,8 @@ class DateSchema extends Schema {
145
145
  toOpenApi(extra) {
146
146
  const { format } = this.meta;
147
147
  return {
148
- type: format.includes('timestamp') ? 'number' : 'string',
149
148
  ...super.toOpenApi(extra),
149
+ type: format.includes('timestamp') ? 'number' : 'string',
150
150
  };
151
151
  }
152
152
 
package/src/tuple.js CHANGED
@@ -80,8 +80,8 @@ class TupleSchema extends Schema {
80
80
  toOpenApi(extra) {
81
81
  const { schemas } = this.meta;
82
82
  return {
83
- type: 'array',
84
83
  ...super.toOpenApi(extra),
84
+ type: 'array',
85
85
  prefixItems: schemas.map((schema) => {
86
86
  return schema.toOpenApi();
87
87
  }),
package/types/Schema.d.ts CHANGED
@@ -64,6 +64,9 @@ export default class Schema {
64
64
  */
65
65
  append(schema: any): this;
66
66
  toOpenApi(extra: any): any;
67
+ getAnyType(): {
68
+ type: string[];
69
+ };
67
70
  getDefault(): {
68
71
  default?: undefined;
69
72
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.js"],"names":[],"mappings":"AAgWA,4CAEC;AAtVD;;GAEG;AAEH;IACE,uBAGC;IAFC,kBAAoB;IACpB,SAAgB;IAKlB;;OAEG;IACH,YAFa,IAAI,CAQhB;IAED;;;OAGG;IACH,mBAFa,IAAI,CAShB;IAED;;;;OAIG;IACH,gBAHW,eAAe,GACb,IAAI,CAmBhB;IAED;;;;OAIG;IACH,mBAFa,IAAI,CAIhB;IAED;;;OAGG;IACH,sBAFa,IAAI,CAIhB;IAED;;;OAGG;IACH,uBAFa,IAAI,CAIhB;IAED;;OAEG;IACH,uBAFa,IAAI,CAIhB;IAED;;OAEG;IACH,gBAFa,IAAI,CAShB;IAED;;OAEG;IACH,+BAFa,IAAI,CAMhB;IAED;;OAEG;IACH,uBAFa,IAAI,CAIhB;IAED,iDAqCC;IAED;;OAEG;IACH,kBAFa,IAAI,CAOhB;IAED;;;OAGG;IACH,qBAFa,IAAI,CAMhB;IAED,2BAUC;IAED;;;;MAOC;IAED,kBAEC;IAED,4BAMC;IAID;;OAEG;IACH,kCAFa,IAAI,CAmChB;IAED;;OAEG;IACH,4BAFa,IAAI,CAUhB;IAED,oCAKC;IAED;;OAEG;IACH,oBAFa,IAAI,CAShB;IAED,gCAGC;IAED,qEAUC;IAED;;;;;;;;MAoCC;CACF;8BAjVY,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.js"],"names":[],"mappings":"AA4WA,4CAEC;AAlWD;;GAEG;AAEH;IACE,uBAGC;IAFC,kBAAoB;IACpB,SAAgB;IAKlB;;OAEG;IACH,YAFa,IAAI,CAQhB;IAED;;;OAGG;IACH,mBAFa,IAAI,CAShB;IAED;;;;OAIG;IACH,gBAHW,eAAe,GACb,IAAI,CAmBhB;IAED;;;;OAIG;IACH,mBAFa,IAAI,CAIhB;IAED;;;OAGG;IACH,sBAFa,IAAI,CAIhB;IAED;;;OAGG;IACH,uBAFa,IAAI,CAIhB;IAED;;OAEG;IACH,uBAFa,IAAI,CAIhB;IAED;;OAEG;IACH,gBAFa,IAAI,CAShB;IAED;;OAEG;IACH,+BAFa,IAAI,CAMhB;IAED;;OAEG;IACH,uBAFa,IAAI,CAIhB;IAED,iDAqCC;IAED;;OAEG;IACH,kBAFa,IAAI,CAOhB;IAED;;;OAGG;IACH,qBAFa,IAAI,CAMhB;IAED,2BAWC;IAED;;MAOC;IAED;;;;MASC;IAED,kBAEC;IAED,4BAMC;IAID;;OAEG;IACH,kCAFa,IAAI,CAmChB;IAED;;OAEG;IACH,4BAFa,IAAI,CAUhB;IAED,oCAKC;IAED;;OAEG;IACH,oBAFa,IAAI,CAShB;IAED,gCAGC;IAED,qEAUC;IAED;;;;;;;;MAoCC;CACF;8BA7VY,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC"}