windmill-ts 0.9.5 → 0.10.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/package.json
CHANGED
|
@@ -8,6 +8,7 @@ const resourceToTypeMap = "resourceToType";
|
|
|
8
8
|
const resourceTypesTypeName = "ResourceTypes";
|
|
9
9
|
const resourceTransformerName = "_resourcesTransformer";
|
|
10
10
|
const defaultResourceTransformerName = "_DefaultResourceTransformer";
|
|
11
|
+
const defaultPerResourceTypeMap = "defaultPerResourceType";
|
|
11
12
|
const defaultResourceTransformer = dedent `
|
|
12
13
|
class ${defaultResourceTransformerName} implements Transformer {
|
|
13
14
|
arg: unknown
|
|
@@ -65,6 +66,19 @@ const preamble = dedent `
|
|
|
65
66
|
|
|
66
67
|
return transformer.call({ arg: parsedData }, parsedData);
|
|
67
68
|
}
|
|
69
|
+
|
|
70
|
+
export const getDefaultResource = <
|
|
71
|
+
T extends keyof typeof defaultPerResourceType,
|
|
72
|
+
>(
|
|
73
|
+
resourceType: T,
|
|
74
|
+
) => {
|
|
75
|
+
const path = ${defaultPerResourceTypeMap}[resourceType];
|
|
76
|
+
if (path == null) {
|
|
77
|
+
throw new Error(\`No defaults found for resource type \${resourceType}\`);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return getResource(path);
|
|
81
|
+
}
|
|
68
82
|
`;
|
|
69
83
|
export const generateResources = async (observer) => {
|
|
70
84
|
const { write, allResourceTypes, config, outputDir } = getContext();
|
|
@@ -109,6 +123,7 @@ export const generateResources = async (observer) => {
|
|
|
109
123
|
resourcesByType.set(resourceTypeName, [...paths, path]);
|
|
110
124
|
}
|
|
111
125
|
observer.next("Generating schemas...");
|
|
126
|
+
const defaultPerResourceType = new Map();
|
|
112
127
|
for (const [resourceTypeName, paths] of resourcesByType) {
|
|
113
128
|
const resourceType = allResourceTypes[resourceTypeName];
|
|
114
129
|
const typeSchemaName = resourceTypeSchemaName(resourceType.name);
|
|
@@ -124,6 +139,10 @@ export const generateResources = async (observer) => {
|
|
|
124
139
|
const referencesSchemaName = resourceReferencesSchemaName(resourceType.name);
|
|
125
140
|
const referencesSchema = schemaToZod(makeReferencesSchema(resourceType.name, paths));
|
|
126
141
|
await write(`const ${referencesSchemaName} = lazyObject(() => ${referencesSchema});`);
|
|
142
|
+
const defaultPath = getResourceTypeDefault(resourceTypeName, paths);
|
|
143
|
+
if (defaultPath != null) {
|
|
144
|
+
defaultPerResourceType.set(resourceTypeName, defaultPath);
|
|
145
|
+
}
|
|
127
146
|
}
|
|
128
147
|
await write(`const ${resourceToTypeMap} = lazyObject(() => ({`);
|
|
129
148
|
for (const [resourceTypeName, paths] of resourcesByType) {
|
|
@@ -139,19 +158,27 @@ export const generateResources = async (observer) => {
|
|
|
139
158
|
await write(`${JSON.stringify(resourceTypeName)}: z.infer<(typeof ${typeSchemaName})["schema"]>,`);
|
|
140
159
|
}
|
|
141
160
|
await write("}");
|
|
161
|
+
await write(`export const ${defaultPerResourceTypeMap} = {`);
|
|
162
|
+
for (const [resourceTypeName, defaultPath,] of defaultPerResourceType.entries()) {
|
|
163
|
+
await write(`${JSON.stringify(resourceTypeName)}: ${JSON.stringify(defaultPath)},`);
|
|
164
|
+
}
|
|
165
|
+
await write("} as const");
|
|
142
166
|
observer.next("Done");
|
|
143
167
|
observer.complete();
|
|
144
168
|
};
|
|
145
169
|
export const resourceReferencesSchemaName = (resourceType) => toValidIdentifier(`${resourceType}_references`);
|
|
146
170
|
export const resourceTypeSchemaName = (resourceType) => toValidIdentifier(`${resourceType}_type`);
|
|
147
|
-
const
|
|
171
|
+
const getResourceTypeDefault = (resourceType, paths) => {
|
|
148
172
|
const { config } = getContext();
|
|
149
|
-
|
|
150
|
-
let defaultForType = resourceType in config.resources.defaults
|
|
173
|
+
return resourceType in config.resources.defaults
|
|
151
174
|
? config.resources.defaults[resourceType]
|
|
152
|
-
:
|
|
153
|
-
?
|
|
154
|
-
:
|
|
175
|
+
: paths.length === 1
|
|
176
|
+
? paths[0]
|
|
177
|
+
: null;
|
|
178
|
+
};
|
|
179
|
+
const makeReferencesSchema = (resourceType, paths) => {
|
|
180
|
+
const refs = paths.map((path) => `$res:${path}`);
|
|
181
|
+
let defaultForType = getResourceTypeDefault(resourceType, refs);
|
|
155
182
|
if (defaultForType != null && !defaultForType.startsWith("$res:")) {
|
|
156
183
|
defaultForType = `$res:${defaultForType}`;
|
|
157
184
|
}
|
|
@@ -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;AAElC,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,0BAA0B,GAAG,MAAM,CAAA;UAC/B,8BAA8B;;;;;;CAMvC,CAAC;AAEF,MAAM,QAAQ,GAAG,MAAM,CAAA;;;;;;;;;;;;;8BAaO,uBAAuB;;;;iCAIpB,iBAAiB;;+CAEH,iBAAiB;0BACtC,qBAAqB;;;+BAGhB,qBAAqB;;;;;;;;UAQ1C,iBAAiB;;;;+BAII,iBAAiB;;;;;;;;;;0BAUtB,uBAAuB
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/generator/resources.ts"],"names":[],"mappings":"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"}
|