@luna-park/plugin 1.2.0 → 1.3.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/index.d.ts CHANGED
@@ -1,10 +1,220 @@
1
+ import { CDatabase } from './modules/database/lib/Database';
1
2
  import { Component } from 'vue';
3
+ import { ComputedRef } from 'vue';
4
+ import { Cron } from 'lite-cron';
2
5
  import { IconDefinition } from '@fortawesome/fontawesome-svg-core';
6
+ import { default as LSettingsStoryWrapper } from './components/LSettingsStoryWrapper.vue';
7
+
8
+ declare namespace Anchor {
9
+ export {
10
+ EAnchorDirection,
11
+ ANCHOR_PADDING,
12
+ IAnchor,
13
+ CAnchor,
14
+ ISingleAnchor,
15
+ CSingleAnchor,
16
+ INodeAnchor,
17
+ CNodeAnchor
18
+ }
19
+ }
20
+
21
+ declare const ANCHOR_PADDING = 43;
22
+
23
+ declare abstract class CAnchor implements IAnchor {
24
+ connections: Array<Wire.CWire>;
25
+ dbAnchor: TDBAnchor;
26
+ padding?: number;
27
+ protected constructor(anchor: IAnchor);
28
+ abstract getLocation(): TVector;
29
+ abstract getPadding(): number;
30
+ get schema(): TSchema;
31
+ get schemaRaw(): TSchema;
32
+ get toSchema(): TSchema;
33
+ }
34
+
35
+ declare class CDynamicVariable {
36
+ _dynamic: boolean;
37
+ type: EDynamicVariableType;
38
+ value: unknown;
39
+ token: string;
40
+ access: Array<string>;
41
+ target?: {
42
+ invert: boolean;
43
+ operation: EDynamicVariableOperation;
44
+ variable?: CDynamicVariable;
45
+ };
46
+ constructor({ type, access, target, token, value }?: Partial<TDynamicVariable>);
47
+ getComputed(component: TFileComponent, options?: {
48
+ context?: TLayoutContext;
49
+ stackId?: string;
50
+ }): ComputedRef<CLayoutValue | TReturnValue>;
51
+ getValue(component: TFileComponent, options?: {
52
+ base?: boolean;
53
+ context?: TLayoutContext;
54
+ stackId?: string;
55
+ }): TReturnValue;
56
+ getRawValue(): unknown;
57
+ toJSON(): unknown;
58
+ }
59
+
60
+ declare class CLayoutValue {
61
+ id: string;
62
+ child: Array<string>;
63
+ component: TFileComponent;
64
+ type?: ELayoutValueType;
65
+ baseType?: ELayoutValueType;
66
+ stackId: string;
67
+ context: TLayoutContext;
68
+ constructor(access: Array<string>, component: TFileComponent, options?: {
69
+ context?: TLayoutContext;
70
+ stackId?: string;
71
+ });
72
+ get value(): unknown;
73
+ set value(value: unknown);
74
+ get schema(): TSchema;
75
+ get baseSchema(): TSchema;
76
+ }
77
+
78
+ declare class CNode {
79
+ id: string;
80
+ dbNode: TGeneratedNode;
81
+ element?: HTMLElement;
82
+ invert: boolean;
83
+ parent?: TAnyLogic;
84
+ config: {
85
+ animate: boolean;
86
+ processing: boolean;
87
+ };
88
+ inputs: Record<string, Anchor.CNodeAnchor>;
89
+ outputs: Record<string, Anchor.CNodeAnchor>;
90
+ private cache;
91
+ private _location;
92
+ _data: TNodeData;
93
+ constructor(node: TNode_2);
94
+ get orderedInputs(): Anchor.CNodeAnchor[];
95
+ get orderedOutputs(): Anchor.CNodeAnchor[];
96
+ set location(location: TVector);
97
+ get location(): TVector;
98
+ getSafeInputs(): Record<string, CNodeAnchor>;
99
+ getSafeOutputs(): Record<string, CNodeAnchor>;
100
+ set data(data: Record<string, unknown>);
101
+ get data(): TNodeData;
102
+ reset(): void;
103
+ setLocation(location: TVector): CNode;
104
+ getAnchorLocation(anchor: Anchor.CNodeAnchor): CVector;
105
+ getRelativeAnchorLocation(anchor: Anchor.CNodeAnchor): CVector;
106
+ getRelativeAnchorLocation_internal(anchor: Anchor.CNodeAnchor): CVector;
107
+ getLocation(): CVector;
108
+ private getLocation_internal;
109
+ getSize(): CVector;
110
+ private getSize_internal;
111
+ execute(outputKey: string, stack?: TStack): MaybePromise<void>;
112
+ getInput(inputKey: string, stack?: TStack): unknown;
113
+ setOutput(outputKey: string, value: unknown, stack?: TStack): void;
114
+ }
115
+
116
+ declare class CNodeAnchor extends CAnchor implements INodeAnchor {
117
+ key: string;
118
+ index: number;
119
+ node: Node_2.CNode;
120
+ direction: EAnchorDirection;
121
+ value: unknown;
122
+ element?: HTMLElement;
123
+ cache: {
124
+ preview?: unknown;
125
+ relativeLocation?: CVector;
126
+ };
127
+ constructor(anchor: INodeAnchor);
128
+ get schema(): TSchema;
129
+ get toSchema(): TSchema;
130
+ get schemaRaw(): TSchema;
131
+ getLocation(): CVector;
132
+ getRelativeLocation(): CVector;
133
+ resetCache(): void;
134
+ getPadding(): number;
135
+ isDisabled(): boolean;
136
+ errorMessage(): string | undefined;
137
+ setValue(value: string | number | boolean): void;
138
+ resetValue(): void;
139
+ }
3
140
 
4
141
  declare type Component_2 = {
5
142
  name: string;
6
143
  };
7
144
 
145
+ declare class CPathPoint {
146
+ direction: CVector;
147
+ location: CVector;
148
+ constructor({ direction, location }: {
149
+ direction: TVector;
150
+ location: TVector;
151
+ });
152
+ move(offset: TVector, config?: {
153
+ reverse: boolean;
154
+ }): CPathPoint;
155
+ }
156
+
157
+ declare function create({ from, temp, to }: {
158
+ from: Anchor.CAnchor;
159
+ temp: boolean;
160
+ to: Anchor.CAnchor;
161
+ }): CWire;
162
+
163
+ declare function create_2(dbNode: TLogicNode, { origin }?: {
164
+ origin?: TNode_2;
165
+ }): CNode;
166
+
167
+ declare class CSingleAnchor extends CAnchor implements ISingleAnchor {
168
+ location: TVector;
169
+ constructor(anchor: ISingleAnchor);
170
+ getLocation(): TVector;
171
+ getPadding(): number;
172
+ }
173
+
174
+ declare class CVector {
175
+ x: number;
176
+ y: number;
177
+ constructor(vector: TVector);
178
+ setX(x: number): CVector;
179
+ setY(y: number): CVector;
180
+ clone(): CVector;
181
+ add(vector: TVector): CVector;
182
+ sub(vector: TVector): CVector;
183
+ mul(number: number): CVector;
184
+ div(number: number): CVector;
185
+ round(): CVector;
186
+ addX(x: number): CVector;
187
+ addY(y: number): CVector;
188
+ normalize(): CVector;
189
+ isNearlyEqual(vector: TVector): boolean;
190
+ getPointString(): string;
191
+ getMagnitude(): number;
192
+ }
193
+
194
+ declare class CWire {
195
+ id: string;
196
+ from: Anchor.CAnchor;
197
+ to: Anchor.CAnchor;
198
+ animate: boolean;
199
+ temp: boolean;
200
+ constructor(wire: TWire);
201
+ get type(): TSchema | (TUnknown & TArguments<unknown>);
202
+ get toType(): TSchema;
203
+ getPoints(): string;
204
+ registerRibbon(path: Path): void;
205
+ getBoundingBox(): TRect;
206
+ }
207
+
208
+ declare type DeepPartial<T> = {
209
+ [K in keyof T]?: T[K] extends Array<unknown> ? Array<DeepPartial<T[K][number]>> : T[K] extends Record<string, unknown> ? DeepPartial<T[K]> : T[K];
210
+ };
211
+
212
+ declare enum EAnchorDirection {
213
+ input = "input",
214
+ output = "output",
215
+ none = "none"
216
+ }
217
+
8
218
  declare enum EComponentPreview {
9
219
  Compact = "compact",
10
220
  Stretch = "stretch",
@@ -36,7 +246,12 @@ declare enum EDynamicVariableType {
36
246
  Token = "token"
37
247
  }
38
248
 
39
- declare enum EElementType {
249
+ declare enum EElementTemplate {
250
+ If = "if",
251
+ For = "for"
252
+ }
253
+
254
+ export declare enum EElementType {
40
255
  Script = "script",
41
256
  Standalone = "standalone",
42
257
  Folder = "folder",
@@ -69,6 +284,7 @@ export declare enum EInjectionKey {
69
284
  VitePlugin = "vitePlugin",
70
285
  AppImport = "appImport",
71
286
  AppBody = "appBody",
287
+ AppSetup = "appSetup",
72
288
  Style = "style",
73
289
  ServerImport = "serverImport",
74
290
  ServerBody = "serverBody"
@@ -85,7 +301,30 @@ declare enum ELayoutElement {
85
301
  slot = "slot",
86
302
  template = "template",
87
303
  variable = "variable",
88
- widget = "widget"
304
+ link = "link"
305
+ }
306
+
307
+ declare enum ELayoutEvent {
308
+ click = "click",
309
+ keydown = "keydown",
310
+ mouseenter = "mouseenter",
311
+ mouseleave = "mouseleave",
312
+ mousedown = "mousedown",
313
+ mouseup = "mouseup",
314
+ mousemove = "mousemove",
315
+ wheel = "wheel"
316
+ }
317
+
318
+ declare enum ELayoutValueType {
319
+ variable = "variable",
320
+ property = "property",
321
+ attribute = "attribute",
322
+ context = "context",
323
+ computed = "computed",
324
+ event = "event",
325
+ file = "file",
326
+ model = "model",
327
+ logic = "logic"
89
328
  }
90
329
 
91
330
  declare enum ELogicMode {
@@ -107,6 +346,11 @@ export declare enum ELogicType {
107
346
  operation = "operation"
108
347
  }
109
348
 
349
+ export declare enum EPluginHooks {
350
+ BackendMiddleware = "backend/middleware",
351
+ BackendInputNode = "backend/input-node"
352
+ }
353
+
110
354
  declare enum EResponsiveStrategy {
111
355
  DesktopFirst = "desktop-first",
112
356
  MobileFirst = "mobile-first"
@@ -125,12 +369,6 @@ declare enum EStoreType {
125
369
  Local = "local"
126
370
  }
127
371
 
128
- declare enum EThemeMode {
129
- Dark = "dark",
130
- Light = "light",
131
- Auto = "auto"
132
- }
133
-
134
372
  export declare enum ETokenType {
135
373
  Color = "color",
136
374
  FontSize = "font-size",
@@ -157,21 +395,45 @@ export declare enum EVarType {
157
395
  void = "void"
158
396
  }
159
397
 
398
+ declare function from(wire: TWire): CWire;
399
+
400
+ declare function from_2(node: TNode_2): CNode;
401
+
160
402
  export declare function getPluginParam<T>(target: TOption<TEnv, T>, env: Partial<TEnv>): Promise<T>;
161
403
 
404
+ declare interface IAnchor {
405
+ connections?: Array<Wire.CWire>;
406
+ dbAnchor: TDBAnchor;
407
+ padding?: number;
408
+ }
409
+
410
+ declare interface INodeAnchor extends IAnchor {
411
+ index: number;
412
+ direction: EAnchorDirection;
413
+ element?: HTMLElement;
414
+ key: string;
415
+ node: Node_2.CNode;
416
+ }
417
+
418
+ declare interface ISingleAnchor extends IAnchor {
419
+ location: TVector;
420
+ }
421
+
162
422
  export declare function loadPlugin<TConfig extends TSchema, TInternal>(plugin: TPlugin<TConfig, TInternal>, env: Partial<TEnv>): Promise<TBasePlugin<TConfig, TInternal>>;
163
423
 
164
424
  export declare const LogicType: {
165
- type: <T extends TSchema>(target: Array<string>, args?: TArguments) => TType<T>;
166
425
  array: <T extends TSchema, TArgs extends TArguments<Array<T>>>(items: T, args?: TArgs) => TArray<T> & TArgs;
167
426
  boolean: <TArgs extends TArguments<boolean>>(args?: TArgs) => TBoolean & TArgs;
168
427
  exec: (args?: TArguments) => TExec;
169
- function: <TInputs extends TObject, TOutput extends TSchema = TUndefined>(inputs?: TInputs, output?: TOutput, args?: TArguments) => TFunction<TInputs, TOutput>;
428
+ function: <TInputs extends TObject, TOutput extends TSchema = TUndefined, TPromise extends boolean = false>(inputs?: TInputs, output?: TOutput, args?: TArguments & {
429
+ promise?: TPromise;
430
+ }) => TFunction<TInputs, TOutput, TPromise>;
170
431
  interface: <T, TArgs extends TArguments<T> = TArguments<T>>(interfaceClass: (new (...args: any) => T) | string, args?: TArgs) => TInterface<T> & TArgs;
171
432
  number: <TArgs extends TArguments<number>>(args?: TArgs) => TNumber & TArgs;
172
433
  object: <T extends TProperties, TArgs extends TArguments<object>>(properties?: T, args?: TArgs) => TObject<T> & TArgs;
173
- record: <TKey extends TString | TNumber, TValue extends TSchema = TSchema<TAnyLogic>>(key: TKey, value: TValue, args?: TArguments) => TRecord<TKey, TValue>;
434
+ record: <TKey extends TString | TNumber, TValue extends TSchema = TSchema<TAnyLogic_2>>(key: TKey, value: TValue, args?: TArguments) => TRecord<TKey, TValue>;
174
435
  string: <TArgs extends TArguments<string>>(args?: TArgs) => TString & TArgs;
436
+ type: <T extends TSchema>(target: Array<string>, args?: TArguments) => TType<T>;
175
437
  undefined: (args?: TArguments) => TUndefined;
176
438
  union: <T extends Array<TSchema>>(elements: T, args?: TArguments) => TUnion<T>;
177
439
  unknown: <TArgs extends TArguments<unknown>>(args?: TArgs) => TUnknown & TArgs;
@@ -186,27 +448,56 @@ export declare const LogicUtil: {
186
448
  required(target: TObject): TObject;
187
449
  };
188
450
 
451
+ export { LSettingsStoryWrapper }
452
+
453
+ export declare function makeComponent<TProps extends Record<string, TSchema>>(component: TComponent<TProps>): TComponent<TProps>;
454
+
189
455
  export declare function makeLogicNode<TInputs extends TNodeInterfaceDescriptor, TOutputs extends TNodeInterfaceDescriptor, TConfig extends TNodeConfigDescriptor>(node: TNodeDescriptor<TInputs, TOutputs, TConfig>): TLogicNode;
190
456
 
457
+ declare function makePath(start: CPathPoint, end: CPathPoint): Path;
458
+
191
459
  export declare function makePlugin<TConfig extends TSchema, TInternal>(plugin: TPlugin<TConfig, TInternal>): TPlugin<TConfig, TInternal>;
192
460
 
461
+ declare type MaybePromise<T> = T | Promise<T>;
462
+
193
463
  declare type MethodsFrom<TInterface extends TNodeInterfaceDescriptor> = {
194
- [TKey in keyof TInterface]: () => Promise<Static<TInterface[TKey]>> | Static<TInterface[TKey]>;
464
+ [TKey in keyof TInterface]: (() => MaybePromise<Static<TInterface[TKey]>>) | {
465
+ async: () => Promise<Static<TInterface[TKey]>>;
466
+ sync: () => MaybePromise<Static<TInterface[TKey]>>;
467
+ };
195
468
  };
196
469
 
470
+ declare namespace Node_2 {
471
+ export {
472
+ from_2 as from,
473
+ create_2 as create,
474
+ NODE_WIDTH,
475
+ TNode_2 as TNode,
476
+ CNode
477
+ }
478
+ }
479
+
480
+ declare const NODE_WIDTH = 10;
481
+
197
482
  declare type OptionalKeys<T extends TProperties> = {
198
483
  [K in keyof T]: T[K] extends {
199
484
  optional: true;
200
485
  } ? K : never;
201
486
  }[keyof T];
202
487
 
488
+ declare type Path = Array<CPathPoint>;
489
+
490
+ declare function pathToString(path: Path, config?: {
491
+ smoothing: boolean;
492
+ }): string;
493
+
203
494
  declare type RequiredKeys<T extends TProperties> = Exclude<keyof T, OptionalKeys<T>>;
204
495
 
205
- declare type Static<T extends TSchema> = T extends {
496
+ export declare type Static<T extends TSchema> = T extends {
206
497
  optional: true;
207
498
  } ? (T["static"] | undefined) : T["static"];
208
499
 
209
- declare type StaticFunction<TInputs extends TObject, TOutput extends TSchema> = (...args: Array<Static<TInputs>[string]>) => Promise<Static<TOutput>>;
500
+ declare type StaticFunction<TInputs extends TObject, TOutput extends TSchema, TPromise extends boolean = false> = TPromise extends true ? (...args: Array<Static<TInputs>[string]>) => Promise<Static<TOutput>> : (...args: Array<Static<TInputs>[string]>) => Static<TOutput>;
210
501
 
211
502
  declare type StaticObject<T extends TProperties> = {
212
503
  [K in RequiredKeys<T>]: Static<T[K]>;
@@ -227,9 +518,22 @@ declare type StaticUnion<T extends Array<TSchema>> = {
227
518
  [K in keyof T]: Static<T[K]>;
228
519
  }[number];
229
520
 
230
- declare type TAnchorExport = TSchema;
521
+ declare type TAnchor<TExport extends boolean = false> = TExport extends true ? TSchema : {
522
+ id: string;
523
+ parent?: TLogic<TExport>;
524
+ schema: TSchema;
525
+ };
526
+
527
+ export declare type TAnyLogic<TExport extends boolean = false> = TLogic<TExport> | TLogicMain<TExport>;
231
528
 
232
- declare type TAnyLogic = TExec | TObject | TRecord<any, any> | TInterface | TType | TArray<any> | TString | TNumber | TBoolean | TUnknown | TUndefined | TUnion<any> | TFunction<any, any> | TVoid;
529
+ declare type TAnyLogic_2 = TExec | TObject | TRecord<any, any> | TInterface | TType | TArray<any> | TString | TNumber | TBoolean | TUnknown | TUndefined | TUnion<any> | TFunction<any, any> | TVoid;
530
+
531
+ export declare type TApplication<TExport extends boolean = false> = {
532
+ name: string;
533
+ config: TApplicationConfig;
534
+ tree: TFile<TExport>;
535
+ version: number;
536
+ };
233
537
 
234
538
  declare type TApplicationConfig = {
235
539
  backend: {
@@ -256,21 +560,6 @@ declare type TApplicationConfig = {
256
560
  types: TExportNodeResult["types"];
257
561
  }>;
258
562
  palette: {
259
- content: string;
260
- forceTheme: boolean;
261
- inject: {
262
- css: string;
263
- head: string;
264
- html: string;
265
- js: string;
266
- };
267
- length: {
268
- border: number;
269
- radius: number;
270
- };
271
- matchEditor: boolean;
272
- primary: string;
273
- theme: EThemeMode;
274
563
  tokens: {
275
564
  colors: Array<{
276
565
  id: string;
@@ -288,10 +577,16 @@ declare type TApplicationConfig = {
288
577
  value: string;
289
578
  }>;
290
579
  };
580
+ inject: {
581
+ html: string;
582
+ css: string;
583
+ js: string;
584
+ head: string;
585
+ };
291
586
  };
292
587
  plugins: Record<string, {
293
588
  config?: unknown;
294
- internal?: unknown;
589
+ internals?: unknown;
295
590
  target: string;
296
591
  }>;
297
592
  state: {
@@ -308,17 +603,10 @@ declare type TApplicationConfig = {
308
603
  };
309
604
  };
310
605
 
311
- declare type TApplicationExport = {
312
- name: string;
313
- config: TApplicationConfig;
314
- tree: TFileExport;
315
- };
316
-
317
- declare interface TArguments<TType = any> {
318
- name?: string;
606
+ declare interface TArguments<TType = unknown> {
319
607
  build?: (arg: unknown) => unknown;
320
608
  customizable?: boolean;
321
- default?: TType;
609
+ default?: TType | (() => TType);
322
610
  defaultType?: TSchema;
323
611
  description?: string;
324
612
  dynamic?: ((arg: {
@@ -330,10 +618,13 @@ declare interface TArguments<TType = any> {
330
618
  example?: unknown;
331
619
  format?: "date-time" | "email" | "color";
332
620
  multiple?: boolean;
621
+ name?: string;
333
622
  optional?: boolean;
334
623
  options?: {
624
+ access?: TSchema<TObject>;
335
625
  format?: (arg: TType) => TType;
336
626
  freeze?: boolean;
627
+ readonly?: boolean;
337
628
  } & Record<string, unknown>;
338
629
  parse?: (arg: unknown) => unknown;
339
630
  placeholder?: string;
@@ -345,12 +636,25 @@ declare interface TArguments<TType = any> {
345
636
  }
346
637
 
347
638
  declare interface TArray<T extends TSchema = TSchema> {
348
- type: EVarType.array;
349
639
  items: T;
350
640
  static: Array<Static<T>>;
641
+ type: EVarType.array;
351
642
  }
352
643
 
353
- export declare type TBasePlugin<TConfig extends TSchema = TSchema, TInternal = unknown> = {
644
+ declare type TBaseDynamicVariable = {
645
+ type: EDynamicVariableType;
646
+ _dynamic: true;
647
+ access: Array<string>;
648
+ target: {
649
+ invert?: boolean;
650
+ operation: EDynamicVariableOperation;
651
+ variable?: TDynamicVariable;
652
+ };
653
+ token: string;
654
+ value: unknown;
655
+ };
656
+
657
+ export declare type TBasePlugin<TConfig extends TSchema = TSchema, TInternals = unknown> = {
354
658
  build?: {
355
659
  backImports?: Array<{
356
660
  name: string;
@@ -362,6 +666,7 @@ export declare type TBasePlugin<TConfig extends TSchema = TSchema, TInternal = u
362
666
  }>;
363
667
  injections?: Partial<Record<EInjectionKey, string>>;
364
668
  };
669
+ color?: string;
365
670
  config?: TConfig;
366
671
  dependencies?: Array<{
367
672
  id: string;
@@ -371,10 +676,16 @@ export declare type TBasePlugin<TConfig extends TSchema = TSchema, TInternal = u
371
676
  description?: string;
372
677
  editor?: {
373
678
  components?: Array<TComponent>;
679
+ interfaces?: Array<TInterface_2>;
374
680
  nodes?: Array<TLogicNode>;
375
681
  templates?: Array<TTemplate>;
376
682
  tokens?: Array<TToken>;
377
- wrapper?: TComponent;
683
+ wrapper?: TComponent & {
684
+ attributes?: Record<string, unknown>;
685
+ };
686
+ };
687
+ hooks?: {
688
+ [THook in EPluginHooks]?: (params: THookParams[THook]) => MaybePromise<void>;
378
689
  };
379
690
  icon: string;
380
691
  id: string;
@@ -383,30 +694,37 @@ export declare type TBasePlugin<TConfig extends TSchema = TSchema, TInternal = u
383
694
  js?: string;
384
695
  };
385
696
  interface?: Component;
386
- internal?: TInternal;
697
+ internals?: TInternals;
387
698
  lifecycle?: {
388
- mount?: (env: TEnv<TConfig, TInternal>) => Promise<void> | void;
389
- unmount?: (env: TEnv<TConfig, TInternal>) => Promise<void> | void;
390
- update?: (env: TEnv<TConfig, TInternal>) => Promise<void> | void;
699
+ mount?: (env: TEnv<TConfig, TInternals>) => Promise<void> | void;
700
+ unmount?: (env: TEnv<TConfig, TInternals>) => Promise<void> | void;
701
+ update?: (env: TEnv<TConfig, TInternals>) => Promise<void> | void;
391
702
  };
392
703
  name: string;
704
+ settings?: Array<{
705
+ component: Component;
706
+ icon?: IconDefinition | string;
707
+ label: string;
708
+ }>;
709
+ windows?: Record<string, Component>;
393
710
  };
394
711
 
395
712
  declare interface TBoolean {
396
- type: EVarType.boolean;
397
713
  static: boolean;
714
+ type: EVarType.boolean;
398
715
  }
399
716
 
400
- declare type TCanvasExport = {
717
+ declare type TCanvas = {
401
718
  location: TVector;
402
719
  zoom: number;
403
720
  };
404
721
 
405
- export declare type TComponent<TProps extends Record<string, TSchema> = Record<string, TSchema>> = {
722
+ export declare type TComponent<TProps extends Record<string, TSchema> = Record<string, TSchema>, TInternals = unknown> = {
406
723
  build?: {
407
- import?: Array<{
724
+ imports?: Array<{
725
+ default?: boolean;
726
+ from: string;
408
727
  name: string;
409
- target: string;
410
728
  }>;
411
729
  name?: string;
412
730
  };
@@ -416,27 +734,21 @@ export declare type TComponent<TProps extends Record<string, TSchema> = Record<s
416
734
  link?: string;
417
735
  };
418
736
  emits?: Record<string, TSchema>;
737
+ icon?: IconDefinition | string;
738
+ internals?: TInternals;
419
739
  models?: Record<string, TSchema>;
420
740
  name: string;
421
- properties?: TProps;
422
- slots?: Record<string, TSlot> | ((attributes: StaticOfProps<TProps>) => Record<string, TSlot>);
423
- };
424
-
425
- declare type TComponentExport = {
426
- name: string;
427
- type: EElementType.Component;
428
- collapsed?: boolean;
429
- layout: TLayoutSchemaExport;
430
- logics: Record<string, TLogicExport | TMainLogicExport>;
431
- options: TComponentOptions;
432
- state: TStateExport;
433
- values: {
434
- computed: Record<string, TValueExport>;
435
- events: Record<string, TValueExport>;
436
- model?: TSchema;
437
- properties: Record<string, TValueExport>;
438
- variables: Record<string, TValueExport>;
741
+ preview?: {
742
+ properties?: Partial<{
743
+ [TKey in keyof TProps]: Static<TProps[TKey]>;
744
+ }>;
745
+ slots?: Record<string, string>;
746
+ style?: string;
439
747
  };
748
+ properties?: TProps;
749
+ slots?: Record<string, TSlot> | ((attributes: StaticOfProps<TProps> & {
750
+ internals: TInternals;
751
+ }) => Record<string, TSlot>);
440
752
  };
441
753
 
442
754
  declare type TComponentOptions = {
@@ -446,32 +758,9 @@ declare type TComponentOptions = {
446
758
  previewSize: string;
447
759
  };
448
760
 
449
- declare type TConfigExport = {
450
- name: string;
451
- type: EElementType.Config;
452
- content: unknown;
453
- display: EConfigDisplay;
761
+ declare type TDBAnchor = {
762
+ id?: string;
454
763
  schema: TSchema;
455
- scope: ELogicScope;
456
- state: TStateExport;
457
- };
458
-
459
- declare type TCronExport = {
460
- name: string;
461
- type: EElementType.Cron;
462
- active: boolean;
463
- editorTrigger: boolean;
464
- logics: Record<string, TLogicExport | TMainLogicExport>;
465
- state: TStateExport;
466
- time: string;
467
- };
468
-
469
- declare type TDatabaseExport = {
470
- name: string;
471
- type: EElementType.Database;
472
- data: Array<Record<string, unknown>>;
473
- schema: TSchema<TObject>;
474
- state: TStateExport;
475
764
  };
476
765
 
477
766
  declare type TDocumentation = {
@@ -487,29 +776,29 @@ declare type TDocumentation = {
487
776
  }>;
488
777
  }>;
489
778
  parameters?: Array<{
490
- name: string;
491
779
  description: string;
780
+ name: string;
492
781
  }>;
493
782
  };
494
783
 
495
- declare type TDynamicVariable = {
496
- type: EDynamicVariableType;
497
- access: Array<string>;
498
- target: {
499
- invert?: boolean;
500
- operation: EDynamicVariableOperation;
501
- variable?: TDynamicVariable;
502
- };
503
- token: string;
504
- value: unknown;
505
- };
784
+ declare type TDynamicVariable<TExport extends boolean = false> = (TExport extends true ? TBaseDynamicVariable : CDynamicVariable) | unknown;
506
785
 
507
786
  declare type TEnum<TEnumType> = Array<TEnumType> | Record<string, TEnumType>;
508
787
 
509
- declare type TEnv<TConfig extends TSchema = TSchema, TInternal = unknown> = {
510
- app: TApplicationExport;
788
+ export declare type TEnv<TConfig extends TSchema = TSchema, TInternals = unknown> = {
789
+ addFile: (file: DeepPartial<TFile<true>> & {
790
+ type: EElementType;
791
+ }, parentId?: string) => TFile;
792
+ app: TApplication;
793
+ backend: {
794
+ cookies: Record<string, {
795
+ options?: Record<string, string>;
796
+ value: string;
797
+ }>;
798
+ };
511
799
  config: Static<TConfig>;
512
- internal: TInternal;
800
+ getFile: (id: string) => TFile | undefined;
801
+ internals: TInternals;
513
802
  mode: "build" | "editor";
514
803
  };
515
804
 
@@ -533,71 +822,277 @@ declare type TExportNodeResult = {
533
822
  types: Record<string, TSchema>;
534
823
  };
535
824
 
536
- export declare type TFileExport = (TFolderExport | TComponentExport | TConfigExport | TCronExport | TDatabaseExport | TRouteExport | TScriptExport | TStoreExport | TTextExport | TTypeExport | TMediaExport) & {
825
+ export declare type TFile<TExport extends boolean = false> = (TFolder<TExport> | TFileComponent<TExport> | TFileConfig<TExport> | TFileCron<TExport> | TFileDatabase<TExport> | TFileRoute<TExport> | TFileScript<TExport> | TFileStore<TExport> | TFileText<TExport> | TFileType<TExport> | TFileMedia<TExport>) & {
537
826
  isEditing?: boolean;
538
827
  };
539
828
 
540
- declare type TFolderExport = {
829
+ declare type TFileBase<TExport extends boolean = false> = {
541
830
  name: string;
831
+ state: TFileState;
832
+ } & (TExport extends false ? {
833
+ id: string;
834
+ parent?: TFolder<TExport>;
835
+ } : {});
836
+
837
+ export declare type TFileComponent<TExport extends boolean = false> = TFileBase<TExport> & {
838
+ type: EElementType.Component;
839
+ collapsed?: boolean;
840
+ layout: TLayoutSchema<ELayoutElement, TExport>;
841
+ logics: Record<string, TLogic<TExport> | TLogicMain<TExport>>;
842
+ options: TComponentOptions;
843
+ values: {
844
+ computed: Record<string, TValue<TExport>>;
845
+ events: Record<string, TValue<TExport>>;
846
+ model?: TSchema;
847
+ properties: Record<string, TValue<TExport>>;
848
+ variables: Record<string, TValue<TExport>>;
849
+ };
850
+ } & (TExport extends false ? {
851
+ flat: Record<string, TLayoutSchema>;
852
+ } : {});
853
+
854
+ export declare type TFileConfig<TExport extends boolean = false> = TFileBase<TExport> & {
855
+ type: EElementType.Config;
856
+ content: unknown;
857
+ display: EConfigDisplay;
858
+ schema: TSchema;
859
+ scope: ELogicScope;
860
+ };
861
+
862
+ export declare type TFileCron<TExport extends boolean = false> = TFileBase<TExport> & {
863
+ type: EElementType.Cron;
864
+ active: boolean;
865
+ editorTrigger: boolean;
866
+ logics: Record<string, TAnyLogic<TExport>>;
867
+ time: string;
868
+ } & (TExport extends false ? {
869
+ cron?: Cron;
870
+ scope: ELogicScope.Backend;
871
+ } : {});
872
+
873
+ export declare type TFileDatabase<TExport extends boolean = false> = TFileBase<TExport> & {
874
+ type: EElementType.Database;
875
+ data: Array<Record<string, unknown>>;
876
+ schema: TSchema<TObject>;
877
+ } & (TExport extends false ? {
878
+ db: CDatabase;
879
+ scope: ELogicScope.Backend;
880
+ } : {});
881
+
882
+ export declare type TFileMedia<TExport extends boolean = false> = TFileBase<TExport> & {
883
+ type: EElementType.Media;
884
+ mimeType: string;
885
+ target: string;
886
+ };
887
+
888
+ export declare type TFileRoute<TExport extends boolean = false> = TFileBase<TExport> & {
889
+ type: EElementType.Route;
890
+ dev?: boolean;
891
+ input: {
892
+ body: TSchema;
893
+ headers: TSchema;
894
+ query: TSchema;
895
+ };
896
+ logics: Record<string, TAnyLogic<TExport>>;
897
+ method: ERouteMethod;
898
+ output: TSchema;
899
+ path: string;
900
+ } & (TExport extends false ? {
901
+ scope: ELogicScope.Backend;
902
+ } : {});
903
+
904
+ export declare type TFileScript<TExport extends boolean = false> = TFileBase<TExport> & {
905
+ type: EElementType.Script;
906
+ logics: Record<string, TAnyLogic<TExport>>;
907
+ options?: {
908
+ autoReload?: boolean;
909
+ };
910
+ scope: ELogicScope;
911
+ };
912
+
913
+ declare type TFileState = {
914
+ expand?: boolean;
915
+ isEditing?: boolean;
916
+ logic?: {
917
+ location: TVector;
918
+ zoom: number;
919
+ };
920
+ opened?: boolean;
921
+ panel?: string;
922
+ };
923
+
924
+ export declare type TFileStore<TExport extends boolean = false> = TFileBase<TExport> & {
925
+ type: EElementType.Store;
926
+ default: unknown;
927
+ logics: Record<string, TLogic<TExport>>;
928
+ options: TStoreOptions;
929
+ schema: TSchema;
930
+ } & (TExport extends false ? {
931
+ proxy: TSchema;
932
+ scope: ELogicScope.Frontend;
933
+ value: Record<string, unknown>;
934
+ } : {});
935
+
936
+ export declare type TFileText<TExport extends boolean = false> = TFileBase<TExport> & {
937
+ type: EElementType.Text;
938
+ blocks: Array<{
939
+ content: string;
940
+ key: string;
941
+ }>;
942
+ } & (TExport extends false ? {
943
+ scope: ELogicScope.Frontend;
944
+ } : {});
945
+
946
+ export declare type TFileType<TExport extends boolean = false> = TFileBase<TExport> & {
947
+ name: string;
948
+ type: EElementType.Type;
949
+ schemas: Record<string, TSchema>;
950
+ } & (TExport extends false ? {
951
+ scope: ELogicScope.Shared;
952
+ } : {});
953
+
954
+ export declare type TFolder<TExport extends boolean = false> = TFileBase<TExport> & {
542
955
  type: EElementType.Folder;
543
- children: Record<string, TFileExport>;
956
+ children: Record<string, TFile<TExport>>;
544
957
  color?: string;
545
958
  };
546
959
 
547
- declare interface TFunction<TInputs extends TObject = TObject, TOutput extends TSchema = TUnknown> {
548
- type: EVarType.function;
960
+ declare interface TFunction<TInputs extends TObject = TObject, TOutput extends TSchema = TUnknown, TPromise extends boolean = false> {
549
961
  inputs: TInputs;
550
962
  output: TOutput;
551
- static: StaticFunction<TInputs, TOutput>;
963
+ static: StaticFunction<TInputs, TOutput, TPromise>;
964
+ type: EVarType.function;
552
965
  }
553
966
 
554
- declare type TGraphExport = {
555
- canvas: TCanvasExport;
556
- nodes: Record<string, TNodeExport>;
557
- wires: Record<string, TWireExport>;
967
+ declare type TGeneratedNode<TLogic extends TLogicNode = TLogicNode> = TLogic & {
968
+ node?: CNode;
969
+ origin: TLogic;
970
+ proxy: any;
971
+ };
972
+
973
+ declare type TGraph<TExport extends boolean = false> = {
974
+ canvas: TCanvas;
975
+ nodes: Record<string, TNode<TExport>>;
976
+ wires: Record<string, TWire_2<TExport>>;
977
+ };
978
+
979
+ export declare type THookParams = {
980
+ [EPluginHooks.BackendMiddleware]: {
981
+ cookies: Record<string, {
982
+ options?: Record<string, unknown>;
983
+ value: string;
984
+ }>;
985
+ setContextVar: (key: string, value: unknown) => void;
986
+ };
987
+ [EPluginHooks.BackendInputNode]: {
988
+ addInput: (key: string, schema: TSchema) => void;
989
+ };
558
990
  };
559
991
 
560
992
  declare interface TInterface<T = unknown> {
561
- type: EVarType.interface;
562
993
  class?: new (...args: any) => T;
563
994
  className: string;
564
995
  static: T;
996
+ type: EVarType.interface;
565
997
  }
566
998
 
567
- declare type TLayoutSchemaExport = {
568
- id: string;
999
+ declare type TInterface_2 = {
1000
+ arguments?: Array<TSchema>;
1001
+ class?: new (...args: Array<unknown>) => unknown;
1002
+ methods?: Array<{
1003
+ name: string;
1004
+ parameters?: Array<TSchema>;
1005
+ return: TSchema;
1006
+ }>;
569
1007
  name: string;
570
- children: Array<TLayoutSchemaExport>;
571
- classes: Array<TDynamicVariable>;
572
- content?: Record<string, unknown>;
573
- element: ELayoutElement;
574
- events: Array<string>;
575
- model?: Array<string>;
576
- properties: Record<string, TDynamicVariable>;
577
- style: Record<"base" | string, Record<"default" | "hover", Record<string, Record<string, TDynamicVariable>> & {
578
- collapsed?: boolean;
579
- }>>;
580
- tag?: string;
581
1008
  };
582
1009
 
583
- declare type TLogicExport = {
584
- name: string;
1010
+ declare type TLayoutContentType<TElement extends ELayoutElement, TExport extends boolean = false> = TElement extends ELayoutElement.variable ? {
1011
+ var: CDynamicVariable | unknown;
1012
+ } : TElement extends ELayoutElement.component ? {
1013
+ id: string;
1014
+ slot: boolean;
1015
+ slots: Record<string, TLayoutSchema<TElement, TExport>>;
1016
+ } : TElement extends ELayoutElement.customText ? {
1017
+ text: TTextBlock;
1018
+ variables: Array<string>;
1019
+ } : TElement extends ELayoutElement.customHtml ? {
1020
+ html: string;
1021
+ variables: Array<string>;
1022
+ } : TElement extends ELayoutElement.template ? {
1023
+ preview: string;
1024
+ template: EElementTemplate;
1025
+ var: CDynamicVariable | unknown;
1026
+ } : TElement extends ELayoutElement.package ? {
1027
+ slot: boolean;
1028
+ slots: Record<string, TLayoutSchema<TElement, TExport>>;
1029
+ target: Array<string>;
1030
+ } : Record<string, unknown>;
1031
+
1032
+ declare type TLayoutContext = Record<string, TLayoutContextVariable>;
1033
+
1034
+ declare type TLayoutContextVariable = {
1035
+ schema: TSchema;
1036
+ value: unknown;
1037
+ };
1038
+
1039
+ declare type TLayoutSchema<TElement extends ELayoutElement = ELayoutElement, TExport extends boolean = false> = {
1040
+ [TInnerElement in TElement]: {
1041
+ id: string;
1042
+ name: string;
1043
+ children: Array<TLayoutSchema<ELayoutElement, TExport>>;
1044
+ classes: Array<TDynamicVariable<TExport>>;
1045
+ collapsed?: boolean;
1046
+ component: TFileComponent<TExport>;
1047
+ content: TLayoutContentType<TInnerElement>;
1048
+ element: TInnerElement;
1049
+ events: Array<ELayoutEvent | string>;
1050
+ model?: Array<string>;
1051
+ properties: Record<string, TDynamicVariable<TExport>>;
1052
+ style: Record<"base" | string, Record<"default" | "hover", Record<string, Record<string, TDynamicVariable<TExport>>> & {
1053
+ collapsed?: boolean;
1054
+ }>>;
1055
+ tag?: string;
1056
+ };
1057
+ }[TElement] & (TExport extends false ? {
1058
+ parent?: TLayoutSchema<ELayoutElement, TExport>;
1059
+ } : {});
1060
+
1061
+ export declare type TLogic<TExport extends boolean = false> = TLogicBase<TExport> & {
585
1062
  type: EElementType.Logic | EElementType.Standalone;
1063
+ async: boolean;
586
1064
  code?: string;
587
1065
  export: boolean;
588
- graph: TGraphExport;
589
- inputs: Record<string, TAnchorExport>;
1066
+ inputs: Record<string, TAnchor<TExport>>;
590
1067
  mode: ELogicMode;
591
- outputs: Record<string, TAnchorExport>;
1068
+ outputs: Record<string, TAnchor<TExport>>;
592
1069
  packages?: Array<string>;
1070
+ } & (TExport extends false ? {
1071
+ id: string;
1072
+ } : {});
1073
+
1074
+ declare type TLogicBase<TExport extends boolean = false> = {
1075
+ name: string;
1076
+ type: EElementType;
1077
+ graph: TGraph<TExport>;
593
1078
  values: {
594
- variables: Record<string, TValueExport>;
1079
+ variables: Record<string, TValue<TExport>>;
595
1080
  };
596
- };
1081
+ } & (TExport extends false ? {
1082
+ id: string;
1083
+ db: Record<string, TLogicNode>;
1084
+ isEditing?: boolean;
1085
+ parent: TFile<TExport>;
1086
+ } : {});
1087
+
1088
+ export declare type TLogicMain<TExport extends boolean = false> = TLogicBase<TExport> & {
1089
+ name: "Main";
1090
+ type: EElementType.MainLogic;
1091
+ } & (TExport extends false ? {
1092
+ id: "main";
1093
+ } : {});
597
1094
 
598
1095
  export declare type TLogicNode = {
599
- name: string;
600
- type?: ELogicType;
601
1096
  build?: {
602
1097
  define?: Array<{
603
1098
  id: (data: {
@@ -637,27 +1132,32 @@ export declare type TLogicNode = {
637
1132
  };
638
1133
  inputs: TNodeInterfaceDescriptor;
639
1134
  methods: Record<string, () => unknown>;
1135
+ name: string;
640
1136
  outputs: TNodeInterfaceDescriptor;
1137
+ type?: ELogicType;
641
1138
  };
642
1139
 
643
- declare type TMainLogicExport = {
644
- name: "Main";
645
- type: EElementType.MainLogic;
646
- graph: TGraphExport;
647
- values: {
648
- variables: Record<string, TValueExport>;
1140
+ declare type TMethodsOf<TInputs extends TNodeInterfaceDescriptor, TOutputs extends TNodeInterfaceDescriptor> = MethodsFrom<TOnlyExecOf<TInputs>> & MethodsFrom<TOnlyVarsOf<TOutputs>>;
1141
+
1142
+ declare type TNode<TExport extends boolean = false> = TExport extends true ? {
1143
+ data?: Record<string, unknown>;
1144
+ internal?: {
1145
+ inputs?: Record<string, unknown>;
1146
+ outputs?: Record<string, unknown>;
649
1147
  };
650
- };
1148
+ location: TVector;
1149
+ logic: string;
1150
+ } : CNode;
651
1151
 
652
- declare type TMediaExport = {
653
- name: string;
654
- type: EElementType.Media;
655
- mimeType: string;
656
- target: string;
1152
+ declare type TNode_2 = {
1153
+ id: string;
1154
+ inputs: Record<string, Anchor.CNodeAnchor>;
1155
+ outputs: Record<string, Anchor.CNodeAnchor>;
1156
+ data?: object;
1157
+ dbNode: TGeneratedNode;
1158
+ location: TVector;
657
1159
  };
658
1160
 
659
- declare type TMethodsOf<TInputs extends TNodeInterfaceDescriptor, TOutputs extends TNodeInterfaceDescriptor> = MethodsFrom<TOnlyExecOf<TInputs>> & MethodsFrom<TOnlyVarsOf<TOutputs>>;
660
-
661
1161
  declare type TNodeConfigDescriptor = Record<string, TSchema>;
662
1162
 
663
1163
  declare type TNodeConfigSchema<TConfig extends TNodeConfigDescriptor> = {
@@ -666,6 +1166,16 @@ declare type TNodeConfigSchema<TConfig extends TNodeConfigDescriptor> = {
666
1166
  [TKey in keyof TConfig]: Static<TConfig[TKey]>;
667
1167
  };
668
1168
 
1169
+ declare type TNodeData = {
1170
+ config?: Record<string, unknown>;
1171
+ multiple?: {
1172
+ isArray?: boolean;
1173
+ number: number;
1174
+ };
1175
+ optionals?: Record<string, boolean>;
1176
+ size?: TVector;
1177
+ } & Record<string, unknown>;
1178
+
669
1179
  declare type TNodeDescriptor<TInputs extends TNodeInterfaceDescriptor, TOutputs extends TNodeInterfaceDescriptor, TConfig extends TNodeConfigDescriptor> = TNodeGenerated<TInputs, TOutputs, TConfig> & ThisType<{
670
1180
  [TKey in keyof TOnlyExecOf<TOutputs>]: (stack?: unknown) => Promise<void>;
671
1181
  } & {
@@ -674,6 +1184,7 @@ declare type TNodeDescriptor<TInputs extends TNodeInterfaceDescriptor, TOutputs
674
1184
  [TKey in keyof TOnlyVarsOf<TOutputs>]: Static<TOutputs[TKey]>;
675
1185
  } & Record<`internal_${string}`, unknown> & {
676
1186
  arguments: Promise<Array<unknown>>;
1187
+ cache: Record<string, unknown>;
677
1188
  config: {
678
1189
  [TKey in keyof TConfig]: Static<TConfig[TKey]>;
679
1190
  };
@@ -685,7 +1196,6 @@ declare type TNodeDescriptor<TInputs extends TNodeInterfaceDescriptor, TOutputs
685
1196
  }>;
686
1197
 
687
1198
  declare type TNodeDisplay = {
688
- name?: string;
689
1199
  altSearch?: string;
690
1200
  config?: {
691
1201
  back?: string | IconDefinition;
@@ -695,7 +1205,6 @@ declare type TNodeDisplay = {
695
1205
  y: number;
696
1206
  };
697
1207
  };
698
- dependency?: () => void;
699
1208
  fixed?: boolean;
700
1209
  headerless?: boolean;
701
1210
  hoverable?: boolean;
@@ -713,6 +1222,7 @@ declare type TNodeDisplay = {
713
1222
  data?: Record<string, unknown>;
714
1223
  inspector?: string;
715
1224
  interface?: Component_2 | string;
1225
+ name?: string;
716
1226
  priority?: number;
717
1227
  };
718
1228
 
@@ -731,19 +1241,7 @@ declare type TNodeDynamics<TInputs extends TNodeInterfaceDescriptor, TOutputs ex
731
1241
  }) => Partial<TNodeInterfaceDescriptor>;
732
1242
  };
733
1243
 
734
- declare type TNodeExport = {
735
- data?: Record<string, unknown>;
736
- internal?: {
737
- inputs?: Record<string, unknown>;
738
- outputs?: Record<string, unknown>;
739
- };
740
- location: TVector;
741
- logic: string;
742
- };
743
-
744
1244
  declare type TNodeGenerated<TInputs extends TNodeInterfaceDescriptor, TOutputs extends TNodeInterfaceDescriptor, TConfig extends TNodeConfigDescriptor> = {
745
- name?: string;
746
- type?: ELogicType;
747
1245
  build?: {
748
1246
  define?: Array<{
749
1247
  id: (data: {
@@ -772,7 +1270,9 @@ declare type TNodeGenerated<TInputs extends TNodeInterfaceDescriptor, TOutputs e
772
1270
  dynamics?: TNodeDynamics<TInputs, TOutputs, TConfig>;
773
1271
  inputs: TInputs;
774
1272
  methods: Partial<TMethodsOf<TInputs, TOutputs>>;
1273
+ name?: string;
775
1274
  outputs: TOutputs;
1275
+ type?: ELogicType;
776
1276
  };
777
1277
 
778
1278
  declare type TNodeInterfaceDescriptor = Record<string, TSchema>;
@@ -790,14 +1290,14 @@ declare type TNodeOptionals<TInputs extends TNodeInterfaceDescriptor, TOutputs e
790
1290
  };
791
1291
 
792
1292
  declare interface TNumber {
793
- type: EVarType.number;
794
1293
  static: number;
1294
+ type: EVarType.number;
795
1295
  }
796
1296
 
797
1297
  declare interface TObject<T extends TProperties = TProperties> {
798
- type: EVarType.object;
799
1298
  properties: T;
800
1299
  static: StaticObject<T>;
1300
+ type: EVarType.object;
801
1301
  }
802
1302
 
803
1303
  declare type TOnlyExecOf<TNodeInterfaceDescriptor> = {
@@ -808,7 +1308,7 @@ declare type TOnlyVarsOf<TNodeInterfaceDescriptor> = {
808
1308
  [TAnchor in keyof TNodeInterfaceDescriptor as TNodeInterfaceDescriptor[TAnchor] extends TExec ? never : TAnchor]: TNodeInterfaceDescriptor[TAnchor];
809
1309
  };
810
1310
 
811
- declare type TOption<TParams = unknown, TResult = unknown> = TResult | ((env: TParams) => Promise<TResult> | TResult);
1311
+ export declare type TOption<TParams = unknown, TResult = unknown> = TResult | ((env: TParams) => Promise<TResult> | TResult);
812
1312
 
813
1313
  export declare type TPlugin<TConfig extends TSchema = TSchema, TInternal = unknown, TBase extends TBasePlugin<TConfig, TInternal> = TBasePlugin<TConfig, TInternal>> = Omit<TBase, "build" | "editor" | "inject"> & {
814
1314
  [TCategory in "build" | "editor" | "inject"]?: {
@@ -825,53 +1325,40 @@ export declare type TProxyPlugin<TConfig extends TSchema = TSchema, TInternal =
825
1325
  };
826
1326
 
827
1327
  declare interface TRecord<TKey extends TString | TNumber = TString, TValue extends TSchema = TSchema> {
828
- type: EVarType.record;
829
1328
  key: TKey;
830
1329
  static: StaticRecord<TKey, TValue>;
1330
+ type: EVarType.record;
831
1331
  value: TValue;
832
1332
  }
833
1333
 
834
- declare type TRouteExport = {
835
- name: string;
836
- type: EElementType.Route;
837
- dev?: boolean;
838
- input: {
839
- body: TSchema;
840
- headers: TSchema;
841
- query: TSchema;
842
- };
843
- logics: Record<string, TLogicExport | TMainLogicExport>;
844
- method: ERouteMethod;
845
- output: TSchema;
846
- path: string;
847
- state: TStateExport;
1334
+ declare type TRect = {
1335
+ height: number;
1336
+ width: number;
1337
+ x: number;
1338
+ y: number;
848
1339
  };
849
1340
 
850
- export declare type TSchema<TLogic extends TAnyLogic = TAnyLogic> = TArguments & TLogic;
851
-
852
- declare type TScriptExport = {
853
- name: string;
854
- type: EElementType.Script;
855
- logics: Record<string, TLogicExport | TMainLogicExport>;
856
- options?: {
857
- autoReload?: boolean;
858
- };
859
- scope: ELogicScope;
860
- state: TStateExport;
1341
+ declare type TReturnValue = {
1342
+ schema: TSchema;
1343
+ value: unknown;
861
1344
  };
862
1345
 
1346
+ export declare type TSchema<TLogic extends TAnyLogic_2 = TAnyLogic_2> = TArguments & TLogic;
1347
+
863
1348
  export declare type TSlot = TSchema<TObject> | TSchema<TVoid>;
864
1349
 
865
- declare type TStateExport = Record<string, unknown>;
1350
+ declare type TStack = {
1351
+ id: string;
1352
+ config?: Record<string, unknown>;
1353
+ context: object;
1354
+ parent?: TStackParent;
1355
+ variables: Record<string, unknown>;
1356
+ };
866
1357
 
867
- declare type TStoreExport = {
868
- name: string;
869
- type: EElementType.Store;
870
- default: unknown;
871
- logics: Record<string, TLogicExport>;
872
- options: TStoreOptions;
873
- schema: TSchema;
874
- state: TStateExport;
1358
+ declare type TStackParent = {
1359
+ logic?: TLogic;
1360
+ node?: CNode;
1361
+ stack: TStack;
875
1362
  };
876
1363
 
877
1364
  declare type TStoreOptions = {
@@ -879,24 +1366,19 @@ declare type TStoreOptions = {
879
1366
  };
880
1367
 
881
1368
  declare interface TString {
882
- type: EVarType.string;
883
1369
  static: string;
1370
+ type: EVarType.string;
884
1371
  }
885
1372
 
886
1373
  export declare type TTemplate = {
887
1374
  name: string;
888
1375
  preview?: string;
889
- template: TFileExport;
1376
+ template: TFile<true>;
890
1377
  };
891
1378
 
892
- declare type TTextExport = {
893
- name: string;
894
- type: EElementType.Text;
895
- blocks: Array<{
896
- content: string;
897
- key: string;
898
- }>;
899
- state: TStateExport;
1379
+ declare type TTextBlock = {
1380
+ content: string;
1381
+ key: string;
900
1382
  };
901
1383
 
902
1384
  export declare type TToken = {
@@ -907,35 +1389,33 @@ export declare type TToken = {
907
1389
  };
908
1390
 
909
1391
  declare interface TType<T extends TSchema = TSchema> {
910
- type: EVarType.type;
911
1392
  static: T;
912
1393
  target: Array<string>;
1394
+ type: EVarType.type;
913
1395
  }
914
1396
 
915
- declare type TTypeExport = {
916
- name: string;
917
- type: EElementType.Type;
918
- schemas: Record<string, TSchema>;
919
- state: TStateExport;
920
- };
921
-
922
1397
  declare interface TUndefined {
923
- type: EVarType.undefined;
924
1398
  static: undefined;
1399
+ type: EVarType.undefined;
925
1400
  }
926
1401
 
927
1402
  declare interface TUnion<T extends Array<TSchema> = Array<TSchema>> {
928
- type: EVarType.union;
929
1403
  elements: T;
930
1404
  static: StaticUnion<T>;
1405
+ type: EVarType.union;
931
1406
  }
932
1407
 
933
1408
  declare interface TUnknown {
934
- type: EVarType.unknown;
935
1409
  static: unknown;
1410
+ type: EVarType.unknown;
936
1411
  }
937
1412
 
938
- declare type TValueExport = TSchema;
1413
+ declare type TValue<TExport extends boolean = false> = TExport extends false ? {
1414
+ id: string;
1415
+ isEditing?: boolean;
1416
+ parent?: TLogic<TExport>;
1417
+ schema: TSchema;
1418
+ } : TSchema;
939
1419
 
940
1420
  declare type TVector = {
941
1421
  x: number;
@@ -943,11 +1423,18 @@ declare type TVector = {
943
1423
  };
944
1424
 
945
1425
  declare interface TVoid {
946
- type: EVarType.void;
947
1426
  static: void;
1427
+ type: EVarType.void;
948
1428
  }
949
1429
 
950
- declare type TWireExport = {
1430
+ declare type TWire = {
1431
+ id: string;
1432
+ from: Anchor.CAnchor;
1433
+ temp?: boolean;
1434
+ to: Anchor.CAnchor;
1435
+ };
1436
+
1437
+ declare type TWire_2<TExport extends boolean = false> = TExport extends true ? {
951
1438
  from: {
952
1439
  key: string;
953
1440
  node: string;
@@ -956,6 +1443,22 @@ declare type TWireExport = {
956
1443
  key: string;
957
1444
  node: string;
958
1445
  };
959
- };
1446
+ } : CWire;
1447
+
1448
+ declare namespace Wire {
1449
+ export {
1450
+ from,
1451
+ create,
1452
+ makePath,
1453
+ pathToString,
1454
+ TWire,
1455
+ CPathPoint,
1456
+ Path,
1457
+ WIRE_PADDING,
1458
+ CWire
1459
+ }
1460
+ }
1461
+
1462
+ declare const WIRE_PADDING = 6;
960
1463
 
961
1464
  export { }