diff --git a/package-lock.json b/package-lock.json index 3347c68..bc9e5fa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "contentstack-cli-tsgen", - "version": "2.1.6", + "version": "2.1.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "contentstack-cli-tsgen", - "version": "2.1.6", + "version": "2.1.7", "license": "MIT", "dependencies": { "@contentstack/cli-command": "^1.2.9", diff --git a/package.json b/package.json index 4b3d351..fca5bc3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "contentstack-cli-tsgen", "description": "Generate TypeScript typings from a Stack.", - "version": "2.1.6", + "version": "2.1.7", "author": "Michael Davis", "bugs": "https://github.com/Contentstack-Solutions/contentstack-cli-tsgen/issues", "dependencies": { diff --git a/src/lib/stack/schema.ts b/src/lib/stack/schema.ts index 0fa18a4..0b11501 100644 --- a/src/lib/stack/schema.ts +++ b/src/lib/stack/schema.ts @@ -49,7 +49,8 @@ export type Field = GlobalField & ReferenceField & GroupField & EnumField & - BlockField; + BlockField & + { field_metadata: FieldMetaData }; export type Schema = Array; export type ContentType = { @@ -60,3 +61,7 @@ export type ContentType = { data_type?: string; schema_type?: string; } & Identifier; + +export type FieldMetaData = { + ref_multiple?: boolean; +} diff --git a/src/lib/tsgen/factory.ts b/src/lib/tsgen/factory.ts index e794d39..43af655 100644 --- a/src/lib/tsgen/factory.ts +++ b/src/lib/tsgen/factory.ts @@ -300,7 +300,7 @@ export default function (userOptions: TSGenOptions) { references.push(name_type(field.reference_to)) } - return ['(', references.join(' | '), ')', '[]'].join('') + return ['(', references.join(' | '), ')', field.field_metadata?.ref_multiple ? '[]' : ''].join('') } return function (contentType: ContentstackTypes.ContentType): TSGenResult|any {