kodzero-schema-parser 0.0.2 → 0.0.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"KodzeroToValidnoParser.d.ts","sourceRoot":"","sources":["../src/KodzeroToValidnoParser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC7E,OAAO,KAAK,gBAAgB,MAAM,kDAAkD,CAAA;AACpF,OAAO,KAAK,gBAAgB,MAAM,kDAAkD,CAAA;AACpF,OAAO,KAAK,iBAAiB,MAAM,mDAAmD,CAAA;AACtF,OAAO,KAAK,cAAc,MAAM,gDAAgD,CAAA;AAChF,OAAO,KAAK,cAAc,MAAM,gDAAgD,CAAA;AAChF,OAAO,KAAK,eAAe,MAAM,iDAAiD,CAAA;AAClF,OAAO,KAAK,aAAa,MAAM,+CAA+C,CAAA;AAC9E,OAAO,KAAK,gBAAgB,MAAM,kDAAkD,CAAA;AACpF,OAAO,kBAAkB,MAAM,oDAAoD,CAAA;AAInF,cAAM,sBAAsB;IAC1B,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC;cAC9B,iBAAiB;gBAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAkC1E,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC;cAC9B,iBAAiB;gBAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IA6B1E,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC;cAChC,kBAAkB;gBAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAmB3E,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC;cAC1B,eAAe;gBAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAkDxE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC;cAC1B,iBAAiB;eAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAuBzE,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC;cAC5B,iBAAiB;gBAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAyE1E,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC;cACxB,iBAAiB;gBAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAuE1E,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC;cAC9B,iBAAiB,GAAG,gBAAgB;gBAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IA6C7F,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC;cAEhD,iBAAiB,GAAG,gBAAgB;gBAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IA0BnC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,GAAG,OAAO;CA6CnE;AAED,eAAe,sBAAsB,CAAA"}
1
+ {"version":3,"file":"KodzeroToValidnoParser.d.ts","sourceRoot":"","sources":["../src/KodzeroToValidnoParser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC7E,OAAO,KAAK,gBAAgB,MAAM,kDAAkD,CAAA;AACpF,OAAO,KAAK,gBAAgB,MAAM,kDAAkD,CAAA;AACpF,OAAO,KAAK,iBAAiB,MAAM,mDAAmD,CAAA;AACtF,OAAO,KAAK,cAAc,MAAM,gDAAgD,CAAA;AAChF,OAAO,KAAK,cAAc,MAAM,gDAAgD,CAAA;AAChF,OAAO,KAAK,eAAe,MAAM,iDAAiD,CAAA;AAClF,OAAO,KAAK,aAAa,MAAM,+CAA+C,CAAA;AAC9E,OAAO,KAAK,gBAAgB,MAAM,kDAAkD,CAAA;AACpF,OAAO,kBAAkB,MAAM,oDAAoD,CAAA;AAInF,cAAM,sBAAsB;IAC1B,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC;cAC9B,iBAAiB;gBAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAkC1E,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC;cAC9B,iBAAiB;gBAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IA6B1E,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC;cAChC,kBAAkB;gBAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAmB3E,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC;cAC1B,eAAe;gBAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAkDxE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC;cAC1B,iBAAiB;eAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAuBzE,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC;cAC5B,iBAAiB;gBAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAyE1E,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC;cACxB,iBAAiB;gBAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAuE1E,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC;cAC9B,iBAAiB,GAAG,gBAAgB;gBAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IA6C7F,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC;cAEhD,iBAAiB,GAAG,gBAAgB;gBAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IA4CnC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,GAAG,OAAO;CA6CnE;AAED,eAAe,sBAAsB,CAAA"}
@@ -274,12 +274,29 @@ class KodzeroToValidnoParser {
274
274
  const hasSpecs = Object.values(specs).some((v) => v === true);
275
275
  if (hasSpecs) {
276
276
  output.rules = {};
277
- if (specs.mayBeEmpty) {
278
- output.rules.isNot = '';
279
- }
280
277
  if (field.item.specs.multiple) {
281
278
  output.type = Array;
282
279
  output.rules.eachType = String;
280
+ output.rules.custom = (value, {}) => {
281
+ if (field.item.specs.mayBeEmpty && Array.isArray(value) && value.length === 0) {
282
+ return {
283
+ result: true,
284
+ details: '',
285
+ };
286
+ }
287
+ const allStringsLength24 = value.every((v) => typeof v === 'string' && v.length === 24);
288
+ return {
289
+ result: allStringsLength24,
290
+ details: allStringsLength24 ? '' : 'One or more IDs are invalid',
291
+ };
292
+ };
293
+ }
294
+ else {
295
+ output.type = String;
296
+ output.rules.length = 24;
297
+ if (specs.mayBeEmpty) {
298
+ output.rules.isNot = '';
299
+ }
283
300
  }
284
301
  }
285
302
  return output;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kodzero-schema-parser",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",