@strapi/utils 5.0.0-beta.1 → 5.0.0-beta.2

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":"async.d.ts","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"AAGA,KAAK,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;AAMrC,KAAK,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;IAC/E,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;CACtB,GACG;IACE,CACE,GAAG,EAAE,UAAU,SAAS,OAAO,CAAC,MAAM,kBAAkB,CAAC,GAAG,kBAAkB,GAAG,UAAU,KACxF,CAAC;CACP,GACD,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GAChD,IAAI,SAAS,OAAO,EAAE,GACpB;IACE,CACE,GAAG,EAAE,UAAU,SAAS,OAAO,CAAC,MAAM,kBAAkB,CAAC,GACrD,kBAAkB,GAClB,UAAU,KACX,CAAC;IACN,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;CACrB,GACD,EAAE,GACJ,EAAE,CAAC;AAEP,wBAAgB,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,EAC5D,GAAG,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,+EAGE,GAAG,4EAiBrD;AAED,eAAO,MAAM,GAAG,yBAAc,CAAC;AAE/B,eAAO,MAAM,MAAM,eACJ,GAAG,EAAE,mBACE,OAAO,yDAM1B,CAAC"}
1
+ {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"AAGA,KAAK,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;AAMrC,KAAK,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;IAC/E,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;CACtB,GACG;IACE,CACE,GAAG,EAAE,UAAU,SAAS,OAAO,CAAC,MAAM,kBAAkB,CAAC,GAAG,kBAAkB,GAAG,UAAU,KACxF,CAAC;CACP,GACD,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GAC9C,IAAI,SAAS,OAAO,EAAE,GACpB;IACE,CACE,GAAG,EAAE,UAAU,SAAS,OAAO,CAAC,MAAM,kBAAkB,CAAC,GACrD,kBAAkB,GAClB,UAAU,KACX,CAAC;IACN,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;CACrB,GACD,EAAE,GACJ,EAAE,CAAC;AAET,wBAAgB,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,EAC5D,GAAG,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,+EAGE,GAAG,4EAiBrD;AAED,eAAO,MAAM,GAAG,yBAAc,CAAC;AAE/B,eAAO,MAAM,MAAM,eACJ,GAAG,EAAE,mBACE,OAAO,yDAM1B,CAAC"}
@@ -45,6 +45,7 @@ declare const isDynamicZoneAttribute: (attribute: Attribute) => attribute is Dyn
45
45
  declare const isMorphToRelationalAttribute: (attribute: Attribute) => boolean;
46
46
  declare const getComponentAttributes: (schema: Model) => string[];
47
47
  declare const getScalarAttributes: (schema: Model) => string[];
48
+ declare const getRelationalAttributes: (schema: Model) => string[];
48
49
  /**
49
50
  * Checks if an attribute is of type `type`
50
51
  * @param {object} attribute
@@ -57,5 +58,5 @@ declare const isTypedAttribute: (attribute: Attribute, type: string) => boolean;
57
58
  * @returns {string}
58
59
  */
59
60
  declare const getContentTypeRoutePrefix: (contentType: WithRequired<Model, 'info'>) => string;
60
- export { isScalarAttribute, isMediaAttribute, isRelationalAttribute, isComponentAttribute, isDynamicZoneAttribute, isMorphToRelationalAttribute, isTypedAttribute, getPrivateAttributes, isPrivateAttribute, constants, getNonWritableAttributes, getComponentAttributes, getScalarAttributes, getWritableAttributes, isWritableAttribute, getNonVisibleAttributes, getVisibleAttributes, getTimestamps, getCreatorFields, isVisibleAttribute, getOptions, isDraft, hasDraftAndPublish, isSingleType, isCollectionType, isKind, getContentTypeRoutePrefix, };
61
+ export { isScalarAttribute, isMediaAttribute, isRelationalAttribute, isComponentAttribute, isDynamicZoneAttribute, isMorphToRelationalAttribute, isTypedAttribute, getPrivateAttributes, isPrivateAttribute, constants, getNonWritableAttributes, getComponentAttributes, getScalarAttributes, getRelationalAttributes, getWritableAttributes, isWritableAttribute, getNonVisibleAttributes, getVisibleAttributes, getTimestamps, getCreatorFields, isVisibleAttribute, getOptions, isDraft, hasDraftAndPublish, isSingleType, isCollectionType, isKind, getContentTypeRoutePrefix, };
61
62
  //# sourceMappingURL=content-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../src/content-types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,KAAK,EACL,IAAI,EACJ,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACb,MAAM,SAAS,CAAC;AAejB,QAAA,MAAM,SAAS;;;;;;;;;;CAUd,CAAC;AAEF,QAAA,MAAM,aAAa,UAAW,KAAK,aAYlC,CAAC;AAEF,QAAA,MAAM,gBAAgB,UAAW,KAAK,aAYrC,CAAC;AAEF,QAAA,MAAM,wBAAwB,UAAW,KAAK,aAe7C,CAAC;AAEF,QAAA,MAAM,qBAAqB,UAAW,KAAK,aAI1C,CAAC;AAEF,QAAA,MAAM,mBAAmB,UAAW,KAAK,iBAAiB,MAAM,YAE/D,CAAC;AAEF,QAAA,MAAM,uBAAuB,UAAW,KAAK,aAQ5C,CAAC;AAEF,QAAA,MAAM,oBAAoB,UAAW,KAAK,aAEzC,CAAC;AAEF,QAAA,MAAM,kBAAkB,UAAW,KAAK,iBAAiB,MAAM,YAE9D,CAAC;AAEF,QAAA,MAAM,UAAU,UAAW,KAAK;;;;;;;EACmC,CAAC;AAEpE,QAAA,MAAM,kBAAkB,UAAW,KAAK,YACiB,CAAC;AAE1D,QAAA,MAAM,OAAO,qCAAsC,KAAK,YACmB,CAAC;AAE5E,QAAA,MAAM,YAAY;;aAAuD,CAAC;AAC1E,QAAA,MAAM,gBAAgB;;aAA2D,CAAC;AAClF,QAAA,MAAM,MAAM,SAAU,IAAI,aAAa,KAAK,YAAwB,CAAC;AAQrE,QAAA,MAAM,oBAAoB,UAAW,KAAK,aAKzC,CAAC;AAEF,QAAA,MAAM,kBAAkB,UAAW,KAAK,iBAAiB,MAAM,YAK9D,CAAC;AAEF,QAAA,MAAM,iBAAiB,cAAe,SAAS,YAE9C,CAAC;AACF,QAAA,MAAM,gBAAgB,cAAe,SAAS,YAAgC,CAAC;AAC/E,QAAA,MAAM,qBAAqB,cAAe,SAAS,qCACnB,CAAC;AAEjC,QAAA,MAAM,oBAAoB,cACb,SAAS,2DAEkC,CAAC;AAEzD,QAAA,MAAM,sBAAsB,cAAe,SAAS,sCACjB,CAAC;AACpC,QAAA,MAAM,4BAA4B,cAAe,SAAS,YAEzD,CAAC;AAEF,QAAA,MAAM,sBAAsB,WAAY,KAAK,aAS5C,CAAC;AAEF,QAAA,MAAM,mBAAmB,WAAY,KAAK,aASzC,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,cAAe,SAAS,QAAQ,MAAM,YAE3D,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,yBAAyB,gBAAiB,aAAa,KAAK,EAAE,MAAM,CAAC,WAI1E,CAAC;AAEF,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,4BAA4B,EAC5B,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,yBAAyB,GAC1B,CAAC"}
1
+ {"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../src/content-types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,KAAK,EACL,IAAI,EACJ,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACb,MAAM,SAAS,CAAC;AAejB,QAAA,MAAM,SAAS;;;;;;;;;;CAUd,CAAC;AAEF,QAAA,MAAM,aAAa,UAAW,KAAK,aAYlC,CAAC;AAEF,QAAA,MAAM,gBAAgB,UAAW,KAAK,aAYrC,CAAC;AAEF,QAAA,MAAM,wBAAwB,UAAW,KAAK,aAe7C,CAAC;AAEF,QAAA,MAAM,qBAAqB,UAAW,KAAK,aAI1C,CAAC;AAEF,QAAA,MAAM,mBAAmB,UAAW,KAAK,iBAAiB,MAAM,YAE/D,CAAC;AAEF,QAAA,MAAM,uBAAuB,UAAW,KAAK,aAQ5C,CAAC;AAEF,QAAA,MAAM,oBAAoB,UAAW,KAAK,aAEzC,CAAC;AAEF,QAAA,MAAM,kBAAkB,UAAW,KAAK,iBAAiB,MAAM,YAE9D,CAAC;AAEF,QAAA,MAAM,UAAU,UAAW,KAAK;;;;;;;EACmC,CAAC;AAEpE,QAAA,MAAM,kBAAkB,UAAW,KAAK,YACiB,CAAC;AAE1D,QAAA,MAAM,OAAO,qCAAsC,KAAK,YACmB,CAAC;AAE5E,QAAA,MAAM,YAAY;;aAAuD,CAAC;AAC1E,QAAA,MAAM,gBAAgB;;aAA2D,CAAC;AAClF,QAAA,MAAM,MAAM,SAAU,IAAI,aAAa,KAAK,YAAwB,CAAC;AAQrE,QAAA,MAAM,oBAAoB,UAAW,KAAK,aAKzC,CAAC;AAEF,QAAA,MAAM,kBAAkB,UAAW,KAAK,iBAAiB,MAAM,YAK9D,CAAC;AAEF,QAAA,MAAM,iBAAiB,cAAe,SAAS,YAE9C,CAAC;AACF,QAAA,MAAM,gBAAgB,cAAe,SAAS,YAAgC,CAAC;AAC/E,QAAA,MAAM,qBAAqB,cAAe,SAAS,qCACnB,CAAC;AAEjC,QAAA,MAAM,oBAAoB,cACb,SAAS,2DAEkC,CAAC;AAEzD,QAAA,MAAM,sBAAsB,cAAe,SAAS,sCACjB,CAAC;AACpC,QAAA,MAAM,4BAA4B,cAAe,SAAS,YAEzD,CAAC;AAEF,QAAA,MAAM,sBAAsB,WAAY,KAAK,aAS5C,CAAC;AAEF,QAAA,MAAM,mBAAmB,WAAY,KAAK,aASzC,CAAC;AAEF,QAAA,MAAM,uBAAuB,WAAY,KAAK,aAS7C,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,cAAe,SAAS,QAAQ,MAAM,YAE3D,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,yBAAyB,gBAAiB,aAAa,KAAK,EAAE,MAAM,CAAC,WAI1E,CAAC;AAEF,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,4BAA4B,EAC5B,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,yBAAyB,GAC1B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -22,5 +22,6 @@ export * as errors from './errors';
22
22
  export * as contentTypes from './content-types';
23
23
  export * as relations from './relations';
24
24
  export * as hooks from './hooks';
25
+ export * from './zod';
25
26
  export * from './primitives';
26
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,cAAc,OAAO,CAAC;AAEtB,cAAc,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ const execa = require("execa");
11
11
  const preferredPM = require("preferred-pm");
12
12
  const node_stream = require("node:stream");
13
13
  const slugify = require("@sindresorhus/slugify");
14
+ const zod = require("zod");
14
15
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
15
16
  function _interopNamespace(e) {
16
17
  if (e && e.__esModule)
@@ -360,6 +361,17 @@ const getScalarAttributes = (schema) => {
360
361
  []
361
362
  );
362
363
  };
364
+ const getRelationalAttributes = (schema) => {
365
+ return ___default.default.reduce(
366
+ schema.attributes,
367
+ (acc, attr, attrName) => {
368
+ if (isRelationalAttribute(attr))
369
+ acc.push(attrName);
370
+ return acc;
371
+ },
372
+ []
373
+ );
374
+ };
363
375
  const isTypedAttribute = (attribute, type) => {
364
376
  return ___default.default.has(attribute, "type") && attribute.type === type;
365
377
  };
@@ -376,6 +388,7 @@ const contentTypes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.define
376
388
  getNonWritableAttributes,
377
389
  getOptions,
378
390
  getPrivateAttributes,
391
+ getRelationalAttributes,
379
392
  getScalarAttributes,
380
393
  getTimestamps,
381
394
  getVisibleAttributes,
@@ -3001,6 +3014,27 @@ const relations = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePro
3001
3014
  isManyToAny,
3002
3015
  isOneToAny
3003
3016
  }, Symbol.toStringTag, { value: "Module" }));
3017
+ const validateZod = (schema) => (data) => {
3018
+ try {
3019
+ return schema.parse(data);
3020
+ } catch (error) {
3021
+ if (error instanceof zod.z.ZodError) {
3022
+ const { message, errors: errors2 } = formatZodErrors(error);
3023
+ throw new ValidationError(message, { errors: errors2 });
3024
+ }
3025
+ throw error;
3026
+ }
3027
+ };
3028
+ const formatZodErrors = (zodError) => ({
3029
+ errors: zodError.errors.map((error) => {
3030
+ return {
3031
+ path: error.path,
3032
+ message: error.message,
3033
+ name: "ValidationError"
3034
+ };
3035
+ }),
3036
+ message: "Validation error"
3037
+ });
3004
3038
  exports.arrays = arrays;
3005
3039
  exports.async = async;
3006
3040
  exports.contentTypes = contentTypes;
@@ -3030,5 +3064,6 @@ exports.traverseEntity = traverseEntity$1;
3030
3064
  exports.validate = index;
3031
3065
  exports.validateYupSchema = validateYupSchema;
3032
3066
  exports.validateYupSchemaSync = validateYupSchemaSync;
3067
+ exports.validateZod = validateZod;
3033
3068
  exports.yup = yup;
3034
3069
  //# sourceMappingURL=index.js.map