windmill-ts 1.4.0 → 1.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
|
@@ -35,25 +35,33 @@ const preamble = dedent `
|
|
|
35
35
|
ApplyTransformer<typeof ${resourceTransformerName}, Resource>
|
|
36
36
|
>;
|
|
37
37
|
|
|
38
|
+
type GetResourceOptions = { skipValidation?: boolean };
|
|
39
|
+
|
|
38
40
|
type GetResource = {
|
|
39
41
|
<Path extends keyof typeof ${resourceToTypeMap}>(
|
|
40
42
|
path: Path,
|
|
43
|
+
options?: GetResourceOptions,
|
|
41
44
|
): GetResourceReturnType<z.infer<(typeof ${resourceToTypeMap})[Path]["schema"]>>;
|
|
42
45
|
<Type extends keyof ${resourceTypesTypeName}>(
|
|
43
46
|
path: string,
|
|
44
47
|
resourceType: Type,
|
|
48
|
+
options?: GetResourceOptions,
|
|
45
49
|
): GetResourceReturnType<${resourceTypesTypeName}[Type]>;
|
|
46
|
-
(path: string, resourceType?: string): Promise<object>;
|
|
50
|
+
(path: string, resourceType?: string, options?: GetResourceOptions): Promise<object>;
|
|
47
51
|
};
|
|
48
52
|
|
|
49
53
|
export const getResource: GetResource = async (
|
|
50
54
|
path: string,
|
|
51
|
-
|
|
55
|
+
resourceTypeOrOptions?: string | GetResourceOptions,
|
|
56
|
+
maybeOptions?: GetResourceOptions,
|
|
52
57
|
) => {
|
|
58
|
+
const resourceType = typeof resourceTypeOrOptions === "string" ? resourceTypeOrOptions : undefined;
|
|
59
|
+
const options = typeof resourceTypeOrOptions === "object" ? resourceTypeOrOptions : maybeOptions;
|
|
60
|
+
|
|
53
61
|
if (${resourceToTypeMap}[path] == null) {
|
|
54
62
|
throw new Error(\`Unknown resource: \${JSON.stringify(path)}\`);
|
|
55
63
|
}
|
|
56
|
-
|
|
64
|
+
|
|
57
65
|
const { name, schema } = ${resourceToTypeMap}[path];
|
|
58
66
|
if (resourceType != null && name !== resourceType) {
|
|
59
67
|
throw new Error(
|
|
@@ -62,7 +70,7 @@ const preamble = dedent `
|
|
|
62
70
|
}
|
|
63
71
|
|
|
64
72
|
const data = await wmill.getResource(path);
|
|
65
|
-
const parsedData = schema.parse(data);
|
|
73
|
+
const parsedData = options?.skipValidation ? data : schema.parse(data);
|
|
66
74
|
|
|
67
75
|
const transformer = ${resourceTransformerName}.prototype.do;
|
|
68
76
|
|
|
@@ -82,11 +90,11 @@ const preamble = dedent `
|
|
|
82
90
|
return getResource(path);
|
|
83
91
|
}
|
|
84
92
|
|
|
85
|
-
export async function*
|
|
93
|
+
export async function* listResourcesWithPaths<Type extends keyof ${resourceTypesTypeName}>(
|
|
86
94
|
resourceType: Type,
|
|
87
|
-
options?: { perPage?: number },
|
|
95
|
+
options?: { perPage?: number; skipValidation?: boolean },
|
|
88
96
|
) {
|
|
89
|
-
const { perPage = 30 } = options ?? {};
|
|
97
|
+
const { perPage = 30, skipValidation = false } = options ?? {};
|
|
90
98
|
const perPageSanitized = Math.max(Math.min(perPage, 100), 1);
|
|
91
99
|
|
|
92
100
|
for (let page = 1; ; ++page) {
|
|
@@ -102,11 +110,41 @@ const preamble = dedent `
|
|
|
102
110
|
}
|
|
103
111
|
|
|
104
112
|
for (const { path } of pageData) {
|
|
105
|
-
const resource = await getResource(path, resourceType);
|
|
106
|
-
yield resource;
|
|
113
|
+
const resource = await getResource(path, resourceType, { skipValidation });
|
|
114
|
+
yield { path, resource };
|
|
107
115
|
}
|
|
108
116
|
}
|
|
109
117
|
}
|
|
118
|
+
|
|
119
|
+
export async function* listResources<Type extends keyof ${resourceTypesTypeName}>(
|
|
120
|
+
resourceType: Type,
|
|
121
|
+
options?: { perPage?: number; skipValidation?: boolean },
|
|
122
|
+
) {
|
|
123
|
+
for await (const { resource } of listResourcesWithPaths(resourceType, options)) {
|
|
124
|
+
yield resource;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export const getResourcePathsForType = <Type extends keyof typeof pathsPerResourceType>(
|
|
129
|
+
resourceType: Type,
|
|
130
|
+
): (typeof pathsPerResourceType)[Type] => {
|
|
131
|
+
const paths = pathsPerResourceType[resourceType];
|
|
132
|
+
if (paths == null) {
|
|
133
|
+
throw new Error(\`Unknown resource type: \${JSON.stringify(resourceType)}\`);
|
|
134
|
+
}
|
|
135
|
+
return paths;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export const isResourcePathOfType = <Type extends keyof typeof pathsPerResourceType>(
|
|
139
|
+
path: string,
|
|
140
|
+
resourceType: Type,
|
|
141
|
+
): path is (typeof pathsPerResourceType)[Type][number] => {
|
|
142
|
+
const paths = pathsPerResourceType[resourceType];
|
|
143
|
+
if (paths == null) {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
return (paths as readonly string[]).includes(path);
|
|
147
|
+
}
|
|
110
148
|
`;
|
|
111
149
|
export const generateResources = async (observer) => {
|
|
112
150
|
const { write, allResourceTypes, config, outputDir } = getContext();
|
|
@@ -180,6 +218,11 @@ export const generateResources = async (observer) => {
|
|
|
180
218
|
}
|
|
181
219
|
}
|
|
182
220
|
await write(`} as const));`);
|
|
221
|
+
await write(`const pathsPerResourceType = lazyObject(() => ({`);
|
|
222
|
+
for (const [resourceTypeName, paths] of resourcesByType) {
|
|
223
|
+
await write(`${JSON.stringify(resourceTypeName)}: ${JSON.stringify(paths)} as const,`);
|
|
224
|
+
}
|
|
225
|
+
await write(`} as const));`);
|
|
183
226
|
await write(`export type ${resourceTypesTypeName} = {`);
|
|
184
227
|
const resourceTypeNames = [...resourcesByType.keys()].toSorted();
|
|
185
228
|
for (const resourceTypeName of resourceTypeNames) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/generator/resources.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AAEjD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAE9C,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AACxD,MAAM,8BAA8B,GAAG,6BAA6B,CAAC;AAErE,MAAM,yBAAyB,GAAG,wBAAwB,CAAC;AAE3D,MAAM,0BAA0B,GAAG,MAAM,CAAA;UAC/B,8BAA8B;;;;;;CAMvC,CAAC;AAEF,MAAM,QAAQ,GAAG,MAAM,CAAA;;;;;;;;;;;;;8BAaO,uBAAuB
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/generator/resources.ts"],"names":[],"mappings":"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"}
|