@strapi/utils 4.14.2 → 4.14.4

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 (122) hide show
  1. package/dist/index.d.ts +19 -143
  2. package/dist/index.js +7223 -104
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.mjs +7206 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/parse-multipart.d.ts +1 -2
  7. package/dist/print-value.d.ts +1 -1
  8. package/dist/template-configuration.d.ts +1 -1
  9. package/dist/types.d.ts +1 -1
  10. package/package.json +12 -12
  11. package/dist/async.js +0 -33
  12. package/dist/async.js.map +0 -1
  13. package/dist/code-generator.js +0 -11
  14. package/dist/code-generator.js.map +0 -1
  15. package/dist/config.js +0 -79
  16. package/dist/config.js.map +0 -1
  17. package/dist/content-types.js +0 -162
  18. package/dist/content-types.js.map +0 -1
  19. package/dist/convert-query-params.js +0 -477
  20. package/dist/convert-query-params.js.map +0 -1
  21. package/dist/env-helper.js +0 -84
  22. package/dist/env-helper.js.map +0 -1
  23. package/dist/errors.js +0 -101
  24. package/dist/errors.js.map +0 -1
  25. package/dist/file.js +0 -54
  26. package/dist/file.js.map +0 -1
  27. package/dist/format-yup-error.js +0 -17
  28. package/dist/format-yup-error.js.map +0 -1
  29. package/dist/hooks.js +0 -89
  30. package/dist/hooks.js.map +0 -1
  31. package/dist/import-default.js +0 -9
  32. package/dist/import-default.js.map +0 -1
  33. package/dist/object-formatting.js +0 -14
  34. package/dist/object-formatting.js.map +0 -1
  35. package/dist/operators.js +0 -72
  36. package/dist/operators.js.map +0 -1
  37. package/dist/pagination.js +0 -80
  38. package/dist/pagination.js.map +0 -1
  39. package/dist/parse-multipart.js +0 -36
  40. package/dist/parse-multipart.js.map +0 -1
  41. package/dist/parse-type.js +0 -108
  42. package/dist/parse-type.js.map +0 -1
  43. package/dist/policy.js +0 -109
  44. package/dist/policy.js.map +0 -1
  45. package/dist/print-value.js +0 -50
  46. package/dist/print-value.js.map +0 -1
  47. package/dist/provider-factory.js +0 -80
  48. package/dist/provider-factory.js.map +0 -1
  49. package/dist/relations.js +0 -23
  50. package/dist/relations.js.map +0 -1
  51. package/dist/sanitize/index.js +0 -156
  52. package/dist/sanitize/index.js.map +0 -1
  53. package/dist/sanitize/sanitizers.js +0 -147
  54. package/dist/sanitize/sanitizers.js.map +0 -1
  55. package/dist/sanitize/visitors/index.js +0 -21
  56. package/dist/sanitize/visitors/index.js.map +0 -1
  57. package/dist/sanitize/visitors/remove-disallowed-fields.js +0 -83
  58. package/dist/sanitize/visitors/remove-disallowed-fields.js.map +0 -1
  59. package/dist/sanitize/visitors/remove-dynamic-zones.js +0 -10
  60. package/dist/sanitize/visitors/remove-dynamic-zones.js.map +0 -1
  61. package/dist/sanitize/visitors/remove-morph-to-relations.js +0 -10
  62. package/dist/sanitize/visitors/remove-morph-to-relations.js.map +0 -1
  63. package/dist/sanitize/visitors/remove-password.js +0 -9
  64. package/dist/sanitize/visitors/remove-password.js.map +0 -1
  65. package/dist/sanitize/visitors/remove-private.js +0 -14
  66. package/dist/sanitize/visitors/remove-private.js.map +0 -1
  67. package/dist/sanitize/visitors/remove-restricted-fields.js +0 -25
  68. package/dist/sanitize/visitors/remove-restricted-fields.js.map +0 -1
  69. package/dist/sanitize/visitors/remove-restricted-relations.js +0 -88
  70. package/dist/sanitize/visitors/remove-restricted-relations.js.map +0 -1
  71. package/dist/set-creator-fields.js +0 -39
  72. package/dist/set-creator-fields.js.map +0 -1
  73. package/dist/string-formatting.js +0 -85
  74. package/dist/string-formatting.js.map +0 -1
  75. package/dist/template-configuration.js +0 -30
  76. package/dist/template-configuration.js.map +0 -1
  77. package/dist/template.js +0 -20
  78. package/dist/template.js.map +0 -1
  79. package/dist/traverse/factory.js +0 -127
  80. package/dist/traverse/factory.js.map +0 -1
  81. package/dist/traverse/index.js +0 -17
  82. package/dist/traverse/index.js.map +0 -1
  83. package/dist/traverse/query-fields.js +0 -35
  84. package/dist/traverse/query-fields.js.map +0 -1
  85. package/dist/traverse/query-filters.js +0 -75
  86. package/dist/traverse/query-filters.js.map +0 -1
  87. package/dist/traverse/query-populate.js +0 -171
  88. package/dist/traverse/query-populate.js.map +0 -1
  89. package/dist/traverse/query-sort.js +0 -117
  90. package/dist/traverse/query-sort.js.map +0 -1
  91. package/dist/traverse-entity.js +0 -134
  92. package/dist/traverse-entity.js.map +0 -1
  93. package/dist/types.js +0 -3
  94. package/dist/types.js.map +0 -1
  95. package/dist/validate/index.js +0 -121
  96. package/dist/validate/index.js.map +0 -1
  97. package/dist/validate/utils.js +0 -9
  98. package/dist/validate/utils.js.map +0 -1
  99. package/dist/validate/validators.js +0 -115
  100. package/dist/validate/validators.js.map +0 -1
  101. package/dist/validate/visitors/index.js +0 -21
  102. package/dist/validate/visitors/index.js.map +0 -1
  103. package/dist/validate/visitors/throw-disallowed-fields.js +0 -84
  104. package/dist/validate/visitors/throw-disallowed-fields.js.map +0 -1
  105. package/dist/validate/visitors/throw-dynamic-zones.js +0 -11
  106. package/dist/validate/visitors/throw-dynamic-zones.js.map +0 -1
  107. package/dist/validate/visitors/throw-morph-to-relations.js +0 -11
  108. package/dist/validate/visitors/throw-morph-to-relations.js.map +0 -1
  109. package/dist/validate/visitors/throw-password.js +0 -10
  110. package/dist/validate/visitors/throw-password.js.map +0 -1
  111. package/dist/validate/visitors/throw-private.js +0 -15
  112. package/dist/validate/visitors/throw-private.js.map +0 -1
  113. package/dist/validate/visitors/throw-restricted-fields.js +0 -24
  114. package/dist/validate/visitors/throw-restricted-fields.js.map +0 -1
  115. package/dist/validate/visitors/throw-restricted-relations.js +0 -81
  116. package/dist/validate/visitors/throw-restricted-relations.js.map +0 -1
  117. package/dist/validators.js +0 -64
  118. package/dist/validators.js.map +0 -1
  119. package/dist/webhook.js +0 -27
  120. package/dist/webhook.js.map +0 -1
  121. package/dist/yup.js +0 -108
  122. package/dist/yup.js.map +0 -1
package/dist/errors.js DELETED
@@ -1,101 +0,0 @@
1
- "use strict";
2
- /* eslint-disable max-classes-per-file */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.NotImplementedError = exports.PolicyError = exports.PayloadTooLargeError = exports.RateLimitError = exports.UnauthorizedError = exports.ForbiddenError = exports.NotFoundError = exports.PaginationError = exports.YupValidationError = exports.ValidationError = exports.ApplicationError = exports.HttpError = void 0;
5
- const http_errors_1 = require("http-errors");
6
- Object.defineProperty(exports, "HttpError", { enumerable: true, get: function () { return http_errors_1.HttpError; } });
7
- const format_yup_error_1 = require("./format-yup-error");
8
- /* ApplicationError */
9
- class ApplicationError extends Error {
10
- details;
11
- constructor(message = 'An application error occured', details = {}) {
12
- super();
13
- this.name = 'ApplicationError';
14
- this.message = message;
15
- this.details = details;
16
- }
17
- }
18
- exports.ApplicationError = ApplicationError;
19
- class ValidationError extends ApplicationError {
20
- constructor(message = 'Validation error', details) {
21
- super(message, details);
22
- this.name = 'ValidationError';
23
- }
24
- }
25
- exports.ValidationError = ValidationError;
26
- class YupValidationError extends ValidationError {
27
- constructor(yupError, message) {
28
- super('Validation');
29
- const { errors, message: yupMessage } = (0, format_yup_error_1.formatYupErrors)(yupError);
30
- this.message = message || yupMessage;
31
- this.details = { errors };
32
- }
33
- }
34
- exports.YupValidationError = YupValidationError;
35
- class PaginationError extends ApplicationError {
36
- constructor(message = 'Invalid pagination', details) {
37
- super(message, details);
38
- this.name = 'PaginationError';
39
- this.message = message;
40
- }
41
- }
42
- exports.PaginationError = PaginationError;
43
- class NotFoundError extends ApplicationError {
44
- constructor(message = 'Entity not found', details) {
45
- super(message, details);
46
- this.name = 'NotFoundError';
47
- this.message = message;
48
- }
49
- }
50
- exports.NotFoundError = NotFoundError;
51
- class ForbiddenError extends ApplicationError {
52
- constructor(message = 'Forbidden access', details) {
53
- super(message, details);
54
- this.name = 'ForbiddenError';
55
- this.message = message;
56
- }
57
- }
58
- exports.ForbiddenError = ForbiddenError;
59
- class UnauthorizedError extends ApplicationError {
60
- constructor(message = 'Unauthorized', details) {
61
- super(message, details);
62
- this.name = 'UnauthorizedError';
63
- this.message = message;
64
- }
65
- }
66
- exports.UnauthorizedError = UnauthorizedError;
67
- class RateLimitError extends ApplicationError {
68
- constructor(message = 'Too many requests, please try again later.', details) {
69
- super(message, details);
70
- this.name = 'RateLimitError';
71
- this.message = message;
72
- this.details = details || {};
73
- }
74
- }
75
- exports.RateLimitError = RateLimitError;
76
- class PayloadTooLargeError extends ApplicationError {
77
- constructor(message = 'Entity too large', details) {
78
- super(message, details);
79
- this.name = 'PayloadTooLargeError';
80
- this.message = message;
81
- }
82
- }
83
- exports.PayloadTooLargeError = PayloadTooLargeError;
84
- class PolicyError extends ForbiddenError {
85
- constructor(message = 'Policy Failed', details) {
86
- super(message, details);
87
- this.name = 'PolicyError';
88
- this.message = message;
89
- this.details = details || {};
90
- }
91
- }
92
- exports.PolicyError = PolicyError;
93
- class NotImplementedError extends ApplicationError {
94
- constructor(message = 'This feature is not implemented yet', details) {
95
- super(message, details);
96
- this.name = 'NotImplementedError';
97
- this.message = message;
98
- }
99
- }
100
- exports.NotImplementedError = NotImplementedError;
101
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
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,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.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;AA0BlD;;GAEG;AACH,MAAM,UAAU,GAAG,GAAyC,EAAE;IAK5D,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,9 +0,0 @@
1
- "use strict";
2
- /* eslint-disable @typescript-eslint/no-var-requires */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- function importDefault(modName) {
5
- const mod = require(modName);
6
- return mod && mod.__esModule ? mod.default : mod;
7
- }
8
- exports.default = importDefault;
9
- //# 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,SAAwB,aAAa,CAAC,OAAe;IACnD,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;AAHD,gCAGC"}
@@ -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,CAAmB,GAAM,EAAE,EAAE,CACnD,gBAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC;AAWhD,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"}
package/dist/operators.js DELETED
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isOperator = exports.isOperatorOfType = void 0;
4
- const GROUP_OPERATORS = ['$and', '$or'];
5
- const WHERE_OPERATORS = [
6
- '$not',
7
- '$in',
8
- '$notIn',
9
- '$eq',
10
- '$eqi',
11
- '$ne',
12
- '$nei',
13
- '$gt',
14
- '$gte',
15
- '$lt',
16
- '$lte',
17
- '$null',
18
- '$notNull',
19
- '$between',
20
- '$startsWith',
21
- '$endsWith',
22
- '$startsWithi',
23
- '$endsWithi',
24
- '$contains',
25
- '$notContains',
26
- '$containsi',
27
- '$notContainsi',
28
- // Experimental, only for internal use
29
- '$jsonSupersetOf',
30
- ];
31
- const CAST_OPERATORS = [
32
- '$not',
33
- '$in',
34
- '$notIn',
35
- '$eq',
36
- '$ne',
37
- '$gt',
38
- '$gte',
39
- '$lt',
40
- '$lte',
41
- '$between',
42
- ];
43
- const ARRAY_OPERATORS = ['$in', '$notIn', '$between'];
44
- const OPERATORS = {
45
- where: WHERE_OPERATORS,
46
- cast: CAST_OPERATORS,
47
- group: GROUP_OPERATORS,
48
- array: ARRAY_OPERATORS,
49
- };
50
- // for performance, cache all operators in lowercase
51
- const OPERATORS_LOWERCASE = Object.fromEntries(Object.entries(OPERATORS).map(([key, values]) => [
52
- key,
53
- values.map((value) => value.toLowerCase()),
54
- ]));
55
- const isObjKey = (key, obj) => {
56
- return key in obj;
57
- };
58
- const isOperatorOfType = (type, key, ignoreCase = false) => {
59
- if (ignoreCase) {
60
- return OPERATORS_LOWERCASE[type]?.includes(key.toLowerCase()) ?? false;
61
- }
62
- if (isObjKey(type, OPERATORS)) {
63
- return OPERATORS[type]?.includes(key) ?? false;
64
- }
65
- return false;
66
- };
67
- exports.isOperatorOfType = isOperatorOfType;
68
- const isOperator = (key, ignoreCase = false) => {
69
- return Object.keys(OPERATORS).some((type) => (0, exports.isOperatorOfType)(type, key, ignoreCase));
70
- };
71
- exports.isOperator = isOperator;
72
- //# sourceMappingURL=operators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operators.js","sourceRoot":"","sources":["../src/operators.ts"],"names":[],"mappings":";;;AAAA,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAExC,MAAM,eAAe,GAAG;IACtB,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,UAAU;IACV,UAAU;IACV,aAAa;IACb,WAAW;IACX,cAAc;IACd,YAAY;IACZ,WAAW;IACX,cAAc;IACd,YAAY;IACZ,eAAe;IACf,sCAAsC;IACtC,iBAAiB;CAClB,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,UAAU;CACX,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEtD,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE,eAAe;IACtB,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,eAAe;CACvB,CAAC;AAEF,oDAAoD;AACpD,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAC5C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;IAC/C,GAAG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;CAC3C,CAAC,CACH,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAmB,GAA6B,EAAE,GAAM,EAAkB,EAAE;IAC3F,OAAO,GAAG,IAAI,GAAG,CAAC;AACpB,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE;IAChF,IAAI,UAAU,EAAE;QACd,OAAO,mBAAmB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,KAAK,CAAC;KACxE;IAED,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;QAC7B,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC;KAChD;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAVW,QAAA,gBAAgB,oBAU3B;AAEK,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE;IAC5D,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,wBAAgB,EAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;AACxF,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB"}
@@ -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 ?? 0),
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":";;;AAAA,kCAAqD;AACrD,qCAA2C;AAc3C,MAAM,eAAe,GAAG;IACtB,MAAM,EAAE;QACN,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,EAAE;KACV;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAEpE,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,QAAQ,GAAG,CAAC,CAAC,EAAE,EAAE;IACpD,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,QAAQ,EAAE;QACvC,OAAO,KAAK,CAAC;KACd;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,2FAA2F;AAC3F,MAAM,eAAe,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAc,EAAE,EAAE,CAAC,CAAC;IACzD,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACzB,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;CACjD,CAAC,CAAC;AAEH,MAAM,eAAe,GACnB,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,EAAE,CAClB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAoC,EAAE,EAAE,CAAC,CAAC;IACvD,KAAK;IACL,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;CACrC,CAAC,CAAC;AAEL,+CAA+C;AAC/C,MAAM,WAAW,GAAG,CAAC,UAAsB,EAAE,QAAQ,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9D,GAAG,UAAU;IACb,KAAK,EAAE,UAAU,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK;CAC7D,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAC5B,IAA6B,EAC7B,EAAE,QAAQ,GAAG,EAAE,EAAE,QAAQ,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EACrC,EAAE;IACF,MAAM,aAAa,GAAG,IAAA,UAAK,EAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAEvD,MAAM,iBAAiB,GAAG,CAAC,IAAA,UAAK,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,UAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrE,MAAM,mBAAmB,GAAG,CAAC,IAAA,UAAK,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAA,UAAK,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAErE,MAAM,iBAAiB,GAAG,IAAA,SAAI,EAAC,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE3E,gEAAgE;IAChE,IAAI,CAAC,iBAAiB,IAAI,CAAC,mBAAmB,EAAE;QAC9C,OAAO,IAAA,UAAK,EAAC,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;KAC7D;IAED,kEAAkE;IAClE,IAAI,iBAAiB,IAAI,mBAAmB,EAAE;QAC5C,MAAM,IAAI,wBAAe,CAAC,4DAA4D,CAAC,CAAC;KACzF;IAED,MAAM,UAAU,GAAe;QAC7B,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;KACT,CAAC;IAEF,gBAAgB;IAChB,IAAI,mBAAmB,EAAE;QACvB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAA,UAAK,EAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE3D,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;KAC7C;IAED,kBAAkB;IAClB,IAAI,iBAAiB,EAAE;QACrB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAA,UAAK,EAAC,aAAa,CAAC,IAAI,EAAE;YACnD,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;SAC1C,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;YACxB,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ;YAC5B,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;KACJ;IAED,kBAAkB;IAClB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7D,MAAM,2BAA2B,GAAG,IAAA,SAAI;IACtC,+BAA+B;IAC/B,IAAA,SAAI,EAAC,oBAAoB,CAAC;IAC1B,6EAA6E;IAC7E,IAAA,UAAK,EAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CACrC,CAAC;IAEF,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEO,sDAAqB"}
@@ -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,GAAgB,EAAE,EAAE;IAC5B,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,EAAuC,CAAC,CAAC;IAE5C,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,aAAa;KACrB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,108 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const _ = require("lodash");
4
- const dates = require("date-fns");
5
- const timeRegex = /^(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]{1,3})?$/;
6
- const isDate = (v) => {
7
- return dates.isDate(v);
8
- };
9
- const parseTime = (value) => {
10
- if (isDate(value)) {
11
- return dates.format(value, 'HH:mm:ss.SSS');
12
- }
13
- if (typeof value !== 'string') {
14
- throw new Error(`Expected a string, got a ${typeof value}`);
15
- }
16
- const result = value.match(timeRegex);
17
- if (result === null) {
18
- throw new Error('Invalid time format, expected HH:mm:ss.SSS');
19
- }
20
- const [, hours, minutes, seconds, fraction = '.000'] = result;
21
- const fractionPart = _.padEnd(fraction.slice(1), 3, '0');
22
- return `${hours}:${minutes}:${seconds}.${fractionPart}`;
23
- };
24
- const parseDate = (value) => {
25
- if (isDate(value)) {
26
- return dates.format(value, 'yyyy-MM-dd');
27
- }
28
- if (typeof value !== 'string') {
29
- throw new Error(`Expected a string, got a ${typeof value}`);
30
- }
31
- try {
32
- const date = dates.parseISO(value);
33
- if (dates.isValid(date))
34
- return dates.format(date, 'yyyy-MM-dd');
35
- throw new Error(`Invalid format, expected an ISO compatible date`);
36
- }
37
- catch (error) {
38
- throw new Error(`Invalid format, expected an ISO compatible date`);
39
- }
40
- };
41
- const parseDateTimeOrTimestamp = (value) => {
42
- if (isDate(value)) {
43
- return value;
44
- }
45
- if (typeof value !== 'string') {
46
- throw new Error(`Expected a string, got a ${typeof value}`);
47
- }
48
- try {
49
- const date = dates.parseISO(value);
50
- if (dates.isValid(date))
51
- return date;
52
- const milliUnixDate = dates.parse(value, 'T', new Date());
53
- if (dates.isValid(milliUnixDate))
54
- return milliUnixDate;
55
- throw new Error(`Invalid format, expected a timestamp or an ISO date`);
56
- }
57
- catch (error) {
58
- throw new Error(`Invalid format, expected a timestamp or an ISO date`);
59
- }
60
- };
61
- const parseBoolean = (value, options) => {
62
- const { forceCast = false } = options;
63
- if (typeof value === 'boolean') {
64
- return value;
65
- }
66
- if (typeof value === 'string' || typeof value === 'number') {
67
- if (['true', 't', '1', 1].includes(value)) {
68
- return true;
69
- }
70
- if (['false', 'f', '0', 0].includes(value)) {
71
- return false;
72
- }
73
- }
74
- if (forceCast) {
75
- return Boolean(value);
76
- }
77
- throw new Error('Invalid boolean input. Expected "t","1","true","false","0","f"');
78
- };
79
- /**
80
- * Cast basic values based on attribute type
81
- */
82
- const parseType = (options) => {
83
- const { type, value, forceCast } = options;
84
- switch (type) {
85
- case 'boolean':
86
- return parseBoolean(value, { forceCast });
87
- case 'integer':
88
- case 'biginteger':
89
- case 'float':
90
- case 'decimal': {
91
- return _.toNumber(value);
92
- }
93
- case 'time': {
94
- return parseTime(value);
95
- }
96
- case 'date': {
97
- return parseDate(value);
98
- }
99
- case 'timestamp':
100
- case 'datetime': {
101
- return parseDateTimeOrTimestamp(value);
102
- }
103
- default:
104
- return value;
105
- }
106
- };
107
- exports.default = parseType;
108
- //# sourceMappingURL=parse-type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-type.js","sourceRoot":"","sources":["../src/parse-type.ts"],"names":[],"mappings":"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"}