From 1e045d47e325cf2a1a30d4a499c40de1132d60d5 Mon Sep 17 00:00:00 2001 From: Aman Kumar Date: Thu, 20 Mar 2025 12:12:45 +0530 Subject: [PATCH 1/2] feat: allow empty arrays when max_limit is set --- package-lock.json | 4 ++-- package.json | 2 +- src/generateTS/factory.ts | 5 ----- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index e079ff5..085609d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@contentstack/types-generator", - "version": "2.2.1", + "version": "2.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@contentstack/types-generator", - "version": "2.2.1", + "version": "2.3.0", "license": "MIT", "dependencies": { "@contentstack/delivery-sdk": "^4.5.0", diff --git a/package.json b/package.json index 0bee2c2..c7a7d82 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@contentstack/types-generator", - "version": "2.2.1", + "version": "2.3.0", "description": "Contentstack type definition generation library", "private": false, "author": "Contentstack", diff --git a/src/generateTS/factory.ts b/src/generateTS/factory.ts index aa392e3..a2c2523 100644 --- a/src/generateTS/factory.ts +++ b/src/generateTS/factory.ts @@ -160,11 +160,6 @@ export default function (userOptions: TSGenOptions) { if (field.multiple) { op = "[]"; - - if (field.max_instance) { - const elements = new Array(field.max_instance).fill(type as any); - return ["[", elements.join(", "), "]"].join(""); - } } return type + op; From abf05763d2f91baf586a7844f396b6b74732fd42 Mon Sep 17 00:00:00 2001 From: Aman Kumar Date: Thu, 20 Mar 2025 12:27:53 +0530 Subject: [PATCH 2/2] fix : test cases related to max limit --- tests/unit/tsgen/group.test.ts | 12 ++---------- tests/unit/tsgen/isodate.test.ts | 4 ++-- tests/unit/tsgen/number.test.ts | 4 ++-- tests/unit/tsgen/options.test.ts | 2 +- 4 files changed, 7 insertions(+), 15 deletions(-) diff --git a/tests/unit/tsgen/group.test.ts b/tests/unit/tsgen/group.test.ts index c6a6456..c5c4193 100644 --- a/tests/unit/tsgen/group.test.ts +++ b/tests/unit/tsgen/group.test.ts @@ -26,17 +26,9 @@ describe("group", () => { /** Version */ _version: number; title: string; - multiple_group_max_limit?: [{ + multiple_group_max_limit?: { number?: number | null; - }, { - number?: number | null; - }, { - number?: number | null; - }, { - number?: number | null; - }, { - number?: number | null; - }]; + }[]; multiple_group?: { single_line?: string; }[]; diff --git a/tests/unit/tsgen/isodate.test.ts b/tests/unit/tsgen/isodate.test.ts index 478764e..235fd3a 100644 --- a/tests/unit/tsgen/isodate.test.ts +++ b/tests/unit/tsgen/isodate.test.ts @@ -30,8 +30,8 @@ describe("builtin isodate field", () => { date?: string | null; date_required: string; date_multiple?: string[] | null; - date_multiple_maxlength?: [string, string, string, string, string] | null; - date_required_multiple_maxlength: [string, string, string, string, string, string, string, string]; + date_multiple_maxlength?: string[] | null; + date_required_multiple_maxlength: string[]; }" `); }); diff --git a/tests/unit/tsgen/number.test.ts b/tests/unit/tsgen/number.test.ts index 71f2bde..3b89799 100644 --- a/tests/unit/tsgen/number.test.ts +++ b/tests/unit/tsgen/number.test.ts @@ -28,8 +28,8 @@ describe("builtin number field", () => { number?: number | null; number_required: number; number_multiple?: number[] | null; - number_multiple_max_limit?: [number, number, number, number, number, number, number, number, number, number] | null; - number_required_multiple_max_limit: [number, number, number]; + number_multiple_max_limit?: number[] | null; + number_required_multiple_max_limit: number[]; }" `); }); diff --git a/tests/unit/tsgen/options.test.ts b/tests/unit/tsgen/options.test.ts index abafa8d..652ad86 100644 --- a/tests/unit/tsgen/options.test.ts +++ b/tests/unit/tsgen/options.test.ts @@ -21,7 +21,7 @@ describe("all options", () => { single_line_textbox_not_required?: string; single_line_textbox_required: string; single_line_textbox_multiple?: string[]; - single_line_textbox_multiple_max_limit?: [string, string, string, string, string]; + single_line_textbox_multiple_max_limit?: string[]; }" `); });