@strapi/utils 5.56.0 → 5.57.0

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 (149) hide show
  1. package/dist/async.js +2 -2
  2. package/dist/async.js.map +1 -1
  3. package/dist/async.mjs +1 -1
  4. package/dist/async.mjs.map +1 -1
  5. package/dist/content-types.d.ts.map +1 -1
  6. package/dist/content-types.js +8 -9
  7. package/dist/content-types.js.map +1 -1
  8. package/dist/content-types.mjs +6 -7
  9. package/dist/content-types.mjs.map +1 -1
  10. package/dist/convert-query-params.d.ts.map +1 -1
  11. package/dist/convert-query-params.js +33 -34
  12. package/dist/convert-query-params.js.map +1 -1
  13. package/dist/convert-query-params.mjs +23 -24
  14. package/dist/convert-query-params.mjs.map +1 -1
  15. package/dist/format-yup-error.js +3 -3
  16. package/dist/format-yup-error.js.map +1 -1
  17. package/dist/format-yup-error.mjs +1 -1
  18. package/dist/format-yup-error.mjs.map +1 -1
  19. package/dist/hooks.js +3 -3
  20. package/dist/hooks.js.map +1 -1
  21. package/dist/hooks.mjs +2 -2
  22. package/dist/hooks.mjs.map +1 -1
  23. package/dist/pagination.d.ts.map +1 -1
  24. package/dist/pagination.js +15 -18
  25. package/dist/pagination.js.map +1 -1
  26. package/dist/pagination.mjs +15 -18
  27. package/dist/pagination.mjs.map +1 -1
  28. package/dist/policy.d.ts +1 -1
  29. package/dist/policy.d.ts.map +1 -1
  30. package/dist/policy.js +1 -3
  31. package/dist/policy.js.map +1 -1
  32. package/dist/policy.mjs +1 -3
  33. package/dist/policy.mjs.map +1 -1
  34. package/dist/primitives/objects.d.ts +7 -1
  35. package/dist/primitives/objects.d.ts.map +1 -1
  36. package/dist/primitives/objects.js +5 -0
  37. package/dist/primitives/objects.js.map +1 -1
  38. package/dist/primitives/objects.mjs +5 -1
  39. package/dist/primitives/objects.mjs.map +1 -1
  40. package/dist/primitives/strings.d.ts.map +1 -1
  41. package/dist/primitives/strings.js +3 -7
  42. package/dist/primitives/strings.js.map +1 -1
  43. package/dist/primitives/strings.mjs +3 -7
  44. package/dist/primitives/strings.mjs.map +1 -1
  45. package/dist/provider-factory.js +4 -4
  46. package/dist/provider-factory.js.map +1 -1
  47. package/dist/provider-factory.mjs +1 -1
  48. package/dist/provider-factory.mjs.map +1 -1
  49. package/dist/relations.js +2 -2
  50. package/dist/relations.js.map +1 -1
  51. package/dist/relations.mjs +1 -1
  52. package/dist/relations.mjs.map +1 -1
  53. package/dist/sanitize/index.d.ts.map +1 -1
  54. package/dist/sanitize/index.js +8 -8
  55. package/dist/sanitize/index.js.map +1 -1
  56. package/dist/sanitize/index.mjs +7 -7
  57. package/dist/sanitize/index.mjs.map +1 -1
  58. package/dist/sanitize/sanitizers.js +10 -10
  59. package/dist/sanitize/sanitizers.js.map +1 -1
  60. package/dist/sanitize/sanitizers.mjs +4 -4
  61. package/dist/sanitize/sanitizers.mjs.map +1 -1
  62. package/dist/sanitize/visitors/remove-disallowed-fields.js +4 -4
  63. package/dist/sanitize/visitors/remove-disallowed-fields.js.map +1 -1
  64. package/dist/sanitize/visitors/remove-disallowed-fields.mjs +3 -3
  65. package/dist/sanitize/visitors/remove-disallowed-fields.mjs.map +1 -1
  66. package/dist/sanitize/visitors/remove-restricted-fields.js +2 -2
  67. package/dist/sanitize/visitors/remove-restricted-fields.js.map +1 -1
  68. package/dist/sanitize/visitors/remove-restricted-fields.mjs +2 -2
  69. package/dist/sanitize/visitors/remove-restricted-fields.mjs.map +1 -1
  70. package/dist/sanitize/visitors/remove-restricted-relations.js +9 -9
  71. package/dist/sanitize/visitors/remove-restricted-relations.js.map +1 -1
  72. package/dist/sanitize/visitors/remove-restricted-relations.mjs +4 -4
  73. package/dist/sanitize/visitors/remove-restricted-relations.mjs.map +1 -1
  74. package/dist/security.d.ts.map +1 -1
  75. package/dist/security.js +3 -3
  76. package/dist/security.js.map +1 -1
  77. package/dist/security.mjs +3 -3
  78. package/dist/security.mjs.map +1 -1
  79. package/dist/set-creator-fields.d.ts +4 -1
  80. package/dist/set-creator-fields.d.ts.map +1 -1
  81. package/dist/set-creator-fields.js +7 -4
  82. package/dist/set-creator-fields.js.map +1 -1
  83. package/dist/set-creator-fields.mjs +7 -4
  84. package/dist/set-creator-fields.mjs.map +1 -1
  85. package/dist/traverse/factory.js +8 -8
  86. package/dist/traverse/factory.js.map +1 -1
  87. package/dist/traverse/factory.mjs +8 -8
  88. package/dist/traverse/factory.mjs.map +1 -1
  89. package/dist/traverse/query-fields.js +7 -7
  90. package/dist/traverse/query-fields.js.map +1 -1
  91. package/dist/traverse/query-fields.mjs +3 -3
  92. package/dist/traverse/query-fields.mjs.map +1 -1
  93. package/dist/traverse/query-filters.js +12 -12
  94. package/dist/traverse/query-filters.js.map +1 -1
  95. package/dist/traverse/query-filters.mjs +7 -7
  96. package/dist/traverse/query-filters.mjs.map +1 -1
  97. package/dist/traverse/query-populate.d.ts.map +1 -1
  98. package/dist/traverse/query-populate.js +21 -21
  99. package/dist/traverse/query-populate.js.map +1 -1
  100. package/dist/traverse/query-populate.mjs +12 -12
  101. package/dist/traverse/query-populate.mjs.map +1 -1
  102. package/dist/traverse/query-sort.d.ts.map +1 -1
  103. package/dist/traverse/query-sort.js +16 -16
  104. package/dist/traverse/query-sort.js.map +1 -1
  105. package/dist/traverse/query-sort.mjs +6 -6
  106. package/dist/traverse/query-sort.mjs.map +1 -1
  107. package/dist/traverse-entity.d.ts.map +1 -1
  108. package/dist/traverse-entity.js +18 -18
  109. package/dist/traverse-entity.js.map +1 -1
  110. package/dist/traverse-entity.mjs +16 -16
  111. package/dist/traverse-entity.mjs.map +1 -1
  112. package/dist/validate/index.d.ts.map +1 -1
  113. package/dist/validate/index.js +5 -5
  114. package/dist/validate/index.js.map +1 -1
  115. package/dist/validate/index.mjs +3 -3
  116. package/dist/validate/index.mjs.map +1 -1
  117. package/dist/validate/utils.d.ts +2 -1
  118. package/dist/validate/utils.d.ts.map +1 -1
  119. package/dist/validate/utils.js +4 -4
  120. package/dist/validate/utils.js.map +1 -1
  121. package/dist/validate/utils.mjs +4 -4
  122. package/dist/validate/utils.mjs.map +1 -1
  123. package/dist/validate/validators.d.ts.map +1 -1
  124. package/dist/validate/validators.js +17 -9
  125. package/dist/validate/validators.js.map +1 -1
  126. package/dist/validate/validators.mjs +14 -6
  127. package/dist/validate/validators.mjs.map +1 -1
  128. package/dist/validate/visitors/throw-disallowed-fields.js +4 -4
  129. package/dist/validate/visitors/throw-disallowed-fields.js.map +1 -1
  130. package/dist/validate/visitors/throw-disallowed-fields.mjs +3 -3
  131. package/dist/validate/visitors/throw-disallowed-fields.mjs.map +1 -1
  132. package/dist/validate/visitors/throw-restricted-fields.js +2 -2
  133. package/dist/validate/visitors/throw-restricted-fields.js.map +1 -1
  134. package/dist/validate/visitors/throw-restricted-fields.mjs +2 -2
  135. package/dist/validate/visitors/throw-restricted-fields.mjs.map +1 -1
  136. package/dist/validate/visitors/throw-restricted-relations.js +6 -6
  137. package/dist/validate/visitors/throw-restricted-relations.js.map +1 -1
  138. package/dist/validate/visitors/throw-restricted-relations.mjs +2 -2
  139. package/dist/validate/visitors/throw-restricted-relations.mjs.map +1 -1
  140. package/dist/validators.js +3 -3
  141. package/dist/validators.js.map +1 -1
  142. package/dist/validators.mjs +3 -3
  143. package/dist/validators.mjs.map +1 -1
  144. package/dist/yup.d.ts.map +1 -1
  145. package/dist/yup.js +2 -3
  146. package/dist/yup.js.map +1 -1
  147. package/dist/yup.mjs +3 -4
  148. package/dist/yup.mjs.map +1 -1
  149. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sources":["../src/validators.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable no-template-curly-in-string */\nimport * as yup from 'yup';\nimport { defaults } from 'lodash/fp';\nimport { YupValidationError } from './errors';\n\nconst handleYupError = (error: yup.ValidationError, errorMessage?: string) => {\n throw new YupValidationError(error, errorMessage);\n};\n\nconst defaultValidationParam = { strict: true, abortEarly: false };\n\nconst validateYupSchema =\n <TSchema extends yup.AnySchema>(schema: TSchema, options = {}) =>\n async (body: unknown, errorMessage?: string): Promise<yup.InferType<TSchema>> => {\n try {\n const optionsWithDefaults = defaults(defaultValidationParam, options);\n const result = await schema.validate(body, optionsWithDefaults);\n return result;\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n handleYupError(e, errorMessage);\n }\n\n throw e;\n }\n };\n\nconst validateYupSchemaSync =\n <TSchema extends yup.AnySchema>(schema: yup.AnySchema, options = {}) =>\n (body: unknown, errorMessage?: string): yup.InferType<TSchema> => {\n try {\n const optionsWithDefaults = defaults(defaultValidationParam, options);\n return schema.validateSync(body, optionsWithDefaults);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n handleYupError(e, errorMessage);\n }\n\n throw e;\n }\n };\n\nexport { handleYupError, validateYupSchema, validateYupSchemaSync };\n"],"names":["handleYupError","error","errorMessage","YupValidationError","defaultValidationParam","strict","abortEarly","validateYupSchema","schema","options","body","optionsWithDefaults","defaults","result","validate","e","yup","ValidationError","validateYupSchemaSync","validateSync"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,cAAAA,GAAiB,CAACC,KAAAA,EAA4BC,YAAAA,GAAAA;IAClD,MAAM,IAAIC,0BAAmBF,KAAAA,EAAOC,YAAAA,CAAAA;AACtC;AAEA,MAAME,sBAAAA,GAAyB;IAAEC,MAAAA,EAAQ,IAAA;IAAMC,UAAAA,EAAY;AAAM,CAAA;AAEjE,MAAMC,iBAAAA,GACJ,CAAgCC,MAAAA,EAAiBC,OAAAA,GAAU,EAAE,GAC7D,OAAOC,IAAAA,EAAeR,YAAAA,GAAAA;QACpB,IAAI;YACF,MAAMS,mBAAAA,GAAsBC,YAASR,sBAAAA,EAAwBK,OAAAA,CAAAA;AAC7D,YAAA,MAAMI,MAAAA,GAAS,MAAML,MAAAA,CAAOM,QAAQ,CAACJ,IAAAA,EAAMC,mBAAAA,CAAAA;YAC3C,OAAOE,MAAAA;AACT,QAAA,CAAA,CAAE,OAAOE,CAAAA,EAAG;YACV,IAAIA,CAAAA,YAAaC,cAAAA,CAAIC,eAAe,EAAE;AACpCjB,gBAAAA,cAAAA,CAAee,CAAAA,EAAGb,YAAAA,CAAAA;AACpB,YAAA;YAEA,MAAMa,CAAAA;AACR,QAAA;AACF,IAAA;AAEF,MAAMG,qBAAAA,GACJ,CAAgCV,MAAAA,EAAuBC,OAAAA,GAAU,EAAE,GACnE,CAACC,IAAAA,EAAeR,YAAAA,GAAAA;QACd,IAAI;YACF,MAAMS,mBAAAA,GAAsBC,YAASR,sBAAAA,EAAwBK,OAAAA,CAAAA;YAC7D,OAAOD,MAAAA,CAAOW,YAAY,CAACT,IAAAA,EAAMC,mBAAAA,CAAAA;AACnC,QAAA,CAAA,CAAE,OAAOI,CAAAA,EAAG;YACV,IAAIA,CAAAA,YAAaC,cAAAA,CAAIC,eAAe,EAAE;AACpCjB,gBAAAA,cAAAA,CAAee,CAAAA,EAAGb,YAAAA,CAAAA;AACpB,YAAA;YAEA,MAAMa,CAAAA;AACR,QAAA;AACF,IAAA;;;;;;"}
1
+ {"version":3,"file":"validators.js","sources":["../src/validators.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable no-template-curly-in-string */\nimport * as yup from 'yup';\nimport { defaults } from 'lodash';\nimport { YupValidationError } from './errors';\n\nconst handleYupError = (error: yup.ValidationError, errorMessage?: string) => {\n throw new YupValidationError(error, errorMessage);\n};\n\nconst defaultValidationParam = { strict: true, abortEarly: false };\n\nconst validateYupSchema =\n <TSchema extends yup.AnySchema>(schema: TSchema, options = {}) =>\n async (body: unknown, errorMessage?: string): Promise<yup.InferType<TSchema>> => {\n try {\n const optionsWithDefaults = defaults({}, options, defaultValidationParam);\n const result = await schema.validate(body, optionsWithDefaults);\n return result;\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n handleYupError(e, errorMessage);\n }\n\n throw e;\n }\n };\n\nconst validateYupSchemaSync =\n <TSchema extends yup.AnySchema>(schema: yup.AnySchema, options = {}) =>\n (body: unknown, errorMessage?: string): yup.InferType<TSchema> => {\n try {\n const optionsWithDefaults = defaults({}, options, defaultValidationParam);\n return schema.validateSync(body, optionsWithDefaults);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n handleYupError(e, errorMessage);\n }\n\n throw e;\n }\n };\n\nexport { handleYupError, validateYupSchema, validateYupSchemaSync };\n"],"names":["handleYupError","error","errorMessage","YupValidationError","defaultValidationParam","strict","abortEarly","validateYupSchema","schema","options","body","optionsWithDefaults","defaults","result","validate","e","yup","ValidationError","validateYupSchemaSync","validateSync"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,cAAAA,GAAiB,CAACC,KAAAA,EAA4BC,YAAAA,GAAAA;IAClD,MAAM,IAAIC,0BAAmBF,KAAAA,EAAOC,YAAAA,CAAAA;AACtC;AAEA,MAAME,sBAAAA,GAAyB;IAAEC,MAAAA,EAAQ,IAAA;IAAMC,UAAAA,EAAY;AAAM,CAAA;AAEjE,MAAMC,iBAAAA,GACJ,CAAgCC,MAAAA,EAAiBC,OAAAA,GAAU,EAAE,GAC7D,OAAOC,IAAAA,EAAeR,YAAAA,GAAAA;QACpB,IAAI;AACF,YAAA,MAAMS,mBAAAA,GAAsBC,UAAAA,CAAS,EAAC,EAAGH,OAAAA,EAASL,sBAAAA,CAAAA;AAClD,YAAA,MAAMS,MAAAA,GAAS,MAAML,MAAAA,CAAOM,QAAQ,CAACJ,IAAAA,EAAMC,mBAAAA,CAAAA;YAC3C,OAAOE,MAAAA;AACT,QAAA,CAAA,CAAE,OAAOE,CAAAA,EAAG;YACV,IAAIA,CAAAA,YAAaC,cAAAA,CAAIC,eAAe,EAAE;AACpCjB,gBAAAA,cAAAA,CAAee,CAAAA,EAAGb,YAAAA,CAAAA;AACpB,YAAA;YAEA,MAAMa,CAAAA;AACR,QAAA;AACF,IAAA;AAEF,MAAMG,qBAAAA,GACJ,CAAgCV,MAAAA,EAAuBC,OAAAA,GAAU,EAAE,GACnE,CAACC,IAAAA,EAAeR,YAAAA,GAAAA;QACd,IAAI;AACF,YAAA,MAAMS,mBAAAA,GAAsBC,UAAAA,CAAS,EAAC,EAAGH,OAAAA,EAASL,sBAAAA,CAAAA;YAClD,OAAOI,MAAAA,CAAOW,YAAY,CAACT,IAAAA,EAAMC,mBAAAA,CAAAA;AACnC,QAAA,CAAA,CAAE,OAAOI,CAAAA,EAAG;YACV,IAAIA,CAAAA,YAAaC,cAAAA,CAAIC,eAAe,EAAE;AACpCjB,gBAAAA,cAAAA,CAAee,CAAAA,EAAGb,YAAAA,CAAAA;AACpB,YAAA;YAEA,MAAMa,CAAAA;AACR,QAAA;AACF,IAAA;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as yup from 'yup';
2
- import { defaults } from 'lodash/fp';
2
+ import { defaults } from 'lodash';
3
3
  import { YupValidationError } from './errors.mjs';
4
4
 
5
5
  const handleYupError = (error, errorMessage)=>{
@@ -11,7 +11,7 @@ const defaultValidationParam = {
11
11
  };
12
12
  const validateYupSchema = (schema, options = {})=>async (body, errorMessage)=>{
13
13
  try {
14
- const optionsWithDefaults = defaults(defaultValidationParam, options);
14
+ const optionsWithDefaults = defaults({}, options, defaultValidationParam);
15
15
  const result = await schema.validate(body, optionsWithDefaults);
16
16
  return result;
17
17
  } catch (e) {
@@ -23,7 +23,7 @@ const validateYupSchema = (schema, options = {})=>async (body, errorMessage)=>{
23
23
  };
24
24
  const validateYupSchemaSync = (schema, options = {})=>(body, errorMessage)=>{
25
25
  try {
26
- const optionsWithDefaults = defaults(defaultValidationParam, options);
26
+ const optionsWithDefaults = defaults({}, options, defaultValidationParam);
27
27
  return schema.validateSync(body, optionsWithDefaults);
28
28
  } catch (e) {
29
29
  if (e instanceof yup.ValidationError) {
@@ -1 +1 @@
1
- {"version":3,"file":"validators.mjs","sources":["../src/validators.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable no-template-curly-in-string */\nimport * as yup from 'yup';\nimport { defaults } from 'lodash/fp';\nimport { YupValidationError } from './errors';\n\nconst handleYupError = (error: yup.ValidationError, errorMessage?: string) => {\n throw new YupValidationError(error, errorMessage);\n};\n\nconst defaultValidationParam = { strict: true, abortEarly: false };\n\nconst validateYupSchema =\n <TSchema extends yup.AnySchema>(schema: TSchema, options = {}) =>\n async (body: unknown, errorMessage?: string): Promise<yup.InferType<TSchema>> => {\n try {\n const optionsWithDefaults = defaults(defaultValidationParam, options);\n const result = await schema.validate(body, optionsWithDefaults);\n return result;\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n handleYupError(e, errorMessage);\n }\n\n throw e;\n }\n };\n\nconst validateYupSchemaSync =\n <TSchema extends yup.AnySchema>(schema: yup.AnySchema, options = {}) =>\n (body: unknown, errorMessage?: string): yup.InferType<TSchema> => {\n try {\n const optionsWithDefaults = defaults(defaultValidationParam, options);\n return schema.validateSync(body, optionsWithDefaults);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n handleYupError(e, errorMessage);\n }\n\n throw e;\n }\n };\n\nexport { handleYupError, validateYupSchema, validateYupSchemaSync };\n"],"names":["handleYupError","error","errorMessage","YupValidationError","defaultValidationParam","strict","abortEarly","validateYupSchema","schema","options","body","optionsWithDefaults","defaults","result","validate","e","yup","ValidationError","validateYupSchemaSync","validateSync"],"mappings":";;;;AAMA,MAAMA,cAAAA,GAAiB,CAACC,KAAAA,EAA4BC,YAAAA,GAAAA;IAClD,MAAM,IAAIC,mBAAmBF,KAAAA,EAAOC,YAAAA,CAAAA;AACtC;AAEA,MAAME,sBAAAA,GAAyB;IAAEC,MAAAA,EAAQ,IAAA;IAAMC,UAAAA,EAAY;AAAM,CAAA;AAEjE,MAAMC,iBAAAA,GACJ,CAAgCC,MAAAA,EAAiBC,OAAAA,GAAU,EAAE,GAC7D,OAAOC,IAAAA,EAAeR,YAAAA,GAAAA;QACpB,IAAI;YACF,MAAMS,mBAAAA,GAAsBC,SAASR,sBAAAA,EAAwBK,OAAAA,CAAAA;AAC7D,YAAA,MAAMI,MAAAA,GAAS,MAAML,MAAAA,CAAOM,QAAQ,CAACJ,IAAAA,EAAMC,mBAAAA,CAAAA;YAC3C,OAAOE,MAAAA;AACT,QAAA,CAAA,CAAE,OAAOE,CAAAA,EAAG;YACV,IAAIA,CAAAA,YAAaC,GAAAA,CAAIC,eAAe,EAAE;AACpCjB,gBAAAA,cAAAA,CAAee,CAAAA,EAAGb,YAAAA,CAAAA;AACpB,YAAA;YAEA,MAAMa,CAAAA;AACR,QAAA;AACF,IAAA;AAEF,MAAMG,qBAAAA,GACJ,CAAgCV,MAAAA,EAAuBC,OAAAA,GAAU,EAAE,GACnE,CAACC,IAAAA,EAAeR,YAAAA,GAAAA;QACd,IAAI;YACF,MAAMS,mBAAAA,GAAsBC,SAASR,sBAAAA,EAAwBK,OAAAA,CAAAA;YAC7D,OAAOD,MAAAA,CAAOW,YAAY,CAACT,IAAAA,EAAMC,mBAAAA,CAAAA;AACnC,QAAA,CAAA,CAAE,OAAOI,CAAAA,EAAG;YACV,IAAIA,CAAAA,YAAaC,GAAAA,CAAIC,eAAe,EAAE;AACpCjB,gBAAAA,cAAAA,CAAee,CAAAA,EAAGb,YAAAA,CAAAA;AACpB,YAAA;YAEA,MAAMa,CAAAA;AACR,QAAA;AACF,IAAA;;;;"}
1
+ {"version":3,"file":"validators.mjs","sources":["../src/validators.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable no-template-curly-in-string */\nimport * as yup from 'yup';\nimport { defaults } from 'lodash';\nimport { YupValidationError } from './errors';\n\nconst handleYupError = (error: yup.ValidationError, errorMessage?: string) => {\n throw new YupValidationError(error, errorMessage);\n};\n\nconst defaultValidationParam = { strict: true, abortEarly: false };\n\nconst validateYupSchema =\n <TSchema extends yup.AnySchema>(schema: TSchema, options = {}) =>\n async (body: unknown, errorMessage?: string): Promise<yup.InferType<TSchema>> => {\n try {\n const optionsWithDefaults = defaults({}, options, defaultValidationParam);\n const result = await schema.validate(body, optionsWithDefaults);\n return result;\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n handleYupError(e, errorMessage);\n }\n\n throw e;\n }\n };\n\nconst validateYupSchemaSync =\n <TSchema extends yup.AnySchema>(schema: yup.AnySchema, options = {}) =>\n (body: unknown, errorMessage?: string): yup.InferType<TSchema> => {\n try {\n const optionsWithDefaults = defaults({}, options, defaultValidationParam);\n return schema.validateSync(body, optionsWithDefaults);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n handleYupError(e, errorMessage);\n }\n\n throw e;\n }\n };\n\nexport { handleYupError, validateYupSchema, validateYupSchemaSync };\n"],"names":["handleYupError","error","errorMessage","YupValidationError","defaultValidationParam","strict","abortEarly","validateYupSchema","schema","options","body","optionsWithDefaults","defaults","result","validate","e","yup","ValidationError","validateYupSchemaSync","validateSync"],"mappings":";;;;AAMA,MAAMA,cAAAA,GAAiB,CAACC,KAAAA,EAA4BC,YAAAA,GAAAA;IAClD,MAAM,IAAIC,mBAAmBF,KAAAA,EAAOC,YAAAA,CAAAA;AACtC;AAEA,MAAME,sBAAAA,GAAyB;IAAEC,MAAAA,EAAQ,IAAA;IAAMC,UAAAA,EAAY;AAAM,CAAA;AAEjE,MAAMC,iBAAAA,GACJ,CAAgCC,MAAAA,EAAiBC,OAAAA,GAAU,EAAE,GAC7D,OAAOC,IAAAA,EAAeR,YAAAA,GAAAA;QACpB,IAAI;AACF,YAAA,MAAMS,mBAAAA,GAAsBC,QAAAA,CAAS,EAAC,EAAGH,OAAAA,EAASL,sBAAAA,CAAAA;AAClD,YAAA,MAAMS,MAAAA,GAAS,MAAML,MAAAA,CAAOM,QAAQ,CAACJ,IAAAA,EAAMC,mBAAAA,CAAAA;YAC3C,OAAOE,MAAAA;AACT,QAAA,CAAA,CAAE,OAAOE,CAAAA,EAAG;YACV,IAAIA,CAAAA,YAAaC,GAAAA,CAAIC,eAAe,EAAE;AACpCjB,gBAAAA,cAAAA,CAAee,CAAAA,EAAGb,YAAAA,CAAAA;AACpB,YAAA;YAEA,MAAMa,CAAAA;AACR,QAAA;AACF,IAAA;AAEF,MAAMG,qBAAAA,GACJ,CAAgCV,MAAAA,EAAuBC,OAAAA,GAAU,EAAE,GACnE,CAACC,IAAAA,EAAeR,YAAAA,GAAAA;QACd,IAAI;AACF,YAAA,MAAMS,mBAAAA,GAAsBC,QAAAA,CAAS,EAAC,EAAGH,OAAAA,EAASL,sBAAAA,CAAAA;YAClD,OAAOI,MAAAA,CAAOW,YAAY,CAACT,IAAAA,EAAMC,mBAAAA,CAAAA;AACnC,QAAA,CAAA,CAAE,OAAOI,CAAAA,EAAG;YACV,IAAIA,CAAAA,YAAaC,GAAAA,CAAIC,eAAe,EAAE;AACpCjB,gBAAAA,cAAAA,CAAee,CAAAA,EAAGb,YAAAA,CAAAA;AACpB,YAAA;YAEA,MAAMa,CAAAA;AACR,QAAA;AACF,IAAA;;;;"}
package/dist/yup.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"yup.d.ts","sourceRoot":"","sources":["../src/yup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAM3B,cAAc,KAAK,CAAC;AAEpB,eAAO,MAAM,QAAQ,QAAO,YAAY,CAAC,OAAO,cAAc,CAAyB,CAAC;AAmFxF,qBAAa,cAAe,SAAQ,GAAG,CAAC,WAAW;;IAKjD,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,GAAG,MAAM;CAGrD;AAED,OAAO,QAAQ,KAAK,CAAC;IAGnB,UAAiB,UAAU;QACzB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACjC;IAED,UAAiB,YAAY;QAC3B,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACrC;IAGD,UAAiB,YAAY,CAAC,MAAM;QAClC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/C;CACF"}
1
+ {"version":3,"file":"yup.d.ts","sourceRoot":"","sources":["../src/yup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAK3B,cAAc,KAAK,CAAC;AAEpB,eAAO,MAAM,QAAQ,QAAO,YAAY,CAAC,OAAO,cAAc,CAAyB,CAAC;AAmFxF,qBAAa,cAAe,SAAQ,GAAG,CAAC,WAAW;;IAKjD,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,GAAG,MAAM;CAGrD;AAED,OAAO,QAAQ,KAAK,CAAC;IAGnB,UAAiB,UAAU;QACzB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACjC;IAED,UAAiB,YAAY;QAC3B,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACrC;IAGD,UAAiB,YAAY,CAAC,MAAM;QAClC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/C;CACF"}
package/dist/yup.js CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  var yup = require('yup');
4
4
  var _ = require('lodash');
5
- var fp = require('lodash/fp');
6
5
  var strings = require('./primitives/strings.js');
7
6
  var printValue = require('./print-value.js');
8
7
 
@@ -54,7 +53,7 @@ yup__namespace.addMethod(yup__namespace.array, 'uniqueProperty', function unique
54
53
  return this.test('unique', message, function unique(list) {
55
54
  const errors = [];
56
55
  list?.forEach((element, index)=>{
57
- const sameElements = list.filter((e)=>fp.get(propertyName, e) === fp.get(propertyName, element));
56
+ const sameElements = list.filter((e)=>_.get(e, propertyName) === _.get(element, propertyName));
58
57
  if (sameElements.length > 1) {
59
58
  errors.push(this.createError({
60
59
  path: `${this.path}[${index}].${propertyName}`,
@@ -70,7 +69,7 @@ yup__namespace.addMethod(yup__namespace.array, 'uniqueProperty', function unique
70
69
  });
71
70
  class StrapiIDSchema extends yup__namespace.MixedSchema {
72
71
  _typeCheck(value) {
73
- return typeof value === 'string' || fp.isNumber(value) && fp.isInteger(value) && value >= 0;
72
+ return typeof value === 'string' || _.isNumber(value) && Number.isInteger(value) && value >= 0;
74
73
  }
75
74
  constructor(){
76
75
  super({
package/dist/yup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"yup.js","sources":["../src/yup.ts"],"sourcesContent":["/* eslint-disable no-template-curly-in-string */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport * as yup from 'yup';\nimport _ from 'lodash';\nimport { isNumber, isInteger, get } from 'lodash/fp';\nimport { strings } from './primitives';\nimport { printValue } from './print-value';\n\nexport * from 'yup';\n\nexport const strapiID = (): InstanceType<typeof StrapiIDSchema> => new StrapiIDSchema();\n\nconst isNotNilTest = (value: unknown) => !_.isNil(value);\n\nconst isNotNullTest = (value: unknown) => !_.isNull(value);\n\nyup.addMethod(yup.mixed, 'notNil', function isNotNill(msg = '${path} must be defined.') {\n return this.test('defined', msg, isNotNilTest);\n});\n\nyup.addMethod(yup.mixed, 'notNull', function isNotNull(msg = '${path} cannot be null.') {\n return this.test('defined', msg, isNotNullTest);\n});\n\nyup.addMethod(yup.mixed, 'isFunction', function isFunction(message = '${path} is not a function') {\n return this.test(\n 'is a function',\n message,\n (value) => _.isUndefined(value) || _.isFunction(value)\n );\n});\n\nyup.addMethod(\n yup.string,\n 'isCamelCase',\n function isCamelCase(message = '${path} is not in camel case (anExampleOfCamelCase)') {\n return this.test('is in camelCase', message, (value) =>\n value ? strings.isCamelCase(value) : true\n );\n }\n);\n\nyup.addMethod(\n yup.string,\n 'isKebabCase',\n function isKebabCase(message = '${path} is not in kebab case (an-example-of-kebab-case)') {\n return this.test('is in kebab-case', message, (value) =>\n value ? strings.isKebabCase(value) : true\n );\n }\n);\n\nyup.addMethod(\n yup.object,\n 'onlyContainsFunctions',\n function onlyContainsFunctions(message = '${path} contains values that are not functions') {\n return this.test(\n 'only contains functions',\n message,\n (value) => _.isUndefined(value) || (value && Object.values(value).every(_.isFunction))\n );\n }\n);\n\nyup.addMethod(\n yup.array,\n 'uniqueProperty',\n function uniqueProperty(propertyName: string, message: string) {\n return this.test('unique', message, function unique(list) {\n const errors: yup.ValidationError[] = [];\n\n list?.forEach((element, index) => {\n const sameElements = list.filter(\n (e) => get(propertyName, e) === get(propertyName, element)\n );\n if (sameElements.length > 1) {\n errors.push(\n this.createError({\n path: `${this.path}[${index}].${propertyName}`,\n message,\n })\n );\n }\n });\n\n if (errors.length) {\n throw new yup.ValidationError(errors);\n }\n return true;\n });\n }\n);\n\nexport class StrapiIDSchema extends yup.MixedSchema {\n constructor() {\n super({ type: 'strapiID' });\n }\n\n _typeCheck(value: unknown): value is string | number {\n return typeof value === 'string' || (isNumber(value) && isInteger(value) && value >= 0);\n }\n}\n\ndeclare module 'yup' {\n // const strapiID: () => InstanceType<typeof StrapiIDSchema>;\n\n export interface BaseSchema {\n isFunction(message?: string): this;\n notNil(message?: string): this;\n notNull(message?: string): this;\n }\n\n export interface StringSchema {\n isCamelCase(message?: string): this;\n isKebabCase(message?: string): this;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n export interface ObjectSchema<TShape> {\n onlyContainsFunctions(message?: string): this;\n }\n}\n\ninterface NoTypeOptions {\n path: string;\n type: string;\n value: unknown;\n originalValue: unknown;\n}\n\n// Temporary fix of this issue : https://github.com/jquense/yup/issues/616\nyup.setLocale({\n mixed: {\n notType(options: NoTypeOptions) {\n const { path, type, value, originalValue } = options;\n const isCast = originalValue != null && originalValue !== value;\n const msg =\n `${path} must be a \\`${type}\\` type, ` +\n `but the final value was: \\`${printValue(value, true)}\\`${\n isCast ? ` (cast from the value \\`${printValue(originalValue, true)}\\`).` : '.'\n }`;\n\n /* Remove comment that is not supposed to be seen by the enduser\n if (value === null) {\n msg += `\\n If \"null\" is intended as an empty value be sure to mark the schema as \\`.nullable()\\``;\n }\n */\n return msg;\n },\n },\n});\n"],"names":["strapiID","StrapiIDSchema","isNotNilTest","value","_","isNil","isNotNullTest","isNull","yup","addMethod","mixed","isNotNill","msg","test","isNotNull","isFunction","message","isUndefined","string","isCamelCase","strings","isKebabCase","object","onlyContainsFunctions","Object","values","every","array","uniqueProperty","propertyName","unique","list","errors","forEach","element","index","sameElements","filter","e","get","length","push","createError","path","ValidationError","MixedSchema","_typeCheck","isNumber","isInteger","type","setLocale","notType","options","originalValue","isCast","printValue"],"mappings":"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"}
1
+ {"version":3,"file":"yup.js","sources":["../src/yup.ts"],"sourcesContent":["/* eslint-disable no-template-curly-in-string */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport * as yup from 'yup';\nimport _, { isNumber, get } from 'lodash';\nimport { strings } from './primitives';\nimport { printValue } from './print-value';\n\nexport * from 'yup';\n\nexport const strapiID = (): InstanceType<typeof StrapiIDSchema> => new StrapiIDSchema();\n\nconst isNotNilTest = (value: unknown) => !_.isNil(value);\n\nconst isNotNullTest = (value: unknown) => !_.isNull(value);\n\nyup.addMethod(yup.mixed, 'notNil', function isNotNill(msg = '${path} must be defined.') {\n return this.test('defined', msg, isNotNilTest);\n});\n\nyup.addMethod(yup.mixed, 'notNull', function isNotNull(msg = '${path} cannot be null.') {\n return this.test('defined', msg, isNotNullTest);\n});\n\nyup.addMethod(yup.mixed, 'isFunction', function isFunction(message = '${path} is not a function') {\n return this.test(\n 'is a function',\n message,\n (value) => _.isUndefined(value) || _.isFunction(value)\n );\n});\n\nyup.addMethod(\n yup.string,\n 'isCamelCase',\n function isCamelCase(message = '${path} is not in camel case (anExampleOfCamelCase)') {\n return this.test('is in camelCase', message, (value) =>\n value ? strings.isCamelCase(value) : true\n );\n }\n);\n\nyup.addMethod(\n yup.string,\n 'isKebabCase',\n function isKebabCase(message = '${path} is not in kebab case (an-example-of-kebab-case)') {\n return this.test('is in kebab-case', message, (value) =>\n value ? strings.isKebabCase(value) : true\n );\n }\n);\n\nyup.addMethod(\n yup.object,\n 'onlyContainsFunctions',\n function onlyContainsFunctions(message = '${path} contains values that are not functions') {\n return this.test(\n 'only contains functions',\n message,\n (value) => _.isUndefined(value) || (value && Object.values(value).every(_.isFunction))\n );\n }\n);\n\nyup.addMethod(\n yup.array,\n 'uniqueProperty',\n function uniqueProperty(propertyName: string, message: string) {\n return this.test('unique', message, function unique(list) {\n const errors: yup.ValidationError[] = [];\n\n list?.forEach((element, index) => {\n const sameElements = list.filter(\n (e) => get(e, propertyName) === get(element, propertyName)\n );\n if (sameElements.length > 1) {\n errors.push(\n this.createError({\n path: `${this.path}[${index}].${propertyName}`,\n message,\n })\n );\n }\n });\n\n if (errors.length) {\n throw new yup.ValidationError(errors);\n }\n return true;\n });\n }\n);\n\nexport class StrapiIDSchema extends yup.MixedSchema {\n constructor() {\n super({ type: 'strapiID' });\n }\n\n _typeCheck(value: unknown): value is string | number {\n return typeof value === 'string' || (isNumber(value) && Number.isInteger(value) && value >= 0);\n }\n}\n\ndeclare module 'yup' {\n // const strapiID: () => InstanceType<typeof StrapiIDSchema>;\n\n export interface BaseSchema {\n isFunction(message?: string): this;\n notNil(message?: string): this;\n notNull(message?: string): this;\n }\n\n export interface StringSchema {\n isCamelCase(message?: string): this;\n isKebabCase(message?: string): this;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n export interface ObjectSchema<TShape> {\n onlyContainsFunctions(message?: string): this;\n }\n}\n\ninterface NoTypeOptions {\n path: string;\n type: string;\n value: unknown;\n originalValue: unknown;\n}\n\n// Temporary fix of this issue : https://github.com/jquense/yup/issues/616\nyup.setLocale({\n mixed: {\n notType(options: NoTypeOptions) {\n const { path, type, value, originalValue } = options;\n const isCast = originalValue != null && originalValue !== value;\n const msg =\n `${path} must be a \\`${type}\\` type, ` +\n `but the final value was: \\`${printValue(value, true)}\\`${\n isCast ? ` (cast from the value \\`${printValue(originalValue, true)}\\`).` : '.'\n }`;\n\n /* Remove comment that is not supposed to be seen by the enduser\n if (value === null) {\n msg += `\\n If \"null\" is intended as an empty value be sure to mark the schema as \\`.nullable()\\``;\n }\n */\n return msg;\n },\n },\n});\n"],"names":["strapiID","StrapiIDSchema","isNotNilTest","value","_","isNil","isNotNullTest","isNull","yup","addMethod","mixed","isNotNill","msg","test","isNotNull","isFunction","message","isUndefined","string","isCamelCase","strings","isKebabCase","object","onlyContainsFunctions","Object","values","every","array","uniqueProperty","propertyName","unique","list","errors","forEach","element","index","sameElements","filter","e","get","length","push","createError","path","ValidationError","MixedSchema","_typeCheck","isNumber","Number","isInteger","type","setLocale","notType","options","originalValue","isCast","printValue"],"mappings":"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"}
package/dist/yup.mjs CHANGED
@@ -1,7 +1,6 @@
1
1
  import * as yup from 'yup';
2
2
  export * from 'yup';
3
- import ___default from 'lodash';
4
- import { get, isNumber, isInteger } from 'lodash/fp';
3
+ import ___default, { get, isNumber } from 'lodash';
5
4
  import { isCamelCase, isKebabCase } from './primitives/strings.mjs';
6
5
  import { printValue } from './print-value.mjs';
7
6
 
@@ -30,7 +29,7 @@ yup.addMethod(yup.array, 'uniqueProperty', function uniqueProperty(propertyName,
30
29
  return this.test('unique', message, function unique(list) {
31
30
  const errors = [];
32
31
  list?.forEach((element, index)=>{
33
- const sameElements = list.filter((e)=>get(propertyName, e) === get(propertyName, element));
32
+ const sameElements = list.filter((e)=>get(e, propertyName) === get(element, propertyName));
34
33
  if (sameElements.length > 1) {
35
34
  errors.push(this.createError({
36
35
  path: `${this.path}[${index}].${propertyName}`,
@@ -46,7 +45,7 @@ yup.addMethod(yup.array, 'uniqueProperty', function uniqueProperty(propertyName,
46
45
  });
47
46
  class StrapiIDSchema extends yup.MixedSchema {
48
47
  _typeCheck(value) {
49
- return typeof value === 'string' || isNumber(value) && isInteger(value) && value >= 0;
48
+ return typeof value === 'string' || isNumber(value) && Number.isInteger(value) && value >= 0;
50
49
  }
51
50
  constructor(){
52
51
  super({
package/dist/yup.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"yup.mjs","sources":["../src/yup.ts"],"sourcesContent":["/* eslint-disable no-template-curly-in-string */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport * as yup from 'yup';\nimport _ from 'lodash';\nimport { isNumber, isInteger, get } from 'lodash/fp';\nimport { strings } from './primitives';\nimport { printValue } from './print-value';\n\nexport * from 'yup';\n\nexport const strapiID = (): InstanceType<typeof StrapiIDSchema> => new StrapiIDSchema();\n\nconst isNotNilTest = (value: unknown) => !_.isNil(value);\n\nconst isNotNullTest = (value: unknown) => !_.isNull(value);\n\nyup.addMethod(yup.mixed, 'notNil', function isNotNill(msg = '${path} must be defined.') {\n return this.test('defined', msg, isNotNilTest);\n});\n\nyup.addMethod(yup.mixed, 'notNull', function isNotNull(msg = '${path} cannot be null.') {\n return this.test('defined', msg, isNotNullTest);\n});\n\nyup.addMethod(yup.mixed, 'isFunction', function isFunction(message = '${path} is not a function') {\n return this.test(\n 'is a function',\n message,\n (value) => _.isUndefined(value) || _.isFunction(value)\n );\n});\n\nyup.addMethod(\n yup.string,\n 'isCamelCase',\n function isCamelCase(message = '${path} is not in camel case (anExampleOfCamelCase)') {\n return this.test('is in camelCase', message, (value) =>\n value ? strings.isCamelCase(value) : true\n );\n }\n);\n\nyup.addMethod(\n yup.string,\n 'isKebabCase',\n function isKebabCase(message = '${path} is not in kebab case (an-example-of-kebab-case)') {\n return this.test('is in kebab-case', message, (value) =>\n value ? strings.isKebabCase(value) : true\n );\n }\n);\n\nyup.addMethod(\n yup.object,\n 'onlyContainsFunctions',\n function onlyContainsFunctions(message = '${path} contains values that are not functions') {\n return this.test(\n 'only contains functions',\n message,\n (value) => _.isUndefined(value) || (value && Object.values(value).every(_.isFunction))\n );\n }\n);\n\nyup.addMethod(\n yup.array,\n 'uniqueProperty',\n function uniqueProperty(propertyName: string, message: string) {\n return this.test('unique', message, function unique(list) {\n const errors: yup.ValidationError[] = [];\n\n list?.forEach((element, index) => {\n const sameElements = list.filter(\n (e) => get(propertyName, e) === get(propertyName, element)\n );\n if (sameElements.length > 1) {\n errors.push(\n this.createError({\n path: `${this.path}[${index}].${propertyName}`,\n message,\n })\n );\n }\n });\n\n if (errors.length) {\n throw new yup.ValidationError(errors);\n }\n return true;\n });\n }\n);\n\nexport class StrapiIDSchema extends yup.MixedSchema {\n constructor() {\n super({ type: 'strapiID' });\n }\n\n _typeCheck(value: unknown): value is string | number {\n return typeof value === 'string' || (isNumber(value) && isInteger(value) && value >= 0);\n }\n}\n\ndeclare module 'yup' {\n // const strapiID: () => InstanceType<typeof StrapiIDSchema>;\n\n export interface BaseSchema {\n isFunction(message?: string): this;\n notNil(message?: string): this;\n notNull(message?: string): this;\n }\n\n export interface StringSchema {\n isCamelCase(message?: string): this;\n isKebabCase(message?: string): this;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n export interface ObjectSchema<TShape> {\n onlyContainsFunctions(message?: string): this;\n }\n}\n\ninterface NoTypeOptions {\n path: string;\n type: string;\n value: unknown;\n originalValue: unknown;\n}\n\n// Temporary fix of this issue : https://github.com/jquense/yup/issues/616\nyup.setLocale({\n mixed: {\n notType(options: NoTypeOptions) {\n const { path, type, value, originalValue } = options;\n const isCast = originalValue != null && originalValue !== value;\n const msg =\n `${path} must be a \\`${type}\\` type, ` +\n `but the final value was: \\`${printValue(value, true)}\\`${\n isCast ? ` (cast from the value \\`${printValue(originalValue, true)}\\`).` : '.'\n }`;\n\n /* Remove comment that is not supposed to be seen by the enduser\n if (value === null) {\n msg += `\\n If \"null\" is intended as an empty value be sure to mark the schema as \\`.nullable()\\``;\n }\n */\n return msg;\n },\n },\n});\n"],"names":["strapiID","StrapiIDSchema","isNotNilTest","value","_","isNil","isNotNullTest","isNull","yup","addMethod","mixed","isNotNill","msg","test","isNotNull","isFunction","message","isUndefined","string","isCamelCase","strings","isKebabCase","object","onlyContainsFunctions","Object","values","every","array","uniqueProperty","propertyName","unique","list","errors","forEach","element","index","sameElements","filter","e","get","length","push","createError","path","ValidationError","MixedSchema","_typeCheck","isNumber","isInteger","type","setLocale","notType","options","originalValue","isCast","printValue"],"mappings":"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"}
1
+ {"version":3,"file":"yup.mjs","sources":["../src/yup.ts"],"sourcesContent":["/* eslint-disable no-template-curly-in-string */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport * as yup from 'yup';\nimport _, { isNumber, get } from 'lodash';\nimport { strings } from './primitives';\nimport { printValue } from './print-value';\n\nexport * from 'yup';\n\nexport const strapiID = (): InstanceType<typeof StrapiIDSchema> => new StrapiIDSchema();\n\nconst isNotNilTest = (value: unknown) => !_.isNil(value);\n\nconst isNotNullTest = (value: unknown) => !_.isNull(value);\n\nyup.addMethod(yup.mixed, 'notNil', function isNotNill(msg = '${path} must be defined.') {\n return this.test('defined', msg, isNotNilTest);\n});\n\nyup.addMethod(yup.mixed, 'notNull', function isNotNull(msg = '${path} cannot be null.') {\n return this.test('defined', msg, isNotNullTest);\n});\n\nyup.addMethod(yup.mixed, 'isFunction', function isFunction(message = '${path} is not a function') {\n return this.test(\n 'is a function',\n message,\n (value) => _.isUndefined(value) || _.isFunction(value)\n );\n});\n\nyup.addMethod(\n yup.string,\n 'isCamelCase',\n function isCamelCase(message = '${path} is not in camel case (anExampleOfCamelCase)') {\n return this.test('is in camelCase', message, (value) =>\n value ? strings.isCamelCase(value) : true\n );\n }\n);\n\nyup.addMethod(\n yup.string,\n 'isKebabCase',\n function isKebabCase(message = '${path} is not in kebab case (an-example-of-kebab-case)') {\n return this.test('is in kebab-case', message, (value) =>\n value ? strings.isKebabCase(value) : true\n );\n }\n);\n\nyup.addMethod(\n yup.object,\n 'onlyContainsFunctions',\n function onlyContainsFunctions(message = '${path} contains values that are not functions') {\n return this.test(\n 'only contains functions',\n message,\n (value) => _.isUndefined(value) || (value && Object.values(value).every(_.isFunction))\n );\n }\n);\n\nyup.addMethod(\n yup.array,\n 'uniqueProperty',\n function uniqueProperty(propertyName: string, message: string) {\n return this.test('unique', message, function unique(list) {\n const errors: yup.ValidationError[] = [];\n\n list?.forEach((element, index) => {\n const sameElements = list.filter(\n (e) => get(e, propertyName) === get(element, propertyName)\n );\n if (sameElements.length > 1) {\n errors.push(\n this.createError({\n path: `${this.path}[${index}].${propertyName}`,\n message,\n })\n );\n }\n });\n\n if (errors.length) {\n throw new yup.ValidationError(errors);\n }\n return true;\n });\n }\n);\n\nexport class StrapiIDSchema extends yup.MixedSchema {\n constructor() {\n super({ type: 'strapiID' });\n }\n\n _typeCheck(value: unknown): value is string | number {\n return typeof value === 'string' || (isNumber(value) && Number.isInteger(value) && value >= 0);\n }\n}\n\ndeclare module 'yup' {\n // const strapiID: () => InstanceType<typeof StrapiIDSchema>;\n\n export interface BaseSchema {\n isFunction(message?: string): this;\n notNil(message?: string): this;\n notNull(message?: string): this;\n }\n\n export interface StringSchema {\n isCamelCase(message?: string): this;\n isKebabCase(message?: string): this;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n export interface ObjectSchema<TShape> {\n onlyContainsFunctions(message?: string): this;\n }\n}\n\ninterface NoTypeOptions {\n path: string;\n type: string;\n value: unknown;\n originalValue: unknown;\n}\n\n// Temporary fix of this issue : https://github.com/jquense/yup/issues/616\nyup.setLocale({\n mixed: {\n notType(options: NoTypeOptions) {\n const { path, type, value, originalValue } = options;\n const isCast = originalValue != null && originalValue !== value;\n const msg =\n `${path} must be a \\`${type}\\` type, ` +\n `but the final value was: \\`${printValue(value, true)}\\`${\n isCast ? ` (cast from the value \\`${printValue(originalValue, true)}\\`).` : '.'\n }`;\n\n /* Remove comment that is not supposed to be seen by the enduser\n if (value === null) {\n msg += `\\n If \"null\" is intended as an empty value be sure to mark the schema as \\`.nullable()\\``;\n }\n */\n return msg;\n },\n },\n});\n"],"names":["strapiID","StrapiIDSchema","isNotNilTest","value","_","isNil","isNotNullTest","isNull","yup","addMethod","mixed","isNotNill","msg","test","isNotNull","isFunction","message","isUndefined","string","isCamelCase","strings","isKebabCase","object","onlyContainsFunctions","Object","values","every","array","uniqueProperty","propertyName","unique","list","errors","forEach","element","index","sameElements","filter","e","get","length","push","createError","path","ValidationError","MixedSchema","_typeCheck","isNumber","Number","isInteger","type","setLocale","notType","options","originalValue","isCast","printValue"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/utils",
3
- "version": "5.56.0",
3
+ "version": "5.57.0",
4
4
  "description": "Shared utilities for the Strapi packages",
5
5
  "keywords": [
6
6
  "strapi",
@@ -65,13 +65,13 @@
65
65
  "@types/jest": "29.5.2",
66
66
  "@types/koa": "2.15.2",
67
67
  "@types/node": "20.19.41",
68
- "eslint-config-custom": "5.56.0",
68
+ "eslint-config-custom": "5.57.0",
69
69
  "jest": "29.6.0",
70
70
  "koa": "2.16.4",
71
71
  "koa-body": "6.0.1",
72
- "tsconfig": "5.56.0",
72
+ "tsconfig": "5.57.0",
73
73
  "vitest": "catalog:",
74
- "vitest-config": "5.56.0"
74
+ "vitest-config": "5.57.0"
75
75
  },
76
76
  "engines": {
77
77
  "node": ">=20.0.0 <=26.x.x",