@strapi/utils 4.11.2 → 4.11.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.
- package/dist/async.d.ts +10 -0
- package/dist/async.js +33 -0
- package/dist/async.js.map +1 -0
- package/dist/code-generator.d.ts +2 -0
- package/dist/code-generator.js +11 -0
- package/dist/code-generator.js.map +1 -0
- package/dist/config.d.ts +8 -0
- package/dist/config.js +79 -0
- package/dist/config.js.map +1 -0
- package/dist/content-types.d.ts +60 -0
- package/dist/content-types.js +151 -0
- package/dist/content-types.js.map +1 -0
- package/dist/convert-query-params.d.ts +75 -0
- package/dist/convert-query-params.js +476 -0
- package/dist/convert-query-params.js.map +1 -0
- package/dist/env-helper.d.ts +18 -0
- package/dist/env-helper.js +84 -0
- package/dist/env-helper.js.map +1 -0
- package/dist/errors.d.ts +37 -0
- package/dist/errors.js +100 -0
- package/dist/errors.js.map +1 -0
- package/dist/file.d.ts +16 -0
- package/dist/file.js +54 -0
- package/dist/file.js.map +1 -0
- package/dist/format-yup-error.d.ts +10 -0
- package/dist/format-yup-error.js +17 -0
- package/dist/format-yup-error.js.map +1 -0
- package/dist/hooks.d.ts +63 -0
- package/dist/hooks.js +89 -0
- package/dist/hooks.js.map +1 -0
- package/dist/import-default.d.ts +1 -0
- package/dist/import-default.js +9 -0
- package/dist/import-default.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.js +99 -0
- package/dist/index.js.map +1 -0
- package/dist/object-formatting.d.ts +3 -0
- package/dist/object-formatting.js +14 -0
- package/dist/object-formatting.js.map +1 -0
- package/dist/operators.d.ts +2 -0
- package/dist/operators.js +69 -0
- package/dist/operators.js.map +1 -0
- package/dist/pagination.d.ts +14 -0
- package/dist/pagination.js +80 -0
- package/dist/pagination.js.map +1 -0
- package/dist/parse-multipart.d.ts +8 -0
- package/dist/parse-multipart.js +36 -0
- package/dist/parse-multipart.js.map +1 -0
- package/dist/parse-type.d.ts +21 -0
- package/dist/parse-type.js +108 -0
- package/dist/parse-type.js.map +1 -0
- package/dist/policy.d.ts +41 -0
- package/dist/policy.js +109 -0
- package/dist/policy.js.map +1 -0
- package/dist/print-value.d.ts +2 -0
- package/dist/print-value.js +50 -0
- package/dist/print-value.js.map +1 -0
- package/dist/provider-factory.d.ts +29 -0
- package/dist/provider-factory.js +80 -0
- package/dist/provider-factory.js.map +1 -0
- package/dist/relations.d.ts +10 -0
- package/dist/relations.js +23 -0
- package/dist/relations.js.map +1 -0
- package/dist/sanitize/index.d.ts +23 -0
- package/dist/sanitize/index.js +135 -0
- package/dist/sanitize/index.js.map +1 -0
- package/dist/sanitize/sanitizers.d.ts +10 -0
- package/dist/sanitize/sanitizers.js +114 -0
- package/dist/sanitize/sanitizers.js.map +1 -0
- package/dist/sanitize/visitors/allowed-fields.d.ts +3 -0
- package/{lib → dist}/sanitize/visitors/allowed-fields.js +17 -32
- package/dist/sanitize/visitors/allowed-fields.js.map +1 -0
- package/dist/sanitize/visitors/index.d.ts +7 -0
- package/dist/sanitize/visitors/index.js +21 -0
- package/dist/sanitize/visitors/index.js.map +1 -0
- package/dist/sanitize/visitors/remove-dynamic-zones.d.ts +3 -0
- package/dist/sanitize/visitors/remove-dynamic-zones.js +10 -0
- package/dist/sanitize/visitors/remove-dynamic-zones.js.map +1 -0
- package/dist/sanitize/visitors/remove-morph-to-relations.d.ts +3 -0
- package/dist/sanitize/visitors/remove-morph-to-relations.js +10 -0
- package/dist/sanitize/visitors/remove-morph-to-relations.js.map +1 -0
- package/dist/sanitize/visitors/remove-password.d.ts +3 -0
- package/dist/sanitize/visitors/remove-password.js +9 -0
- package/dist/sanitize/visitors/remove-password.js.map +1 -0
- package/dist/sanitize/visitors/remove-private.d.ts +3 -0
- package/dist/sanitize/visitors/remove-private.js +14 -0
- package/dist/sanitize/visitors/remove-private.js.map +1 -0
- package/dist/sanitize/visitors/remove-restricted-relations.d.ts +3 -0
- package/dist/sanitize/visitors/remove-restricted-relations.js +88 -0
- package/dist/sanitize/visitors/remove-restricted-relations.js.map +1 -0
- package/dist/sanitize/visitors/restricted-fields.d.ts +3 -0
- package/dist/sanitize/visitors/restricted-fields.js +25 -0
- package/dist/sanitize/visitors/restricted-fields.js.map +1 -0
- package/dist/set-creator-fields.d.ts +9 -0
- package/dist/set-creator-fields.js +39 -0
- package/dist/set-creator-fields.js.map +1 -0
- package/dist/string-formatting.d.ts +15 -0
- package/dist/string-formatting.js +85 -0
- package/dist/string-formatting.js.map +1 -0
- package/dist/template-configuration.d.ts +5 -0
- package/dist/template-configuration.js +30 -0
- package/dist/template-configuration.js.map +1 -0
- package/dist/template.d.ts +9 -0
- package/dist/template.js +20 -0
- package/dist/template.js.map +1 -0
- package/dist/traverse/factory.d.ts +78 -0
- package/dist/traverse/factory.js +127 -0
- package/dist/traverse/factory.js.map +1 -0
- package/dist/traverse/index.d.ts +5 -0
- package/dist/traverse/index.js +17 -0
- package/dist/traverse/index.js.map +1 -0
- package/dist/traverse/query-fields.d.ts +3 -0
- package/dist/traverse/query-fields.js +35 -0
- package/dist/traverse/query-fields.js.map +1 -0
- package/dist/traverse/query-filters.d.ts +3 -0
- package/dist/traverse/query-filters.js +75 -0
- package/dist/traverse/query-filters.js.map +1 -0
- package/dist/traverse/query-populate.d.ts +3 -0
- package/dist/traverse/query-populate.js +144 -0
- package/dist/traverse/query-populate.js.map +1 -0
- package/dist/traverse/query-sort.d.ts +3 -0
- package/dist/traverse/query-sort.js +116 -0
- package/dist/traverse/query-sort.js.map +1 -0
- package/dist/traverse-entity.d.ts +31 -0
- package/dist/traverse-entity.js +134 -0
- package/dist/traverse-entity.js.map +1 -0
- package/dist/types.d.ts +65 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/validators.d.ts +13 -0
- package/dist/validators.js +120 -0
- package/dist/validators.js.map +1 -0
- package/dist/webhook.d.ts +5 -0
- package/dist/webhook.js +27 -0
- package/dist/webhook.js.map +1 -0
- package/package.json +19 -4
- package/.eslintignore +0 -3
- package/.eslintrc.js +0 -4
- package/index.d.ts +0 -5
- package/lib/async.d.ts +0 -21
- package/lib/async.js +0 -45
- package/lib/build-query.js +0 -208
- package/lib/code-generator.js +0 -13
- package/lib/config.js +0 -88
- package/lib/content-types.js +0 -196
- package/lib/convert-query-params.js +0 -586
- package/lib/env-helper.js +0 -98
- package/lib/errors.js +0 -113
- package/lib/file.js +0 -60
- package/lib/format-yup-error.js +0 -20
- package/lib/hooks.js +0 -110
- package/lib/import-default.js +0 -10
- package/lib/index.js +0 -99
- package/lib/object-formatting.js +0 -15
- package/lib/operators.js +0 -74
- package/lib/pagination.js +0 -99
- package/lib/parse-multipart.js +0 -44
- package/lib/parse-type.js +0 -100
- package/lib/policy.js +0 -129
- package/lib/print-value.js +0 -52
- package/lib/provider-factory.js +0 -116
- package/lib/relations.js +0 -31
- package/lib/sanitize/index.js +0 -143
- package/lib/sanitize/sanitizers.js +0 -163
- package/lib/sanitize/visitors/index.js +0 -11
- package/lib/sanitize/visitors/remove-dynamic-zones.js +0 -9
- package/lib/sanitize/visitors/remove-morph-to-relations.js +0 -9
- package/lib/sanitize/visitors/remove-password.js +0 -7
- package/lib/sanitize/visitors/remove-private.js +0 -15
- package/lib/sanitize/visitors/remove-restricted-relations.js +0 -81
- package/lib/sanitize/visitors/restricted-fields.js +0 -32
- package/lib/set-creator-fields.js +0 -17
- package/lib/string-formatting.js +0 -79
- package/lib/template-configuration.js +0 -32
- package/lib/template.js +0 -28
- package/lib/traverse/factory.js +0 -157
- package/lib/traverse/index.js +0 -16
- package/lib/traverse/query-fields.js +0 -39
- package/lib/traverse/query-filters.js +0 -97
- package/lib/traverse/query-populate.js +0 -191
- package/lib/traverse/query-sort.js +0 -171
- package/lib/traverse-entity.js +0 -166
- package/lib/validators.js +0 -120
- package/lib/webhook.js +0 -30
package/dist/errors.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
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
|
+
constructor(message = 'An application error occured', details = {}) {
|
|
11
|
+
super();
|
|
12
|
+
this.name = 'ApplicationError';
|
|
13
|
+
this.message = message;
|
|
14
|
+
this.details = details;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.ApplicationError = ApplicationError;
|
|
18
|
+
class ValidationError extends ApplicationError {
|
|
19
|
+
constructor(message = 'Validation error', details) {
|
|
20
|
+
super(message, details);
|
|
21
|
+
this.name = 'ValidationError';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.ValidationError = ValidationError;
|
|
25
|
+
class YupValidationError extends ValidationError {
|
|
26
|
+
constructor(yupError, message) {
|
|
27
|
+
super('Validation');
|
|
28
|
+
const { errors, message: yupMessage } = (0, format_yup_error_1.formatYupErrors)(yupError);
|
|
29
|
+
this.message = message || yupMessage;
|
|
30
|
+
this.details = { errors };
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.YupValidationError = YupValidationError;
|
|
34
|
+
class PaginationError extends ApplicationError {
|
|
35
|
+
constructor(message = 'Invalid pagination', details) {
|
|
36
|
+
super(message, details);
|
|
37
|
+
this.name = 'PaginationError';
|
|
38
|
+
this.message = message;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.PaginationError = PaginationError;
|
|
42
|
+
class NotFoundError extends ApplicationError {
|
|
43
|
+
constructor(message = 'Entity not found', details) {
|
|
44
|
+
super(message, details);
|
|
45
|
+
this.name = 'NotFoundError';
|
|
46
|
+
this.message = message;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.NotFoundError = NotFoundError;
|
|
50
|
+
class ForbiddenError extends ApplicationError {
|
|
51
|
+
constructor(message = 'Forbidden access', details) {
|
|
52
|
+
super(message, details);
|
|
53
|
+
this.name = 'ForbiddenError';
|
|
54
|
+
this.message = message;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.ForbiddenError = ForbiddenError;
|
|
58
|
+
class UnauthorizedError extends ApplicationError {
|
|
59
|
+
constructor(message = 'Unauthorized', details) {
|
|
60
|
+
super(message, details);
|
|
61
|
+
this.name = 'UnauthorizedError';
|
|
62
|
+
this.message = message;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.UnauthorizedError = UnauthorizedError;
|
|
66
|
+
class RateLimitError extends ApplicationError {
|
|
67
|
+
constructor(message = 'Too many requests, please try again later.', details) {
|
|
68
|
+
super(message, details);
|
|
69
|
+
this.name = 'RateLimitError';
|
|
70
|
+
this.message = message;
|
|
71
|
+
this.details = details || {};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.RateLimitError = RateLimitError;
|
|
75
|
+
class PayloadTooLargeError extends ApplicationError {
|
|
76
|
+
constructor(message = 'Entity too large', details) {
|
|
77
|
+
super(message, details);
|
|
78
|
+
this.name = 'PayloadTooLargeError';
|
|
79
|
+
this.message = message;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.PayloadTooLargeError = PayloadTooLargeError;
|
|
83
|
+
class PolicyError extends ForbiddenError {
|
|
84
|
+
constructor(message = 'Policy Failed', details) {
|
|
85
|
+
super(message, details);
|
|
86
|
+
this.name = 'PolicyError';
|
|
87
|
+
this.message = message;
|
|
88
|
+
this.details = details || {};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.PolicyError = PolicyError;
|
|
92
|
+
class NotImplementedError extends ApplicationError {
|
|
93
|
+
constructor(message = 'This feature is not implemented yet', details) {
|
|
94
|
+
super(message, details);
|
|
95
|
+
this.name = 'NotImplementedError';
|
|
96
|
+
this.message = message;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.NotImplementedError = NotImplementedError;
|
|
100
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/file.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
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
ADDED
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export type Handler = (...args: any[]) => any;
|
|
2
|
+
export interface Hook<T extends Handler = Handler> {
|
|
3
|
+
getHandlers(): Handler[];
|
|
4
|
+
register(handler: T): Hook<T>;
|
|
5
|
+
delete(handler: T): Hook<T>;
|
|
6
|
+
call(...args: any[]): void;
|
|
7
|
+
}
|
|
8
|
+
export interface AsyncSeriesHook extends Hook {
|
|
9
|
+
call(...args: any[]): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export interface AsyncSeriesWaterfallHook extends Hook {
|
|
12
|
+
call(...args: any[]): Promise<any>;
|
|
13
|
+
}
|
|
14
|
+
export interface AsyncParallelHook extends Hook {
|
|
15
|
+
call(...args: any[]): Promise<any[]>;
|
|
16
|
+
}
|
|
17
|
+
export interface AsyncBailHook extends Hook {
|
|
18
|
+
call(...args: any[]): Promise<any>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Create an async series hook.
|
|
22
|
+
* Upon execution, it will execute every handler in order with the same context
|
|
23
|
+
*/
|
|
24
|
+
declare const createAsyncSeriesHook: <T extends Handler = Handler>() => {
|
|
25
|
+
call(context: unknown): Promise<void>;
|
|
26
|
+
getHandlers(): Handler[];
|
|
27
|
+
register(handler: T): Hook<T>;
|
|
28
|
+
delete(handler: T): Hook<T>;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Create an async series waterfall hook.
|
|
32
|
+
* Upon execution, it will execute every handler in order and pass the return value of the last handler to the next one
|
|
33
|
+
*/
|
|
34
|
+
declare const createAsyncSeriesWaterfallHook: <T extends Handler = Handler>() => {
|
|
35
|
+
call(param: unknown): Promise<unknown>;
|
|
36
|
+
getHandlers(): Handler[];
|
|
37
|
+
register(handler: T): Hook<T>;
|
|
38
|
+
delete(handler: T): Hook<T>;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Create an async parallel hook.
|
|
42
|
+
* Upon execution, it will execute every registered handler in band.
|
|
43
|
+
*/
|
|
44
|
+
declare const createAsyncParallelHook: <T extends Handler = Handler>() => {
|
|
45
|
+
call(context: unknown): Promise<any[]>;
|
|
46
|
+
getHandlers(): Handler[];
|
|
47
|
+
register(handler: T): Hook<T>;
|
|
48
|
+
delete(handler: T): Hook<T>;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Create an async parallel hook.
|
|
52
|
+
* Upon execution, it will execute every registered handler in serie and return the first result found.
|
|
53
|
+
*/
|
|
54
|
+
declare const createAsyncBailHook: <T extends Handler = Handler>() => {
|
|
55
|
+
call(context: unknown): Promise<any>;
|
|
56
|
+
getHandlers(): Handler[];
|
|
57
|
+
register(handler: T): Hook<T>;
|
|
58
|
+
delete(handler: T): Hook<T>;
|
|
59
|
+
};
|
|
60
|
+
export declare const internals: {
|
|
61
|
+
createHook: <T extends Handler = Handler>() => Hook<T>;
|
|
62
|
+
};
|
|
63
|
+
export { createAsyncSeriesHook, createAsyncSeriesWaterfallHook, createAsyncParallelHook, createAsyncBailHook, };
|
package/dist/hooks.js
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function importDefault(modName: string): any;
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Export shared utilities
|
|
3
|
+
*/
|
|
4
|
+
export { default as parseMultipartData } from './parse-multipart';
|
|
5
|
+
export { default as parseType } from './parse-type';
|
|
6
|
+
export * as policy from './policy';
|
|
7
|
+
export { default as templateConfiguration } from './template-configuration';
|
|
8
|
+
export { yup, handleYupError, validateYupSchema, validateYupSchemaSync } from './validators';
|
|
9
|
+
export * as errors from './errors';
|
|
10
|
+
export { nameToSlug, nameToCollectionName, getCommonBeginning, escapeQuery, stringIncludes, stringEquals, isKebabCase, isCamelCase, toRegressedEnumValue, startsWithANumber, joinBy, toKebabCase, } from './string-formatting';
|
|
11
|
+
export { removeUndefined, keysDeep } from './object-formatting';
|
|
12
|
+
export { getConfigUrls, getAbsoluteAdminUrl, getAbsoluteServerUrl } from './config';
|
|
13
|
+
export { generateTimestampCode } from './code-generator';
|
|
14
|
+
export * as contentTypes from './content-types';
|
|
15
|
+
export { default as env } from './env-helper';
|
|
16
|
+
export * as relations from './relations';
|
|
17
|
+
export { default as setCreatorFields } from './set-creator-fields';
|
|
18
|
+
export * as hooks from './hooks';
|
|
19
|
+
export { default as providerFactory } from './provider-factory';
|
|
20
|
+
export * as pagination from './pagination';
|
|
21
|
+
export { default as sanitize } from './sanitize';
|
|
22
|
+
export { default as traverseEntity } from './traverse-entity';
|
|
23
|
+
export { pipeAsync, mapAsync, reduceAsync, forEachAsync } from './async';
|
|
24
|
+
export { default as convertQueryParams } from './convert-query-params';
|
|
25
|
+
export { default as importDefault } from './import-default';
|
|
26
|
+
export * as template from './template';
|
|
27
|
+
export * as file from './file';
|
|
28
|
+
export * as traverse from './traverse';
|
|
29
|
+
export { default as webhook } from './webhook';
|
|
30
|
+
export { isOperator, isOperatorOfType } from './operators';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.isOperatorOfType = exports.isOperator = exports.webhook = exports.traverse = exports.file = exports.template = exports.importDefault = exports.convertQueryParams = exports.forEachAsync = exports.reduceAsync = exports.mapAsync = exports.pipeAsync = exports.traverseEntity = exports.sanitize = exports.pagination = exports.providerFactory = exports.hooks = exports.setCreatorFields = exports.relations = exports.env = exports.contentTypes = exports.generateTimestampCode = exports.getAbsoluteServerUrl = exports.getAbsoluteAdminUrl = exports.getConfigUrls = exports.keysDeep = exports.removeUndefined = exports.toKebabCase = exports.joinBy = exports.startsWithANumber = exports.toRegressedEnumValue = exports.isCamelCase = exports.isKebabCase = exports.stringEquals = exports.stringIncludes = exports.escapeQuery = exports.getCommonBeginning = exports.nameToCollectionName = exports.nameToSlug = exports.errors = exports.validateYupSchemaSync = exports.validateYupSchema = exports.handleYupError = exports.yup = exports.templateConfiguration = exports.policy = exports.parseType = exports.parseMultipartData = void 0;
|
|
30
|
+
/**
|
|
31
|
+
* Export shared utilities
|
|
32
|
+
*/
|
|
33
|
+
var parse_multipart_1 = require("./parse-multipart");
|
|
34
|
+
Object.defineProperty(exports, "parseMultipartData", { enumerable: true, get: function () { return __importDefault(parse_multipart_1).default; } });
|
|
35
|
+
var parse_type_1 = require("./parse-type");
|
|
36
|
+
Object.defineProperty(exports, "parseType", { enumerable: true, get: function () { return __importDefault(parse_type_1).default; } });
|
|
37
|
+
exports.policy = __importStar(require("./policy"));
|
|
38
|
+
var template_configuration_1 = require("./template-configuration");
|
|
39
|
+
Object.defineProperty(exports, "templateConfiguration", { enumerable: true, get: function () { return __importDefault(template_configuration_1).default; } });
|
|
40
|
+
var validators_1 = require("./validators");
|
|
41
|
+
Object.defineProperty(exports, "yup", { enumerable: true, get: function () { return validators_1.yup; } });
|
|
42
|
+
Object.defineProperty(exports, "handleYupError", { enumerable: true, get: function () { return validators_1.handleYupError; } });
|
|
43
|
+
Object.defineProperty(exports, "validateYupSchema", { enumerable: true, get: function () { return validators_1.validateYupSchema; } });
|
|
44
|
+
Object.defineProperty(exports, "validateYupSchemaSync", { enumerable: true, get: function () { return validators_1.validateYupSchemaSync; } });
|
|
45
|
+
exports.errors = __importStar(require("./errors"));
|
|
46
|
+
var string_formatting_1 = require("./string-formatting");
|
|
47
|
+
Object.defineProperty(exports, "nameToSlug", { enumerable: true, get: function () { return string_formatting_1.nameToSlug; } });
|
|
48
|
+
Object.defineProperty(exports, "nameToCollectionName", { enumerable: true, get: function () { return string_formatting_1.nameToCollectionName; } });
|
|
49
|
+
Object.defineProperty(exports, "getCommonBeginning", { enumerable: true, get: function () { return string_formatting_1.getCommonBeginning; } });
|
|
50
|
+
Object.defineProperty(exports, "escapeQuery", { enumerable: true, get: function () { return string_formatting_1.escapeQuery; } });
|
|
51
|
+
Object.defineProperty(exports, "stringIncludes", { enumerable: true, get: function () { return string_formatting_1.stringIncludes; } });
|
|
52
|
+
Object.defineProperty(exports, "stringEquals", { enumerable: true, get: function () { return string_formatting_1.stringEquals; } });
|
|
53
|
+
Object.defineProperty(exports, "isKebabCase", { enumerable: true, get: function () { return string_formatting_1.isKebabCase; } });
|
|
54
|
+
Object.defineProperty(exports, "isCamelCase", { enumerable: true, get: function () { return string_formatting_1.isCamelCase; } });
|
|
55
|
+
Object.defineProperty(exports, "toRegressedEnumValue", { enumerable: true, get: function () { return string_formatting_1.toRegressedEnumValue; } });
|
|
56
|
+
Object.defineProperty(exports, "startsWithANumber", { enumerable: true, get: function () { return string_formatting_1.startsWithANumber; } });
|
|
57
|
+
Object.defineProperty(exports, "joinBy", { enumerable: true, get: function () { return string_formatting_1.joinBy; } });
|
|
58
|
+
Object.defineProperty(exports, "toKebabCase", { enumerable: true, get: function () { return string_formatting_1.toKebabCase; } });
|
|
59
|
+
var object_formatting_1 = require("./object-formatting");
|
|
60
|
+
Object.defineProperty(exports, "removeUndefined", { enumerable: true, get: function () { return object_formatting_1.removeUndefined; } });
|
|
61
|
+
Object.defineProperty(exports, "keysDeep", { enumerable: true, get: function () { return object_formatting_1.keysDeep; } });
|
|
62
|
+
var config_1 = require("./config");
|
|
63
|
+
Object.defineProperty(exports, "getConfigUrls", { enumerable: true, get: function () { return config_1.getConfigUrls; } });
|
|
64
|
+
Object.defineProperty(exports, "getAbsoluteAdminUrl", { enumerable: true, get: function () { return config_1.getAbsoluteAdminUrl; } });
|
|
65
|
+
Object.defineProperty(exports, "getAbsoluteServerUrl", { enumerable: true, get: function () { return config_1.getAbsoluteServerUrl; } });
|
|
66
|
+
var code_generator_1 = require("./code-generator");
|
|
67
|
+
Object.defineProperty(exports, "generateTimestampCode", { enumerable: true, get: function () { return code_generator_1.generateTimestampCode; } });
|
|
68
|
+
exports.contentTypes = __importStar(require("./content-types"));
|
|
69
|
+
var env_helper_1 = require("./env-helper");
|
|
70
|
+
Object.defineProperty(exports, "env", { enumerable: true, get: function () { return __importDefault(env_helper_1).default; } });
|
|
71
|
+
exports.relations = __importStar(require("./relations"));
|
|
72
|
+
var set_creator_fields_1 = require("./set-creator-fields");
|
|
73
|
+
Object.defineProperty(exports, "setCreatorFields", { enumerable: true, get: function () { return __importDefault(set_creator_fields_1).default; } });
|
|
74
|
+
exports.hooks = __importStar(require("./hooks"));
|
|
75
|
+
var provider_factory_1 = require("./provider-factory");
|
|
76
|
+
Object.defineProperty(exports, "providerFactory", { enumerable: true, get: function () { return __importDefault(provider_factory_1).default; } });
|
|
77
|
+
exports.pagination = __importStar(require("./pagination"));
|
|
78
|
+
var sanitize_1 = require("./sanitize");
|
|
79
|
+
Object.defineProperty(exports, "sanitize", { enumerable: true, get: function () { return __importDefault(sanitize_1).default; } });
|
|
80
|
+
var traverse_entity_1 = require("./traverse-entity");
|
|
81
|
+
Object.defineProperty(exports, "traverseEntity", { enumerable: true, get: function () { return __importDefault(traverse_entity_1).default; } });
|
|
82
|
+
var async_1 = require("./async");
|
|
83
|
+
Object.defineProperty(exports, "pipeAsync", { enumerable: true, get: function () { return async_1.pipeAsync; } });
|
|
84
|
+
Object.defineProperty(exports, "mapAsync", { enumerable: true, get: function () { return async_1.mapAsync; } });
|
|
85
|
+
Object.defineProperty(exports, "reduceAsync", { enumerable: true, get: function () { return async_1.reduceAsync; } });
|
|
86
|
+
Object.defineProperty(exports, "forEachAsync", { enumerable: true, get: function () { return async_1.forEachAsync; } });
|
|
87
|
+
var convert_query_params_1 = require("./convert-query-params");
|
|
88
|
+
Object.defineProperty(exports, "convertQueryParams", { enumerable: true, get: function () { return __importDefault(convert_query_params_1).default; } });
|
|
89
|
+
var import_default_1 = require("./import-default");
|
|
90
|
+
Object.defineProperty(exports, "importDefault", { enumerable: true, get: function () { return __importDefault(import_default_1).default; } });
|
|
91
|
+
exports.template = __importStar(require("./template"));
|
|
92
|
+
exports.file = __importStar(require("./file"));
|
|
93
|
+
exports.traverse = __importStar(require("./traverse"));
|
|
94
|
+
var webhook_1 = require("./webhook");
|
|
95
|
+
Object.defineProperty(exports, "webhook", { enumerable: true, get: function () { return __importDefault(webhook_1).default; } });
|
|
96
|
+
var operators_1 = require("./operators");
|
|
97
|
+
Object.defineProperty(exports, "isOperator", { enumerable: true, get: function () { return operators_1.isOperator; } });
|
|
98
|
+
Object.defineProperty(exports, "isOperatorOfType", { enumerable: true, get: function () { return operators_1.isOperatorOfType; } });
|
|
99
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,qDAAkE;AAAzD,sIAAA,OAAO,OAAsB;AACtC,2CAAoD;AAA3C,wHAAA,OAAO,OAAa;AAC7B,mDAAmC;AACnC,mEAA4E;AAAnE,gJAAA,OAAO,OAAyB;AACzC,2CAA6F;AAApF,iGAAA,GAAG,OAAA;AAAE,4GAAA,cAAc,OAAA;AAAE,+GAAA,iBAAiB,OAAA;AAAE,mHAAA,qBAAqB,OAAA;AACtE,mDAAmC;AACnC,yDAa6B;AAZ3B,+GAAA,UAAU,OAAA;AACV,yHAAA,oBAAoB,OAAA;AACpB,uHAAA,kBAAkB,OAAA;AAClB,gHAAA,WAAW,OAAA;AACX,mHAAA,cAAc,OAAA;AACd,iHAAA,YAAY,OAAA;AACZ,gHAAA,WAAW,OAAA;AACX,gHAAA,WAAW,OAAA;AACX,yHAAA,oBAAoB,OAAA;AACpB,sHAAA,iBAAiB,OAAA;AACjB,2GAAA,MAAM,OAAA;AACN,gHAAA,WAAW,OAAA;AAEb,yDAAgE;AAAvD,oHAAA,eAAe,OAAA;AAAE,6GAAA,QAAQ,OAAA;AAClC,mCAAoF;AAA3E,uGAAA,aAAa,OAAA;AAAE,6GAAA,mBAAmB,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AACjE,mDAAyD;AAAhD,uHAAA,qBAAqB,OAAA;AAC9B,gEAAgD;AAChD,2CAA8C;AAArC,kHAAA,OAAO,OAAO;AACvB,yDAAyC;AACzC,2DAAmE;AAA1D,uIAAA,OAAO,OAAoB;AACpC,iDAAiC;AACjC,uDAAgE;AAAvD,oIAAA,OAAO,OAAmB;AACnC,2DAA2C;AAC3C,uCAAiD;AAAxC,qHAAA,OAAO,OAAY;AAC5B,qDAA8D;AAArD,kIAAA,OAAO,OAAkB;AAClC,iCAAyE;AAAhE,kGAAA,SAAS,OAAA;AAAE,iGAAA,QAAQ,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,qGAAA,YAAY,OAAA;AACvD,+DAAuE;AAA9D,2IAAA,OAAO,OAAsB;AACtC,mDAA4D;AAAnD,gIAAA,OAAO,OAAiB;AACjC,uDAAuC;AACvC,+CAA+B;AAC/B,uDAAuC;AACvC,qCAA+C;AAAtC,mHAAA,OAAO,OAAW;AAC3B,yCAA2D;AAAlD,uGAAA,UAAU,OAAA;AAAE,6GAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
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
|
+
'$gt',
|
|
13
|
+
'$gte',
|
|
14
|
+
'$lt',
|
|
15
|
+
'$lte',
|
|
16
|
+
'$null',
|
|
17
|
+
'$notNull',
|
|
18
|
+
'$between',
|
|
19
|
+
'$startsWith',
|
|
20
|
+
'$endsWith',
|
|
21
|
+
'$startsWithi',
|
|
22
|
+
'$endsWithi',
|
|
23
|
+
'$contains',
|
|
24
|
+
'$notContains',
|
|
25
|
+
'$containsi',
|
|
26
|
+
'$notContainsi',
|
|
27
|
+
];
|
|
28
|
+
const CAST_OPERATORS = [
|
|
29
|
+
'$not',
|
|
30
|
+
'$in',
|
|
31
|
+
'$notIn',
|
|
32
|
+
'$eq',
|
|
33
|
+
'$ne',
|
|
34
|
+
'$gt',
|
|
35
|
+
'$gte',
|
|
36
|
+
'$lt',
|
|
37
|
+
'$lte',
|
|
38
|
+
'$between',
|
|
39
|
+
];
|
|
40
|
+
const ARRAY_OPERATORS = ['$in', '$notIn', '$between'];
|
|
41
|
+
const OPERATORS = {
|
|
42
|
+
where: WHERE_OPERATORS,
|
|
43
|
+
cast: CAST_OPERATORS,
|
|
44
|
+
group: GROUP_OPERATORS,
|
|
45
|
+
array: ARRAY_OPERATORS,
|
|
46
|
+
};
|
|
47
|
+
// for performance, cache all operators in lowercase
|
|
48
|
+
const OPERATORS_LOWERCASE = Object.fromEntries(Object.entries(OPERATORS).map(([key, values]) => [
|
|
49
|
+
key,
|
|
50
|
+
values.map((value) => value.toLowerCase()),
|
|
51
|
+
]));
|
|
52
|
+
const isObjKey = (key, obj) => {
|
|
53
|
+
return key in obj;
|
|
54
|
+
};
|
|
55
|
+
const isOperatorOfType = (type, key, ignoreCase = false) => {
|
|
56
|
+
if (ignoreCase) {
|
|
57
|
+
return OPERATORS_LOWERCASE[type]?.includes(key.toLowerCase()) ?? false;
|
|
58
|
+
}
|
|
59
|
+
if (isObjKey(type, OPERATORS)) {
|
|
60
|
+
return OPERATORS[type]?.includes(key) ?? false;
|
|
61
|
+
}
|
|
62
|
+
return false;
|
|
63
|
+
};
|
|
64
|
+
exports.isOperatorOfType = isOperatorOfType;
|
|
65
|
+
const isOperator = (key, ignoreCase = false) => {
|
|
66
|
+
return Object.keys(OPERATORS).some((type) => (0, exports.isOperatorOfType)(type, key, ignoreCase));
|
|
67
|
+
};
|
|
68
|
+
exports.isOperator = isOperator;
|
|
69
|
+
//# sourceMappingURL=operators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,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;CAChB,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"}
|