diff --git a/docs/generators/typescript-angular.md b/docs/generators/typescript-angular.md
index 9af8d25825e..97588cff63f 100644
--- a/docs/generators/typescript-angular.md
+++ b/docs/generators/typescript-angular.md
@@ -65,6 +65,7 @@ sidebar_label: typescript-angular
Object
ReadonlyArray
String
+Set
any
boolean
number
diff --git a/docs/generators/typescript-angularjs-deprecated.md b/docs/generators/typescript-angularjs-deprecated.md
index 3bf8dbc394f..4562623a510 100644
--- a/docs/generators/typescript-angularjs-deprecated.md
+++ b/docs/generators/typescript-angularjs-deprecated.md
@@ -47,6 +47,7 @@ sidebar_label: typescript-angularjs-deprecated
Object
ReadonlyArray
String
+Set
any
boolean
number
diff --git a/docs/generators/typescript-angularjs.md b/docs/generators/typescript-angularjs.md
index 1e6de0a46d0..f34182d78e6 100644
--- a/docs/generators/typescript-angularjs.md
+++ b/docs/generators/typescript-angularjs.md
@@ -47,6 +47,7 @@ sidebar_label: typescript-angularjs
Object
ReadonlyArray
String
+Set
any
boolean
number
diff --git a/docs/generators/typescript-aurelia.md b/docs/generators/typescript-aurelia.md
index 6bf94c6acfb..210df33dde7 100644
--- a/docs/generators/typescript-aurelia.md
+++ b/docs/generators/typescript-aurelia.md
@@ -50,6 +50,7 @@ sidebar_label: typescript-aurelia
Object
ReadonlyArray
String
+Set
any
boolean
number
diff --git a/docs/generators/typescript-axios.md b/docs/generators/typescript-axios.md
index 7036e91d117..d45e7d5db39 100644
--- a/docs/generators/typescript-axios.md
+++ b/docs/generators/typescript-axios.md
@@ -55,6 +55,7 @@ sidebar_label: typescript-axios
Object
ReadonlyArray
String
+Set
any
boolean
number
diff --git a/docs/generators/typescript-fetch.md b/docs/generators/typescript-fetch.md
index 5b20ae55461..1345718927d 100644
--- a/docs/generators/typescript-fetch.md
+++ b/docs/generators/typescript-fetch.md
@@ -55,6 +55,7 @@ sidebar_label: typescript-fetch
Object
ReadonlyArray
String
+Set
any
boolean
number
diff --git a/docs/generators/typescript-inversify.md b/docs/generators/typescript-inversify.md
index 4707989205f..ceff69cfc52 100644
--- a/docs/generators/typescript-inversify.md
+++ b/docs/generators/typescript-inversify.md
@@ -56,6 +56,7 @@ sidebar_label: typescript-inversify
Object
ReadonlyArray
String
+Set
any
boolean
number
diff --git a/docs/generators/typescript-jquery.md b/docs/generators/typescript-jquery.md
index ecb243d4b6d..51aa7eaadad 100644
--- a/docs/generators/typescript-jquery.md
+++ b/docs/generators/typescript-jquery.md
@@ -52,6 +52,7 @@ sidebar_label: typescript-jquery
Object
ReadonlyArray
String
+Set
any
boolean
number
diff --git a/docs/generators/typescript-node.md b/docs/generators/typescript-node.md
index cf72f020c45..a460647e066 100644
--- a/docs/generators/typescript-node.md
+++ b/docs/generators/typescript-node.md
@@ -55,6 +55,7 @@ sidebar_label: typescript-node
RequestDetailedFile
RequestFile
String
+Set
any
boolean
number
diff --git a/docs/generators/typescript-redux-query.md b/docs/generators/typescript-redux-query.md
index 8d8e54e0c8e..67900a2fb84 100644
--- a/docs/generators/typescript-redux-query.md
+++ b/docs/generators/typescript-redux-query.md
@@ -53,6 +53,7 @@ sidebar_label: typescript-redux-query
Object
ReadonlyArray
String
+Set
any
boolean
number
diff --git a/docs/generators/typescript-rxjs.md b/docs/generators/typescript-rxjs.md
index 82ff8d19cec..b1501cbeaf7 100644
--- a/docs/generators/typescript-rxjs.md
+++ b/docs/generators/typescript-rxjs.md
@@ -53,6 +53,7 @@ sidebar_label: typescript-rxjs
Object
ReadonlyArray
String
+Set
any
boolean
number
diff --git a/docs/generators/typescript.md b/docs/generators/typescript.md
index db106fdb773..ce2c34628d5 100644
--- a/docs/generators/typescript.md
+++ b/docs/generators/typescript.md
@@ -53,6 +53,7 @@ sidebar_label: typescript
Map
Object
String
+Set
any
boolean
number
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java
index c4a34d2ca32..bbc8e459fe3 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java
@@ -130,7 +130,8 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp
"File",
"Error",
"Map",
- "object"
+ "object",
+ "Set"
));
languageGenericTypes = new HashSet<>(Collections.singletonList(
@@ -140,6 +141,8 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp
instantiationTypes.put("array", "Array");
typeMapping = new HashMap();
+ typeMapping.put("Set", "Set");
+ typeMapping.put("set", "Set");
typeMapping.put("Array", "Array");
typeMapping.put("array", "Array");
typeMapping.put("boolean", "boolean");
diff --git a/samples/client/petstore/typescript-angular-v6-not-provided-in-root/builds/default/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v6-not-provided-in-root/builds/default/.openapi-generator/FILES
index bc66e2a3865..7f11560dda7 100644
--- a/samples/client/petstore/typescript-angular-v6-not-provided-in-root/builds/default/.openapi-generator/FILES
+++ b/samples/client/petstore/typescript-angular-v6-not-provided-in-root/builds/default/.openapi-generator/FILES
@@ -9,11 +9,11 @@ configuration.ts
encoder.ts
git_push.sh
index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
+model/apiResponse.ts
+model/category.ts
+model/order.ts
+model/pet.ts
+model/tag.ts
+model/user.ts
model/models.ts
variables.ts
diff --git a/samples/client/petstore/typescript-angular-v6-not-provided-in-root/builds/with-npm/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v6-not-provided-in-root/builds/with-npm/.openapi-generator/FILES
index a2650d9db08..d85eeefc6f2 100644
--- a/samples/client/petstore/typescript-angular-v6-not-provided-in-root/builds/with-npm/.openapi-generator/FILES
+++ b/samples/client/petstore/typescript-angular-v6-not-provided-in-root/builds/with-npm/.openapi-generator/FILES
@@ -9,12 +9,12 @@ configuration.ts
encoder.ts
git_push.sh
index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
+model/apiResponse.ts
+model/category.ts
+model/order.ts
+model/pet.ts
+model/tag.ts
+model/user.ts
model/models.ts
ng-package.json
package.json
diff --git a/samples/client/petstore/typescript-angular-v6-provided-in-root/builds/default/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v6-provided-in-root/builds/default/.openapi-generator/FILES
index bc66e2a3865..7f11560dda7 100644
--- a/samples/client/petstore/typescript-angular-v6-provided-in-root/builds/default/.openapi-generator/FILES
+++ b/samples/client/petstore/typescript-angular-v6-provided-in-root/builds/default/.openapi-generator/FILES
@@ -9,11 +9,11 @@ configuration.ts
encoder.ts
git_push.sh
index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
+model/apiResponse.ts
+model/category.ts
+model/order.ts
+model/pet.ts
+model/tag.ts
+model/user.ts
model/models.ts
variables.ts
diff --git a/samples/client/petstore/typescript-angular-v6-provided-in-root/builds/with-npm/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v6-provided-in-root/builds/with-npm/.openapi-generator/FILES
index a2650d9db08..d85eeefc6f2 100644
--- a/samples/client/petstore/typescript-angular-v6-provided-in-root/builds/with-npm/.openapi-generator/FILES
+++ b/samples/client/petstore/typescript-angular-v6-provided-in-root/builds/with-npm/.openapi-generator/FILES
@@ -9,12 +9,12 @@ configuration.ts
encoder.ts
git_push.sh
index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
+model/apiResponse.ts
+model/category.ts
+model/order.ts
+model/pet.ts
+model/tag.ts
+model/user.ts
model/models.ts
ng-package.json
package.json
diff --git a/samples/client/petstore/typescript-angular-v7-not-provided-in-root/builds/default/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v7-not-provided-in-root/builds/default/.openapi-generator/FILES
index bc66e2a3865..7f11560dda7 100644
--- a/samples/client/petstore/typescript-angular-v7-not-provided-in-root/builds/default/.openapi-generator/FILES
+++ b/samples/client/petstore/typescript-angular-v7-not-provided-in-root/builds/default/.openapi-generator/FILES
@@ -9,11 +9,11 @@ configuration.ts
encoder.ts
git_push.sh
index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
+model/apiResponse.ts
+model/category.ts
+model/order.ts
+model/pet.ts
+model/tag.ts
+model/user.ts
model/models.ts
variables.ts
diff --git a/samples/client/petstore/typescript-angular-v7-not-provided-in-root/builds/with-npm/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v7-not-provided-in-root/builds/with-npm/.openapi-generator/FILES
index a2650d9db08..d85eeefc6f2 100644
--- a/samples/client/petstore/typescript-angular-v7-not-provided-in-root/builds/with-npm/.openapi-generator/FILES
+++ b/samples/client/petstore/typescript-angular-v7-not-provided-in-root/builds/with-npm/.openapi-generator/FILES
@@ -9,12 +9,12 @@ configuration.ts
encoder.ts
git_push.sh
index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
+model/apiResponse.ts
+model/category.ts
+model/order.ts
+model/pet.ts
+model/tag.ts
+model/user.ts
model/models.ts
ng-package.json
package.json
diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/builds/default/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v7-provided-in-root/builds/default/.openapi-generator/FILES
index bc66e2a3865..7f11560dda7 100644
--- a/samples/client/petstore/typescript-angular-v7-provided-in-root/builds/default/.openapi-generator/FILES
+++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/builds/default/.openapi-generator/FILES
@@ -9,11 +9,11 @@ configuration.ts
encoder.ts
git_push.sh
index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
+model/apiResponse.ts
+model/category.ts
+model/order.ts
+model/pet.ts
+model/tag.ts
+model/user.ts
model/models.ts
variables.ts
diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/builds/with-npm/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v7-provided-in-root/builds/with-npm/.openapi-generator/FILES
index a2650d9db08..d85eeefc6f2 100644
--- a/samples/client/petstore/typescript-angular-v7-provided-in-root/builds/with-npm/.openapi-generator/FILES
+++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/builds/with-npm/.openapi-generator/FILES
@@ -9,12 +9,12 @@ configuration.ts
encoder.ts
git_push.sh
index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
+model/apiResponse.ts
+model/category.ts
+model/order.ts
+model/pet.ts
+model/tag.ts
+model/user.ts
model/models.ts
ng-package.json
package.json
diff --git a/samples/client/petstore/typescript-angular-v8-provided-in-root/builds/single-request-parameter/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v8-provided-in-root/builds/single-request-parameter/.openapi-generator/FILES
index a2650d9db08..d85eeefc6f2 100644
--- a/samples/client/petstore/typescript-angular-v8-provided-in-root/builds/single-request-parameter/.openapi-generator/FILES
+++ b/samples/client/petstore/typescript-angular-v8-provided-in-root/builds/single-request-parameter/.openapi-generator/FILES
@@ -9,12 +9,12 @@ configuration.ts
encoder.ts
git_push.sh
index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
+model/apiResponse.ts
+model/category.ts
+model/order.ts
+model/pet.ts
+model/tag.ts
+model/user.ts
model/models.ts
ng-package.json
package.json
diff --git a/samples/client/petstore/typescript-angular-v8-provided-in-root/builds/with-npm/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v8-provided-in-root/builds/with-npm/.openapi-generator/FILES
index a2650d9db08..d85eeefc6f2 100644
--- a/samples/client/petstore/typescript-angular-v8-provided-in-root/builds/with-npm/.openapi-generator/FILES
+++ b/samples/client/petstore/typescript-angular-v8-provided-in-root/builds/with-npm/.openapi-generator/FILES
@@ -9,12 +9,12 @@ configuration.ts
encoder.ts
git_push.sh
index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
+model/apiResponse.ts
+model/category.ts
+model/order.ts
+model/pet.ts
+model/tag.ts
+model/user.ts
model/models.ts
ng-package.json
package.json
diff --git a/samples/client/petstore/typescript-angular-v8-provided-in-root/builds/with-prefixed-module-name/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v8-provided-in-root/builds/with-prefixed-module-name/.openapi-generator/FILES
index a2650d9db08..d85eeefc6f2 100644
--- a/samples/client/petstore/typescript-angular-v8-provided-in-root/builds/with-prefixed-module-name/.openapi-generator/FILES
+++ b/samples/client/petstore/typescript-angular-v8-provided-in-root/builds/with-prefixed-module-name/.openapi-generator/FILES
@@ -9,12 +9,12 @@ configuration.ts
encoder.ts
git_push.sh
index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
+model/apiResponse.ts
+model/category.ts
+model/order.ts
+model/pet.ts
+model/tag.ts
+model/user.ts
model/models.ts
ng-package.json
package.json
diff --git a/samples/client/petstore/typescript-node/default/.openapi-generator/FILES b/samples/client/petstore/typescript-node/default/.openapi-generator/FILES
index c4f1df469e4..ff52c7c5b2b 100644
--- a/samples/client/petstore/typescript-node/default/.openapi-generator/FILES
+++ b/samples/client/petstore/typescript-node/default/.openapi-generator/FILES
@@ -5,10 +5,10 @@ api/petApi.ts
api/storeApi.ts
api/userApi.ts
git_push.sh
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
+model/apiResponse.ts
+model/category.ts
+model/order.ts
+model/pet.ts
+model/tag.ts
+model/user.ts
model/models.ts
diff --git a/samples/client/petstore/typescript-node/npm/.openapi-generator/FILES b/samples/client/petstore/typescript-node/npm/.openapi-generator/FILES
index 914f5ced854..d24a1934784 100644
--- a/samples/client/petstore/typescript-node/npm/.openapi-generator/FILES
+++ b/samples/client/petstore/typescript-node/npm/.openapi-generator/FILES
@@ -5,12 +5,12 @@ api/petApi.ts
api/storeApi.ts
api/userApi.ts
git_push.sh
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
+model/apiResponse.ts
+model/category.ts
+model/order.ts
+model/pet.ts
+model/tag.ts
+model/user.ts
model/models.ts
package.json
tsconfig.json