aws-service-stack 0.18.364 → 0.18.366
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/utils/data.util.d.ts +10 -2
- package/dist/utils/data.util.js +22 -6
- package/dist/utils/data.util.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/package.json +32 -32
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
import { z, ZodType } from "zod";
|
|
2
2
|
type InvalidConfig = boolean | string[];
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* EntityBuilder generates mock objects from a Zod schema.
|
|
5
|
+
* - Can produce fully valid objects
|
|
6
|
+
* - Can produce random invalid objects (at least one field invalid)
|
|
7
|
+
* - Can produce targeted invalid objects (specific fields)
|
|
8
|
+
* - Arrays are autofilled with multiple elements if `arrayLength` > 1
|
|
9
|
+
*/
|
|
10
|
+
export declare class EntityBuilder<T extends ZodType<any, any, any>> {
|
|
4
11
|
private readonly schema;
|
|
5
12
|
private readonly invalid;
|
|
13
|
+
private readonly arrayLength;
|
|
6
14
|
private seed;
|
|
7
|
-
constructor(schema: T, invalid?: InvalidConfig);
|
|
15
|
+
constructor(schema: T, invalid?: InvalidConfig, arrayLength?: number);
|
|
8
16
|
build(): z.infer<T>;
|
|
9
17
|
private buildFromZod;
|
|
10
18
|
private shouldInvalidate;
|
package/dist/utils/data.util.js
CHANGED
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.EntityBuilder = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* EntityBuilder generates mock objects from a Zod schema.
|
|
7
|
+
* - Can produce fully valid objects
|
|
8
|
+
* - Can produce random invalid objects (at least one field invalid)
|
|
9
|
+
* - Can produce targeted invalid objects (specific fields)
|
|
10
|
+
* - Arrays are autofilled with multiple elements if `arrayLength` > 1
|
|
11
|
+
*/
|
|
12
|
+
class EntityBuilder {
|
|
6
13
|
schema;
|
|
7
14
|
invalid;
|
|
15
|
+
arrayLength;
|
|
8
16
|
seed = 1;
|
|
9
|
-
constructor(schema, invalid = true) {
|
|
17
|
+
constructor(schema, invalid = true, arrayLength = 1) {
|
|
10
18
|
this.schema = schema;
|
|
11
19
|
this.invalid = invalid;
|
|
20
|
+
this.arrayLength = arrayLength;
|
|
12
21
|
}
|
|
13
22
|
build() {
|
|
14
23
|
return this.buildFromZod(this.schema, this.invalid);
|
|
@@ -30,7 +39,11 @@ class EntityMockBuilder {
|
|
|
30
39
|
}
|
|
31
40
|
if (schema instanceof zod_1.ZodArray) {
|
|
32
41
|
const elementSchema = schema.element;
|
|
33
|
-
|
|
42
|
+
const arr = [];
|
|
43
|
+
for (let i = 0; i < this.arrayLength; i++) {
|
|
44
|
+
arr.push(this.buildFromZod(elementSchema, invalidConfig, path.concat([String(i)])));
|
|
45
|
+
}
|
|
46
|
+
return arr;
|
|
34
47
|
}
|
|
35
48
|
if (schema instanceof zod_1.ZodObject) {
|
|
36
49
|
const obj = {};
|
|
@@ -40,18 +53,21 @@ class EntityMockBuilder {
|
|
|
40
53
|
}
|
|
41
54
|
return obj;
|
|
42
55
|
}
|
|
56
|
+
// fallback for unsupported types
|
|
43
57
|
return null;
|
|
44
58
|
}
|
|
45
59
|
shouldInvalidate(path, invalidConfig) {
|
|
46
60
|
if (invalidConfig === false) {
|
|
61
|
+
// random invalid
|
|
47
62
|
const x = Math.sin(this.seed++) * 10000;
|
|
48
63
|
return x - Math.floor(x) > 0.5;
|
|
49
64
|
}
|
|
50
65
|
if (Array.isArray(invalidConfig)) {
|
|
66
|
+
// targeted invalid
|
|
51
67
|
return invalidConfig.includes(path.join("."));
|
|
52
68
|
}
|
|
53
|
-
return false;
|
|
69
|
+
return false; // valid by default
|
|
54
70
|
}
|
|
55
71
|
}
|
|
56
|
-
exports.
|
|
72
|
+
exports.EntityBuilder = EntityBuilder;
|
|
57
73
|
//# sourceMappingURL=data.util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.util.js","sourceRoot":"","sources":["../../src/utils/data.util.ts"],"names":[],"mappings":";;;AAAA,6BAAkH;AAIlH,MAAa,
|
|
1
|
+
{"version":3,"file":"data.util.js","sourceRoot":"","sources":["../../src/utils/data.util.ts"],"names":[],"mappings":"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","sourcesContent":["import { z, ZodArray, ZodBoolean, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodString, ZodType } from \"zod\";\n\ntype InvalidConfig = boolean | string[];\n\n/**\n * EntityBuilder generates mock objects from a Zod schema.\n * - Can produce fully valid objects\n * - Can produce random invalid objects (at least one field invalid)\n * - Can produce targeted invalid objects (specific fields)\n * - Arrays are autofilled with multiple elements if `arrayLength` > 1\n */\nexport class EntityBuilder<T extends ZodType<any, any, any>> {\n private seed = 1;\n\n constructor(\n private readonly schema: T,\n private readonly invalid: InvalidConfig = true,\n private readonly arrayLength: number = 1, // default number of elements in arrays\n ) {}\n\n build(): z.infer<T> {\n return this.buildFromZod(this.schema, this.invalid) as z.infer<T>;\n }\n\n private buildFromZod(schema: ZodType<any, any, any>, invalidConfig: InvalidConfig, path: string[] = []): any {\n // Optional / Nullable unwrap\n if (schema instanceof ZodOptional || schema instanceof ZodNullable) {\n const inner = (schema as any)._def.innerType as ZodType<any, any, any>;\n return this.buildFromZod(inner, invalidConfig, path);\n }\n\n if (schema instanceof ZodString) {\n return this.shouldInvalidate(path, invalidConfig) ? \"INVALID\" : `valid_${path.join(\"_\")}`;\n }\n\n if (schema instanceof ZodNumber) {\n return this.shouldInvalidate(path, invalidConfig) ? -1 : 1;\n }\n\n if (schema instanceof ZodBoolean) {\n return !this.shouldInvalidate(path, invalidConfig);\n }\n\n if (schema instanceof ZodArray) {\n const elementSchema = (schema as ZodArray<any>).element as ZodType<any, any, any>;\n const arr = [];\n for (let i = 0; i < this.arrayLength; i++) {\n arr.push(this.buildFromZod(elementSchema, invalidConfig, path.concat([String(i)])));\n }\n return arr;\n }\n\n if (schema instanceof ZodObject) {\n const obj: any = {};\n const shape = (schema as ZodObject<any>).shape;\n for (const key in shape) {\n obj[key] = this.buildFromZod(shape[key], invalidConfig, path.concat([key]));\n }\n return obj;\n }\n\n // fallback for unsupported types\n return null;\n }\n\n private shouldInvalidate(path: string[], invalidConfig: InvalidConfig): boolean {\n if (invalidConfig === false) {\n // random invalid\n const x = Math.sin(this.seed++) * 10000;\n return x - Math.floor(x) > 0.5;\n }\n if (Array.isArray(invalidConfig)) {\n // targeted invalid\n return invalidConfig.includes(path.join(\".\"));\n }\n return false; // valid by default\n }\n}\n"]}
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
|
@@ -28,5 +28,6 @@ __exportStar(require("./reflection.util"), exports);
|
|
|
28
28
|
__exportStar(require("./validation.util"), exports);
|
|
29
29
|
__exportStar(require("./opensearch/opensearch.parser"), exports);
|
|
30
30
|
__exportStar(require("./opensearch/opensearch.transform"), exports);
|
|
31
|
+
__exportStar(require("./data.util"), exports);
|
|
31
32
|
__exportStar(require("../function/logger"), exports);
|
|
32
33
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,sDAAoC;AACpC,+CAA6B;AAC7B,8CAA4B;AAC5B,8CAA4B;AAC5B,mDAAiC;AACjC,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B;AAC5B,qDAAmC;AACnC,oDAAkC;AAClC,oDAAkC;AAClC,iEAA+C;AAC/C,oEAAkD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,sDAAoC;AACpC,+CAA6B;AAC7B,8CAA4B;AAC5B,8CAA4B;AAC5B,mDAAiC;AACjC,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B;AAC5B,qDAAmC;AACnC,oDAAkC;AAClC,oDAAkC;AAClC,iEAA+C;AAC/C,oEAAkD;AAClD,8CAA4B;AAE5B,qDAAmC","sourcesContent":["export * from \"./http/http.util\";\nexport * from \"./http/http-request\";\nexport * from \"./array.util\";\nexport * from \"./auth.util\";\nexport * from \"./date.util\";\nexport * from \"./dynamodb.utils\";\nexport * from \"./env.util\";\nexport * from \"./error.util\";\nexport * from \"./json.util\";\nexport * from \"./opensearch.utils\";\nexport * from \"./reflection.util\";\nexport * from \"./validation.util\";\nexport * from \"./opensearch/opensearch.parser\";\nexport * from \"./opensearch/opensearch.transform\";\nexport * from \"./data.util\";\n\nexport * from \"../function/logger\";\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aws-service-stack",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.366",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"author": "chinggis.systems",
|
|
@@ -23,45 +23,45 @@
|
|
|
23
23
|
"tslib": "^2.8.1"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"@aws-sdk/client-api-gateway": "^3.
|
|
27
|
-
"@aws-sdk/client-apigatewaymanagementapi": "^3.
|
|
28
|
-
"@aws-sdk/client-cognito-identity-provider": "^3.
|
|
29
|
-
"@aws-sdk/client-dynamodb": "^3.
|
|
30
|
-
"@aws-sdk/client-lambda": "^3.
|
|
31
|
-
"@aws-sdk/client-pinpoint": "^3.
|
|
32
|
-
"@aws-sdk/client-secrets-manager": "^3.
|
|
33
|
-
"@aws-sdk/client-sqs": "^3.
|
|
34
|
-
"@aws-sdk/credential-provider-node": "^3.
|
|
35
|
-
"@aws-sdk/lib-dynamodb": "^3.
|
|
36
|
-
"@aws-sdk/s3-request-presigner": "^3.
|
|
37
|
-
"@aws-sdk/util-dynamodb": "^3.
|
|
26
|
+
"@aws-sdk/client-api-gateway": "^3.999.0",
|
|
27
|
+
"@aws-sdk/client-apigatewaymanagementapi": "^3.999.0",
|
|
28
|
+
"@aws-sdk/client-cognito-identity-provider": "^3.999.0",
|
|
29
|
+
"@aws-sdk/client-dynamodb": "^3.999.0",
|
|
30
|
+
"@aws-sdk/client-lambda": "^3.999.0",
|
|
31
|
+
"@aws-sdk/client-pinpoint": "^3.999.0",
|
|
32
|
+
"@aws-sdk/client-secrets-manager": "^3.999.0",
|
|
33
|
+
"@aws-sdk/client-sqs": "^3.999.0",
|
|
34
|
+
"@aws-sdk/credential-provider-node": "^3.972.14",
|
|
35
|
+
"@aws-sdk/lib-dynamodb": "^3.999.0",
|
|
36
|
+
"@aws-sdk/s3-request-presigner": "^3.999.0",
|
|
37
|
+
"@aws-sdk/util-dynamodb": "^3.996.1",
|
|
38
38
|
"@opensearch-project/opensearch": "^3.5.1",
|
|
39
|
-
"axios": "^1.
|
|
40
|
-
"dayjs": "^1.11.
|
|
41
|
-
"elastic-builder": "^
|
|
39
|
+
"axios": "^1.13.5",
|
|
40
|
+
"dayjs": "^1.11.19",
|
|
41
|
+
"elastic-builder": "^4.1.0",
|
|
42
42
|
"lodash.truncate": "^4.4.2",
|
|
43
|
-
"nodemailer": "^
|
|
43
|
+
"nodemailer": "^8.0.1",
|
|
44
44
|
"numeral": "^2.0.6",
|
|
45
|
-
"typedi": "0.10.0",
|
|
45
|
+
"typedi": "^0.10.0",
|
|
46
46
|
"yup": "^1.7.1",
|
|
47
|
-
"zod": "^4.
|
|
47
|
+
"zod": "^4.3.6"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@types/aws-lambda": "^8.10.
|
|
51
|
-
"@types/jest": "^
|
|
52
|
-
"eslint": "^
|
|
53
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
54
|
-
"@typescript-eslint/parser": "^
|
|
55
|
-
"jest": "^
|
|
50
|
+
"@types/aws-lambda": "^8.10.161",
|
|
51
|
+
"@types/jest": "^30.0.0",
|
|
52
|
+
"eslint": "^10.0.2",
|
|
53
|
+
"@typescript-eslint/eslint-plugin": "^8.56.1",
|
|
54
|
+
"@typescript-eslint/parser": "^8.56.1",
|
|
55
|
+
"jest": "^30.2.0",
|
|
56
56
|
"jest-transform-stub": "^2.0.0",
|
|
57
|
-
"jsonc-eslint-parser": "^
|
|
58
|
-
"serverless-offline": "^14.
|
|
57
|
+
"jsonc-eslint-parser": "^3.1.0",
|
|
58
|
+
"serverless-offline": "^14.5.0",
|
|
59
59
|
"serverless-stage-manager": "^1.0.5",
|
|
60
|
-
"ts-jest": "^29.
|
|
60
|
+
"ts-jest": "^29.4.6",
|
|
61
61
|
"ts-node": "^10.9.2",
|
|
62
|
-
"tsc-alias": "^1.8.
|
|
63
|
-
"typescript": "^5.
|
|
64
|
-
"prettier": "^3.
|
|
65
|
-
"typescript-transform-paths": "^3.5.
|
|
62
|
+
"tsc-alias": "^1.8.16",
|
|
63
|
+
"typescript": "^5.9.3",
|
|
64
|
+
"prettier": "^3.8.1",
|
|
65
|
+
"typescript-transform-paths": "^3.5.6"
|
|
66
66
|
}
|
|
67
67
|
}
|