zova-module-a-openapi 5.0.0 → 5.1.1

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2016-present Zova
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/dist/index.js ADDED
@@ -0,0 +1,470 @@
1
+ import { BeanBase, BeanInfo, BeanScopeBase, BeanSimple, Use, cast, deepExtend, usePrepareArg } from "zova";
2
+ import { evaluateSimple, isNil } from "@cabloy/utils";
3
+ import { $QueryAutoLoad, BeanModelBase, Model } from "zova-module-a-model";
4
+ import jsonSchemaToZod from "@cabloy/json-schema-to-zod";
5
+ import { ref, shallowReactive, toRaw, watch } from "vue";
6
+ import { z } from "zod";
7
+ import { Scope, Sys } from "zova-module-a-bean";
8
+ import "zova-jsx";
9
+ import "openapi3-ts/oas30";
10
+ import "openapi3-ts/oas31";
11
+ //#region src/types/database.ts
12
+ var OrderCoreBase = 100;
13
+ var OrderBusinessBase = 1e3;
14
+ var OrderUnknownBase = 1e4;
15
+ var OrderMaxBase = 1e5;
16
+ //#endregion
17
+ //#region src/lib/schema.ts
18
+ var __FilterColumnsIgnore = [
19
+ "columns",
20
+ "where",
21
+ "orders",
22
+ "pageNo",
23
+ "pageSize"
24
+ ];
25
+ function loadSchemaProperties(schema, onGetSchema, scene) {
26
+ if (!schema) return;
27
+ const properties = schema.properties;
28
+ const result = [];
29
+ for (let key in properties) {
30
+ let property = properties[key];
31
+ if (property.$ref) property = onGetSchema(property.$ref);
32
+ if (!property) continue;
33
+ const customKey = property.rest?.customKey;
34
+ if (customKey) {
35
+ const parts = customKey.split(".");
36
+ property = (parts[0] === key ? property : result.find((item) => item.key === parts[0]))?.properties[parts[1]];
37
+ key = customKey;
38
+ }
39
+ if (!property) continue;
40
+ property = deepExtend({ key }, property, scene ? { rest: property.rest?.[scene] ?? {} } : void 0);
41
+ result.push(property);
42
+ }
43
+ result.sort((a, b) => {
44
+ return (a.rest?.order ?? 1e4) - (b.rest?.order ?? 1e4);
45
+ });
46
+ return result;
47
+ }
48
+ function schemaToZodSchema(schema, onGetSchema) {
49
+ return evaluateSimple(jsonSchemaToZod(_normalizeSchema(toRaw(schema), onGetSchema)), { z });
50
+ }
51
+ function _normalizeSchema(schema, onGetSchema) {
52
+ if (!schema.properties) return schema;
53
+ const schemaNew = Object.assign({}, schema, { properties: {} });
54
+ for (const key in schema.properties) {
55
+ let property = schema.properties[key];
56
+ if (property?.$ref) property = onGetSchema(property.$ref);
57
+ if (!property) continue;
58
+ schemaNew.properties[key] = _normalizeSchema(property, onGetSchema);
59
+ }
60
+ return schemaNew;
61
+ }
62
+ function getSchemaOfRequestBody(operationObject) {
63
+ return cast(operationObject?.requestBody)?.content?.["application/json"]?.schema;
64
+ }
65
+ function getSchemaOfResponseBody(operationObject) {
66
+ return operationObject?.responses?.["200"]?.content?.["application/json"]?.schema;
67
+ }
68
+ function getSchemaOfRequestQuery(operationObject) {
69
+ const parameters = operationObject?.parameters;
70
+ if (!parameters) return;
71
+ const schema = {
72
+ type: "object",
73
+ required: [],
74
+ properties: {}
75
+ };
76
+ for (const _parameter of parameters) {
77
+ const parameter = _parameter;
78
+ if (parameter.in !== "query") continue;
79
+ const name = parameter.name;
80
+ const fieldSchema = parameter.schema;
81
+ schema.properties[name] = fieldSchema;
82
+ if (parameter.required) schema.required.push(name);
83
+ }
84
+ return schema;
85
+ }
86
+ function getSchemaOfRequestQueryFilter(operationObject, options) {
87
+ const parameters = operationObject?.parameters;
88
+ if (!parameters) return;
89
+ const schema = {
90
+ type: "object",
91
+ required: [],
92
+ properties: {}
93
+ };
94
+ for (const _parameter of parameters) {
95
+ const parameter = _parameter;
96
+ if (parameter.in !== "query") continue;
97
+ const name = parameter.name;
98
+ if (__FilterColumnsIgnore.includes(name)) continue;
99
+ const fieldSchema = parameter.schema;
100
+ if (options?.where === true && fieldSchema.filter?.capabilities?.where !== false || options?.order === true && fieldSchema.filter?.capabilities?.order !== false) {
101
+ schema.properties[name] = fieldSchema;
102
+ if (parameter.required) schema.required.push(name);
103
+ }
104
+ }
105
+ return schema;
106
+ }
107
+ //#endregion
108
+ //#region src/model/sdk.ts
109
+ var _dec$2, _dec2$2, _dec3, _dec4, _dec5, _class$2, _class2;
110
+ function _applyDecoratedDescriptor(i, e, r, n, l) {
111
+ var a = {};
112
+ return Object.keys(n).forEach(function(i) {
113
+ a[i] = n[i];
114
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function(r, n) {
115
+ return n(i, e, r) || r;
116
+ }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a;
117
+ }
118
+ var __schemaRefPrefix = "#/components/schemas/";
119
+ var ModelSdk = (_dec$2 = Model({ enableSelector: true }), _dec2$2 = BeanInfo({ module: "a-openapi" }), _dec3 = Use({ beanFullName: "a-openapi.sys.sdk" }), _dec4 = Reflect.metadata("design:type", Function), _dec5 = Reflect.metadata("design:paramtypes", []), _dec$2(_class$2 = _dec2$2(_class$2 = (_class2 = class ModelSdk extends BeanModelBase {
120
+ constructor(...args) {
121
+ super(...args);
122
+ this._eventSsrHmrReload = void 0;
123
+ }
124
+ get $$sysSdk() {
125
+ return usePrepareArg(this.selector, true);
126
+ }
127
+ async __init__(locale) {
128
+ if (!locale) throw new Error("locale not specified");
129
+ await super.__init__(locale);
130
+ if (process.env.CLIENT && this.sys.env.SSR_HMR === "true") this._eventSsrHmrReload = this.sys.meta.event.on("a-ssrhmr:reload", async (_data, next) => {
131
+ await this.$refetchQueries({ queryKey: ["bootstrap"] });
132
+ await this.$refetchQueries({ queryKey: ["sdk"] });
133
+ return next();
134
+ });
135
+ }
136
+ __dispose__() {
137
+ if (this._eventSsrHmrReload) this._eventSsrHmrReload();
138
+ }
139
+ getBootstrap(resource) {
140
+ return this.$useStateData({
141
+ queryKey: ["bootstrap", resource],
142
+ queryFn: async () => {
143
+ const bootstrap = await this.$$sysSdk.loadBootstrap(this.$fetch, resource);
144
+ if (!bootstrap) throw new Error("load bootstrap error");
145
+ if (process.env.SERVER) await $QueryAutoLoad(() => this.getPermissions(resource));
146
+ else await this.$refetchQueries({ queryKey: ["permissions", resource] });
147
+ return bootstrap ?? null;
148
+ }
149
+ });
150
+ }
151
+ getPermissions(resource) {
152
+ return this.$useStateData({
153
+ queryKey: ["permissions", resource],
154
+ queryFn: async () => {
155
+ let permissions = (await this.$$sysSdk.loadBootstrap(this.$fetch, resource)).resourceMeta.permissions;
156
+ if (!isNil(permissions)) return permissions;
157
+ permissions = await this.$fetch.get(this.sys.util.apiActionPathTranslate(this.scope.config.api.permissions, { resource }), this.sys.util.apiActionConfigPrepare());
158
+ return permissions ?? null;
159
+ }
160
+ });
161
+ }
162
+ getSdk(api, apiMethod, apiOptions) {
163
+ if (!api) throw new Error("should specify api");
164
+ const [api2, apiMethod2] = this.$$sysSdk.prepareApiMeta(api, apiMethod);
165
+ return this.$useStateData({
166
+ queryKey: [
167
+ "sdk",
168
+ api2,
169
+ apiMethod2
170
+ ],
171
+ queryFn: async () => {
172
+ const sdk = await this.$$sysSdk.loadSdk(this.$fetch, api, apiMethod, apiOptions);
173
+ if (!sdk) throw new Error("load sdk error");
174
+ for (const schemaName of sdk.schemas) if (process.env.SERVER) await $QueryAutoLoad(() => this.getSchema(schemaName));
175
+ else await this.$refetchQueries({ queryKey: ["schema", schemaName] });
176
+ return sdk;
177
+ }
178
+ });
179
+ }
180
+ getSchema(schemaName) {
181
+ if (schemaName.startsWith(__schemaRefPrefix)) schemaName = schemaName.substring(21);
182
+ return this.$useStateData({
183
+ queryKey: ["schema", schemaName],
184
+ queryFn: async () => {
185
+ return this.$$sysSdk.getSchema(schemaName) ?? null;
186
+ }
187
+ });
188
+ }
189
+ getZodSchema(schemaName) {
190
+ return this.$useStateComputed({
191
+ queryKey: ["zodSchema", schemaName],
192
+ queryFn: () => {
193
+ const querySchema = this.getSchema(schemaName);
194
+ if (!querySchema.data) return null;
195
+ return this.schemaToZodSchema(querySchema.data);
196
+ }
197
+ });
198
+ }
199
+ getSchemaDefaultValue(schemaName) {
200
+ return this.$useStateComputed({
201
+ queryKey: ["schemaDefaultValue", schemaName],
202
+ queryFn: () => {
203
+ const querySchema = this.getSchema(schemaName);
204
+ if (!querySchema.data) return null;
205
+ const schema = querySchema.data;
206
+ const defaultValues = {};
207
+ for (const key in schema.properties) {
208
+ const property = schema.properties[key];
209
+ if (!isNil(property.default)) defaultValues[key] = property.default;
210
+ }
211
+ return defaultValues;
212
+ }
213
+ });
214
+ }
215
+ createApiSchemas(api, apiMethod, apiOptions) {
216
+ const self = this;
217
+ const sdk = this.getSdk(api, apiMethod, apiOptions);
218
+ return {
219
+ get sdk() {
220
+ return sdk;
221
+ },
222
+ get query() {
223
+ const operationObject = sdk.data?.operationObject;
224
+ return getSchemaOfRequestQuery(operationObject);
225
+ },
226
+ get filter() {
227
+ const operationObject = sdk.data?.operationObject;
228
+ return getSchemaOfRequestQueryFilter(operationObject, { where: true });
229
+ },
230
+ get requestBody() {
231
+ const operationObject = sdk.data?.operationObject;
232
+ const schemaName = cast(getSchemaOfRequestBody(operationObject))?.$ref;
233
+ if (!schemaName) return;
234
+ return self.getSchema(schemaName).data;
235
+ },
236
+ get responseBody() {
237
+ const operationObject = sdk.data?.operationObject;
238
+ const schemaName = cast(getSchemaOfResponseBody(operationObject)?.properties?.data)?.$ref;
239
+ if (!schemaName) return;
240
+ return self.getSchema(schemaName).data;
241
+ },
242
+ get paged() {
243
+ const operationObject = sdk.data?.operationObject;
244
+ const schemaBody = getSchemaOfResponseBody(operationObject);
245
+ if (!schemaBody) return;
246
+ if (cast(schemaBody?.properties?.data)?.items?.$ref) return;
247
+ return this.responseBody;
248
+ },
249
+ get row() {
250
+ const operationObject = sdk.data?.operationObject;
251
+ const schemaBody = getSchemaOfResponseBody(operationObject);
252
+ if (!schemaBody) return;
253
+ let schemaData;
254
+ if (schemaBody?.properties?.data.$ref) schemaData = self.getSchema(schemaBody?.properties?.data.$ref).data;
255
+ else schemaData = schemaBody?.properties?.data;
256
+ const schemaName = cast(schemaData)?.items?.$ref;
257
+ if (schemaName) return self.getSchema(schemaName).data;
258
+ const schemaRow = cast(schemaData?.properties?.list)?.items;
259
+ if (schemaRow?.$ref) return self.getSchema(schemaRow?.$ref).data;
260
+ return schemaRow;
261
+ }
262
+ };
263
+ }
264
+ loadSchemaProperties(schema, scene) {
265
+ return loadSchemaProperties(schema, (schemaName) => this.getSchema(schemaName).data, scene);
266
+ }
267
+ schemaToZodSchema(schema) {
268
+ return schemaToZodSchema(schema, (schemaName) => this.getSchema(schemaName).data);
269
+ }
270
+ }, _applyDecoratedDescriptor(_class2.prototype, "$$sysSdk", [
271
+ _dec3,
272
+ _dec4,
273
+ _dec5
274
+ ], Object.getOwnPropertyDescriptor(_class2.prototype, "$$sysSdk"), _class2.prototype), _class2)) || _class$2) || _class$2);
275
+ //#endregion
276
+ //#region src/types/sdk.ts
277
+ var SymbolOpenapiSchemaName = "__schemaName__";
278
+ //#endregion
279
+ //#region src/bean/sys.sdk.ts
280
+ var _dec$1, _dec2$1, _class$1;
281
+ var SysSdk = (_dec$1 = Sys(), _dec2$1 = BeanInfo({ module: "a-openapi" }), _dec$1(_class$1 = _dec2$1(_class$1 = class SysSdk extends BeanBase {
282
+ constructor(...args) {
283
+ super(...args);
284
+ this.locale = void 0;
285
+ this.bootstraps = void 0;
286
+ this.schemas = void 0;
287
+ this.sdks = void 0;
288
+ this._eventSsrHmrReload = void 0;
289
+ this._fetch = void 0;
290
+ }
291
+ async __init__(locale) {
292
+ this.locale = locale;
293
+ this.bootstraps = shallowReactive({});
294
+ this.schemas = shallowReactive({});
295
+ this.sdks = shallowReactive({});
296
+ if (this.sys.env.SSR_HMR === "true") this._eventSsrHmrReload = this.sys.meta.event.on("a-ssrhmr:reload", async (_data, next) => {
297
+ await this.reload();
298
+ return next();
299
+ });
300
+ }
301
+ __dispose__() {
302
+ if (this._eventSsrHmrReload) this._eventSsrHmrReload();
303
+ }
304
+ async reload() {
305
+ if (process.env.SERVER) {
306
+ this.bootstraps = shallowReactive({});
307
+ this.schemas = shallowReactive({});
308
+ this.sdks = shallowReactive({});
309
+ return;
310
+ }
311
+ const bootstraps = this.bootstraps;
312
+ this.bootstraps = shallowReactive({});
313
+ for (const resource in bootstraps) await this.loadBootstrap(this._fetch, resource);
314
+ const sdks = this.sdks;
315
+ this.sdks = shallowReactive({});
316
+ for (const api in sdks) for (const apiMethod in sdks[api]) await this.loadSdk(this._fetch, api, apiMethod, { authToken: false });
317
+ }
318
+ getBootstrap(resource) {
319
+ return this.bootstraps[resource];
320
+ }
321
+ getSdk(api, apiMethod) {
322
+ if (!api) return;
323
+ const [api2, apiMethod2] = this.prepareApiMeta(api, apiMethod);
324
+ return this.sdks[api2]?.[apiMethod2];
325
+ }
326
+ getSchema(schemaName) {
327
+ return this.schemas[schemaName];
328
+ }
329
+ async loadBootstrap($fetch, resource) {
330
+ if (process.env.CLIENT) this._fetch = $fetch;
331
+ if (!this.bootstraps[resource]) this.bootstraps[resource] = await $fetch.get(this.sys.util.apiActionPathTranslate(this.scope.config.api.bootstrap, { resource }), this.sys.util.apiActionConfigPrepare(void 0, void 0, false));
332
+ return this.bootstraps[resource];
333
+ }
334
+ async loadSdk($fetch, api, apiMethod, apiOptions) {
335
+ if (process.env.CLIENT) this._fetch = $fetch;
336
+ if (!api) return;
337
+ const [api2, apiMethod2] = this.prepareApiMeta(api, apiMethod);
338
+ if (this.sdks[api2]?.[apiMethod2]) return this.sdks[api2][apiMethod2];
339
+ const params = [this.sys.util.apiActionPathTranslate(api2)];
340
+ if (!["get", "delete"].includes(apiMethod2)) params.push(void 0);
341
+ const options = {
342
+ authToken: apiOptions?.authToken,
343
+ openapiSchema: true,
344
+ headers: {}
345
+ };
346
+ const localeKey = this.sys.env.APP_LOCALE_HEADER_KEY;
347
+ if (localeKey) options.headers[localeKey] = this.locale;
348
+ params.push(this.sys.util.apiActionConfigPrepare(void 0, options));
349
+ const data = await $fetch[apiMethod2](...params);
350
+ const schemaNames = [];
351
+ const schemas = data.doc.components?.schemas;
352
+ if (schemas) for (const key in schemas) {
353
+ const schema = schemas[key];
354
+ if (!schema["__schemaName__"]) schema["__schemaName__"] = key;
355
+ this.schemas[key] = schema;
356
+ schemaNames.push(key);
357
+ }
358
+ const paths = data.doc.paths;
359
+ if (paths) for (const key in paths) {
360
+ if (!this.sdks[api2]) this.sdks[api2] = shallowReactive({});
361
+ for (const method in paths[key]) this.sdks[api2][method] = {
362
+ schemas: schemaNames,
363
+ operationObject: paths[key][method],
364
+ meta: data.meta
365
+ };
366
+ }
367
+ return this.sdks[api2][apiMethod2];
368
+ }
369
+ prepareApiMeta(api, apiMethod) {
370
+ return [api, apiMethod ?? "get"];
371
+ }
372
+ }) || _class$1) || _class$1);
373
+ //#endregion
374
+ //#region src/config/config.ts
375
+ var config = (_sys) => {
376
+ return {
377
+ base: {
378
+ provider: {
379
+ components: {
380
+ form: "a-form:form",
381
+ table: "a-table:table"
382
+ },
383
+ actions: { actionLog: "a-actions:log" }
384
+ },
385
+ form: { provider: {
386
+ components: {
387
+ formField: "a-form:formField",
388
+ text: "input",
389
+ password: "input",
390
+ currency: "a-currency:formFieldCurrency"
391
+ },
392
+ behaviors: {}
393
+ } },
394
+ table: { provider: {
395
+ components: {
396
+ currency: "a-currency.tableCell.currency",
397
+ date: "a-date.tableCell.date"
398
+ },
399
+ actions: {}
400
+ } }
401
+ },
402
+ resourceMeta: {},
403
+ api: {
404
+ bootstrap: "/api/openapischema/resource/bootstrap/:resource",
405
+ permissions: "/api/home/base/permission/:resource"
406
+ }
407
+ };
408
+ };
409
+ //#endregion
410
+ //#region src/monkey.ts
411
+ var Monkey = class extends BeanSimple {
412
+ constructor(moduleSelf) {
413
+ super();
414
+ this._moduleSelf = void 0;
415
+ this._modelSdk = ref();
416
+ this._moduleSelf = moduleSelf;
417
+ }
418
+ async moduleLoading(_module) {}
419
+ async moduleLoaded(module) {
420
+ if (this._moduleSelf === module) {
421
+ await this._loadSdk();
422
+ this.ctx.util.instanceScope(() => {
423
+ return watch(() => {
424
+ return this.app.meta.locale.current;
425
+ }, async () => {
426
+ await this._loadSdk();
427
+ });
428
+ });
429
+ }
430
+ }
431
+ async beanInit(bean, beanInstance) {
432
+ const self = this;
433
+ bean.defineProperty(beanInstance, "$sdk", {
434
+ enumerable: false,
435
+ configurable: true,
436
+ get() {
437
+ return self._modelSdk;
438
+ }
439
+ });
440
+ }
441
+ async _loadSdk() {
442
+ this._modelSdk.value = await this.app.bean._getBeanSelector("a-openapi.model.sdk", true, this.app.meta.locale.current);
443
+ }
444
+ };
445
+ //#endregion
446
+ //#region src/.metadata/index.ts
447
+ /** monkey: end */
448
+ /** scope: begin */
449
+ var _dec, _dec2, _class;
450
+ var ScopeModuleAOpenapi = (_dec = Scope(), _dec2 = BeanInfo({ module: "a-openapi" }), _dec(_class = _dec2(_class = class ScopeModuleAOpenapi extends BeanScopeBase {}) || _class) || _class);
451
+ /** scope: end */
452
+ //#endregion
453
+ //#region src/types/rest.ts
454
+ var renderFormFieldTopPropsSystem = [
455
+ "order",
456
+ "table",
457
+ "form",
458
+ "filter"
459
+ ];
460
+ var renderTableColumnTopPropsSystem = [
461
+ "order",
462
+ "table",
463
+ "form",
464
+ "filter",
465
+ "displayValue"
466
+ ];
467
+ //#endregion
468
+ export { ModelSdk, Monkey, OrderBusinessBase, OrderCoreBase, OrderMaxBase, OrderUnknownBase, ScopeModuleAOpenapi, SymbolOpenapiSchemaName, SysSdk, config, getSchemaOfRequestBody, getSchemaOfRequestQuery, getSchemaOfRequestQueryFilter, getSchemaOfResponseBody, loadSchemaProperties, renderFormFieldTopPropsSystem, renderTableColumnTopPropsSystem, schemaToZodSchema };
469
+
470
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/types/database.ts","../src/lib/schema.ts","../src/model/sdk.ts","../src/types/sdk.ts","../src/bean/sys.sdk.ts","../src/config/config.ts","../src/monkey.ts","../src/.metadata/index.ts","../src/types/rest.ts"],"sourcesContent":["export const OrderCoreBase = 100;\nexport const OrderBusinessBase = 1000;\nexport const OrderUnknownBase = 10000;\nexport const OrderMaxBase = 100000;\n","import type { OperationObject, ParameterObject, RequestBodyObject, SchemaObject } from 'openapi3-ts/oas31';\n\nimport jsonSchemaToZod from '@cabloy/json-schema-to-zod';\nimport { evaluateSimple } from '@cabloy/utils';\nimport { toRaw } from 'vue';\nimport { z } from 'zod';\nimport { cast, deepExtend } from 'zova';\n\nimport type { TypeSchemaScene } from '../types/rest.js';\n\nimport { OrderUnknownBase } from '../types/database.js';\n\nconst __FilterColumnsIgnore = ['columns', 'where', 'orders', 'pageNo', 'pageSize'];\n\nexport function loadSchemaProperties(\n schema: SchemaObject | undefined,\n onGetSchema: (schemaName: string) => SchemaObject | undefined,\n scene?: TypeSchemaScene,\n): SchemaObject[] | undefined {\n if (!schema) return;\n const properties = schema.properties!;\n const result: SchemaObject[] = [];\n // filter\n for (let key in properties) {\n let property = properties[key] as SchemaObject;\n if (property.$ref) {\n property = onGetSchema(property.$ref)!;\n }\n if (!property) continue;\n const customKey = property.rest?.customKey;\n if (customKey) {\n const parts = customKey.split('.');\n const propertyParent: any = parts[0] === key ? property : result.find(item => item.key === parts[0]);\n property = propertyParent?.properties[parts[1]];\n key = customKey;\n }\n if (!property) continue;\n property = deepExtend({ key }, property, scene ? { rest: property.rest?.[scene] ?? {} } : undefined);\n result.push(property);\n }\n // sort\n result.sort((a, b) => {\n return (a.rest?.order ?? OrderUnknownBase) - (b.rest?.order ?? OrderUnknownBase);\n });\n // ok\n return result;\n}\n\nexport function schemaToZodSchema<T extends z.ZodType = z.ZodType>(\n schema: SchemaObject,\n onGetSchema: (schemaName: string) => SchemaObject | undefined,\n): T {\n const schemaNormalize = _normalizeSchema(toRaw(schema), onGetSchema);\n const code = jsonSchemaToZod(schemaNormalize);\n return evaluateSimple(code, { z });\n}\n\nfunction _normalizeSchema(schema: SchemaObject, onGetSchema: (schemaName: string) => SchemaObject | undefined) {\n if (!schema.properties) return schema;\n const schemaNew = Object.assign({}, schema, { properties: {} });\n for (const key in schema.properties) {\n let property = schema.properties[key] as SchemaObject | undefined;\n if (property?.$ref) {\n property = onGetSchema(property.$ref);\n }\n if (!property) continue;\n schemaNew.properties[key] = _normalizeSchema(property, onGetSchema);\n }\n return schemaNew;\n}\n\nexport function getSchemaOfRequestBody(operationObject?: OperationObject): SchemaObject | undefined {\n return cast<RequestBodyObject>(operationObject?.requestBody)?.content?.['application/json']?.schema as any;\n}\n\nexport function getSchemaOfResponseBody(operationObject?: OperationObject): SchemaObject | undefined {\n return operationObject?.responses?.['200']?.content?.['application/json']?.schema;\n}\n\nexport function getSchemaOfRequestQuery(operationObject?: OperationObject): SchemaObject | undefined {\n const parameters = operationObject?.parameters;\n if (!parameters) return;\n const schema: SchemaObject = { type: 'object', required: [], properties: {} };\n for (const _parameter of parameters) {\n const parameter = _parameter as ParameterObject;\n if (parameter.in !== 'query') continue;\n const name = parameter.name;\n const fieldSchema = parameter.schema! as SchemaObject;\n schema.properties![name] = fieldSchema;\n if (parameter.required) schema.required!.push(name);\n }\n return schema;\n}\n\nexport function getSchemaOfRequestQueryFilter(operationObject?: OperationObject, options?: { where?: boolean; order?: boolean }) {\n const parameters = operationObject?.parameters;\n if (!parameters) return;\n const schema: SchemaObject = { type: 'object', required: [], properties: {} };\n for (const _parameter of parameters) {\n const parameter = _parameter as ParameterObject;\n if (parameter.in !== 'query') continue;\n const name = parameter.name;\n if (__FilterColumnsIgnore.includes(name)) continue;\n const fieldSchema = parameter.schema! as SchemaObject;\n if (\n (options?.where === true && fieldSchema.filter?.capabilities?.where !== false) ||\n (options?.order === true && fieldSchema.filter?.capabilities?.order !== false)\n ) {\n schema.properties![name] = fieldSchema;\n if (parameter.required) schema.required!.push(name);\n }\n }\n return schema;\n}\n","import { isNil } from '@cabloy/utils';\nimport { SchemaObject } from 'openapi3-ts/oas31';\nimport z from 'zod';\nimport { cast, ILocaleRecord, TypeEventOff, Use, usePrepareArg } from 'zova';\nimport { IApiSchemaOptions } from 'zova-module-a-api';\nimport { $QueryAutoLoad, BeanModelBase, IDecoratorModelOptions, Model } from 'zova-module-a-model';\n\nimport { SysSdk } from '../bean/sys.sdk.js';\nimport {\n getSchemaOfRequestBody,\n getSchemaOfRequestQuery,\n getSchemaOfRequestQueryFilter,\n getSchemaOfResponseBody,\n loadSchemaProperties,\n schemaToZodSchema,\n} from '../lib/schema.js';\nimport { TypeOpenapiPermissions } from '../types/resourceMeta.js';\nimport { TypeSchemaScene } from '../types/rest.js';\nimport { IOpenapiSchemas, TypeOpenapiSchemasSdk } from '../types/schema.js';\nimport { TypeRequestMethod } from '../types/sdk.js';\n\nconst __schemaRefPrefix = '#/components/schemas/';\n\nexport interface IModelOptionsSdk extends IDecoratorModelOptions {}\n\n@Model<IModelOptionsSdk>({\n enableSelector: true,\n})\nexport class ModelSdk extends BeanModelBase {\n private _eventSsrHmrReload: TypeEventOff;\n\n @Use({ beanFullName: 'a-openapi.sys.sdk' })\n get $$sysSdk(): SysSdk {\n return usePrepareArg(this.selector, true);\n }\n\n protected async __init__(locale: keyof ILocaleRecord) {\n if (!locale) throw new Error('locale not specified');\n await super.__init__(locale);\n // event\n if (process.env.CLIENT && this.sys.env.SSR_HMR === 'true') {\n this._eventSsrHmrReload = this.sys.meta.event.on('a-ssrhmr:reload', async (_data, next) => {\n await this.$refetchQueries({ queryKey: ['bootstrap'] });\n await this.$refetchQueries({ queryKey: ['sdk'] });\n return next();\n });\n }\n }\n\n protected __dispose__() {\n if (this._eventSsrHmrReload) {\n this._eventSsrHmrReload();\n }\n }\n\n getBootstrap(resource: string) {\n return this.$useStateData({\n queryKey: ['bootstrap', resource],\n queryFn: async () => {\n const bootstrap = await this.$$sysSdk.loadBootstrap(this.$fetch, resource);\n if (!bootstrap) throw new Error('load bootstrap error');\n if (process.env.SERVER) {\n await $QueryAutoLoad(() => this.getPermissions(resource));\n } else {\n await this.$refetchQueries({ queryKey: ['permissions', resource] });\n }\n return bootstrap ?? null;\n },\n });\n }\n\n getPermissions(resource: string) {\n return this.$useStateData({\n queryKey: ['permissions', resource],\n queryFn: async () => {\n // should not use this.getBootstrap(resource);\n const bootstrap = await this.$$sysSdk.loadBootstrap(this.$fetch, resource);\n let permissions = bootstrap.resourceMeta.permissions;\n if (!isNil(permissions)) return permissions;\n permissions = (await this.$fetch.get(\n this.sys.util.apiActionPathTranslate(this.scope.config.api.permissions, { resource }),\n this.sys.util.apiActionConfigPrepare(),\n )) as TypeOpenapiPermissions;\n return permissions ?? null;\n },\n });\n }\n\n getSdk(api: string, apiMethod?: TypeRequestMethod, apiOptions?: IApiSchemaOptions): TypeOpenapiSchemasSdk {\n if (!api) throw new Error('should specify api');\n const [api2, apiMethod2] = this.$$sysSdk.prepareApiMeta(api, apiMethod);\n return this.$useStateData({\n queryKey: ['sdk', api2, apiMethod2],\n queryFn: async () => {\n const sdk = await this.$$sysSdk.loadSdk(this.$fetch, api, apiMethod, apiOptions);\n if (!sdk) throw new Error('load sdk error');\n for (const schemaName of sdk.schemas) {\n if (process.env.SERVER) {\n await $QueryAutoLoad(() => this.getSchema(schemaName));\n } else {\n await this.$refetchQueries({ queryKey: ['schema', schemaName] });\n }\n }\n return sdk;\n },\n }) as TypeOpenapiSchemasSdk;\n }\n\n getSchema(schemaName: string) {\n if (schemaName.startsWith(__schemaRefPrefix)) {\n schemaName = schemaName.substring(__schemaRefPrefix.length);\n }\n return this.$useStateData({\n queryKey: ['schema', schemaName],\n queryFn: async () => {\n const schema = this.$$sysSdk.getSchema(schemaName);\n return schema ?? null;\n },\n });\n }\n\n getZodSchema(schemaName: string) {\n return this.$useStateComputed({\n queryKey: ['zodSchema', schemaName],\n queryFn: () => {\n const querySchema = this.getSchema(schemaName);\n if (!querySchema.data) return null;\n const zodSchema = this.schemaToZodSchema(querySchema.data);\n return zodSchema;\n },\n });\n }\n\n getSchemaDefaultValue(schemaName: string) {\n return this.$useStateComputed({\n queryKey: ['schemaDefaultValue', schemaName],\n queryFn: () => {\n const querySchema = this.getSchema(schemaName);\n if (!querySchema.data) return null;\n const schema = querySchema.data;\n // const schema = this.$$sysSdk.getSchema(schemaName);\n // if (!schema) return null;\n const defaultValues = {};\n for (const key in schema.properties) {\n const property = schema.properties[key] as any;\n if (!isNil(property.default)) {\n defaultValues[key] = property.default;\n }\n }\n return defaultValues;\n },\n });\n }\n\n public createApiSchemas(api: string, apiMethod?: TypeRequestMethod, apiOptions?: IApiSchemaOptions): IOpenapiSchemas {\n const self = this;\n const sdk = this.getSdk(api, apiMethod, apiOptions);\n return {\n get sdk() {\n return sdk;\n },\n get query() {\n const operationObject = sdk.data?.operationObject;\n return getSchemaOfRequestQuery(operationObject);\n },\n get filter() {\n const operationObject = sdk.data?.operationObject;\n return getSchemaOfRequestQueryFilter(operationObject, { where: true });\n },\n get requestBody() {\n const operationObject = sdk.data?.operationObject;\n const schemaBody = getSchemaOfRequestBody(operationObject);\n const schemaName = cast(schemaBody)?.$ref;\n if (!schemaName) return;\n return self.getSchema(schemaName).data;\n },\n get responseBody() {\n const operationObject = sdk.data?.operationObject;\n const schemaBody = getSchemaOfResponseBody(operationObject);\n const schemaName = cast(schemaBody?.properties?.data)?.$ref;\n if (!schemaName) return;\n return self.getSchema(schemaName).data;\n },\n get paged() {\n const operationObject = sdk.data?.operationObject;\n const schemaBody = getSchemaOfResponseBody(operationObject);\n if (!schemaBody) return;\n const schemaName = cast(schemaBody?.properties?.data)?.items?.$ref;\n if (schemaName) return;\n // pages\n return this.responseBody;\n },\n get row() {\n const operationObject = sdk.data?.operationObject;\n const schemaBody = getSchemaOfResponseBody(operationObject);\n if (!schemaBody) return;\n // schemaData\n let schemaData;\n if (schemaBody?.properties?.data.$ref) {\n schemaData = self.getSchema(schemaBody?.properties?.data.$ref).data;\n } else {\n schemaData = schemaBody?.properties?.data;\n }\n // entry\n const schemaName = cast(schemaData)?.items?.$ref;\n if (schemaName) {\n return self.getSchema(schemaName).data;\n }\n // pages\n const schemaRow = cast(schemaData?.properties?.list)?.items;\n if (schemaRow?.$ref) {\n return self.getSchema(schemaRow?.$ref).data;\n }\n return schemaRow;\n },\n };\n }\n\n public loadSchemaProperties(schema: SchemaObject | undefined, scene?: TypeSchemaScene): SchemaObject[] | undefined {\n return loadSchemaProperties(schema, schemaName => this.getSchema(schemaName).data, scene);\n }\n\n public schemaToZodSchema<T extends z.ZodType = z.ZodType>(schema: SchemaObject): T {\n return schemaToZodSchema(schema, schemaName => this.getSchema(schemaName).data);\n }\n}\n","import type { OperationObject } from 'openapi3-ts/oas31';\n\nimport type { ModelSdk } from '../model/sdk.js';\nimport type { IOpenapiOptionsResourceMeta } from './resourceMeta.js';\nimport type { IOpenapiSchemaMeta } from './schema.js';\n\nexport const SymbolOpenapiSchemaName = '__schemaName__';\n\nexport interface IOpenapiSdkBootstrap {\n apiPath: string;\n resourceMeta: IOpenapiOptionsResourceMeta;\n}\n\nexport interface IOpenapiSdkItem {\n schemas: string[];\n operationObject: OperationObject;\n meta?: IOpenapiSchemaMeta;\n}\n\nexport type TypeRequestMethod = 'get' | 'post' | 'put' | 'delete' | 'patch' | 'options' | 'head';\n\ndeclare module 'zova' {\n export interface BeanBase {\n $sdk: ModelSdk;\n }\n}\n","import type { SchemaObject } from 'openapi3-ts/oas31';\n\nimport { shallowReactive } from 'vue';\nimport { BeanBase, IApiActionConfigPrepareOptions, ILocaleRecord, TypeEventOff } from 'zova';\nimport { IApiSchemaOptions } from 'zova-module-a-api';\nimport { Sys } from 'zova-module-a-bean';\nimport { BeanFetch } from 'zova-module-a-fetch';\n\nimport { IOpenapiSchema } from '../types/schema.js';\nimport { IOpenapiSdkBootstrap, IOpenapiSdkItem, SymbolOpenapiSchemaName, TypeRequestMethod } from '../types/sdk.js';\n\n// const PATH_PARAM_RE = /\\{([^{}/]+)\\}/g;\n\n@Sys()\nexport class SysSdk extends BeanBase {\n private locale: keyof ILocaleRecord;\n bootstraps: Record<string, IOpenapiSdkBootstrap>;\n schemas: Record<string, SchemaObject>;\n sdks: Record<string, Record<string, IOpenapiSdkItem>>;\n private _eventSsrHmrReload: TypeEventOff;\n private _fetch: BeanFetch;\n\n protected async __init__(locale: keyof ILocaleRecord) {\n this.locale = locale;\n this.bootstraps = shallowReactive({});\n this.schemas = shallowReactive({});\n this.sdks = shallowReactive({});\n // event\n if (this.sys.env.SSR_HMR === 'true') {\n this._eventSsrHmrReload = this.sys.meta.event.on('a-ssrhmr:reload', async (_data, next) => {\n await this.reload();\n return next();\n });\n }\n }\n\n protected __dispose__() {\n if (this._eventSsrHmrReload) {\n this._eventSsrHmrReload();\n }\n }\n\n private async reload() {\n // server\n if (process.env.SERVER) {\n this.bootstraps = shallowReactive({});\n this.schemas = shallowReactive({});\n this.sdks = shallowReactive({});\n return;\n }\n // client\n // bootstraps\n const bootstraps = this.bootstraps;\n this.bootstraps = shallowReactive({});\n for (const resource in bootstraps) {\n await this.loadBootstrap(this._fetch, resource);\n }\n // sdks\n const sdks = this.sdks;\n this.sdks = shallowReactive({});\n for (const api in sdks) {\n for (const apiMethod in sdks[api]) {\n await this.loadSdk(this._fetch, api, apiMethod as any, { authToken: false });\n }\n }\n }\n\n getBootstrap(resource: string): IOpenapiSdkBootstrap | undefined {\n return this.bootstraps[resource];\n }\n\n getSdk(api: string | undefined, apiMethod: string | undefined): IOpenapiSdkItem | undefined {\n if (!api) return;\n const [api2, apiMethod2] = this.prepareApiMeta(api, apiMethod);\n return this.sdks[api2]?.[apiMethod2];\n }\n\n getSchema(schemaName: string): SchemaObject {\n return this.schemas[schemaName];\n }\n\n async loadBootstrap($fetch: BeanFetch, resource: string): Promise<IOpenapiSdkBootstrap> {\n if (process.env.CLIENT) {\n this._fetch = $fetch;\n }\n if (!this.bootstraps[resource]) {\n this.bootstraps[resource] = await $fetch.get(\n this.sys.util.apiActionPathTranslate(this.scope.config.api.bootstrap, { resource }),\n this.sys.util.apiActionConfigPrepare(undefined, undefined, false),\n );\n }\n return this.bootstraps[resource];\n }\n\n async loadSdk(\n $fetch: BeanFetch,\n api?: string,\n apiMethod?: TypeRequestMethod,\n apiOptions?: IApiSchemaOptions,\n ): Promise<IOpenapiSdkItem | undefined> {\n if (process.env.CLIENT) {\n this._fetch = $fetch;\n }\n if (!api) return;\n const [api2, apiMethod2] = this.prepareApiMeta(api, apiMethod);\n if (this.sdks[api2]?.[apiMethod2]) return this.sdks[api2][apiMethod2];\n // params\n const params: any[] = [this.sys.util.apiActionPathTranslate(api2)];\n // body\n if (!['get', 'delete'].includes(apiMethod2)) {\n params.push(undefined);\n }\n // options\n const options: IApiActionConfigPrepareOptions = { authToken: apiOptions?.authToken, openapiSchema: true, headers: {} };\n const localeKey = this.sys.env.APP_LOCALE_HEADER_KEY;\n if (localeKey) {\n options.headers![localeKey] = this.locale;\n }\n params.push(this.sys.util.apiActionConfigPrepare(undefined, options));\n const data: IOpenapiSchema = await $fetch[apiMethod2](...params);\n // schemas\n const schemaNames: string[] = [];\n const schemas = data.doc.components?.schemas;\n if (schemas) {\n for (const key in schemas) {\n const schema = schemas[key] as unknown as SchemaObject;\n if (!schema[SymbolOpenapiSchemaName]) {\n schema[SymbolOpenapiSchemaName] = key;\n }\n this.schemas[key] = schema;\n schemaNames.push(key);\n }\n }\n // paths\n const paths = data.doc.paths;\n if (paths) {\n for (const key in paths) {\n // const path = key.replace(PATH_PARAM_RE, ':$1');\n if (!this.sdks[api2]) this.sdks[api2] = shallowReactive({});\n for (const method in paths[key]) {\n this.sdks[api2][method] = {\n schemas: schemaNames,\n operationObject: paths[key][method],\n meta: data.meta,\n };\n }\n }\n }\n // ok\n return this.sdks[api2][apiMethod2];\n }\n\n prepareApiMeta(api: string, apiMethod?: string) {\n return [api, apiMethod ?? 'get'];\n }\n}\n","import type { ZovaSys } from 'zova';\n\nimport type { IOpenapiOptionsResourceMeta } from '../types/resourceMeta.js';\n\nexport const config = (_sys: ZovaSys) => {\n return {\n base: {\n provider: {\n components: {\n form: 'a-form:form',\n table: 'a-table:table',\n },\n actions: {\n actionLog: 'a-actions:log',\n },\n },\n form: {\n provider: {\n components: {\n formField: 'a-form:formField',\n text: 'input',\n password: 'input',\n currency: 'a-currency:formFieldCurrency',\n },\n behaviors: {},\n },\n },\n table: {\n provider: {\n components: {\n currency: 'a-currency.tableCell.currency',\n date: 'a-date.tableCell.date',\n },\n actions: {},\n },\n },\n } as IOpenapiOptionsResourceMeta,\n resourceMeta: {} as IOpenapiOptionsResourceMeta,\n api: {\n bootstrap: '/api/openapischema/resource/bootstrap/:resource',\n permissions: '/api/home/base/permission/:resource',\n },\n };\n};\n","import type { IModule } from '@cabloy/module-info';\nimport type { Ref } from 'vue';\nimport type { BeanBase, BeanContainer, IMonkeyBeanInit, IMonkeyModule } from 'zova';\n\nimport { ref, watch } from 'vue';\nimport { BeanSimple } from 'zova';\n\nimport type { ModelSdk } from './model/sdk.js';\n\nexport class Monkey extends BeanSimple implements IMonkeyModule, IMonkeyBeanInit {\n private _moduleSelf: IModule;\n private _modelSdk: Ref<ModelSdk | undefined> = ref();\n\n constructor(moduleSelf: IModule) {\n super();\n this._moduleSelf = moduleSelf;\n }\n\n async moduleLoading(_module: IModule) {}\n async moduleLoaded(module: IModule) {\n // self\n if (this._moduleSelf === module) {\n await this._loadSdk();\n this.ctx.util.instanceScope(() => {\n return watch(\n () => {\n return this.app.meta.locale.current;\n },\n async () => {\n await this._loadSdk();\n },\n );\n });\n }\n }\n\n async beanInit(bean: BeanContainer, beanInstance: BeanBase) {\n const self = this;\n // $sdk\n bean.defineProperty(beanInstance, '$sdk', {\n enumerable: false,\n configurable: true,\n get() {\n return self._modelSdk;\n },\n });\n }\n\n private async _loadSdk() {\n this._modelSdk.value = await this.app.bean._getBeanSelector('a-openapi.model.sdk', true, this.app.meta.locale.current);\n }\n}\n","// eslint-disable\n/** model: begin */\nexport * from '../model/sdk.js';\nimport { IModelOptionsSdk } from '../model/sdk.js';\nimport 'zova-module-a-model';\ndeclare module 'zova-module-a-model' {\n \n export interface IModelRecord {\n 'a-openapi:sdk': IModelOptionsSdk;\n }\n\n \n}\ndeclare module 'zova-module-a-openapi' {\n \n export interface ModelSdk {\n /** @internal */\n get scope(): ScopeModuleAOpenapi;\n }\n\n export interface ModelSdk {\n get $beanFullName(): 'a-openapi.model.sdk';\n get $onionName(): 'a-openapi:sdk';\n get $onionOptions(): IModelOptionsSdk;\n } \n}\n/** model: end */\n/** model: begin */\nimport { ModelSdk } from '../model/sdk.js';\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanRecordGeneral {\n 'a-openapi.model.sdk': ModelSdk;\n }\n}\n/** model: end */\n/** sys: begin */\nexport * from '../bean/sys.sdk.js';\n\nimport 'zova';\ndeclare module 'zova' {\n \n \n}\ndeclare module 'zova-module-a-openapi' {\n \n export interface SysSdk {\n /** @internal */\n get scope(): ScopeModuleAOpenapi;\n }\n\n export interface SysSdk {\n get $beanFullName(): 'a-openapi.sys.sdk';\n get $onionName(): 'a-openapi:sdk';\n \n } \n}\n/** sys: end */\n/** sys: begin */\nimport { SysSdk } from '../bean/sys.sdk.js';\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanRecordGeneral {\n 'a-openapi.sys.sdk': SysSdk;\n }\n}\n/** sys: end */\n/** config: begin */\nexport * from '../config/config.js';\nimport { config } from '../config/config.js';\n/** config: end */\n/** monkey: begin */\nexport * from '../monkey.js';\n/** monkey: end */\n/** scope: begin */\nimport { BeanScopeBase, type BeanScopeUtil, TypeModuleConfig } from 'zova';\nimport { Scope } from 'zova-module-a-bean';\n\n@Scope()\nexport class ScopeModuleAOpenapi extends BeanScopeBase {}\n\nexport interface ScopeModuleAOpenapi {\n util: BeanScopeUtil;\nconfig: TypeModuleConfig<typeof config>;\n}\n\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanScopeRecord {\n 'a-openapi': ScopeModuleAOpenapi;\n }\n \n export interface IBeanScopeConfig {\n 'a-openapi': ReturnType<typeof config>;\n }\n\n \n\n \n}\n \n/** scope: end */\n","import type { CurrencyOptions } from '@zhennann/currency';\nimport type { ComponentPublicInstance } from 'vue';\nimport type { Constructable, IComponentRecord, TypeBeanRecordGeneralSelector } from 'zova';\nimport type { TypeRenderComponentJsx } from 'zova-jsx';\n\nimport type { TypeResourceActionRowRecordRender } from './actions.js';\nimport type { ICaptchaOptions } from './captcha.js';\nimport type { TypeDateFormat } from './date.js';\nimport type { IResourcePickerOptions } from './resourcePicker.js';\nimport type { ISelectOptions } from './select.js';\nimport type { ITextareaOptions } from './textarea.js';\nimport type { IToggleOptions } from './toggle.js';\nimport 'openapi3-ts/oas30';\nimport 'openapi3-ts/oas31';\n\nexport interface ISchemaObjectExtensionFieldRest {\n render?: TypeFormFieldRenderComponentNormal | TypeTableCellRenderComponentNormal;\n captcha?: ICaptchaOptions;\n currency?: CurrencyOptions;\n dateFormat?: TypeDateFormat;\n toggle?: IToggleOptions;\n select?: ISelectOptions;\n textarea?: ITextareaOptions;\n resourcePicker?: IResourcePickerOptions;\n customKey?: string;\n visible?: boolean;\n displayValue?: any;\n order?: number;\n table?: Omit<ISchemaObjectExtensionFieldRest, TypeSchemaScene>;\n form?: Omit<ISchemaObjectExtensionFieldRest, TypeSchemaScene>;\n filter?: Omit<ISchemaObjectExtensionFieldRest, TypeSchemaScene>;\n}\n\nexport interface ISchemaObjectExtensionFieldFilterCapabilities {\n where?: boolean;\n // filter?: boolean;\n order?: boolean;\n // group?: boolean;\n}\n\nexport interface ISchemaObjectExtensionFieldFilter {\n capabilities?: ISchemaObjectExtensionFieldFilterCapabilities;\n}\n\nexport interface ISchemaObjectExtensionField {\n key?: string;\n rest?: ISchemaObjectExtensionFieldRest;\n filter?: ISchemaObjectExtensionFieldFilter;\n}\n\ndeclare module 'openapi3-ts/oas30' {\n export interface SchemaObject extends ISchemaObjectExtensionField {}\n}\n\ndeclare module 'openapi3-ts/oas31' {\n export interface SchemaObject extends ISchemaObjectExtensionField {}\n}\n\nexport type TypeSchemaScene = 'table' | 'form' | 'filter';\nexport type TypeFormSchemaScene = 'form' | 'filter';\n\nexport const renderFormFieldTopPropsSystem = ['order', 'table', 'form', 'filter'];\nexport const renderTableColumnTopPropsSystem = ['order', 'table', 'form', 'filter', 'displayValue'];\n\nexport type TypeRenderComponentPreset =\n | keyof TypeResourceActionRowRecordRender\n | 'text'\n | 'captcha'\n | 'currency'\n | 'date'\n | 'dateRange'\n | 'textarea'\n | 'select'\n | 'checkbox'\n | 'radio'\n | 'switch'\n | 'image'\n | 'file'\n | 'color'\n | 'password'\n | 'email'\n | 'url';\n\n// form\nexport type TypeFormFieldRenderComponentNormal = Constructable<ComponentPublicInstance> | keyof IComponentRecord | TypeRenderComponentPreset;\nexport type TypeFormFieldRenderComponent = TypeFormFieldRenderComponentNormal | TypeRenderComponentJsx;\nexport type TypeFormFieldRenderComponentProvider =\n | Constructable\n | Constructable<ComponentPublicInstance>\n | keyof IComponentRecord\n | 'input'\n | 'textarea'\n | 'select';\n\n// table\nexport type TypeTableCellRenderComponentNormal =\n | Constructable<ComponentPublicInstance>\n | keyof IComponentRecord\n | keyof TypeBeanRecordGeneralSelector<'tableCell'>\n | TypeRenderComponentPreset;\nexport type TypeTableCellRenderComponent = TypeTableCellRenderComponentNormal | TypeRenderComponentJsx;\nexport type TypeTableCellRenderComponentProvider =\n | Constructable<ComponentPublicInstance>\n | keyof IComponentRecord\n | keyof TypeBeanRecordGeneralSelector<'tableCell'>\n | 'text';\nexport type TypeTableRenderComponentProvider = Constructable<ComponentPublicInstance> | keyof IComponentRecord | TypeRenderComponentJsx;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,37 +1,64 @@
1
1
  {
2
2
  "name": "zova-module-a-openapi",
3
- "version": "5.0.0",
3
+ "version": "5.1.1",
4
+ "description": "",
5
+ "keywords": [
6
+ "Zova Module"
7
+ ],
8
+ "author": "",
9
+ "files": [
10
+ "dist",
11
+ "mock",
12
+ "src",
13
+ "icons",
14
+ "assets",
15
+ "rest"
16
+ ],
4
17
  "type": "module",
5
- "publishConfig": {
6
- "access": "public"
7
- },
8
18
  "exports": {
9
19
  ".": {
10
20
  "types": [
11
21
  "./src/index.ts",
12
22
  "./dist/index.d.ts"
13
23
  ],
14
- "development": "./src/index.ts",
15
- "import": "./dist/index.js",
16
- "default": "./src/index.ts"
24
+ "default": "./dist/index.js"
17
25
  },
18
- "./package.json": "./package.json"
26
+ "./*": "./*"
19
27
  },
20
- "description": "",
21
- "files": [
22
- "dist",
23
- "static",
24
- "typings"
25
- ],
26
28
  "scripts": {
27
- "build:front": "node ../../../../../scripts/egg-born-bin.js front-build-module",
28
- "build:backend": "node ../../../../../scripts/egg-born-bin.js backend-build-module",
29
- "build:all": "npm run build:front && npm run build:backend",
30
- "preversion": "npm run build:all && git add ."
29
+ "clean": "rimraf dist tsconfig.build.tsbuildinfo",
30
+ "tsc:publish": "npm run clean && zova :bin:buildModule --sourcemap",
31
+ "prepublishOnly": "npm run tsc:publish",
32
+ "prepack": "clean-package",
33
+ "postpack": "clean-package restore && npm run clean"
31
34
  },
32
- "keywords": [
33
- "Cabloy Module"
34
- ],
35
- "author": "zhennann",
36
- "dependencies": {}
35
+ "dependencies": {
36
+ "@cabloy/json-schema-to-zod": "^2.6.4",
37
+ "@zhennann/currency": "^2.0.4",
38
+ "openapi3-ts": "^4.5.0"
39
+ },
40
+ "title": "a-openapi",
41
+ "zovaModule": {
42
+ "capabilities": {
43
+ "monkey": true
44
+ },
45
+ "dependencies": {
46
+ "a-model": "5.0.0"
47
+ },
48
+ "globalDependencies": {
49
+ "openapi3-ts": true
50
+ },
51
+ "bundle": {
52
+ "vendors": [
53
+ {
54
+ "match": [
55
+ "@cabloy/json-schema-to-zod",
56
+ "openapi3-ts"
57
+ ],
58
+ "output": "openapi3"
59
+ }
60
+ ]
61
+ }
62
+ },
63
+ "gitHead": "a1b13b06e259e4447ab2f361ec76941810bc4ad7"
37
64
  }