@goodo/platform-plugin 0.1.1 → 0.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.
- package/dist/manifest.cjs +1 -1
- package/dist/manifest.cjs.map +1 -1
- package/dist/manifest.d.ts +0 -52
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +28 -41
- package/dist/manifest.js.map +1 -1
- package/package.json +1 -1
package/dist/manifest.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("zod"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("zod"),o=e.z.enum(["input","checkbox","color-picker","date","data-time-range","datetime","input-number","monaco-editor","radio","select","tree-select","time","textarea","switch","slider","select-cascader","data-node","data-node-fields","context-menu"]),r=e.z.object({type:o,group:e.z.string().optional(),label:e.z.string().min(1,"Property config label is required")}),c=e.z.object({name:e.z.string().min(1,"Property name is required"),defaultValue:e.z.any().optional().default(null),config:r.optional()}),s=e.z.enum(["SelectedObject","MultipleSelectedObject","CurrentMenu"]),i=e.z.lazy(()=>e.z.object({bindProp:e.z.string().optional(),name:e.z.string().optional(),generic:e.z.array(e.z.lazy(()=>i)).optional()})),d=e.z.object({name:s,type:i}),m=e.z.object({options:e.z.object({bindProp:e.z.string().min(1,"options.bindProp is required")})}),g=e.z.object({name:e.z.string().min(1,"Event name is required"),label:e.z.string().min(1,"Event label is required"),arguments:e.z.array(d).optional().default([]),contextmenu:m.optional()}),u=e.z.object({id:e.z.string().min(1,"'id' is required and cannot be empty"),name:e.z.string().min(1,"'name' is required and cannot be empty"),icon:e.z.string().optional(),entry:e.z.string().optional().default("dist"),props:e.z.array(c).optional().default([]),events:e.z.array(g).optional().default([])});function l(t){return t}function p(t){const n=u.safeParse(t);return n.success?{success:!0,data:n.data}:{success:!1,errors:n.error.issues.map(a=>({path:a.path.join(".")||"root",message:a.message}))}}exports.defineWidget=l;exports.validateWidgetManifest=p;exports.widgetArgumentTypeSchema=i;exports.widgetConfigTypeSchema=o;exports.widgetEventArgumentNameSchema=s;exports.widgetEventArgumentSchema=d;exports.widgetEventContextMenuSchema=m;exports.widgetEventSchema=g;exports.widgetManifestSchema=u;exports.widgetPropConfigSchema=r;exports.widgetPropSchema=c;
|
|
2
2
|
//# sourceMappingURL=manifest.cjs.map
|
package/dist/manifest.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.cjs","sources":["../src/manifest.ts"],"sourcesContent":["import { z } from 'zod';\n\n// ==========================================\n// 1. Props Configuration Schemas\n// ==========================================\n\nexport const widgetConfigTypeSchema = z.enum([\n 'input',\n 'checkbox',\n 'color-picker',\n 'date',\n 'data-time-range',\n 'datetime',\n 'input-number',\n 'monaco-editor',\n 'radio',\n 'select',\n 'tree-select',\n 'time',\n 'textarea',\n 'switch',\n 'slider',\n 'select-cascader',\n 'data-node',\n 'data-node-fields',\n 'context-menu',\n]);\n\nexport const widgetPropConfigSchema = z.object({\n type: widgetConfigTypeSchema,\n group: z.string().optional(),\n label: z.string().min(1, 'Property config label is required'),\n});\n\nexport const widgetPropSchema = z.object({\n name: z.string().min(1, 'Property name is required'),\n defaultValue: z.any().optional().default(null),\n config: widgetPropConfigSchema.optional(),\n});\n\n// ==========================================\n// 2. Events & Arguments Configuration Schemas\n// ==========================================\n\n/**\n * Supported standard event argument names (3.3)\n */\nexport const widgetEventArgumentNameSchema = z.enum([\n 'SelectedObject',\n 'MultipleSelectedObject',\n 'CurrentMenu',\n
|
|
1
|
+
{"version":3,"file":"manifest.cjs","sources":["../src/manifest.ts"],"sourcesContent":["import { z } from 'zod';\n\n// ==========================================\n// 1. Props Configuration Schemas\n// ==========================================\n\nexport const widgetConfigTypeSchema = z.enum([\n 'input',\n 'checkbox',\n 'color-picker',\n 'date',\n 'data-time-range',\n 'datetime',\n 'input-number',\n 'monaco-editor',\n 'radio',\n 'select',\n 'tree-select',\n 'time',\n 'textarea',\n 'switch',\n 'slider',\n 'select-cascader',\n 'data-node',\n 'data-node-fields',\n 'context-menu',\n]);\n\nexport const widgetPropConfigSchema = z.object({\n type: widgetConfigTypeSchema,\n group: z.string().optional(),\n label: z.string().min(1, 'Property config label is required'),\n});\n\nexport const widgetPropSchema = z.object({\n name: z.string().min(1, 'Property name is required'),\n defaultValue: z.any().optional().default(null),\n config: widgetPropConfigSchema.optional(),\n});\n\n// ==========================================\n// 2. Events & Arguments Configuration Schemas\n// ==========================================\n\n/**\n * Supported standard event argument names (3.3)\n */\nexport const widgetEventArgumentNameSchema = z.enum([\n 'SelectedObject',\n 'MultipleSelectedObject',\n 'CurrentMenu',\n]);\n\n/**\n * Recursive schema for event argument types (3.2):\n * 1. Entity type bound to property: { bindProp: 'dataSourceNode' }\n * 2. Generic collection type: { name: 'List', generic: [{ bindProp: 'dataSourceNode' }] }\n * 3. Fixed internal platform type: { name: 'CurrentMenu' }\n */\nexport type WidgetArgumentType = {\n bindProp?: string;\n name?: string;\n generic?: WidgetArgumentType[];\n};\n\nexport const widgetArgumentTypeSchema: z.ZodType<WidgetArgumentType> = z.lazy(() =>\n z.object({\n bindProp: z.string().optional(),\n name: z.string().optional(),\n generic: z.array(z.lazy(() => widgetArgumentTypeSchema)).optional(),\n })\n);\n\n/**\n * Event Argument configuration item (3.2)\n */\nexport const widgetEventArgumentSchema = z.object({\n name: widgetEventArgumentNameSchema,\n type: widgetArgumentTypeSchema,\n});\n\n/**\n * Context menu binding configuration for event (3.4)\n */\nexport const widgetEventContextMenuSchema = z.object({\n options: z.object({\n bindProp: z.string().min(1, 'options.bindProp is required'),\n }),\n});\n\n/**\n * Event configuration item (3.1)\n */\nexport const widgetEventSchema = z.object({\n name: z.string().min(1, 'Event name is required'),\n label: z.string().min(1, 'Event label is required'),\n arguments: z.array(widgetEventArgumentSchema).optional().default([]),\n contextmenu: widgetEventContextMenuSchema.optional(),\n});\n\n// ==========================================\n// 3. Widget Manifest Root Schema\n// ==========================================\n\nexport const widgetManifestSchema = z.object({\n id: z.string().min(1, \"'id' is required and cannot be empty\"),\n name: z.string().min(1, \"'name' is required and cannot be empty\"),\n icon: z.string().optional(),\n entry: z.string().optional().default('dist'),\n props: z.array(widgetPropSchema).optional().default([]),\n events: z.array(widgetEventSchema).optional().default([]),\n});\n\n// ==========================================\n// 4. Inferred TypeScript Types\n// ==========================================\n\nexport type WidgetConfigType = z.infer<typeof widgetConfigTypeSchema>;\nexport type WidgetPropConfig = z.infer<typeof widgetPropConfigSchema>;\nexport type WidgetProp = z.infer<typeof widgetPropSchema>;\n\nexport type WidgetEventArgumentName = z.infer<typeof widgetEventArgumentNameSchema>;\nexport type WidgetEventArgument = z.infer<typeof widgetEventArgumentSchema>;\nexport type WidgetEventContextMenu = z.infer<typeof widgetEventContextMenuSchema>;\nexport type WidgetEvent = z.infer<typeof widgetEventSchema>;\n\nexport type WidgetManifest = z.input<typeof widgetManifestSchema>;\nexport type ResolvedWidgetManifest = z.output<typeof widgetManifestSchema>;\n\n// ==========================================\n// 5. Helper & Validation Functions\n// ==========================================\n\n/**\n * Type-helper for defining widget manifest in `.goodo/manifest.ts`.\n * Provides full IDE autocomplete and compile-time type validation.\n */\nexport function defineWidget(config: WidgetManifest): WidgetManifest {\n return config;\n}\n\nexport interface ManifestValidationResult {\n success: boolean;\n data?: ResolvedWidgetManifest;\n errors?: Array<{ path: string; message: string }>;\n}\n\n/**\n * Validates raw manifest data using Zod schema for Node.js environments (e.g. CLI, backend).\n */\nexport function validateWidgetManifest(raw: unknown): ManifestValidationResult {\n const result = widgetManifestSchema.safeParse(raw);\n if (result.success) {\n return {\n success: true,\n data: result.data,\n };\n }\n\n return {\n success: false,\n errors: result.error.issues.map((issue) => ({\n path: issue.path.join('.') || 'root',\n message: issue.message,\n })),\n };\n}"],"names":["widgetConfigTypeSchema","z","widgetPropConfigSchema","widgetPropSchema","widgetEventArgumentNameSchema","widgetArgumentTypeSchema","widgetEventArgumentSchema","widgetEventContextMenuSchema","widgetEventSchema","widgetManifestSchema","defineWidget","config","validateWidgetManifest","raw","result","issue"],"mappings":"uGAMaA,EAAyBC,EAAAA,EAAE,KAAK,CAC3C,QACA,WACA,eACA,OACA,kBACA,WACA,eACA,gBACA,QACA,SACA,cACA,OACA,WACA,SACA,SACA,kBACA,YACA,mBACA,cACF,CAAC,EAEYC,EAAyBD,EAAAA,EAAE,OAAO,CAC7C,KAAMD,EACN,MAAOC,EAAAA,EAAE,OAAA,EAAS,SAAA,EAClB,MAAOA,EAAAA,EAAE,OAAA,EAAS,IAAI,EAAG,mCAAmC,CAC9D,CAAC,EAEYE,EAAmBF,EAAAA,EAAE,OAAO,CACvC,KAAMA,EAAAA,EAAE,OAAA,EAAS,IAAI,EAAG,2BAA2B,EACnD,aAAcA,EAAAA,EAAE,IAAA,EAAM,SAAA,EAAW,QAAQ,IAAI,EAC7C,OAAQC,EAAuB,SAAA,CACjC,CAAC,EASYE,EAAgCH,EAAAA,EAAE,KAAK,CAClD,iBACA,yBACA,aACF,CAAC,EAcYI,EAA0DJ,EAAAA,EAAE,KAAK,IAC5EA,EAAAA,EAAE,OAAO,CACP,SAAUA,EAAAA,EAAE,OAAA,EAAS,SAAA,EACrB,KAAMA,EAAAA,EAAE,OAAA,EAAS,SAAA,EACjB,QAASA,EAAAA,EAAE,MAAMA,EAAAA,EAAE,KAAK,IAAMI,CAAwB,CAAC,EAAE,SAAA,CAAS,CACnE,CACH,EAKaC,EAA4BL,EAAAA,EAAE,OAAO,CAChD,KAAMG,EACN,KAAMC,CACR,CAAC,EAKYE,EAA+BN,EAAAA,EAAE,OAAO,CACnD,QAASA,EAAAA,EAAE,OAAO,CAChB,SAAUA,EAAAA,EAAE,OAAA,EAAS,IAAI,EAAG,8BAA8B,CAAA,CAC3D,CACH,CAAC,EAKYO,EAAoBP,EAAAA,EAAE,OAAO,CACxC,KAAMA,EAAAA,EAAE,OAAA,EAAS,IAAI,EAAG,wBAAwB,EAChD,MAAOA,EAAAA,EAAE,OAAA,EAAS,IAAI,EAAG,yBAAyB,EAClD,UAAWA,EAAAA,EAAE,MAAMK,CAAyB,EAAE,SAAA,EAAW,QAAQ,EAAE,EACnE,YAAaC,EAA6B,SAAA,CAC5C,CAAC,EAMYE,EAAuBR,EAAAA,EAAE,OAAO,CAC3C,GAAIA,EAAAA,EAAE,OAAA,EAAS,IAAI,EAAG,sCAAsC,EAC5D,KAAMA,EAAAA,EAAE,OAAA,EAAS,IAAI,EAAG,wCAAwC,EAChE,KAAMA,EAAAA,EAAE,OAAA,EAAS,SAAA,EACjB,MAAOA,EAAAA,EAAE,OAAA,EAAS,SAAA,EAAW,QAAQ,MAAM,EAC3C,MAAOA,EAAAA,EAAE,MAAME,CAAgB,EAAE,SAAA,EAAW,QAAQ,EAAE,EACtD,OAAQF,EAAAA,EAAE,MAAMO,CAAiB,EAAE,SAAA,EAAW,QAAQ,CAAA,CAAE,CAC1D,CAAC,EA0BM,SAASE,EAAaC,EAAwC,CACnE,OAAOA,CACT,CAWO,SAASC,EAAuBC,EAAwC,CAC7E,MAAMC,EAASL,EAAqB,UAAUI,CAAG,EACjD,OAAIC,EAAO,QACF,CACL,QAAS,GACT,KAAMA,EAAO,IAAA,EAIV,CACL,QAAS,GACT,OAAQA,EAAO,MAAM,OAAO,IAAKC,IAAW,CAC1C,KAAMA,EAAM,KAAK,KAAK,GAAG,GAAK,OAC9B,QAASA,EAAM,OAAA,EACf,CAAA,CAEN"}
|
package/dist/manifest.d.ts
CHANGED
|
@@ -81,19 +81,6 @@ export declare const widgetEventArgumentNameSchema: z.ZodEnum<{
|
|
|
81
81
|
SelectedObject: "SelectedObject";
|
|
82
82
|
MultipleSelectedObject: "MultipleSelectedObject";
|
|
83
83
|
CurrentMenu: "CurrentMenu";
|
|
84
|
-
CurrentPageObject: "CurrentPageObject";
|
|
85
|
-
AllData: "AllData";
|
|
86
|
-
DragObject: "DragObject";
|
|
87
|
-
MultipleDragObject: "MultipleDragObject";
|
|
88
|
-
EditData: "EditData";
|
|
89
|
-
EditObject: "EditObject";
|
|
90
|
-
SelectedResource: "SelectedResource";
|
|
91
|
-
TargetObject: "TargetObject";
|
|
92
|
-
TargetResource: "TargetResource";
|
|
93
|
-
TargetDatetime: "TargetDatetime";
|
|
94
|
-
TargetStarttime: "TargetStarttime";
|
|
95
|
-
TargetEndtime: "TargetEndtime";
|
|
96
|
-
AcceptData: "AcceptData";
|
|
97
84
|
}>;
|
|
98
85
|
/**
|
|
99
86
|
* Recursive schema for event argument types (3.2):
|
|
@@ -115,19 +102,6 @@ export declare const widgetEventArgumentSchema: z.ZodObject<{
|
|
|
115
102
|
SelectedObject: "SelectedObject";
|
|
116
103
|
MultipleSelectedObject: "MultipleSelectedObject";
|
|
117
104
|
CurrentMenu: "CurrentMenu";
|
|
118
|
-
CurrentPageObject: "CurrentPageObject";
|
|
119
|
-
AllData: "AllData";
|
|
120
|
-
DragObject: "DragObject";
|
|
121
|
-
MultipleDragObject: "MultipleDragObject";
|
|
122
|
-
EditData: "EditData";
|
|
123
|
-
EditObject: "EditObject";
|
|
124
|
-
SelectedResource: "SelectedResource";
|
|
125
|
-
TargetObject: "TargetObject";
|
|
126
|
-
TargetResource: "TargetResource";
|
|
127
|
-
TargetDatetime: "TargetDatetime";
|
|
128
|
-
TargetStarttime: "TargetStarttime";
|
|
129
|
-
TargetEndtime: "TargetEndtime";
|
|
130
|
-
AcceptData: "AcceptData";
|
|
131
105
|
}>;
|
|
132
106
|
type: z.ZodType<WidgetArgumentType, unknown, z.core.$ZodTypeInternals<WidgetArgumentType, unknown>>;
|
|
133
107
|
}, z.core.$strip>;
|
|
@@ -150,19 +124,6 @@ export declare const widgetEventSchema: z.ZodObject<{
|
|
|
150
124
|
SelectedObject: "SelectedObject";
|
|
151
125
|
MultipleSelectedObject: "MultipleSelectedObject";
|
|
152
126
|
CurrentMenu: "CurrentMenu";
|
|
153
|
-
CurrentPageObject: "CurrentPageObject";
|
|
154
|
-
AllData: "AllData";
|
|
155
|
-
DragObject: "DragObject";
|
|
156
|
-
MultipleDragObject: "MultipleDragObject";
|
|
157
|
-
EditData: "EditData";
|
|
158
|
-
EditObject: "EditObject";
|
|
159
|
-
SelectedResource: "SelectedResource";
|
|
160
|
-
TargetObject: "TargetObject";
|
|
161
|
-
TargetResource: "TargetResource";
|
|
162
|
-
TargetDatetime: "TargetDatetime";
|
|
163
|
-
TargetStarttime: "TargetStarttime";
|
|
164
|
-
TargetEndtime: "TargetEndtime";
|
|
165
|
-
AcceptData: "AcceptData";
|
|
166
127
|
}>;
|
|
167
128
|
type: z.ZodType<WidgetArgumentType, unknown, z.core.$ZodTypeInternals<WidgetArgumentType, unknown>>;
|
|
168
129
|
}, z.core.$strip>>>>;
|
|
@@ -214,19 +175,6 @@ export declare const widgetManifestSchema: z.ZodObject<{
|
|
|
214
175
|
SelectedObject: "SelectedObject";
|
|
215
176
|
MultipleSelectedObject: "MultipleSelectedObject";
|
|
216
177
|
CurrentMenu: "CurrentMenu";
|
|
217
|
-
CurrentPageObject: "CurrentPageObject";
|
|
218
|
-
AllData: "AllData";
|
|
219
|
-
DragObject: "DragObject";
|
|
220
|
-
MultipleDragObject: "MultipleDragObject";
|
|
221
|
-
EditData: "EditData";
|
|
222
|
-
EditObject: "EditObject";
|
|
223
|
-
SelectedResource: "SelectedResource";
|
|
224
|
-
TargetObject: "TargetObject";
|
|
225
|
-
TargetResource: "TargetResource";
|
|
226
|
-
TargetDatetime: "TargetDatetime";
|
|
227
|
-
TargetStarttime: "TargetStarttime";
|
|
228
|
-
TargetEndtime: "TargetEndtime";
|
|
229
|
-
AcceptData: "AcceptData";
|
|
230
178
|
}>;
|
|
231
179
|
type: z.ZodType<WidgetArgumentType, unknown, z.core.$ZodTypeInternals<WidgetArgumentType, unknown>>;
|
|
232
180
|
}, z.core.$strip>>>>;
|
package/dist/manifest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;EAoBjC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;iBAIjC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI3B,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,6BAA6B
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;EAoBjC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;iBAIjC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI3B,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;EAIxC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAMlE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;iBAGpC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;iBAIvC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;iBAK5B,CAAC;AAMH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO/B,CAAC;AAMH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAM3E;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAEnE;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,wBAAwB,CAgB7E"}
|
package/dist/manifest.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z as e } from "zod";
|
|
2
|
-
const
|
|
2
|
+
const o = e.enum([
|
|
3
3
|
"input",
|
|
4
4
|
"checkbox",
|
|
5
5
|
"color-picker",
|
|
@@ -19,58 +19,45 @@ const r = e.enum([
|
|
|
19
19
|
"data-node",
|
|
20
20
|
"data-node-fields",
|
|
21
21
|
"context-menu"
|
|
22
|
-
]),
|
|
23
|
-
type:
|
|
22
|
+
]), r = e.object({
|
|
23
|
+
type: o,
|
|
24
24
|
group: e.string().optional(),
|
|
25
25
|
label: e.string().min(1, "Property config label is required")
|
|
26
|
-
}),
|
|
26
|
+
}), s = e.object({
|
|
27
27
|
name: e.string().min(1, "Property name is required"),
|
|
28
28
|
defaultValue: e.any().optional().default(null),
|
|
29
|
-
config:
|
|
30
|
-
}),
|
|
29
|
+
config: r.optional()
|
|
30
|
+
}), c = e.enum([
|
|
31
31
|
"SelectedObject",
|
|
32
32
|
"MultipleSelectedObject",
|
|
33
|
-
"CurrentMenu"
|
|
34
|
-
|
|
35
|
-
"AllData",
|
|
36
|
-
"DragObject",
|
|
37
|
-
"MultipleDragObject",
|
|
38
|
-
"EditData",
|
|
39
|
-
"EditObject",
|
|
40
|
-
"SelectedResource",
|
|
41
|
-
"TargetObject",
|
|
42
|
-
"TargetResource",
|
|
43
|
-
"TargetDatetime",
|
|
44
|
-
"TargetStarttime",
|
|
45
|
-
"TargetEndtime",
|
|
46
|
-
"AcceptData"
|
|
47
|
-
]), i = e.lazy(
|
|
33
|
+
"CurrentMenu"
|
|
34
|
+
]), a = e.lazy(
|
|
48
35
|
() => e.object({
|
|
49
36
|
bindProp: e.string().optional(),
|
|
50
37
|
name: e.string().optional(),
|
|
51
|
-
generic: e.array(e.lazy(() =>
|
|
38
|
+
generic: e.array(e.lazy(() => a)).optional()
|
|
52
39
|
})
|
|
53
40
|
), d = e.object({
|
|
54
|
-
name:
|
|
55
|
-
type:
|
|
56
|
-
}),
|
|
41
|
+
name: c,
|
|
42
|
+
type: a
|
|
43
|
+
}), m = e.object({
|
|
57
44
|
options: e.object({
|
|
58
45
|
bindProp: e.string().min(1, "options.bindProp is required")
|
|
59
46
|
})
|
|
60
|
-
}),
|
|
47
|
+
}), l = e.object({
|
|
61
48
|
name: e.string().min(1, "Event name is required"),
|
|
62
49
|
label: e.string().min(1, "Event label is required"),
|
|
63
50
|
arguments: e.array(d).optional().default([]),
|
|
64
|
-
contextmenu:
|
|
51
|
+
contextmenu: m.optional()
|
|
65
52
|
}), u = e.object({
|
|
66
53
|
id: e.string().min(1, "'id' is required and cannot be empty"),
|
|
67
54
|
name: e.string().min(1, "'name' is required and cannot be empty"),
|
|
68
55
|
icon: e.string().optional(),
|
|
69
56
|
entry: e.string().optional().default("dist"),
|
|
70
|
-
props: e.array(
|
|
71
|
-
events: e.array(
|
|
57
|
+
props: e.array(s).optional().default([]),
|
|
58
|
+
events: e.array(l).optional().default([])
|
|
72
59
|
});
|
|
73
|
-
function
|
|
60
|
+
function g(t) {
|
|
74
61
|
return t;
|
|
75
62
|
}
|
|
76
63
|
function b(t) {
|
|
@@ -80,23 +67,23 @@ function b(t) {
|
|
|
80
67
|
data: n.data
|
|
81
68
|
} : {
|
|
82
69
|
success: !1,
|
|
83
|
-
errors: n.error.issues.map((
|
|
84
|
-
path:
|
|
85
|
-
message:
|
|
70
|
+
errors: n.error.issues.map((i) => ({
|
|
71
|
+
path: i.path.join(".") || "root",
|
|
72
|
+
message: i.message
|
|
86
73
|
}))
|
|
87
74
|
};
|
|
88
75
|
}
|
|
89
76
|
export {
|
|
90
|
-
|
|
77
|
+
g as defineWidget,
|
|
91
78
|
b as validateWidgetManifest,
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
79
|
+
a as widgetArgumentTypeSchema,
|
|
80
|
+
o as widgetConfigTypeSchema,
|
|
81
|
+
c as widgetEventArgumentNameSchema,
|
|
95
82
|
d as widgetEventArgumentSchema,
|
|
96
|
-
|
|
97
|
-
|
|
83
|
+
m as widgetEventContextMenuSchema,
|
|
84
|
+
l as widgetEventSchema,
|
|
98
85
|
u as widgetManifestSchema,
|
|
99
|
-
|
|
100
|
-
|
|
86
|
+
r as widgetPropConfigSchema,
|
|
87
|
+
s as widgetPropSchema
|
|
101
88
|
};
|
|
102
89
|
//# sourceMappingURL=manifest.js.map
|
package/dist/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sources":["../src/manifest.ts"],"sourcesContent":["import { z } from 'zod';\n\n// ==========================================\n// 1. Props Configuration Schemas\n// ==========================================\n\nexport const widgetConfigTypeSchema = z.enum([\n 'input',\n 'checkbox',\n 'color-picker',\n 'date',\n 'data-time-range',\n 'datetime',\n 'input-number',\n 'monaco-editor',\n 'radio',\n 'select',\n 'tree-select',\n 'time',\n 'textarea',\n 'switch',\n 'slider',\n 'select-cascader',\n 'data-node',\n 'data-node-fields',\n 'context-menu',\n]);\n\nexport const widgetPropConfigSchema = z.object({\n type: widgetConfigTypeSchema,\n group: z.string().optional(),\n label: z.string().min(1, 'Property config label is required'),\n});\n\nexport const widgetPropSchema = z.object({\n name: z.string().min(1, 'Property name is required'),\n defaultValue: z.any().optional().default(null),\n config: widgetPropConfigSchema.optional(),\n});\n\n// ==========================================\n// 2. Events & Arguments Configuration Schemas\n// ==========================================\n\n/**\n * Supported standard event argument names (3.3)\n */\nexport const widgetEventArgumentNameSchema = z.enum([\n 'SelectedObject',\n 'MultipleSelectedObject',\n 'CurrentMenu',\n
|
|
1
|
+
{"version":3,"file":"manifest.js","sources":["../src/manifest.ts"],"sourcesContent":["import { z } from 'zod';\n\n// ==========================================\n// 1. Props Configuration Schemas\n// ==========================================\n\nexport const widgetConfigTypeSchema = z.enum([\n 'input',\n 'checkbox',\n 'color-picker',\n 'date',\n 'data-time-range',\n 'datetime',\n 'input-number',\n 'monaco-editor',\n 'radio',\n 'select',\n 'tree-select',\n 'time',\n 'textarea',\n 'switch',\n 'slider',\n 'select-cascader',\n 'data-node',\n 'data-node-fields',\n 'context-menu',\n]);\n\nexport const widgetPropConfigSchema = z.object({\n type: widgetConfigTypeSchema,\n group: z.string().optional(),\n label: z.string().min(1, 'Property config label is required'),\n});\n\nexport const widgetPropSchema = z.object({\n name: z.string().min(1, 'Property name is required'),\n defaultValue: z.any().optional().default(null),\n config: widgetPropConfigSchema.optional(),\n});\n\n// ==========================================\n// 2. Events & Arguments Configuration Schemas\n// ==========================================\n\n/**\n * Supported standard event argument names (3.3)\n */\nexport const widgetEventArgumentNameSchema = z.enum([\n 'SelectedObject',\n 'MultipleSelectedObject',\n 'CurrentMenu',\n]);\n\n/**\n * Recursive schema for event argument types (3.2):\n * 1. Entity type bound to property: { bindProp: 'dataSourceNode' }\n * 2. Generic collection type: { name: 'List', generic: [{ bindProp: 'dataSourceNode' }] }\n * 3. Fixed internal platform type: { name: 'CurrentMenu' }\n */\nexport type WidgetArgumentType = {\n bindProp?: string;\n name?: string;\n generic?: WidgetArgumentType[];\n};\n\nexport const widgetArgumentTypeSchema: z.ZodType<WidgetArgumentType> = z.lazy(() =>\n z.object({\n bindProp: z.string().optional(),\n name: z.string().optional(),\n generic: z.array(z.lazy(() => widgetArgumentTypeSchema)).optional(),\n })\n);\n\n/**\n * Event Argument configuration item (3.2)\n */\nexport const widgetEventArgumentSchema = z.object({\n name: widgetEventArgumentNameSchema,\n type: widgetArgumentTypeSchema,\n});\n\n/**\n * Context menu binding configuration for event (3.4)\n */\nexport const widgetEventContextMenuSchema = z.object({\n options: z.object({\n bindProp: z.string().min(1, 'options.bindProp is required'),\n }),\n});\n\n/**\n * Event configuration item (3.1)\n */\nexport const widgetEventSchema = z.object({\n name: z.string().min(1, 'Event name is required'),\n label: z.string().min(1, 'Event label is required'),\n arguments: z.array(widgetEventArgumentSchema).optional().default([]),\n contextmenu: widgetEventContextMenuSchema.optional(),\n});\n\n// ==========================================\n// 3. Widget Manifest Root Schema\n// ==========================================\n\nexport const widgetManifestSchema = z.object({\n id: z.string().min(1, \"'id' is required and cannot be empty\"),\n name: z.string().min(1, \"'name' is required and cannot be empty\"),\n icon: z.string().optional(),\n entry: z.string().optional().default('dist'),\n props: z.array(widgetPropSchema).optional().default([]),\n events: z.array(widgetEventSchema).optional().default([]),\n});\n\n// ==========================================\n// 4. Inferred TypeScript Types\n// ==========================================\n\nexport type WidgetConfigType = z.infer<typeof widgetConfigTypeSchema>;\nexport type WidgetPropConfig = z.infer<typeof widgetPropConfigSchema>;\nexport type WidgetProp = z.infer<typeof widgetPropSchema>;\n\nexport type WidgetEventArgumentName = z.infer<typeof widgetEventArgumentNameSchema>;\nexport type WidgetEventArgument = z.infer<typeof widgetEventArgumentSchema>;\nexport type WidgetEventContextMenu = z.infer<typeof widgetEventContextMenuSchema>;\nexport type WidgetEvent = z.infer<typeof widgetEventSchema>;\n\nexport type WidgetManifest = z.input<typeof widgetManifestSchema>;\nexport type ResolvedWidgetManifest = z.output<typeof widgetManifestSchema>;\n\n// ==========================================\n// 5. Helper & Validation Functions\n// ==========================================\n\n/**\n * Type-helper for defining widget manifest in `.goodo/manifest.ts`.\n * Provides full IDE autocomplete and compile-time type validation.\n */\nexport function defineWidget(config: WidgetManifest): WidgetManifest {\n return config;\n}\n\nexport interface ManifestValidationResult {\n success: boolean;\n data?: ResolvedWidgetManifest;\n errors?: Array<{ path: string; message: string }>;\n}\n\n/**\n * Validates raw manifest data using Zod schema for Node.js environments (e.g. CLI, backend).\n */\nexport function validateWidgetManifest(raw: unknown): ManifestValidationResult {\n const result = widgetManifestSchema.safeParse(raw);\n if (result.success) {\n return {\n success: true,\n data: result.data,\n };\n }\n\n return {\n success: false,\n errors: result.error.issues.map((issue) => ({\n path: issue.path.join('.') || 'root',\n message: issue.message,\n })),\n };\n}"],"names":["widgetConfigTypeSchema","z","widgetPropConfigSchema","widgetPropSchema","widgetEventArgumentNameSchema","widgetArgumentTypeSchema","widgetEventArgumentSchema","widgetEventContextMenuSchema","widgetEventSchema","widgetManifestSchema","defineWidget","config","validateWidgetManifest","raw","result","issue"],"mappings":";AAMO,MAAMA,IAAyBC,EAAE,KAAK;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC,GAEYC,IAAyBD,EAAE,OAAO;AAAA,EAC7C,MAAMD;AAAA,EACN,OAAOC,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,OAAOA,EAAE,OAAA,EAAS,IAAI,GAAG,mCAAmC;AAC9D,CAAC,GAEYE,IAAmBF,EAAE,OAAO;AAAA,EACvC,MAAMA,EAAE,OAAA,EAAS,IAAI,GAAG,2BAA2B;AAAA,EACnD,cAAcA,EAAE,IAAA,EAAM,SAAA,EAAW,QAAQ,IAAI;AAAA,EAC7C,QAAQC,EAAuB,SAAA;AACjC,CAAC,GASYE,IAAgCH,EAAE,KAAK;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AACF,CAAC,GAcYI,IAA0DJ,EAAE;AAAA,EAAK,MAC5EA,EAAE,OAAO;AAAA,IACP,UAAUA,EAAE,OAAA,EAAS,SAAA;AAAA,IACrB,MAAMA,EAAE,OAAA,EAAS,SAAA;AAAA,IACjB,SAASA,EAAE,MAAMA,EAAE,KAAK,MAAMI,CAAwB,CAAC,EAAE,SAAA;AAAA,EAAS,CACnE;AACH,GAKaC,IAA4BL,EAAE,OAAO;AAAA,EAChD,MAAMG;AAAA,EACN,MAAMC;AACR,CAAC,GAKYE,IAA+BN,EAAE,OAAO;AAAA,EACnD,SAASA,EAAE,OAAO;AAAA,IAChB,UAAUA,EAAE,OAAA,EAAS,IAAI,GAAG,8BAA8B;AAAA,EAAA,CAC3D;AACH,CAAC,GAKYO,IAAoBP,EAAE,OAAO;AAAA,EACxC,MAAMA,EAAE,OAAA,EAAS,IAAI,GAAG,wBAAwB;AAAA,EAChD,OAAOA,EAAE,OAAA,EAAS,IAAI,GAAG,yBAAyB;AAAA,EAClD,WAAWA,EAAE,MAAMK,CAAyB,EAAE,SAAA,EAAW,QAAQ,EAAE;AAAA,EACnE,aAAaC,EAA6B,SAAA;AAC5C,CAAC,GAMYE,IAAuBR,EAAE,OAAO;AAAA,EAC3C,IAAIA,EAAE,OAAA,EAAS,IAAI,GAAG,sCAAsC;AAAA,EAC5D,MAAMA,EAAE,OAAA,EAAS,IAAI,GAAG,wCAAwC;AAAA,EAChE,MAAMA,EAAE,OAAA,EAAS,SAAA;AAAA,EACjB,OAAOA,EAAE,OAAA,EAAS,SAAA,EAAW,QAAQ,MAAM;AAAA,EAC3C,OAAOA,EAAE,MAAME,CAAgB,EAAE,SAAA,EAAW,QAAQ,EAAE;AAAA,EACtD,QAAQF,EAAE,MAAMO,CAAiB,EAAE,SAAA,EAAW,QAAQ,CAAA,CAAE;AAC1D,CAAC;AA0BM,SAASE,EAAaC,GAAwC;AACnE,SAAOA;AACT;AAWO,SAASC,EAAuBC,GAAwC;AAC7E,QAAMC,IAASL,EAAqB,UAAUI,CAAG;AACjD,SAAIC,EAAO,UACF;AAAA,IACL,SAAS;AAAA,IACT,MAAMA,EAAO;AAAA,EAAA,IAIV;AAAA,IACL,SAAS;AAAA,IACT,QAAQA,EAAO,MAAM,OAAO,IAAI,CAACC,OAAW;AAAA,MAC1C,MAAMA,EAAM,KAAK,KAAK,GAAG,KAAK;AAAA,MAC9B,SAASA,EAAM;AAAA,IAAA,EACf;AAAA,EAAA;AAEN;"}
|