aws-service-stack 0.18.365 → 0.18.370

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.
@@ -1,10 +1,18 @@
1
1
  import { z, ZodType } from "zod";
2
2
  type InvalidConfig = boolean | string[];
3
- export declare class EntityMockBuilder<T extends ZodType<any, any, any>> {
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;
@@ -1,14 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityMockBuilder = void 0;
3
+ exports.EntityBuilder = void 0;
4
4
  const zod_1 = require("zod");
5
- class EntityMockBuilder {
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
- return [this.buildFromZod(elementSchema, invalidConfig, path.concat(["0"]))];
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.EntityMockBuilder = EntityMockBuilder;
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,iBAAiB;IAIT;IACA;IAJX,IAAI,GAAG,CAAC,CAAC;IAEjB,YACmB,MAAS,EACT,UAAyB,IAAI;QAD7B,WAAM,GAAN,MAAM,CAAG;QACT,YAAO,GAAP,OAAO,CAAsB;IAC7C,CAAC;IAEJ,KAAK;QACH,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAe,CAAC;IACpE,CAAC;IAEO,YAAY,CAAC,MAA8B,EAAE,aAA4B,EAAE,OAAiB,EAAE;QACpG,6BAA6B;QAC7B,IAAI,MAAM,YAAY,iBAAW,IAAI,MAAM,YAAY,iBAAW,EAAE,CAAC;YACnE,MAAM,KAAK,GAAI,MAAc,CAAC,IAAI,CAAC,SAAmC,CAAC;YACvE,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,MAAM,YAAY,eAAS,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5F,CAAC;QAED,IAAI,MAAM,YAAY,eAAS,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,MAAM,YAAY,gBAAU,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,MAAM,YAAY,cAAQ,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAI,MAAwB,CAAC,OAAiC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,MAAM,YAAY,eAAS,EAAE,CAAC;YAChC,MAAM,GAAG,GAAQ,EAAE,CAAC;YACpB,MAAM,KAAK,GAAI,MAAyB,CAAC,KAAK,CAAC;YAC/C,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,gBAAgB,CAAC,IAAc,EAAE,aAA4B;QACnE,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;YACxC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACjC,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,OAAO,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA1DD,8CA0DC","sourcesContent":["import { z, ZodArray, ZodBoolean, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodString, ZodType } from \"zod\";\n\ntype InvalidConfig = boolean | string[];\n\nexport class EntityMockBuilder<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 ) {}\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 return [this.buildFromZod(elementSchema, invalidConfig, path.concat([\"0\"]))];\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 return null;\n }\n\n private shouldInvalidate(path: string[], invalidConfig: InvalidConfig): boolean {\n if (invalidConfig === false) {\n const x = Math.sin(this.seed++) * 10000;\n return x - Math.floor(x) > 0.5;\n }\n if (Array.isArray(invalidConfig)) {\n return invalidConfig.includes(path.join(\".\"));\n }\n return false;\n }\n}\n"]}
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aws-service-stack",
3
- "version": "0.18.365",
3
+ "version": "0.18.370",
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.907.0",
27
- "@aws-sdk/client-apigatewaymanagementapi": "^3.907.0",
28
- "@aws-sdk/client-cognito-identity-provider": "^3.907.0",
29
- "@aws-sdk/client-dynamodb": "^3.907.0",
30
- "@aws-sdk/client-lambda": "^3.907.0",
31
- "@aws-sdk/client-pinpoint": "^3.907.0",
32
- "@aws-sdk/client-secrets-manager": "^3.907.0",
33
- "@aws-sdk/client-sqs": "^3.907.0",
34
- "@aws-sdk/credential-provider-node": "^3.907.0",
35
- "@aws-sdk/lib-dynamodb": "^3.907.0",
36
- "@aws-sdk/s3-request-presigner": "^3.907.0",
37
- "@aws-sdk/util-dynamodb": "^3.907.0",
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.12.2",
40
- "dayjs": "^1.11.10",
41
- "elastic-builder": "^3.4.0",
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": "^6.9.11",
43
+ "nodemailer": "^8.0.1",
44
44
  "numeral": "^2.0.6",
45
45
  "typedi": "0.10.0",
46
46
  "yup": "^1.7.1",
47
- "zod": "^4.1.12"
47
+ "zod": "^4.3.6"
48
48
  },
49
49
  "devDependencies": {
50
- "@types/aws-lambda": "^8.10.149",
51
- "@types/jest": "^29.5.14",
52
- "eslint": "^8.56.0",
53
- "@typescript-eslint/eslint-plugin": "^6.19.1",
54
- "@typescript-eslint/parser": "^6.19.1",
55
- "jest": "^29.7.0",
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": "^2.4.0",
58
- "serverless-offline": "^14.4.0",
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.3.1",
60
+ "ts-jest": "^29.4.6",
61
61
  "ts-node": "^10.9.2",
62
- "tsc-alias": "^1.8.11",
63
- "typescript": "^5.8.3",
64
- "prettier": "^3.6.2",
65
- "typescript-transform-paths": "^3.5.3"
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
  }