@kubb/plugin-ts 5.0.0-beta.15 → 5.0.0-beta.22
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/index.cjs +25 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +26 -26
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/src/factory.ts +2 -7
- package/src/generators/typeGenerator.tsx +9 -9
- package/src/printers/printerTs.ts +22 -25
package/dist/index.cjs
CHANGED
|
@@ -906,7 +906,7 @@ const printerTs = _kubb_core.ast.definePrinter((options) => {
|
|
|
906
906
|
date: dateOrStringNode,
|
|
907
907
|
time: dateOrStringNode,
|
|
908
908
|
ref(node) {
|
|
909
|
-
if (!node.name) return;
|
|
909
|
+
if (!node.name) return null;
|
|
910
910
|
const refName = node.ref ? _kubb_core.ast.extractRefName(node.ref) ?? node.name : node.name;
|
|
911
911
|
return createTypeReferenceNode(node.ref && ENUM_TYPES_WITH_KEY_SUFFIX.has(this.options.enumType) && this.options.enumTypeSuffix && this.options.enumSchemaNames?.has(refName) ? this.options.resolver.resolveEnumKeyName({ name: refName }, this.options.enumTypeSuffix) : node.ref ? this.options.resolver.default(refName, "type") : refName, void 0);
|
|
912
912
|
},
|
|
@@ -943,16 +943,16 @@ const printerTs = _kubb_core.ast.definePrinter((options) => {
|
|
|
943
943
|
return createIntersectionDeclaration({
|
|
944
944
|
withParentheses: true,
|
|
945
945
|
nodes: buildMemberNodes(node.members, this.transform)
|
|
946
|
-
}) ??
|
|
946
|
+
}) ?? null;
|
|
947
947
|
},
|
|
948
948
|
array(node) {
|
|
949
949
|
return createArrayDeclaration({
|
|
950
950
|
nodes: (node.items ?? []).map((item) => this.transform(item)).filter(isNonNullable),
|
|
951
951
|
arrayType: this.options.arrayType
|
|
952
|
-
}) ??
|
|
952
|
+
}) ?? null;
|
|
953
953
|
},
|
|
954
954
|
tuple(node) {
|
|
955
|
-
return buildTupleNode(node, this.transform);
|
|
955
|
+
return buildTupleNode(node, this.transform) ?? null;
|
|
956
956
|
},
|
|
957
957
|
object(node) {
|
|
958
958
|
const { transform, options } = this;
|
|
@@ -979,21 +979,22 @@ const printerTs = _kubb_core.ast.definePrinter((options) => {
|
|
|
979
979
|
},
|
|
980
980
|
print(node) {
|
|
981
981
|
const { name, syntaxType = "type", description, keysToOmit } = this.options;
|
|
982
|
-
|
|
983
|
-
if (!
|
|
982
|
+
const transformed = this.transform(node);
|
|
983
|
+
if (!transformed) return null;
|
|
984
984
|
const meta = _kubb_core.ast.syncSchemaRef(node);
|
|
985
985
|
if (!name) {
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
return (0, _kubb_parser_ts.safePrint)(base);
|
|
986
|
+
const withNullable = meta.nullable ? createUnionDeclaration({ nodes: [transformed, keywordTypeNodes.null] }) : transformed;
|
|
987
|
+
return (0, _kubb_parser_ts.safePrint)((meta.nullish || meta.optional) && addsUndefined ? createUnionDeclaration({ nodes: [withNullable, keywordTypeNodes.undefined] }) : withNullable);
|
|
989
988
|
}
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
989
|
+
const inner = (() => {
|
|
990
|
+
const omitted = keysToOmit?.length ? createOmitDeclaration({
|
|
991
|
+
keys: keysToOmit,
|
|
992
|
+
type: transformed,
|
|
993
|
+
nonNullable: true
|
|
994
|
+
}) : transformed;
|
|
995
|
+
const withNullable = meta.nullable ? createUnionDeclaration({ nodes: [omitted, keywordTypeNodes.null] }) : omitted;
|
|
996
|
+
return meta.nullish || meta.optional ? createUnionDeclaration({ nodes: [withNullable, keywordTypeNodes.undefined] }) : withNullable;
|
|
997
|
+
})();
|
|
997
998
|
const useTypeGeneration = syntaxType === "type" || inner.kind === syntaxKind.union || !!keysToOmit?.length;
|
|
998
999
|
return (0, _kubb_parser_ts.safePrint)(createTypeDeclaration({
|
|
999
1000
|
name,
|
|
@@ -1028,10 +1029,10 @@ const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1028
1029
|
renderer: _kubb_renderer_jsx.jsxRendererSync,
|
|
1029
1030
|
schema(node, ctx) {
|
|
1030
1031
|
const { enumType, enumTypeSuffix, enumKeyCasing, syntaxType, optionalType, arrayType, output, group, printer } = ctx.options;
|
|
1031
|
-
const { adapter, config, resolver, root
|
|
1032
|
+
const { adapter, config, resolver, root } = ctx;
|
|
1032
1033
|
if (!node.name) return;
|
|
1033
1034
|
const mode = ctx.getMode(output);
|
|
1034
|
-
const enumSchemaNames = new Set(
|
|
1035
|
+
const enumSchemaNames = new Set(ctx.meta.enumNames);
|
|
1035
1036
|
function resolveImportName(schemaName) {
|
|
1036
1037
|
if (ENUM_TYPES_WITH_KEY_SUFFIX.has(enumType) && enumTypeSuffix && enumSchemaNames.has(schemaName)) return resolver.resolveEnumKeyName({ name: schemaName }, enumTypeSuffix);
|
|
1037
1038
|
return resolver.resolveTypeName(schemaName);
|
|
@@ -1075,11 +1076,11 @@ const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1075
1076
|
baseName: meta.file.baseName,
|
|
1076
1077
|
path: meta.file.path,
|
|
1077
1078
|
meta: meta.file.meta,
|
|
1078
|
-
banner: resolver.resolveBanner(
|
|
1079
|
+
banner: resolver.resolveBanner(ctx.meta, {
|
|
1079
1080
|
output,
|
|
1080
1081
|
config
|
|
1081
1082
|
}),
|
|
1082
|
-
footer: resolver.resolveFooter(
|
|
1083
|
+
footer: resolver.resolveFooter(ctx.meta, {
|
|
1083
1084
|
output,
|
|
1084
1085
|
config
|
|
1085
1086
|
}),
|
|
@@ -1105,7 +1106,7 @@ const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1105
1106
|
},
|
|
1106
1107
|
operation(node, ctx) {
|
|
1107
1108
|
const { enumType, enumTypeSuffix, enumKeyCasing, optionalType, arrayType, syntaxType, paramsCasing, group, output, printer } = ctx.options;
|
|
1108
|
-
const { adapter, config, resolver, root
|
|
1109
|
+
const { adapter, config, resolver, root } = ctx;
|
|
1109
1110
|
const mode = ctx.getMode(output);
|
|
1110
1111
|
const params = _kubb_core.ast.caseParams(node.parameters, paramsCasing);
|
|
1111
1112
|
const meta = { file: resolver.resolveFile({
|
|
@@ -1118,7 +1119,7 @@ const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1118
1119
|
output,
|
|
1119
1120
|
group
|
|
1120
1121
|
}) };
|
|
1121
|
-
const enumSchemaNames = new Set(
|
|
1122
|
+
const enumSchemaNames = new Set(ctx.meta.enumNames);
|
|
1122
1123
|
function resolveImportName(schemaName) {
|
|
1123
1124
|
if (ENUM_TYPES_WITH_KEY_SUFFIX.has(enumType) && enumTypeSuffix && enumSchemaNames.has(schemaName)) return resolver.resolveEnumKeyName({ name: schemaName }, enumTypeSuffix);
|
|
1124
1125
|
return resolver.resolveTypeName(schemaName);
|
|
@@ -1257,11 +1258,11 @@ const typeGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1257
1258
|
baseName: meta.file.baseName,
|
|
1258
1259
|
path: meta.file.path,
|
|
1259
1260
|
meta: meta.file.meta,
|
|
1260
|
-
banner: resolver.resolveBanner(
|
|
1261
|
+
banner: resolver.resolveBanner(ctx.meta, {
|
|
1261
1262
|
output,
|
|
1262
1263
|
config
|
|
1263
1264
|
}),
|
|
1264
|
-
footer: resolver.resolveFooter(
|
|
1265
|
+
footer: resolver.resolveFooter(ctx.meta, {
|
|
1265
1266
|
output,
|
|
1266
1267
|
config
|
|
1267
1268
|
}),
|