vona-module-a-openapi 5.0.72 → 5.1.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.
Files changed (94) hide show
  1. package/LICENSE +0 -0
  2. package/dist/.metadata/index.d.ts +1 -0
  3. package/dist/.metadata/index.d.ts.map +1 -0
  4. package/dist/.metadata/this.d.ts +1 -0
  5. package/dist/.metadata/this.d.ts.map +1 -0
  6. package/dist/bean/bean.openapi.d.ts +1 -0
  7. package/dist/bean/bean.openapi.d.ts.map +1 -0
  8. package/dist/bean/summerCache.json.d.ts +1 -0
  9. package/dist/bean/summerCache.json.d.ts.map +1 -0
  10. package/dist/config/config.d.ts +1 -0
  11. package/dist/config/config.d.ts.map +1 -0
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +1 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/lib/index.d.ts +1 -0
  17. package/dist/lib/index.d.ts.map +1 -0
  18. package/dist/lib/zod/index.d.ts +1 -0
  19. package/dist/lib/zod/index.d.ts.map +1 -0
  20. package/dist/lib/zod/schemaRefCustomAdapter.d.ts +1 -0
  21. package/dist/lib/zod/schemaRefCustomAdapter.d.ts.map +1 -0
  22. package/dist/main.d.ts +1 -0
  23. package/dist/main.d.ts.map +1 -0
  24. package/dist/service/openapi.d.ts +1 -0
  25. package/dist/service/openapi.d.ts.map +1 -0
  26. package/dist/types/actions.d.ts +1 -0
  27. package/dist/types/actions.d.ts.map +1 -0
  28. package/dist/types/behavior.d.ts +1 -0
  29. package/dist/types/behavior.d.ts.map +1 -0
  30. package/dist/types/captcha.d.ts +3 -2
  31. package/dist/types/captcha.d.ts.map +1 -0
  32. package/dist/types/component.d.ts +1 -0
  33. package/dist/types/component.d.ts.map +1 -0
  34. package/dist/types/date.d.ts +1 -0
  35. package/dist/types/date.d.ts.map +1 -0
  36. package/dist/types/decorator.d.ts +1 -0
  37. package/dist/types/decorator.d.ts.map +1 -0
  38. package/dist/types/formProvider.d.ts +1 -0
  39. package/dist/types/formProvider.d.ts.map +1 -0
  40. package/dist/types/index.d.ts +6 -0
  41. package/dist/types/index.d.ts.map +1 -0
  42. package/dist/types/openapi.d.ts +1 -0
  43. package/dist/types/openapi.d.ts.map +1 -0
  44. package/dist/types/permissions.d.ts +1 -0
  45. package/dist/types/permissions.d.ts.map +1 -0
  46. package/dist/types/resource.d.ts +1 -0
  47. package/dist/types/resource.d.ts.map +1 -0
  48. package/dist/types/resourceMeta.d.ts +1 -0
  49. package/dist/types/resourceMeta.d.ts.map +1 -0
  50. package/dist/types/resourcePicker.d.ts +11 -0
  51. package/dist/types/resourcePicker.d.ts.map +1 -0
  52. package/dist/types/rest.d.ts +18 -7
  53. package/dist/types/rest.d.ts.map +1 -0
  54. package/dist/types/select.d.ts +16 -0
  55. package/dist/types/select.d.ts.map +1 -0
  56. package/dist/types/table.d.ts +23 -0
  57. package/dist/types/table.d.ts.map +1 -0
  58. package/dist/types/tableProvider.d.ts +1 -0
  59. package/dist/types/tableProvider.d.ts.map +1 -0
  60. package/dist/types/textarea.d.ts +11 -0
  61. package/dist/types/textarea.d.ts.map +1 -0
  62. package/dist/types/toggle.d.ts +4 -0
  63. package/dist/types/toggle.d.ts.map +1 -0
  64. package/package.json +33 -29
  65. package/src/.metadata/index.ts +139 -0
  66. package/src/.metadata/this.ts +2 -0
  67. package/src/bean/bean.openapi.ts +84 -0
  68. package/src/bean/summerCache.json.ts +17 -0
  69. package/src/config/config.ts +35 -0
  70. package/src/index.ts +3 -0
  71. package/src/lib/index.ts +1 -0
  72. package/src/lib/zod/index.ts +1 -0
  73. package/src/lib/zod/schemaRefCustomAdapter.ts +29 -0
  74. package/src/main.ts +14 -0
  75. package/src/service/openapi.ts +400 -0
  76. package/src/types/actions.ts +18 -0
  77. package/src/types/behavior.ts +11 -0
  78. package/src/types/captcha.ts +5 -0
  79. package/src/types/component.ts +14 -0
  80. package/src/types/date.ts +25 -0
  81. package/src/types/decorator.ts +45 -0
  82. package/src/types/formProvider.ts +21 -0
  83. package/src/types/index.ts +20 -0
  84. package/src/types/openapi.ts +7 -0
  85. package/src/types/permissions.ts +18 -0
  86. package/src/types/resource.ts +1 -0
  87. package/src/types/resourceMeta.ts +38 -0
  88. package/src/types/resourcePicker.ts +11 -0
  89. package/src/types/rest.ts +133 -0
  90. package/src/types/select.ts +16 -0
  91. package/src/types/table.ts +27 -0
  92. package/src/types/tableProvider.ts +10 -0
  93. package/src/types/textarea.ts +10 -0
  94. package/src/types/toggle.ts +3 -0
@@ -0,0 +1,133 @@
1
+ import type { ZodOpenAPIMetadata } from '@cabloy/zod-to-openapi';
2
+ import type { CurrencyOptions } from '@zhennann/currency';
3
+ import type { ILocaleMagic } from 'vona';
4
+ import type { IOpenapiOptions } from 'vona-module-a-openapiutils';
5
+ import type { z } from 'zod';
6
+
7
+ import type { TypeResourceActionRowRecordRender } from './actions.ts';
8
+ import type { ICaptchaOptions } from './captcha.ts';
9
+ import type { IComponentRecord, ITableCellComponentRecord } from './component.ts';
10
+ import type { TypeDateFormat } from './date.ts';
11
+ import type { IResourcePickerOptions } from './resourcePicker.ts';
12
+ import type { ISelectOptions } from './select.ts';
13
+ import type { ITextareaOptions } from './textarea.ts';
14
+ import type { IToggleOptions } from './toggle.ts';
15
+ import 'openapi3-ts/oas30';
16
+ import 'openapi3-ts/oas31';
17
+
18
+ export type HTMLInputElementType = 'text' | 'password' | 'number' | 'file' | 'hidden' | 'tel' | 'email';
19
+
20
+ export type TypeFormFieldOnSetDisplayValue = (value: any) => any;
21
+ export type TypeFormFieldDisplayValueUpdateTiming = 'input' | 'change';
22
+
23
+ export interface ISchemaObjectExtensionFieldRestProps {
24
+ customKey?: string;
25
+ visible?: boolean;
26
+ order?: number;
27
+ //
28
+ classContainer?: any;
29
+ label?: string | false;
30
+ inline?: boolean;
31
+ bordered?: boolean;
32
+ floating?: boolean;
33
+ iconPrefix?: string;
34
+ iconSuffix?: string;
35
+ header?: TypeRenderComponentJsx | string;
36
+ footer?: TypeRenderComponentJsx | string;
37
+ //
38
+ displayValue?: any;
39
+ displayValueUpdateTiming?: TypeFormFieldDisplayValueUpdateTiming;
40
+ onSetDisplayValue?: TypeFormFieldOnSetDisplayValue;
41
+ disableNotifyChanged?: boolean;
42
+ class?: any;
43
+ placeholder?: string;
44
+ readonly?: boolean;
45
+ inputType?: HTMLInputElementType;
46
+ //
47
+ captcha?: ICaptchaOptions;
48
+ currency?: CurrencyOptions;
49
+ dateFormat?: TypeDateFormat;
50
+ toggle?: IToggleOptions;
51
+ select?: ISelectOptions;
52
+ textarea?: ITextareaOptions;
53
+ resourcePicker?: IResourcePickerOptions;
54
+ }
55
+
56
+ export interface ISchemaObjectExtensionFieldRest extends ISchemaObjectExtensionFieldRestProps {
57
+ render?: TypeRenderComponentPreset;
58
+ table?: ISchemaObjectExtensionFieldRestScene;
59
+ form?: ISchemaObjectExtensionFieldRestScene;
60
+ filter?: ISchemaObjectExtensionFieldRestScene;
61
+ }
62
+
63
+ export interface ISchemaObjectExtensionFieldRestScene extends ISchemaObjectExtensionFieldRestProps {
64
+ render?: TypeRenderComponent;
65
+ }
66
+
67
+ export interface ISchemaObjectExtensionField {
68
+ rest?: ISchemaObjectExtensionFieldRest;
69
+ }
70
+
71
+ declare module 'openapi3-ts/oas30' {
72
+ export interface SchemaObject extends ISchemaObjectExtensionField {}
73
+ }
74
+
75
+ declare module 'openapi3-ts/oas31' {
76
+ export interface SchemaObject extends ISchemaObjectExtensionField {}
77
+ }
78
+
79
+ export interface TypeRenderComponentJsxProps {
80
+ 'children': TypeRenderComponentJsx | TypeRenderComponentJsx[];
81
+ 'v-if'?: string | boolean;
82
+ 'v-for'?: string | any[];
83
+ 'v-each'?: string;
84
+ 'v-slot'?: string;
85
+ 'v-slot-scope'?: string;
86
+ }
87
+
88
+ export interface TypeRenderComponentJsx {
89
+ type: string;
90
+ key?: string | null;
91
+ props?: TypeRenderComponentJsxProps;
92
+ }
93
+
94
+ export type TypeSchemaScene = 'table' | 'form' | 'filter';
95
+
96
+ export type TypeRenderComponentPreset =
97
+ | keyof TypeResourceActionRowRecordRender
98
+ | 'text'
99
+ | 'captcha'
100
+ | 'currency'
101
+ | 'date'
102
+ | 'dateRange'
103
+ | 'textarea'
104
+ | 'select'
105
+ | 'checkbox'
106
+ | 'radio'
107
+ | 'switch'
108
+ | 'image'
109
+ | 'file'
110
+ | 'color'
111
+ | 'password'
112
+ | 'email'
113
+ | 'url';
114
+ export type TypeRenderComponent = TypeRenderComponentPreset | TypeRenderComponentJsx;
115
+
116
+ // form
117
+ export type TypeFormFieldRenderComponentProvider = keyof IComponentRecord | 'input' | 'textarea' | 'select';
118
+
119
+ // table
120
+ export type TypeTableCellRenderComponentProvider = keyof IComponentRecord | keyof ITableCellComponentRecord | 'text';
121
+
122
+ export type TypeOpenapiMetadata<T extends z.ZodType = z.ZodType> = Omit<Partial<ZodOpenAPIMetadata<z.input<T>>>, 'title' | 'description'> & {
123
+ title?: string | ILocaleMagic;
124
+ description?: string | ILocaleMagic;
125
+ };
126
+
127
+ export type TypeEntityOptionsFields<T extends {}, More extends string | undefined = never> = {
128
+ [key in keyof T | (More extends string ? More : never)]?: TypeOpenapiMetadata | z.ZodType;
129
+ };
130
+
131
+ export type TypeControllerOptionsActions<T extends {}> = {
132
+ [key in keyof T]?: IOpenapiOptions;
133
+ };
@@ -0,0 +1,16 @@
1
+ export interface ISelectChipsOptions {
2
+ column?: boolean;
3
+ filter?: boolean;
4
+ selectedClass?: string;
5
+ }
6
+
7
+ export interface ISelectOptions {
8
+ mode?: 'default' | 'chips';
9
+ chipsOptions?: ISelectChipsOptions;
10
+ multiple?: boolean;
11
+ chips?: boolean;
12
+ items?: any[];
13
+ itemTitle?: string;
14
+ itemValue?: string;
15
+ itemProps?: string;
16
+ }
@@ -0,0 +1,27 @@
1
+ export interface ITablePaged {
2
+ pageNo: number;
3
+ pageSize?: number;
4
+ }
5
+
6
+ export interface ITableQuery {
7
+ columns?: string[] | undefined;
8
+ where?:
9
+ | {
10
+ [key: string]: unknown;
11
+ }
12
+ | undefined;
13
+ orders?: string | string[][] | undefined;
14
+ pageNo?: number;
15
+ pageSize?: number;
16
+ }
17
+
18
+ export interface ITableRes<Entity = any> extends ITableResPaged {
19
+ list: Entity[];
20
+ }
21
+
22
+ export interface ITableResPaged {
23
+ total: string;
24
+ pageCount: number;
25
+ pageSize: number;
26
+ pageNo: number;
27
+ }
@@ -0,0 +1,10 @@
1
+ import type { TypeTableCellRenderComponentProvider } from './rest.ts';
2
+
3
+ export interface ITableProviderComponents {
4
+ actionView?: TypeTableCellRenderComponentProvider;
5
+ currency?: TypeTableCellRenderComponentProvider;
6
+ }
7
+
8
+ export interface ITableProvider {
9
+ components?: ITableProviderComponents;
10
+ }
@@ -0,0 +1,10 @@
1
+ export interface ITextareaOptions {
2
+ autoGrow?: boolean;
3
+ maxRows?: number;
4
+ maxHeight?: number;
5
+ noResize?: boolean;
6
+ rows?: number;
7
+ color?: string;
8
+ bgColor?: string;
9
+ counter?: string | number | true;
10
+ }
@@ -0,0 +1,3 @@
1
+ export interface IToggleOptions {
2
+ color?: 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'error';
3
+ }