@strapi/utils 4.15.0-alpha.0 → 4.15.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 (231) hide show
  1. package/dist/async.d.ts +1 -0
  2. package/dist/async.d.ts.map +1 -0
  3. package/dist/code-generator.d.ts +1 -0
  4. package/dist/code-generator.d.ts.map +1 -0
  5. package/dist/config.d.ts +1 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/content-types.d.ts +1 -0
  8. package/dist/content-types.d.ts.map +1 -0
  9. package/dist/convert-query-params.d.ts +1 -0
  10. package/dist/convert-query-params.d.ts.map +1 -0
  11. package/dist/env-helper.d.ts +1 -0
  12. package/dist/env-helper.d.ts.map +1 -0
  13. package/dist/errors.d.ts +1 -0
  14. package/dist/errors.d.ts.map +1 -0
  15. package/dist/file.d.ts +1 -0
  16. package/dist/file.d.ts.map +1 -0
  17. package/dist/format-yup-error.d.ts +1 -0
  18. package/dist/format-yup-error.d.ts.map +1 -0
  19. package/dist/hooks.d.ts +1 -0
  20. package/dist/hooks.d.ts.map +1 -0
  21. package/dist/import-default.d.ts +1 -0
  22. package/dist/import-default.d.ts.map +1 -0
  23. package/dist/index.d.ts +20 -143
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +3036 -104
  26. package/dist/index.js.map +1 -1
  27. package/dist/index.mjs +3019 -0
  28. package/dist/index.mjs.map +1 -0
  29. package/dist/object-formatting.d.ts +1 -0
  30. package/dist/object-formatting.d.ts.map +1 -0
  31. package/dist/operators.d.ts +1 -0
  32. package/dist/operators.d.ts.map +1 -0
  33. package/dist/pagination.d.ts +1 -0
  34. package/dist/pagination.d.ts.map +1 -0
  35. package/dist/parse-multipart.d.ts +2 -2
  36. package/dist/parse-multipart.d.ts.map +1 -0
  37. package/dist/parse-type.d.ts +1 -0
  38. package/dist/parse-type.d.ts.map +1 -0
  39. package/dist/policy.d.ts +1 -0
  40. package/dist/policy.d.ts.map +1 -0
  41. package/dist/print-value.d.ts +2 -1
  42. package/dist/print-value.d.ts.map +1 -0
  43. package/dist/provider-factory.d.ts +1 -0
  44. package/dist/provider-factory.d.ts.map +1 -0
  45. package/dist/relations.d.ts +1 -0
  46. package/dist/relations.d.ts.map +1 -0
  47. package/dist/sanitize/index.d.ts +1 -0
  48. package/dist/sanitize/index.d.ts.map +1 -0
  49. package/dist/sanitize/sanitizers.d.ts +1 -0
  50. package/dist/sanitize/sanitizers.d.ts.map +1 -0
  51. package/dist/sanitize/visitors/index.d.ts +1 -0
  52. package/dist/sanitize/visitors/index.d.ts.map +1 -0
  53. package/dist/sanitize/visitors/remove-disallowed-fields.d.ts +1 -0
  54. package/dist/sanitize/visitors/remove-disallowed-fields.d.ts.map +1 -0
  55. package/dist/sanitize/visitors/remove-dynamic-zones.d.ts +1 -0
  56. package/dist/sanitize/visitors/remove-dynamic-zones.d.ts.map +1 -0
  57. package/dist/sanitize/visitors/remove-morph-to-relations.d.ts +1 -0
  58. package/dist/sanitize/visitors/remove-morph-to-relations.d.ts.map +1 -0
  59. package/dist/sanitize/visitors/remove-password.d.ts +1 -0
  60. package/dist/sanitize/visitors/remove-password.d.ts.map +1 -0
  61. package/dist/sanitize/visitors/remove-private.d.ts +1 -0
  62. package/dist/sanitize/visitors/remove-private.d.ts.map +1 -0
  63. package/dist/sanitize/visitors/remove-restricted-fields.d.ts +1 -0
  64. package/dist/sanitize/visitors/remove-restricted-fields.d.ts.map +1 -0
  65. package/dist/sanitize/visitors/remove-restricted-relations.d.ts +1 -0
  66. package/dist/sanitize/visitors/remove-restricted-relations.d.ts.map +1 -0
  67. package/dist/set-creator-fields.d.ts +1 -0
  68. package/dist/set-creator-fields.d.ts.map +1 -0
  69. package/dist/string-formatting.d.ts +1 -0
  70. package/dist/string-formatting.d.ts.map +1 -0
  71. package/dist/template-configuration.d.ts +2 -1
  72. package/dist/template-configuration.d.ts.map +1 -0
  73. package/dist/template.d.ts +1 -0
  74. package/dist/template.d.ts.map +1 -0
  75. package/dist/traverse/factory.d.ts +1 -0
  76. package/dist/traverse/factory.d.ts.map +1 -0
  77. package/dist/traverse/index.d.ts +1 -0
  78. package/dist/traverse/index.d.ts.map +1 -0
  79. package/dist/traverse/query-fields.d.ts +1 -0
  80. package/dist/traverse/query-fields.d.ts.map +1 -0
  81. package/dist/traverse/query-filters.d.ts +1 -0
  82. package/dist/traverse/query-filters.d.ts.map +1 -0
  83. package/dist/traverse/query-populate.d.ts +1 -0
  84. package/dist/traverse/query-populate.d.ts.map +1 -0
  85. package/dist/traverse/query-sort.d.ts +1 -0
  86. package/dist/traverse/query-sort.d.ts.map +1 -0
  87. package/dist/traverse-entity.d.ts +1 -0
  88. package/dist/traverse-entity.d.ts.map +1 -0
  89. package/dist/types.d.ts +2 -1
  90. package/dist/types.d.ts.map +1 -0
  91. package/dist/validate/index.d.ts +1 -0
  92. package/dist/validate/index.d.ts.map +1 -0
  93. package/dist/validate/utils.d.ts +1 -0
  94. package/dist/validate/utils.d.ts.map +1 -0
  95. package/dist/validate/validators.d.ts +1 -0
  96. package/dist/validate/validators.d.ts.map +1 -0
  97. package/dist/validate/visitors/index.d.ts +1 -0
  98. package/dist/validate/visitors/index.d.ts.map +1 -0
  99. package/dist/validate/visitors/throw-disallowed-fields.d.ts +1 -0
  100. package/dist/validate/visitors/throw-disallowed-fields.d.ts.map +1 -0
  101. package/dist/validate/visitors/throw-dynamic-zones.d.ts +1 -0
  102. package/dist/validate/visitors/throw-dynamic-zones.d.ts.map +1 -0
  103. package/dist/validate/visitors/throw-morph-to-relations.d.ts +1 -0
  104. package/dist/validate/visitors/throw-morph-to-relations.d.ts.map +1 -0
  105. package/dist/validate/visitors/throw-password.d.ts +1 -0
  106. package/dist/validate/visitors/throw-password.d.ts.map +1 -0
  107. package/dist/validate/visitors/throw-private.d.ts +1 -0
  108. package/dist/validate/visitors/throw-private.d.ts.map +1 -0
  109. package/dist/validate/visitors/throw-restricted-fields.d.ts +1 -0
  110. package/dist/validate/visitors/throw-restricted-fields.d.ts.map +1 -0
  111. package/dist/validate/visitors/throw-restricted-relations.d.ts +1 -0
  112. package/dist/validate/visitors/throw-restricted-relations.d.ts.map +1 -0
  113. package/dist/validators.d.ts +1 -0
  114. package/dist/validators.d.ts.map +1 -0
  115. package/dist/webhook.d.ts +1 -0
  116. package/dist/webhook.d.ts.map +1 -0
  117. package/dist/yup.d.ts +1 -0
  118. package/dist/yup.d.ts.map +1 -0
  119. package/package.json +13 -13
  120. package/dist/async.js +0 -33
  121. package/dist/async.js.map +0 -1
  122. package/dist/code-generator.js +0 -11
  123. package/dist/code-generator.js.map +0 -1
  124. package/dist/config.js +0 -79
  125. package/dist/config.js.map +0 -1
  126. package/dist/content-types.js +0 -162
  127. package/dist/content-types.js.map +0 -1
  128. package/dist/convert-query-params.js +0 -477
  129. package/dist/convert-query-params.js.map +0 -1
  130. package/dist/env-helper.js +0 -84
  131. package/dist/env-helper.js.map +0 -1
  132. package/dist/errors.js +0 -101
  133. package/dist/errors.js.map +0 -1
  134. package/dist/file.js +0 -54
  135. package/dist/file.js.map +0 -1
  136. package/dist/format-yup-error.js +0 -17
  137. package/dist/format-yup-error.js.map +0 -1
  138. package/dist/hooks.js +0 -89
  139. package/dist/hooks.js.map +0 -1
  140. package/dist/import-default.js +0 -9
  141. package/dist/import-default.js.map +0 -1
  142. package/dist/object-formatting.js +0 -14
  143. package/dist/object-formatting.js.map +0 -1
  144. package/dist/operators.js +0 -72
  145. package/dist/operators.js.map +0 -1
  146. package/dist/pagination.js +0 -80
  147. package/dist/pagination.js.map +0 -1
  148. package/dist/parse-multipart.js +0 -36
  149. package/dist/parse-multipart.js.map +0 -1
  150. package/dist/parse-type.js +0 -108
  151. package/dist/parse-type.js.map +0 -1
  152. package/dist/policy.js +0 -109
  153. package/dist/policy.js.map +0 -1
  154. package/dist/print-value.js +0 -50
  155. package/dist/print-value.js.map +0 -1
  156. package/dist/provider-factory.js +0 -80
  157. package/dist/provider-factory.js.map +0 -1
  158. package/dist/relations.js +0 -23
  159. package/dist/relations.js.map +0 -1
  160. package/dist/sanitize/index.js +0 -156
  161. package/dist/sanitize/index.js.map +0 -1
  162. package/dist/sanitize/sanitizers.js +0 -147
  163. package/dist/sanitize/sanitizers.js.map +0 -1
  164. package/dist/sanitize/visitors/index.js +0 -21
  165. package/dist/sanitize/visitors/index.js.map +0 -1
  166. package/dist/sanitize/visitors/remove-disallowed-fields.js +0 -83
  167. package/dist/sanitize/visitors/remove-disallowed-fields.js.map +0 -1
  168. package/dist/sanitize/visitors/remove-dynamic-zones.js +0 -10
  169. package/dist/sanitize/visitors/remove-dynamic-zones.js.map +0 -1
  170. package/dist/sanitize/visitors/remove-morph-to-relations.js +0 -10
  171. package/dist/sanitize/visitors/remove-morph-to-relations.js.map +0 -1
  172. package/dist/sanitize/visitors/remove-password.js +0 -9
  173. package/dist/sanitize/visitors/remove-password.js.map +0 -1
  174. package/dist/sanitize/visitors/remove-private.js +0 -14
  175. package/dist/sanitize/visitors/remove-private.js.map +0 -1
  176. package/dist/sanitize/visitors/remove-restricted-fields.js +0 -25
  177. package/dist/sanitize/visitors/remove-restricted-fields.js.map +0 -1
  178. package/dist/sanitize/visitors/remove-restricted-relations.js +0 -88
  179. package/dist/sanitize/visitors/remove-restricted-relations.js.map +0 -1
  180. package/dist/set-creator-fields.js +0 -39
  181. package/dist/set-creator-fields.js.map +0 -1
  182. package/dist/string-formatting.js +0 -85
  183. package/dist/string-formatting.js.map +0 -1
  184. package/dist/template-configuration.js +0 -30
  185. package/dist/template-configuration.js.map +0 -1
  186. package/dist/template.js +0 -20
  187. package/dist/template.js.map +0 -1
  188. package/dist/traverse/factory.js +0 -127
  189. package/dist/traverse/factory.js.map +0 -1
  190. package/dist/traverse/index.js +0 -17
  191. package/dist/traverse/index.js.map +0 -1
  192. package/dist/traverse/query-fields.js +0 -35
  193. package/dist/traverse/query-fields.js.map +0 -1
  194. package/dist/traverse/query-filters.js +0 -75
  195. package/dist/traverse/query-filters.js.map +0 -1
  196. package/dist/traverse/query-populate.js +0 -171
  197. package/dist/traverse/query-populate.js.map +0 -1
  198. package/dist/traverse/query-sort.js +0 -117
  199. package/dist/traverse/query-sort.js.map +0 -1
  200. package/dist/traverse-entity.js +0 -134
  201. package/dist/traverse-entity.js.map +0 -1
  202. package/dist/types.js +0 -3
  203. package/dist/types.js.map +0 -1
  204. package/dist/validate/index.js +0 -121
  205. package/dist/validate/index.js.map +0 -1
  206. package/dist/validate/utils.js +0 -9
  207. package/dist/validate/utils.js.map +0 -1
  208. package/dist/validate/validators.js +0 -111
  209. package/dist/validate/validators.js.map +0 -1
  210. package/dist/validate/visitors/index.js +0 -21
  211. package/dist/validate/visitors/index.js.map +0 -1
  212. package/dist/validate/visitors/throw-disallowed-fields.js +0 -84
  213. package/dist/validate/visitors/throw-disallowed-fields.js.map +0 -1
  214. package/dist/validate/visitors/throw-dynamic-zones.js +0 -11
  215. package/dist/validate/visitors/throw-dynamic-zones.js.map +0 -1
  216. package/dist/validate/visitors/throw-morph-to-relations.js +0 -11
  217. package/dist/validate/visitors/throw-morph-to-relations.js.map +0 -1
  218. package/dist/validate/visitors/throw-password.js +0 -10
  219. package/dist/validate/visitors/throw-password.js.map +0 -1
  220. package/dist/validate/visitors/throw-private.js +0 -15
  221. package/dist/validate/visitors/throw-private.js.map +0 -1
  222. package/dist/validate/visitors/throw-restricted-fields.js +0 -24
  223. package/dist/validate/visitors/throw-restricted-fields.js.map +0 -1
  224. package/dist/validate/visitors/throw-restricted-relations.js +0 -81
  225. package/dist/validate/visitors/throw-restricted-relations.js.map +0 -1
  226. package/dist/validators.js +0 -64
  227. package/dist/validators.js.map +0 -1
  228. package/dist/webhook.js +0 -27
  229. package/dist/webhook.js.map +0 -1
  230. package/dist/yup.js +0 -108
  231. package/dist/yup.js.map +0 -1
package/dist/webhook.js DELETED
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const webhookEvents = {
4
- ENTRY_CREATE: 'entry.create',
5
- ENTRY_UPDATE: 'entry.update',
6
- ENTRY_DELETE: 'entry.delete',
7
- ENTRY_PUBLISH: 'entry.publish',
8
- ENTRY_UNPUBLISH: 'entry.unpublish',
9
- MEDIA_CREATE: 'media.create',
10
- MEDIA_UPDATE: 'media.update',
11
- MEDIA_DELETE: 'media.delete',
12
- };
13
- /**
14
- * TODO V5: remove this file
15
- * @deprecated
16
- */
17
- const deprecatedWebhookEvents = new Proxy(webhookEvents, {
18
- get(target, prop) {
19
- console.warn('[deprecated] @strapi/utils/webhook will no longer exist in the next major release of Strapi. ' +
20
- 'Instead, the webhookEvents object can be retrieved from strapi.webhookStore.allowedEvents');
21
- return target[prop];
22
- },
23
- });
24
- exports.default = {
25
- webhookEvents: deprecatedWebhookEvents,
26
- };
27
- //# sourceMappingURL=webhook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../src/webhook.ts"],"names":[],"mappings":";;AAAA,MAAM,aAAa,GAAG;IACpB,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;IAClC,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;CAC7B,CAAC;AAIF;;;GAGG;AACH,MAAM,uBAAuB,GAAG,IAAI,KAAK,CAAgB,aAAa,EAAE;IACtE,GAAG,CAAC,MAAM,EAAE,IAAY;QACtB,OAAO,CAAC,IAAI,CACV,+FAA+F;YAC7F,2FAA2F,CAC9F,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;CACF,CAAC,CAAC;AAEH,kBAAe;IACb,aAAa,EAAE,uBAAuB;CACvC,CAAC"}
package/dist/yup.js DELETED
@@ -1,108 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
- };
28
- var __importDefault = (this && this.__importDefault) || function (mod) {
29
- return (mod && mod.__esModule) ? mod : { "default": mod };
30
- };
31
- Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.StrapiIDSchema = exports.strapiID = void 0;
33
- /* eslint-disable no-template-curly-in-string */
34
- /* eslint-disable @typescript-eslint/ban-ts-comment */
35
- const yup = __importStar(require("yup"));
36
- const lodash_1 = __importDefault(require("lodash"));
37
- const fp_1 = require("lodash/fp");
38
- const utils = __importStar(require("./string-formatting"));
39
- const print_value_1 = __importDefault(require("./print-value"));
40
- __exportStar(require("yup"), exports);
41
- // @ts-ignore
42
- const strapiID = () => new StrapiIDSchema();
43
- exports.strapiID = strapiID;
44
- const isNotNilTest = (value) => !lodash_1.default.isNil(value);
45
- const isNotNullTest = (value) => !lodash_1.default.isNull(value);
46
- yup.addMethod(yup.mixed, 'notNil', function isNotNill(msg = '${path} must be defined.') {
47
- return this.test('defined', msg, isNotNilTest);
48
- });
49
- yup.addMethod(yup.mixed, 'notNull', function isNotNull(msg = '${path} cannot be null.') {
50
- return this.test('defined', msg, isNotNullTest);
51
- });
52
- yup.addMethod(yup.mixed, 'isFunction', function isFunction(message = '${path} is not a function') {
53
- return this.test('is a function', message, (value) => lodash_1.default.isUndefined(value) || lodash_1.default.isFunction(value));
54
- });
55
- yup.addMethod(yup.string, 'isCamelCase', function isCamelCase(message = '${path} is not in camel case (anExampleOfCamelCase)') {
56
- return this.test('is in camelCase', message, (value) => value ? utils.isCamelCase(value) : true);
57
- });
58
- yup.addMethod(yup.string, 'isKebabCase', function isKebabCase(message = '${path} is not in kebab case (an-example-of-kebab-case)') {
59
- return this.test('is in kebab-case', message, (value) => value ? utils.isKebabCase(value) : true);
60
- });
61
- yup.addMethod(yup.object, 'onlyContainsFunctions', function onlyContainsFunctions(message = '${path} contains values that are not functions') {
62
- return this.test('only contains functions', message, (value) => lodash_1.default.isUndefined(value) || (value && Object.values(value).every(lodash_1.default.isFunction)));
63
- });
64
- yup.addMethod(yup.array, 'uniqueProperty', function uniqueProperty(propertyName, message) {
65
- return this.test('unique', message, function unique(list) {
66
- const errors = [];
67
- list?.forEach((element, index) => {
68
- const sameElements = list.filter((e) => (0, fp_1.get)(propertyName, e) === (0, fp_1.get)(propertyName, element));
69
- if (sameElements.length > 1) {
70
- errors.push(this.createError({
71
- path: `${this.path}[${index}].${propertyName}`,
72
- message,
73
- }));
74
- }
75
- });
76
- if (errors.length) {
77
- throw new yup.ValidationError(errors);
78
- }
79
- return true;
80
- });
81
- });
82
- class StrapiIDSchema extends yup.MixedSchema {
83
- constructor() {
84
- super({ type: 'strapiID' });
85
- }
86
- _typeCheck(value) {
87
- return typeof value === 'string' || ((0, fp_1.isNumber)(value) && (0, fp_1.isInteger)(value) && value >= 0);
88
- }
89
- }
90
- exports.StrapiIDSchema = StrapiIDSchema;
91
- // Temporary fix of this issue : https://github.com/jquense/yup/issues/616
92
- yup.setLocale({
93
- mixed: {
94
- notType(options) {
95
- const { path, type, value, originalValue } = options;
96
- const isCast = originalValue != null && originalValue !== value;
97
- const msg = `${path} must be a \`${type}\` type, ` +
98
- `but the final value was: \`${(0, print_value_1.default)(value, true)}\`${isCast ? ` (cast from the value \`${(0, print_value_1.default)(originalValue, true)}\`).` : '.'}`;
99
- /* Remove comment that is not supposed to be seen by the enduser
100
- if (value === null) {
101
- msg += `\n If "null" is intended as an empty value be sure to mark the schema as \`.nullable()\``;
102
- }
103
- */
104
- return msg;
105
- },
106
- },
107
- });
108
- //# sourceMappingURL=yup.js.map
package/dist/yup.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"yup.js","sourceRoot":"","sources":["../src/yup.ts"],"names":[],"mappings":"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"}