windmill-ts 0.4.0 → 0.4.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "windmill-ts",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Type-safe client for Windmill",
5
5
  "main": "dist/src/index.js",
6
6
  "bin": "dist/src/index.js",
@@ -4,6 +4,7 @@ import { getContext, run } from "./context.js";
4
4
  import { PassThrough } from "node:stream";
5
5
  import { resourceReferencesSchemaName, resourceTypeSchemaName, } from "./resources.js";
6
6
  import { once } from "../utils/once.js";
7
+ import dedent from "dedent";
7
8
  export const runWithBuffer = async (cb) => {
8
9
  const { allResourceTypes } = getContext();
9
10
  const buffer = new PassThrough();
@@ -50,7 +51,9 @@ export const schemaToZod = (schema, options) => {
50
51
  // library doesn't like that, so we need to delete it
51
52
  if (schema.type === "string" && schema.enum == null) {
52
53
  delete schema.enum;
53
- return;
54
+ }
55
+ if (schema.type === 'string' && 'contentEncoding' in schema && schema.contentEncoding === 'base64') {
56
+ return base64FileZodSchema();
54
57
  }
55
58
  const resourceTypeOrFalse = extractResourceTypeFromSchema(schema);
56
59
  if (resourceTypeOrFalse) {
@@ -76,6 +79,30 @@ export const schemaToZod = (schema, options) => {
76
79
  const resourceTypeToUnion = (resourceType) => {
77
80
  return `z.union([${resourceReferencesSchemaName(resourceType)}, ${resourceTypeSchemaName(resourceType)}])`;
78
81
  };
82
+ const base64FileZodSchema = once(() => {
83
+ const { deferWrite } = getContext();
84
+ const name = `$base64_file_type`;
85
+ const schema = dedent `
86
+ z.union([
87
+ z.string().base64(),
88
+ z.string().refine(
89
+ (value) => {
90
+ const base64Match = value.match(/^data:(.*?);base64,(.+)$/);
91
+ if (!base64Match) {
92
+ return false;
93
+ }
94
+ const [, mimeType, data] = base64Match;
95
+ if (!mimeType) {
96
+ return false;
97
+ }
98
+ return z.string().base64().safeParse(data).success;
99
+ },
100
+ ),
101
+ ])
102
+ `;
103
+ deferWrite(`const ${name} = ${schema};`);
104
+ return name;
105
+ });
79
106
  const s3ObjectZodSchema = once(() => {
80
107
  const { deferWrite } = getContext();
81
108
  const name = `$s3_object_type`;
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/generator/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/generator/common.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,11 @@ const preamble = dedent `
4
4
  // This file is auto-generated by windmill-ts, do not modify it manually
5
5
  import { z } from 'zod';
6
6
  import * as wmill from 'windmill-client';
7
-
8
- const lazyObject = <T,>(fn: () => T) => {
7
+ ${
8
+ /* NOTE: Windmill has JSX enabled, so <T> is illegal.
9
+ The usual way to fix this is <T,>, but some formatters/editors
10
+ remove it, hence why a random constraint is used instead. */ ""}
11
+ const lazyObject = <T extends unknown>(fn: () => T) => {
9
12
  let instance: T | null = null;
10
13
  return new Proxy({}, {
11
14
  get(_target, prop) {
@@ -1 +1 @@
1
- {"version":3,"file":"preamble.js","sourceRoot":"","sources":["../../../src/generator/preamble.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,QAAQ,GAAG,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;CAsBtB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IACtC,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAG,CAAC;IAEhC,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;AACxB,CAAC,CAAC"}
1
+ {"version":3,"file":"preamble.js","sourceRoot":"","sources":["../../../src/generator/preamble.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,QAAQ,GAAG,MAAM,CAAA;;;;IAInB;AACA;;qEAEqE,CAAC,EACxE;;;;;;;;;;;;;;;;;;CAkBD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IACtC,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAG,CAAC;IAEhC,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;AACxB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "windmill-ts",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Type-safe client for Windmill",
5
5
  "main": "dist/src/index.js",
6
6
  "bin": "dist/src/index.js",