@strapi/utils 4.10.2-alpha.0 → 4.10.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.
Files changed (130) hide show
  1. package/package.json +2 -2
  2. package/dist/async.d.ts +0 -15
  3. package/dist/async.js +0 -33
  4. package/dist/async.js.map +0 -1
  5. package/dist/code-generator.d.ts +0 -2
  6. package/dist/code-generator.js +0 -11
  7. package/dist/code-generator.js.map +0 -1
  8. package/dist/config.d.ts +0 -8
  9. package/dist/config.js +0 -79
  10. package/dist/config.js.map +0 -1
  11. package/dist/content-types.d.ts +0 -60
  12. package/dist/content-types.js +0 -143
  13. package/dist/content-types.js.map +0 -1
  14. package/dist/env-helper.d.ts +0 -2
  15. package/dist/env-helper.js +0 -83
  16. package/dist/env-helper.js.map +0 -1
  17. package/dist/errors.d.ts +0 -37
  18. package/dist/errors.js +0 -100
  19. package/dist/errors.js.map +0 -1
  20. package/dist/file.d.ts +0 -16
  21. package/dist/file.js +0 -54
  22. package/dist/file.js.map +0 -1
  23. package/dist/format-yup-error.d.ts +0 -10
  24. package/dist/format-yup-error.js +0 -17
  25. package/dist/format-yup-error.js.map +0 -1
  26. package/dist/hooks.d.ts +0 -92
  27. package/dist/hooks.js +0 -89
  28. package/dist/hooks.js.map +0 -1
  29. package/dist/import-default.d.ts +0 -2
  30. package/dist/import-default.js +0 -7
  31. package/dist/import-default.js.map +0 -1
  32. package/dist/index.d.ts +0 -30
  33. package/dist/index.js +0 -82
  34. package/dist/index.js.map +0 -1
  35. package/dist/object-formatting.d.ts +0 -3
  36. package/dist/object-formatting.js +0 -14
  37. package/dist/object-formatting.js.map +0 -1
  38. package/dist/pagination.d.ts +0 -14
  39. package/dist/pagination.js +0 -80
  40. package/dist/pagination.js.map +0 -1
  41. package/dist/parse-multipart.d.ts +0 -8
  42. package/dist/parse-multipart.js +0 -36
  43. package/dist/parse-multipart.js.map +0 -1
  44. package/dist/parse-type.d.ts +0 -1
  45. package/dist/parse-type.js +0 -95
  46. package/dist/parse-type.js.map +0 -1
  47. package/dist/policy.d.ts +0 -41
  48. package/dist/policy.js +0 -109
  49. package/dist/policy.js.map +0 -1
  50. package/dist/print-value.d.ts +0 -2
  51. package/dist/print-value.js +0 -50
  52. package/dist/print-value.js.map +0 -1
  53. package/dist/provider-factory.d.ts +0 -84
  54. package/dist/provider-factory.js +0 -87
  55. package/dist/provider-factory.js.map +0 -1
  56. package/dist/relations.d.ts +0 -10
  57. package/dist/relations.js +0 -23
  58. package/dist/relations.js.map +0 -1
  59. package/dist/sanitize/index.d.ts +0 -28
  60. package/dist/sanitize/index.js +0 -135
  61. package/dist/sanitize/index.js.map +0 -1
  62. package/dist/sanitize/sanitizers.d.ts +0 -10
  63. package/dist/sanitize/sanitizers.js +0 -106
  64. package/dist/sanitize/sanitizers.js.map +0 -1
  65. package/dist/sanitize/visitors/allowed-fields.d.ts +0 -3
  66. package/dist/sanitize/visitors/allowed-fields.js +0 -83
  67. package/dist/sanitize/visitors/allowed-fields.js.map +0 -1
  68. package/dist/sanitize/visitors/index.d.ts +0 -7
  69. package/dist/sanitize/visitors/index.js +0 -21
  70. package/dist/sanitize/visitors/index.js.map +0 -1
  71. package/dist/sanitize/visitors/remove-dynamic-zones.d.ts +0 -3
  72. package/dist/sanitize/visitors/remove-dynamic-zones.js +0 -10
  73. package/dist/sanitize/visitors/remove-dynamic-zones.js.map +0 -1
  74. package/dist/sanitize/visitors/remove-morph-to-relations.d.ts +0 -3
  75. package/dist/sanitize/visitors/remove-morph-to-relations.js +0 -10
  76. package/dist/sanitize/visitors/remove-morph-to-relations.js.map +0 -1
  77. package/dist/sanitize/visitors/remove-password.d.ts +0 -3
  78. package/dist/sanitize/visitors/remove-password.js +0 -9
  79. package/dist/sanitize/visitors/remove-password.js.map +0 -1
  80. package/dist/sanitize/visitors/remove-private.d.ts +0 -3
  81. package/dist/sanitize/visitors/remove-private.js +0 -14
  82. package/dist/sanitize/visitors/remove-private.js.map +0 -1
  83. package/dist/sanitize/visitors/remove-restricted-relations.d.ts +0 -3
  84. package/dist/sanitize/visitors/remove-restricted-relations.js +0 -88
  85. package/dist/sanitize/visitors/remove-restricted-relations.js.map +0 -1
  86. package/dist/sanitize/visitors/restricted-fields.d.ts +0 -3
  87. package/dist/sanitize/visitors/restricted-fields.js +0 -25
  88. package/dist/sanitize/visitors/restricted-fields.js.map +0 -1
  89. package/dist/set-creator-fields.d.ts +0 -9
  90. package/dist/set-creator-fields.js +0 -37
  91. package/dist/set-creator-fields.js.map +0 -1
  92. package/dist/string-formatting.d.ts +0 -16
  93. package/dist/string-formatting.js +0 -85
  94. package/dist/string-formatting.js.map +0 -1
  95. package/dist/template-configuration.d.ts +0 -5
  96. package/dist/template-configuration.js +0 -28
  97. package/dist/template-configuration.js.map +0 -1
  98. package/dist/template.d.ts +0 -9
  99. package/dist/template.js +0 -20
  100. package/dist/template.js.map +0 -1
  101. package/dist/traverse/factory.d.ts +0 -13
  102. package/dist/traverse/factory.js +0 -126
  103. package/dist/traverse/factory.js.map +0 -1
  104. package/dist/traverse/index.d.ts +0 -5
  105. package/dist/traverse/index.js +0 -17
  106. package/dist/traverse/index.js.map +0 -1
  107. package/dist/traverse/query-fields.d.ts +0 -3
  108. package/dist/traverse/query-fields.js +0 -35
  109. package/dist/traverse/query-fields.js.map +0 -1
  110. package/dist/traverse/query-filters.d.ts +0 -3
  111. package/dist/traverse/query-filters.js +0 -73
  112. package/dist/traverse/query-filters.js.map +0 -1
  113. package/dist/traverse/query-populate.d.ts +0 -3
  114. package/dist/traverse/query-populate.js +0 -140
  115. package/dist/traverse/query-populate.js.map +0 -1
  116. package/dist/traverse/query-sort.d.ts +0 -3
  117. package/dist/traverse/query-sort.js +0 -114
  118. package/dist/traverse/query-sort.js.map +0 -1
  119. package/dist/traverse-entity.d.ts +0 -33
  120. package/dist/traverse-entity.js +0 -134
  121. package/dist/traverse-entity.js.map +0 -1
  122. package/dist/types.d.ts +0 -57
  123. package/dist/types.js +0 -4
  124. package/dist/types.js.map +0 -1
  125. package/dist/validators.d.ts +0 -5
  126. package/dist/validators.js +0 -110
  127. package/dist/validators.js.map +0 -1
  128. package/dist/webhook.d.ts +0 -10
  129. package/dist/webhook.js +0 -14
  130. package/dist/webhook.js.map +0 -1
package/dist/file.d.ts DELETED
@@ -1,16 +0,0 @@
1
- /// <reference types="node" />
2
- /**
3
- * Utils file containing file treatment utils
4
- */
5
- import { Readable, Writable, WritableOptions } from 'node:stream';
6
- declare const kbytesToBytes: (kbytes: number) => number;
7
- declare const bytesToKbytes: (bytes: number) => number;
8
- declare const bytesToHumanReadable: (bytes: number) => string;
9
- declare const streamToBuffer: (stream: Readable) => Promise<unknown>;
10
- declare const getStreamSize: (stream: Readable) => Promise<unknown>;
11
- /**
12
- * Create a writeable Node.js stream that discards received data.
13
- * Useful for testing, draining a stream of data, etc.
14
- */
15
- declare function writableDiscardStream(options: WritableOptions): Writable;
16
- export { streamToBuffer, bytesToHumanReadable, bytesToKbytes, kbytesToBytes, getStreamSize, writableDiscardStream, };
package/dist/file.js DELETED
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.writableDiscardStream = exports.getStreamSize = exports.kbytesToBytes = exports.bytesToKbytes = exports.bytesToHumanReadable = exports.streamToBuffer = void 0;
4
- /**
5
- * Utils file containing file treatment utils
6
- */
7
- const node_stream_1 = require("node:stream");
8
- const kbytesToBytes = (kbytes) => kbytes * 1000;
9
- exports.kbytesToBytes = kbytesToBytes;
10
- const bytesToKbytes = (bytes) => Math.round((bytes / 1000) * 100) / 100;
11
- exports.bytesToKbytes = bytesToKbytes;
12
- const bytesToHumanReadable = (bytes) => {
13
- const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];
14
- if (bytes === 0)
15
- return '0 Bytes';
16
- const i = parseInt(`${Math.floor(Math.log(bytes) / Math.log(1000))}`, 10);
17
- return `${Math.round(bytes / 1000 ** i)} ${sizes[i]}`;
18
- };
19
- exports.bytesToHumanReadable = bytesToHumanReadable;
20
- const streamToBuffer = (stream) => new Promise((resolve, reject) => {
21
- const chunks = [];
22
- stream.on('data', (chunk) => {
23
- chunks.push(chunk);
24
- });
25
- stream.on('end', () => {
26
- resolve(Buffer.concat(chunks));
27
- });
28
- stream.on('error', reject);
29
- });
30
- exports.streamToBuffer = streamToBuffer;
31
- const getStreamSize = (stream) => new Promise((resolve, reject) => {
32
- let size = 0;
33
- stream.on('data', (chunk) => {
34
- size += Buffer.byteLength(chunk);
35
- });
36
- stream.on('close', () => resolve(size));
37
- stream.on('error', reject);
38
- stream.resume();
39
- });
40
- exports.getStreamSize = getStreamSize;
41
- /**
42
- * Create a writeable Node.js stream that discards received data.
43
- * Useful for testing, draining a stream of data, etc.
44
- */
45
- function writableDiscardStream(options) {
46
- return new node_stream_1.Writable({
47
- ...options,
48
- write(chunk, encding, callback) {
49
- setImmediate(callback);
50
- },
51
- });
52
- }
53
- exports.writableDiscardStream = writableDiscardStream;
54
- //# sourceMappingURL=file.js.map
package/dist/file.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../src/file.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,6CAAkE;AAElE,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;AAiDtD,sCAAa;AAhDf,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AA+C9E,sCAAa;AA9Cf,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAE,EAAE;IAC7C,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACxD,CAAC,CAAC;AAwCA,oDAAoB;AAtCtB,MAAM,cAAc,GAAG,CAAC,MAAgB,EAAE,EAAE,CAC1C,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;QACpB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AA2BH,wCAAc;AAzBhB,MAAM,aAAa,GAAG,CAAC,MAAgB,EAAE,EAAE,CACzC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1B,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3B,MAAM,CAAC,MAAM,EAAE,CAAC;AAClB,CAAC,CAAC,CAAC;AAoBH,sCAAa;AAlBf;;;GAGG;AACH,SAAS,qBAAqB,CAAC,OAAwB;IACrD,OAAO,IAAI,sBAAQ,CAAC;QAClB,GAAG,OAAO;QACV,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ;YAC5B,YAAY,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAQC,sDAAqB"}
@@ -1,10 +0,0 @@
1
- import { ValidationError } from 'yup';
2
- declare const formatYupErrors: (yupError: ValidationError) => {
3
- errors: {
4
- path: string[];
5
- message: string;
6
- name: string;
7
- }[];
8
- message: string;
9
- };
10
- export { formatYupErrors };
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatYupErrors = void 0;
4
- const fp_1 = require("lodash/fp");
5
- const formatYupInnerError = (yupError) => ({
6
- path: (0, fp_1.toPath)(yupError.path),
7
- message: yupError.message,
8
- name: yupError.name,
9
- });
10
- const formatYupErrors = (yupError) => ({
11
- errors: (0, fp_1.isEmpty)(yupError.inner)
12
- ? [formatYupInnerError(yupError)]
13
- : yupError.inner.map(formatYupInnerError),
14
- message: yupError.message,
15
- });
16
- exports.formatYupErrors = formatYupErrors;
17
- //# sourceMappingURL=format-yup-error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"format-yup-error.js","sourceRoot":"","sources":["../src/format-yup-error.ts"],"names":[],"mappings":";;;AAAA,kCAA4C;AAG5C,MAAM,mBAAmB,GAAG,CAAC,QAAyB,EAAE,EAAE,CAAC,CAAC;IAC1D,IAAI,EAAE,IAAA,WAAM,EAAC,QAAQ,CAAC,IAAI,CAAC;IAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;IACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;CACpB,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,QAAyB,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,EAAE,IAAA,YAAO,EAAC,QAAQ,CAAC,KAAK,CAAC;QAC7B,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAC3C,OAAO,EAAE,QAAQ,CAAC,OAAO;CAC1B,CAAC,CAAC;AAEM,0CAAe"}
package/dist/hooks.d.ts DELETED
@@ -1,92 +0,0 @@
1
- export interface Handler {
2
- (...args: any[]): any;
3
- }
4
- /**
5
- * Create an async series hook.
6
- * Upon execution, it will execute every handler in order with the same context
7
- */
8
- declare const createAsyncSeriesHook: <T extends Handler = Handler>() => {
9
- call(context: unknown): Promise<void>;
10
- getHandlers(): T[];
11
- register(handler: T): {
12
- getHandlers(): T[];
13
- register(handler: T): any;
14
- delete(handler: T): any;
15
- call(): never;
16
- };
17
- delete(handler: T): {
18
- getHandlers(): T[];
19
- register(handler: T): any;
20
- delete(handler: T): any;
21
- call(): never;
22
- };
23
- };
24
- /**
25
- * Create an async series waterfall hook.
26
- * Upon execution, it will execute every handler in order and pass the return value of the last handler to the next one
27
- */
28
- declare const createAsyncSeriesWaterfallHook: <T extends Handler = Handler>() => {
29
- call(param: unknown): Promise<unknown>;
30
- getHandlers(): T[];
31
- register(handler: T): {
32
- getHandlers(): T[];
33
- register(handler: T): any;
34
- delete(handler: T): any;
35
- call(): never;
36
- };
37
- delete(handler: T): {
38
- getHandlers(): T[];
39
- register(handler: T): any;
40
- delete(handler: T): any;
41
- call(): never;
42
- };
43
- };
44
- /**
45
- * Create an async parallel hook.
46
- * Upon execution, it will execute every registered handler in band.
47
- */
48
- declare const createAsyncParallelHook: <T extends Handler = Handler>() => {
49
- call(context: unknown): Promise<any[]>;
50
- getHandlers(): T[];
51
- register(handler: T): {
52
- getHandlers(): T[];
53
- register(handler: T): any;
54
- delete(handler: T): any;
55
- call(): never;
56
- };
57
- delete(handler: T): {
58
- getHandlers(): T[];
59
- register(handler: T): any;
60
- delete(handler: T): any;
61
- call(): never;
62
- };
63
- };
64
- /**
65
- * Create an async parallel hook.
66
- * Upon execution, it will execute every registered handler in serie and return the first result found.
67
- */
68
- declare const createAsyncBailHook: <T extends Handler = Handler>() => {
69
- call(context: unknown): Promise<any>;
70
- getHandlers(): T[];
71
- register(handler: T): {
72
- getHandlers(): T[];
73
- register(handler: T): any;
74
- delete(handler: T): any;
75
- call(): never;
76
- };
77
- delete(handler: T): {
78
- getHandlers(): T[];
79
- register(handler: T): any;
80
- delete(handler: T): any;
81
- call(): never;
82
- };
83
- };
84
- export declare const internals: {
85
- createHook: <T extends Handler = Handler>() => {
86
- getHandlers(): T[];
87
- register(handler: T): any;
88
- delete(handler: T): any;
89
- call(): never;
90
- };
91
- };
92
- export { createAsyncSeriesHook, createAsyncSeriesWaterfallHook, createAsyncParallelHook, createAsyncBailHook, };
package/dist/hooks.js DELETED
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createAsyncBailHook = exports.createAsyncParallelHook = exports.createAsyncSeriesWaterfallHook = exports.createAsyncSeriesHook = exports.internals = void 0;
4
- const fp_1 = require("lodash/fp");
5
- /**
6
- * Create a default Strapi hook
7
- */
8
- const createHook = () => {
9
- const state = {
10
- handlers: [],
11
- };
12
- return {
13
- getHandlers() {
14
- return state.handlers;
15
- },
16
- register(handler) {
17
- state.handlers.push(handler);
18
- return this;
19
- },
20
- delete(handler) {
21
- state.handlers = (0, fp_1.remove)((0, fp_1.eq)(handler), state.handlers);
22
- return this;
23
- },
24
- call() {
25
- throw new Error('Method not implemented');
26
- },
27
- };
28
- };
29
- /**
30
- * Create an async series hook.
31
- * Upon execution, it will execute every handler in order with the same context
32
- */
33
- const createAsyncSeriesHook = () => ({
34
- ...createHook(),
35
- async call(context) {
36
- for (const handler of this.getHandlers()) {
37
- await handler(context);
38
- }
39
- },
40
- });
41
- exports.createAsyncSeriesHook = createAsyncSeriesHook;
42
- /**
43
- * Create an async series waterfall hook.
44
- * Upon execution, it will execute every handler in order and pass the return value of the last handler to the next one
45
- */
46
- const createAsyncSeriesWaterfallHook = () => ({
47
- ...createHook(),
48
- async call(param) {
49
- let res = param;
50
- for (const handler of this.getHandlers()) {
51
- res = await handler(res);
52
- }
53
- return res;
54
- },
55
- });
56
- exports.createAsyncSeriesWaterfallHook = createAsyncSeriesWaterfallHook;
57
- /**
58
- * Create an async parallel hook.
59
- * Upon execution, it will execute every registered handler in band.
60
- */
61
- const createAsyncParallelHook = () => ({
62
- ...createHook(),
63
- async call(context) {
64
- const promises = this.getHandlers().map((handler) => handler((0, fp_1.cloneDeep)(context)));
65
- return Promise.all(promises);
66
- },
67
- });
68
- exports.createAsyncParallelHook = createAsyncParallelHook;
69
- /**
70
- * Create an async parallel hook.
71
- * Upon execution, it will execute every registered handler in serie and return the first result found.
72
- */
73
- const createAsyncBailHook = () => ({
74
- ...createHook(),
75
- async call(context) {
76
- for (const handler of this.getHandlers()) {
77
- const result = await handler(context);
78
- if (result !== undefined) {
79
- return result;
80
- }
81
- }
82
- },
83
- });
84
- exports.createAsyncBailHook = createAsyncBailHook;
85
- exports.internals = {
86
- // Internal utils
87
- createHook,
88
- };
89
- //# sourceMappingURL=hooks.js.map
package/dist/hooks.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":";;;AAAA,kCAAkD;AAMlD;;GAEG;AACH,MAAM,UAAU,GAAG,GAAgC,EAAE;IAKnD,MAAM,KAAK,GAAU;QACnB,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,OAAO;QACL,WAAW;YACT,OAAO,KAAK,CAAC,QAAQ,CAAC;QACxB,CAAC;QAED,QAAQ,CAAC,OAAU;YACjB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,OAAU;YACf,KAAK,CAAC,QAAQ,GAAG,IAAA,WAAM,EAAC,IAAA,OAAE,EAAC,OAAO,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAErD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI;YACF,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,qBAAqB,GAAG,GAAgC,EAAE,CAAC,CAAC;IAChE,GAAG,UAAU,EAAK;IAElB,KAAK,CAAC,IAAI,CAAC,OAAgB;QACzB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACxC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;SACxB;IACH,CAAC;CACF,CAAC,CAAC;AA0DD,sDAAqB;AAxDvB;;;GAGG;AACH,MAAM,8BAA8B,GAAG,GAAgC,EAAE,CAAC,CAAC;IACzE,GAAG,UAAU,EAAK;IAElB,KAAK,CAAC,IAAI,CAAC,KAAc;QACvB,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACxC,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;SAC1B;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAC,CAAC;AAyCD,wEAA8B;AAvChC;;;GAGG;AACH,MAAM,uBAAuB,GAAG,GAAgC,EAAE,CAAC,CAAC;IAClE,GAAG,UAAU,EAAK;IAElB,KAAK,CAAC,IAAI,CAAC,OAAgB;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAA,cAAS,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAElF,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;CACF,CAAC,CAAC;AA4BD,0DAAuB;AA1BzB;;;GAGG;AACH,MAAM,mBAAmB,GAAG,GAAgC,EAAE,CAAC,CAAC;IAC9D,GAAG,UAAU,EAAK;IAElB,KAAK,CAAC,IAAI,CAAC,OAAgB;QACzB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;YAEtC,IAAI,MAAM,KAAK,SAAS,EAAE;gBACxB,OAAO,MAAM,CAAC;aACf;SACF;IACH,CAAC;CACF,CAAC,CAAC;AAWD,kDAAmB;AATR,QAAA,SAAS,GAAG;IACvB,iBAAiB;IACjB,UAAU;CACX,CAAC"}
@@ -1,2 +0,0 @@
1
- declare const _default: (modName: string) => any;
2
- export = _default;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- /* eslint-disable @typescript-eslint/no-var-requires */
3
- module.exports = function importDefault(modName) {
4
- const mod = require(modName);
5
- return mod && mod.__esModule ? mod.default : mod;
6
- };
7
- //# sourceMappingURL=import-default.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"import-default.js","sourceRoot":"","sources":["../src/import-default.ts"],"names":[],"mappings":";AAAA,uDAAuD;AAEvD,iBAAS,SAAS,aAAa,CAAC,OAAe;IAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AACnD,CAAC,CAAC"}
package/dist/index.d.ts DELETED
@@ -1,30 +0,0 @@
1
- /**
2
- * Export shared utilities
3
- */
4
- declare const buildQuery: any, hasDeepFilters: any;
5
- declare const parseMultipartData: any;
6
- declare const parseType: any;
7
- declare const policy: any;
8
- declare const templateConfiguration: any;
9
- declare const yup: any, handleYupError: any, validateYupSchema: any, validateYupSchemaSync: any;
10
- declare const errors: any;
11
- declare const nameToSlug: any, nameToCollectionName: any, getCommonBeginning: any, escapeQuery: any, stringIncludes: any, stringEquals: any, isKebabCase: any, isCamelCase: any, toRegressedEnumValue: any, startsWithANumber: any, joinBy: any, toKebabCase: any;
12
- declare const removeUndefined: any, keysDeep: any;
13
- declare const getConfigUrls: any, getAbsoluteAdminUrl: any, getAbsoluteServerUrl: any;
14
- declare const generateTimestampCode: any;
15
- declare const contentTypes: any;
16
- declare const webhook: any;
17
- declare const env: any;
18
- declare const relations: any;
19
- declare const setCreatorFields: any;
20
- declare const hooks: any;
21
- declare const providerFactory: any;
22
- declare const pagination: any;
23
- declare const sanitize: any;
24
- declare const traverseEntity: any;
25
- declare const pipeAsync: any, mapAsync: any, reduceAsync: any, forEachAsync: any;
26
- declare const convertQueryParams: any;
27
- declare const importDefault: any;
28
- declare const template: any;
29
- declare const file: any;
30
- declare const traverse: any;
package/dist/index.js DELETED
@@ -1,82 +0,0 @@
1
- 'use strict';
2
- /**
3
- * Export shared utilities
4
- */
5
- const { buildQuery, hasDeepFilters } = require('./build-query');
6
- const parseMultipartData = require('./parse-multipart');
7
- const parseType = require('./parse-type');
8
- const policy = require('./policy');
9
- const templateConfiguration = require('./template-configuration');
10
- const { yup, handleYupError, validateYupSchema, validateYupSchemaSync } = require('./validators');
11
- const errors = require('./errors');
12
- const { nameToSlug, nameToCollectionName, getCommonBeginning, escapeQuery, stringIncludes, stringEquals, isKebabCase, isCamelCase, toRegressedEnumValue, startsWithANumber, joinBy, toKebabCase, } = require('./string-formatting');
13
- const { removeUndefined, keysDeep } = require('./object-formatting');
14
- const { getConfigUrls, getAbsoluteAdminUrl, getAbsoluteServerUrl } = require('./config');
15
- const { generateTimestampCode } = require('./code-generator');
16
- const contentTypes = require('./content-types');
17
- const webhook = require('./webhook');
18
- const env = require('./env-helper');
19
- const relations = require('./relations');
20
- const setCreatorFields = require('./set-creator-fields');
21
- const hooks = require('./hooks');
22
- const providerFactory = require('./provider-factory');
23
- const pagination = require('./pagination');
24
- const sanitize = require('./sanitize');
25
- const traverseEntity = require('./traverse-entity');
26
- const { pipeAsync, mapAsync, reduceAsync, forEachAsync } = require('./async');
27
- const convertQueryParams = require('./convert-query-params');
28
- const importDefault = require('./import-default');
29
- const template = require('./template');
30
- const file = require('./file');
31
- const traverse = require('./traverse');
32
- module.exports = {
33
- yup,
34
- handleYupError,
35
- policy,
36
- templateConfiguration,
37
- buildQuery,
38
- hasDeepFilters,
39
- parseMultipartData,
40
- sanitize,
41
- traverseEntity,
42
- parseType,
43
- nameToSlug,
44
- toRegressedEnumValue,
45
- startsWithANumber,
46
- joinBy,
47
- nameToCollectionName,
48
- getCommonBeginning,
49
- getConfigUrls,
50
- escapeQuery,
51
- removeUndefined,
52
- keysDeep,
53
- getAbsoluteAdminUrl,
54
- getAbsoluteServerUrl,
55
- generateTimestampCode,
56
- stringIncludes,
57
- stringEquals,
58
- template,
59
- isKebabCase,
60
- isCamelCase,
61
- toKebabCase,
62
- contentTypes,
63
- webhook,
64
- env,
65
- relations,
66
- setCreatorFields,
67
- hooks,
68
- providerFactory,
69
- pagination,
70
- pipeAsync,
71
- mapAsync,
72
- reduceAsync,
73
- forEachAsync,
74
- errors,
75
- validateYupSchema,
76
- validateYupSchemaSync,
77
- convertQueryParams,
78
- importDefault,
79
- file,
80
- traverse,
81
- };
82
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- declare const removeUndefined: (obj: object) => object;
2
- declare const keysDeep: (obj: object, path?: string[]) => string[];
3
- export { removeUndefined, keysDeep };
@@ -1,14 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.keysDeep = exports.removeUndefined = void 0;
7
- const lodash_1 = __importDefault(require("lodash"));
8
- const removeUndefined = (obj) => lodash_1.default.pickBy(obj, (value) => typeof value !== 'undefined');
9
- exports.removeUndefined = removeUndefined;
10
- const keysDeep = (obj, path = []) => !lodash_1.default.isObject(obj)
11
- ? [path.join('.')]
12
- : lodash_1.default.reduce(obj, (acc, next, key) => lodash_1.default.concat(acc, keysDeep(next, [...path, key])), []);
13
- exports.keysDeep = keysDeep;
14
- //# sourceMappingURL=object-formatting.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"object-formatting.js","sourceRoot":"","sources":["../src/object-formatting.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAEvB,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,gBAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC;AAWvF,0CAAe;AATxB,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,OAAiB,EAAE,EAAY,EAAE,CAC9D,CAAC,gBAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;IACd,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC,CAAC,gBAAC,CAAC,MAAM,CACN,GAAG,EACH,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,gBAAC,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EACjE,EAAc,CACf,CAAC;AAEkB,4BAAQ"}
@@ -1,14 +0,0 @@
1
- interface PaginationArgs {
2
- page: number;
3
- pageSize: number;
4
- start: number;
5
- limit: number;
6
- }
7
- declare const withDefaultPagination: (args: PaginationArgs, { defaults, maxLimit }?: {
8
- defaults?: {} | undefined;
9
- maxLimit?: number | undefined;
10
- }) => {
11
- start: number;
12
- limit: number;
13
- } & Partial<PaginationArgs>;
14
- export { withDefaultPagination };
@@ -1,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.withDefaultPagination = void 0;
4
- const fp_1 = require("lodash/fp");
5
- const errors_1 = require("./errors");
6
- const STRAPI_DEFAULTS = {
7
- offset: {
8
- start: 0,
9
- limit: 10,
10
- },
11
- page: {
12
- page: 1,
13
- pageSize: 10,
14
- },
15
- };
16
- const paginationAttributes = ['start', 'limit', 'page', 'pageSize'];
17
- const withMaxLimit = (limit, maxLimit = -1) => {
18
- if (maxLimit === -1 || limit < maxLimit) {
19
- return limit;
20
- }
21
- return maxLimit;
22
- };
23
- // Ensure minimum page & pageSize values (page >= 1, pageSize >= 0, start >= 0, limit >= 0)
24
- const ensureMinValues = ({ start, limit }) => ({
25
- start: Math.max(start, 0),
26
- limit: limit === -1 ? limit : Math.max(limit, 1),
27
- });
28
- const ensureMaxValues = (maxLimit = -1) => ({ start, limit }) => ({
29
- start,
30
- limit: withMaxLimit(limit, maxLimit),
31
- });
32
- // Apply maxLimit as the limit when limit is -1
33
- const withNoLimit = (pagination, maxLimit = -1) => ({
34
- ...pagination,
35
- limit: pagination.limit === -1 ? maxLimit : pagination.limit,
36
- });
37
- const withDefaultPagination = (args, { defaults = {}, maxLimit = -1 } = {}) => {
38
- const defaultValues = (0, fp_1.merge)(STRAPI_DEFAULTS, defaults);
39
- const usePagePagination = !(0, fp_1.isNil)(args.page) || !(0, fp_1.isNil)(args.pageSize);
40
- const useOffsetPagination = !(0, fp_1.isNil)(args.start) || !(0, fp_1.isNil)(args.limit);
41
- const ensureValidValues = (0, fp_1.pipe)(ensureMinValues, ensureMaxValues(maxLimit));
42
- // If there is no pagination attribute, don't modify the payload
43
- if (!usePagePagination && !useOffsetPagination) {
44
- return (0, fp_1.merge)(args, ensureValidValues(defaultValues.offset));
45
- }
46
- // If there is page & offset pagination attributes, throw an error
47
- if (usePagePagination && useOffsetPagination) {
48
- throw new errors_1.PaginationError('Cannot use both page & offset pagination in the same query');
49
- }
50
- const pagination = {
51
- start: 0,
52
- limit: 0,
53
- };
54
- // Start / Limit
55
- if (useOffsetPagination) {
56
- const { start, limit } = (0, fp_1.merge)(defaultValues.offset, args);
57
- Object.assign(pagination, { start, limit });
58
- }
59
- // Page / PageSize
60
- if (usePagePagination) {
61
- const { page, pageSize } = (0, fp_1.merge)(defaultValues.page, {
62
- ...args,
63
- pageSize: Math.max(1, args.pageSize),
64
- });
65
- Object.assign(pagination, {
66
- start: (page - 1) * pageSize,
67
- limit: pageSize,
68
- });
69
- }
70
- // Handle -1 limit
71
- Object.assign(pagination, withNoLimit(pagination, maxLimit));
72
- const replacePaginationAttributes = (0, fp_1.pipe)(
73
- // Remove pagination attributes
74
- (0, fp_1.omit)(paginationAttributes),
75
- // Merge the object with the new pagination + ensure minimum & maximum values
76
- (0, fp_1.merge)(ensureValidValues(pagination)));
77
- return replacePaginationAttributes(args);
78
- };
79
- exports.withDefaultPagination = withDefaultPagination;
80
- //# sourceMappingURL=pagination.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /// <reference types="koa" />
2
- /// <reference types="formidable" />
3
- import type { Context } from './types';
4
- declare const _default: (ctx: Context) => import("koa").Context | {
5
- data: any;
6
- files: import("formidable").Files;
7
- };
8
- export = _default;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- const lodash_1 = __importDefault(require("lodash"));
6
- module.exports = (ctx) => {
7
- if (!ctx.is('multipart')) {
8
- return { data: ctx.request.body, files: {} };
9
- }
10
- const { body = {}, files = {} } = ctx.request;
11
- if (!body.data) {
12
- return ctx.badRequest(`When using multipart/form-data you need to provide your data in a JSON 'data' field.`);
13
- }
14
- let data;
15
- try {
16
- data = JSON.parse(body.data);
17
- }
18
- catch (error) {
19
- return ctx.badRequest(`Invalid 'data' field. 'data' should be a valid JSON.`);
20
- }
21
- const filesToUpload = Object.keys(files).reduce((acc, key) => {
22
- const fullPath = lodash_1.default.toPath(key);
23
- if (fullPath.length <= 1 || fullPath[0] !== 'files') {
24
- return ctx.badRequest(`When using multipart/form-data you need to provide your files by prefixing them with the 'files'.
25
- For example, when a media file is named "avatar", make sure the form key name is "files.avatar"`);
26
- }
27
- const path = lodash_1.default.tail(fullPath);
28
- acc[path.join('.')] = files[key];
29
- return acc;
30
- }, {});
31
- return {
32
- data,
33
- files: filesToUpload,
34
- };
35
- };
36
- //# sourceMappingURL=parse-multipart.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-multipart.js","sourceRoot":"","sources":["../src/parse-multipart.ts"],"names":[],"mappings":";;;;AAAA,oDAAuB;AAGvB,iBAAS,CAAC,GAAY,EAAE,EAAE;IACxB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE;QACxB,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;KAC9C;IAED,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;IAE9C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QACd,OAAO,GAAG,CAAC,UAAU,CACnB,sFAAsF,CACvF,CAAC;KACH;IAED,IAAI,IAAI,CAAC;IACT,IAAI;QACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,GAAG,CAAC,UAAU,CAAC,sDAAsD,CAAC,CAAC;KAC/E;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3D,MAAM,QAAQ,GAAG,gBAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;YACnD,OAAO,GAAG,CAAC,UAAU,CACnB;gGACwF,CACzF,CAAC;SACH;QAED,MAAM,IAAI,GAAG,gBAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAmC,CAAC,CAAC;IAExC,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,aAAa;KACrB,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};