@kubb/plugin-zod 5.7.0-canary.20261024T172532 → 5.7.0
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 +18 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +18 -9
- package/dist/index.js.map +1 -1
- package/docs/options.md +31 -7
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -732,7 +732,7 @@ function mapSchemaItems(node, transform) {
|
|
|
732
732
|
}
|
|
733
733
|
//#endregion
|
|
734
734
|
//#region src/components/Zod.tsx
|
|
735
|
-
function Zod({ name, node, printer, inferTypeName, typeGuards, isName, assertName, mini, cyclic, compile }) {
|
|
735
|
+
function Zod({ name, node, printer, inferTypeName, inferKind = "infer", typeGuards, isName, assertName, mini, cyclic, compile }) {
|
|
736
736
|
const output = printer.print(node);
|
|
737
737
|
const printerImports = printer.drainImports();
|
|
738
738
|
if (!output) return;
|
|
@@ -774,7 +774,7 @@ function Zod({ name, node, printer, inferTypeName, typeGuards, isName, assertNam
|
|
|
774
774
|
children: /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.Type, {
|
|
775
775
|
export: true,
|
|
776
776
|
name: inferTypeName,
|
|
777
|
-
children: `z
|
|
777
|
+
children: `z.${inferKind}<typeof ${name}>`
|
|
778
778
|
})
|
|
779
779
|
}),
|
|
780
780
|
shouldGenerateIs && /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Source, {
|
|
@@ -1684,6 +1684,14 @@ const printerZodMini = kubb_kit.ast.createPrinter((options) => {
|
|
|
1684
1684
|
});
|
|
1685
1685
|
//#endregion
|
|
1686
1686
|
//#region src/generators/zodGenerator.tsx
|
|
1687
|
+
/**
|
|
1688
|
+
* The helper an inferred alias is printed with. `'direction'` reads a request (encode) schema from its
|
|
1689
|
+
* input and a response (decode) schema from its output; `true` keeps `z.infer` for both.
|
|
1690
|
+
*/
|
|
1691
|
+
function aliasKind(inferred, direction) {
|
|
1692
|
+
if (inferred !== "direction") return "infer";
|
|
1693
|
+
return direction === "encode" ? "input" : "output";
|
|
1694
|
+
}
|
|
1687
1695
|
const zodPrinterCache = /* @__PURE__ */ new WeakMap();
|
|
1688
1696
|
const zodMiniPrinterCache = /* @__PURE__ */ new WeakMap();
|
|
1689
1697
|
/**
|
|
@@ -1799,7 +1807,6 @@ const zodGenerator = (0, kubb_kit.defineGenerator)({
|
|
|
1799
1807
|
group: group ?? void 0
|
|
1800
1808
|
})
|
|
1801
1809
|
};
|
|
1802
|
-
const inferTypeName = inferred ? resolver.schema.typeName(node.name) : null;
|
|
1803
1810
|
const isName = typeGuards ? resolver.schema.isName(node.name) : null;
|
|
1804
1811
|
const assertName = typeGuards ? resolver.schema.assertName(node.name) : null;
|
|
1805
1812
|
const stdPrinters = mini ? null : getStdPrinters(resolver, {
|
|
@@ -1858,7 +1865,8 @@ const zodGenerator = (0, kubb_kit.defineGenerator)({
|
|
|
1858
1865
|
name: meta.name,
|
|
1859
1866
|
node,
|
|
1860
1867
|
printer: schemaPrinter,
|
|
1861
|
-
inferTypeName,
|
|
1868
|
+
inferTypeName: inferred ? resolver.schema.typeName(node.name) : null,
|
|
1869
|
+
inferKind: aliasKind(inferred, "decode"),
|
|
1862
1870
|
typeGuards,
|
|
1863
1871
|
isName,
|
|
1864
1872
|
assertName,
|
|
@@ -1871,6 +1879,7 @@ const zodGenerator = (0, kubb_kit.defineGenerator)({
|
|
|
1871
1879
|
node,
|
|
1872
1880
|
printer: stdPrinters.encode,
|
|
1873
1881
|
inferTypeName: inferred ? resolver.schema.inputTypeName(node.name) : null,
|
|
1882
|
+
inferKind: aliasKind(inferred, "encode"),
|
|
1874
1883
|
typeGuards,
|
|
1875
1884
|
isName: typeGuards ? resolver.schema.isName(resolver.schema.inputName(node.name)) : null,
|
|
1876
1885
|
assertName: typeGuards ? resolver.schema.assertName(resolver.schema.inputName(node.name)) : null,
|
|
@@ -1909,7 +1918,6 @@ const zodGenerator = (0, kubb_kit.defineGenerator)({
|
|
|
1909
1918
|
};
|
|
1910
1919
|
function renderSchemaEntry({ schema, name, keysToOmit, direction = "decode" }) {
|
|
1911
1920
|
if (!schema) return null;
|
|
1912
|
-
const inferTypeName = inferred ? resolver.schema.type(name) : null;
|
|
1913
1921
|
const directionalRefNames = direction === "encode" && !mini ? new Set(collectDirectionalRefNames({
|
|
1914
1922
|
node: schema,
|
|
1915
1923
|
printerOptions
|
|
@@ -1969,7 +1977,8 @@ const zodGenerator = (0, kubb_kit.defineGenerator)({
|
|
|
1969
1977
|
name,
|
|
1970
1978
|
node: schema,
|
|
1971
1979
|
printer: schemaPrinter,
|
|
1972
|
-
inferTypeName,
|
|
1980
|
+
inferTypeName: inferred ? resolver.schema.type(name) : null,
|
|
1981
|
+
inferKind: aliasKind(inferred, direction),
|
|
1973
1982
|
cyclic: false,
|
|
1974
1983
|
compile
|
|
1975
1984
|
})] });
|
|
@@ -2062,7 +2071,7 @@ const zodGenerator = (0, kubb_kit.defineGenerator)({
|
|
|
2062
2071
|
}), "encode");
|
|
2063
2072
|
})();
|
|
2064
2073
|
const { path, query, header } = getOperationParameters(node);
|
|
2065
|
-
const paramGroupSchemas =
|
|
2074
|
+
const paramGroupSchemas = [
|
|
2066
2075
|
{
|
|
2067
2076
|
kind: "path",
|
|
2068
2077
|
params: path
|
|
@@ -2087,7 +2096,7 @@ const zodGenerator = (0, kubb_kit.defineGenerator)({
|
|
|
2087
2096
|
}),
|
|
2088
2097
|
name: resolver.param[kind](node, params[0]),
|
|
2089
2098
|
direction: "encode"
|
|
2090
|
-
}))
|
|
2099
|
+
}));
|
|
2091
2100
|
const optionsSchema = inferred ? renderSchemaEntry({
|
|
2092
2101
|
schema: buildOptionsSchema(node, resolver),
|
|
2093
2102
|
name: resolver.name(`${node.operationId} Options`),
|
|
@@ -2143,7 +2152,7 @@ var compatibility = {
|
|
|
2143
2152
|
};
|
|
2144
2153
|
//#endregion
|
|
2145
2154
|
//#region package.json
|
|
2146
|
-
var version = "5.7.0
|
|
2155
|
+
var version = "5.7.0";
|
|
2147
2156
|
//#endregion
|
|
2148
2157
|
//#region src/resolvers/resolverZod.ts
|
|
2149
2158
|
/**
|