@elyx-code/project-logic-tree 0.0.6161 → 0.0.6163

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 (63) hide show
  1. package/dist/definitions/mock/default-mock/installed-projects/mock-third-party-project.d.ts +0 -1
  2. package/dist/definitions/types/event.d.ts +1 -4
  3. package/dist/definitions/types/function.d.ts +1 -4
  4. package/dist/definitions/types/loop.d.ts +1 -7
  5. package/dist/definitions/types/primitives.d.ts +8 -4
  6. package/dist/index.js +39044 -32147
  7. package/dist/index.umd.cjs +262 -260
  8. package/dist/tree/built-in/operations/definition-entity/validate-data.d.ts +7 -7
  9. package/dist/tree/state/action-descriptor/action-descriptor.d.ts +30 -24
  10. package/dist/tree/state/argument-declaration/argument-declaration.d.ts +32 -22
  11. package/dist/tree/state/argument-declaration/validation/validation-schema.d.ts +4 -4
  12. package/dist/tree/state/base.d.ts +26 -15
  13. package/dist/tree/state/break-statement/break-statement.d.ts +34 -25
  14. package/dist/tree/state/break-statement/validation/validation-schema.d.ts +4 -4
  15. package/dist/tree/state/built-in-base-entity/built-in-base-entity.d.ts +2 -14
  16. package/dist/tree/state/change-set.d.ts +71 -0
  17. package/dist/tree/state/change-set.test.d.ts +1 -0
  18. package/dist/tree/state/condition/condition.d.ts +36 -27
  19. package/dist/tree/state/condition/validation/validation-schema.d.ts +4 -4
  20. package/dist/tree/state/continue-statement/continue-statement.d.ts +34 -25
  21. package/dist/tree/state/continue-statement/validation/validation-schema.d.ts +4 -4
  22. package/dist/tree/state/data-type/data-type.d.ts +31 -22
  23. package/dist/tree/state/data-type/validation/validation-schema.d.ts +2657 -237
  24. package/dist/tree/state/definition-entity/definition-entity.d.ts +35 -25
  25. package/dist/tree/state/definition-entity/validation/validation-schema.d.ts +8 -8
  26. package/dist/tree/state/function-call/function-call.d.ts +39 -29
  27. package/dist/tree/state/function-call/validation/validation-schema.d.ts +4 -4
  28. package/dist/tree/state/function-declaration/function-declaration.d.ts +33 -24
  29. package/dist/tree/state/function-declaration/validation/validation-schema.d.ts +6 -6
  30. package/dist/tree/state/global-event/global-event.d.ts +30 -24
  31. package/dist/tree/state/global-event/validation/validation-schema.d.ts +4 -4
  32. package/dist/tree/state/index.d.ts +1 -0
  33. package/dist/tree/state/input-map/input-map.d.ts +31 -21
  34. package/dist/tree/state/input-map/validation/validation-schema.d.ts +8825 -1565
  35. package/dist/tree/state/installed-project/installed-project.d.ts +27 -21
  36. package/dist/tree/state/installed-project/validation/validation-schema.d.ts +4 -4
  37. package/dist/tree/state/internal-call/internal-call.d.ts +38 -29
  38. package/dist/tree/state/literal-value/literal-value.d.ts +35 -23
  39. package/dist/tree/state/literal-value/validation/validation-schema.d.ts +1976 -182
  40. package/dist/tree/state/loop/loop.d.ts +48 -39
  41. package/dist/tree/state/loop/validation/validation-schema.d.ts +4 -4
  42. package/dist/tree/state/operation/operation.d.ts +38 -29
  43. package/dist/tree/state/operation/validation/validation-schema.d.ts +4 -4
  44. package/dist/tree/state/output-map/output-map.d.ts +31 -21
  45. package/dist/tree/state/primitive-entity/primitive-entity.d.ts +0 -13
  46. package/dist/tree/state/project/project.d.ts +40 -24
  47. package/dist/tree/state/property/property.d.ts +32 -22
  48. package/dist/tree/state/return-declaration/return-declaration.d.ts +32 -22
  49. package/dist/tree/state/return-statement/return-statement.d.ts +34 -25
  50. package/dist/tree/state/return-statement/validation/validation-schema.d.ts +4 -4
  51. package/dist/tree/state/search/search.d.ts +36 -27
  52. package/dist/tree/state/search/validation/validation-schema.d.ts +4 -4
  53. package/dist/tree/state/types/index.d.ts +0 -26
  54. package/dist/tree/state/value-descriptor/value-descriptor.d.ts +30 -21
  55. package/dist/tree/state/variable-declaration/validation/validation-schema.d.ts +4 -4
  56. package/dist/tree/state/variable-declaration/variable-declaration.d.ts +40 -32
  57. package/dist/tree/state/variable-instance/validation/validation-schema.d.ts +4 -4
  58. package/dist/tree/state/variable-instance/variable-instance.d.ts +39 -28
  59. package/dist/tree/state/version.d.ts +1 -1
  60. package/dist/tree/utils/data-type.d.ts +2 -2
  61. package/dist/tree/utils/index.d.ts +2 -1
  62. package/dist/tree/utils/shared-data-structure-entity.d.ts +7 -7
  63. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { ActionDescriptorState, DefinitionEntityState, DataTypeState, InputMapState, OperationState, OutputMapState, ProjectState } from '../../../state';
1
+ import { ActionDescriptorState, DefinitionEntityState, DataTypeState, InputMapState, OperationState, OutputMapState, ProjectState, IChangeSet, ChangeSet } from '../../../state';
2
2
 
3
3
  export declare class ValidateDataOperation extends ActionDescriptorState {
4
4
  readonly autoexecutable = true;
@@ -7,10 +7,10 @@ export declare class ValidateDataOperation extends ActionDescriptorState {
7
7
  getDataToValidateInputMap(operation: OperationState): InputMapState | null;
8
8
  getOutputDataOutputMap(operation: OperationState): OutputMapState | null;
9
9
  getEntityToMatch(entityToMatchInputMap: InputMapState): DefinitionEntityState | null;
10
- syncOperationInstance(operation: OperationState): OperationState;
11
- syncEntityToMatchInputMapDataType(inputMap: InputMapState): DataTypeState | null;
12
- syncDataToValidateInputMapDataType(inputMap: InputMapState): DataTypeState | null;
13
- syncOutputDataOutputMapDataType(outputMap: OutputMapState): DataTypeState | null;
14
- inferInputMapDataType(inputMap: InputMapState): DataTypeState | null;
15
- inferOutputMapDataType(outputMap: OutputMapState): DataTypeState | null;
10
+ syncOperationInstance(operation: OperationState, changeSet?: ChangeSet | null): IChangeSet<OperationState>;
11
+ syncEntityToMatchInputMapDataType(inputMap: InputMapState, changeSet?: ChangeSet | null): IChangeSet<DataTypeState | null>;
12
+ syncDataToValidateInputMapDataType(inputMap: InputMapState, changeSet?: ChangeSet | null): IChangeSet<DataTypeState | null>;
13
+ syncOutputDataOutputMapDataType(outputMap: OutputMapState, changeSet?: ChangeSet | null): IChangeSet<DataTypeState | null>;
14
+ inferInputMapDataType(inputMap: InputMapState, changeSet?: ChangeSet | null): IChangeSet<DataTypeState | null>;
15
+ inferOutputMapDataType(outputMap: OutputMapState, changeSet?: ChangeSet | null): IChangeSet<DataTypeState | null>;
16
16
  }
@@ -1,6 +1,6 @@
1
1
  import { ElementGenerationTarget, ElementShallowTransfer, EntityId, EntityType, IActionDescriptor, IActionDescriptorGenerationTarget, IActionDescriptorReference, IActionDescriptorShallowTransfer, IActionDescriptorTransfer, IFunctionDeclarationTransfer, ActionDescriptorTypesUnion, EntityVersion } from '../../../definitions';
2
2
  import { ZodError } from 'zod';
3
- import { BaseState, ChildEntityState, IEntityPersistanceOptions, IEditableEntityPersistanceRepository, UserManagedEntityStateFunctionality, IEntityJSONCloneOptions, IEntityRecursionOptions } from '../base';
3
+ import { BaseState, ChildEntityState, IEntityPersistanceOptions, IEditableEntityPersistanceRepository, UserManagedEntityStateTemplate, IEntityJSONCloneOptions, IEntityRecursionOptions } from '../base';
4
4
  import { ProjectState } from '../project/project';
5
5
  import { DataTypeState } from '../data-type';
6
6
  import { ValueDescriptorState } from '../value-descriptor';
@@ -8,13 +8,14 @@ import { DefinitionEntityState } from '../definition-entity';
8
8
  import { PrimitiveEntityState } from '../primitive-entity';
9
9
  import { BuiltInBaseEntityState } from '../built-in-base-entity';
10
10
  import { EntityError, EntityGenerationError } from '../error';
11
- import { EntityState, EntityWithLogicScopeState, IChangeSet } from '../types';
11
+ import { EntityState, EntityWithLogicScopeState, UserManagedEntityState } from '../types';
12
12
  import { LoopState } from '../loop';
13
13
  import { OperationState } from '../operation';
14
14
  import { ConditionState } from '../condition';
15
15
  import { InputMapState } from '../input-map';
16
16
  import { OutputMapState } from '../output-map';
17
17
  import { VersionedState } from '../version';
18
+ import { ChangeSet, IChangeSet } from '../change-set';
18
19
 
19
20
  export declare enum ExecutionTerminationType {
20
21
  Success = "success",
@@ -28,7 +29,7 @@ export interface IPrimitiveExecutionResult {
28
29
  results: any[];
29
30
  error: any | null;
30
31
  }
31
- export declare class ActionDescriptorState extends VersionedState implements IActionDescriptor, UserManagedEntityStateFunctionality, BaseState, ChildEntityState {
32
+ export declare class ActionDescriptorState extends VersionedState implements IActionDescriptor, UserManagedEntityStateTemplate, BaseState, ChildEntityState {
32
33
  initialData: IActionDescriptorTransfer | IActionDescriptor;
33
34
  readonly id: EntityId;
34
35
  name: string;
@@ -41,9 +42,14 @@ export declare class ActionDescriptorState extends VersionedState implements IAc
41
42
  parent: DefinitionEntityState | PrimitiveEntityState | BuiltInBaseEntityState | DataTypeState | null;
42
43
  errors: EntityError[];
43
44
  project: ProjectState;
45
+ detachedDependents: Record<EntityId, {
46
+ entity: UserManagedEntityState;
47
+ field: string;
48
+ }>;
44
49
  knownVersions: Map<string, ActionDescriptorState> | null;
45
50
  activeVersion: boolean;
46
51
  initialized: boolean;
52
+ startedInitialization: boolean;
47
53
  autoexecutable: boolean;
48
54
  constructor(initialData: IActionDescriptor | IActionDescriptorTransfer, parentProjectState: ProjectState);
49
55
  static repository: IEditableEntityPersistanceRepository;
@@ -68,43 +74,43 @@ export declare class ActionDescriptorState extends VersionedState implements IAc
68
74
  errors: EntityGenerationError[];
69
75
  modifiedData: IActionDescriptorGenerationTarget;
70
76
  };
71
- syncOperationInstance(operation: OperationState): OperationState;
72
- inferInputMapDataType(inputMap: InputMapState): DataTypeState | null;
73
- inferOutputMapDataType(outputMap: OutputMapState): DataTypeState | null;
77
+ syncOperationInstance(operation: OperationState, _changeSet: ChangeSet | null): IChangeSet<OperationState>;
78
+ inferInputMapDataType(inputMap: InputMapState, changeSet?: ChangeSet | null): IChangeSet<DataTypeState | null>;
79
+ inferOutputMapDataType(outputMap: OutputMapState, changeSet?: ChangeSet | null): IChangeSet<DataTypeState | null>;
74
80
  validateGeneratedUpdate(data: Partial<IActionDescriptorGenerationTarget>): {
75
81
  errors: EntityGenerationError[];
76
82
  modifiedData: Partial<IActionDescriptorGenerationTarget>;
77
83
  };
84
+ subscribeDependents(dependencies: {
85
+ entity: UserManagedEntityState;
86
+ field: string;
87
+ }[]): UserManagedEntityState;
88
+ syncDependents(): IChangeSet<UserManagedEntityState>;
89
+ onDetachedDependencyRemoved(_dependency: UserManagedEntityState, _field: string, _changeSet: ChangeSet | null): IChangeSet<UserManagedEntityState>;
90
+ onDetachedDependencyRestored(_dependency: UserManagedEntityState, _field: string, _changeSet: ChangeSet | null): IChangeSet<UserManagedEntityState>;
91
+ subscribeToDependencies(): UserManagedEntityState;
92
+ increaseVersion(sharedTimestamp: null | string): UserManagedEntityState;
78
93
  captureVersion(): ActionDescriptorState;
79
- recursiveCaptureUpstreamVersions(): IChangeSet<ActionDescriptorState>;
94
+ recursiveCaptureUpstreamVersions(sharedTimestamp: null | string): IChangeSet<ActionDescriptorState>;
80
95
  restoreVersion(versionId: EntityVersion): Promise<IChangeSet<ActionDescriptorState>>;
81
96
  hydrateAncestors(): IChangeSet<ActionDescriptorState>;
82
- afterAllChildrenInitialized(): IChangeSet<ActionDescriptorState>;
83
- addSelfToProject(): IChangeSet<ActionDescriptorState>;
84
- setParent(parent: DefinitionEntityState | PrimitiveEntityState | BuiltInBaseEntityState | DataTypeState): ActionDescriptorState;
85
- initChildren(): ActionDescriptorState;
97
+ afterAllChildrenInitialized(changeSet?: ChangeSet | null): IChangeSet<ActionDescriptorState>;
98
+ addSelfToProject(changeSet?: ChangeSet | null): IChangeSet<ActionDescriptorState>;
99
+ setParent(parent: DefinitionEntityState | PrimitiveEntityState | BuiltInBaseEntityState | DataTypeState, changeSet?: ChangeSet | null): ActionDescriptorState;
100
+ initChildren(changeSet?: ChangeSet | null): ActionDescriptorState;
86
101
  subscribe(): ActionDescriptorState;
87
102
  unsubscribe(): ActionDescriptorState;
88
- sync(data: Partial<IActionDescriptor | IActionDescriptorTransfer | IActionDescriptorShallowTransfer>): ActionDescriptorState;
103
+ metaSync(data: Partial<IActionDescriptor | IActionDescriptorTransfer | IActionDescriptorShallowTransfer>, changeSet?: ChangeSet | null): ActionDescriptorState;
89
104
  APILoad(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<ActionDescriptorState>;
90
105
  APICreate(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<ActionDescriptorState>;
91
106
  APIUpdate(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<ActionDescriptorState>;
92
107
  APIDelete(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<ActionDescriptorState>;
93
108
  APIClone(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<ActionDescriptorState>;
94
109
  APILoadVersion(_: IEntityPersistanceOptions | undefined, versionIdOrBeforeEqualDate: EntityVersion | Date, ...otherArgs: any[]): Promise<IActionDescriptorShallowTransfer | null>;
95
- remove({ ignoreUpstream: _, seenEntities, }?: {
110
+ remove({ ignoreUpstream: _ }?: {
96
111
  ignoreUpstream: boolean;
97
- seenEntities: Set<string>;
98
- }): {
99
- affected: EntityState[];
100
- removed: EntityState[];
101
- };
102
- restore({ seenEntities }?: {
103
- seenEntities: Set<string>;
104
- }): {
105
- affected: EntityState[];
106
- self: ActionDescriptorState;
107
- };
112
+ }, changeSet?: ChangeSet | null): IChangeSet;
113
+ restore({}?: {}, changeSet?: ChangeSet | null): IChangeSet<ActionDescriptorState>;
108
114
  toFlat(seenEntities?: Set<EntityId>): EntityState[];
109
115
  toFlatIds(seenEntities?: Set<EntityId>): EntityId[];
110
116
  toJSON(seenEntities?: Set<EntityId>): IActionDescriptorTransfer | IActionDescriptorReference;
@@ -1,15 +1,20 @@
1
1
  import { ElementGenerationTarget, ElementShallowTransfer, EntityId, EntityType, IArgumentDeclaration, IArgumentDeclarationGenerationTarget, IArgumentDeclarationReference, IArgumentDeclarationShallowTransfer, IArgumentDeclarationTransfer, ArgumentDeclarationTypesUnion, EntityVersion } from '../../../definitions';
2
2
  import { ZodError } from 'zod';
3
- import { BaseState, ChildEntityState, EntityWithValueClass, IEntityPersistanceOptions, IEditableEntityPersistanceRepository, UserManagedEntityStateFunctionality, ValueWritingEntityClass, IEntityJSONCloneOptions, IEntityRecursionOptions } from '../base';
4
- import { EntityState, EntryPointEntityState, IChangeSet, ValueReadingEntityState } from '../types';
3
+ import { BaseState, ChildEntityState, EntityWithValueClass, IEntityPersistanceOptions, IEditableEntityPersistanceRepository, UserManagedEntityStateTemplate, ValueWritingEntityClass, IEntityJSONCloneOptions, IEntityRecursionOptions } from '../base';
4
+ import { EntityState, EntryPointEntityState, UserManagedEntityState, ValueReadingEntityState } from '../types';
5
5
  import { DataTypeState } from '../data-type';
6
6
  import { ProjectState } from '../project/project';
7
7
  import { EntityError, EntityGenerationError } from '../../state/error';
8
8
  import { LiteralValueState } from '../literal-value';
9
9
  import { ValueDescriptorState } from '../value-descriptor';
10
10
  import { VersionedState } from '../version';
11
+ import { ChangeSet, IChangeSet } from '../change-set';
11
12
 
12
- export declare class ArgumentDeclarationState extends VersionedState implements IArgumentDeclaration, UserManagedEntityStateFunctionality, ValueWritingEntityClass, BaseState, ChildEntityState, EntityWithValueClass {
13
+ export declare enum ArgumentDeclarationDependencyField {
14
+ DataTypeEntity = "data-type-entity",
15
+ Implements = "implements"
16
+ }
17
+ export declare class ArgumentDeclarationState extends VersionedState implements IArgumentDeclaration, UserManagedEntityStateTemplate, ValueWritingEntityClass, BaseState, ChildEntityState, EntityWithValueClass {
13
18
  initialData: IArgumentDeclaration | IArgumentDeclarationTransfer;
14
19
  readonly id: EntityId;
15
20
  name: string;
@@ -25,9 +30,14 @@ export declare class ArgumentDeclarationState extends VersionedState implements
25
30
  project: ProjectState;
26
31
  errors: EntityError[];
27
32
  parent: EntryPointEntityState;
33
+ detachedDependents: Record<EntityId, {
34
+ entity: UserManagedEntityState;
35
+ field: string;
36
+ }>;
28
37
  knownVersions: Map<string, ArgumentDeclarationState> | null;
29
38
  activeVersion: boolean;
30
39
  initialized: boolean;
40
+ startedInitialization: boolean;
31
41
  suggestion: boolean;
32
42
  constructor(initialData: IArgumentDeclaration | IArgumentDeclarationTransfer, parentProjectState: ProjectState);
33
43
  static repository: IEditableEntityPersistanceRepository;
@@ -56,39 +66,39 @@ export declare class ArgumentDeclarationState extends VersionedState implements
56
66
  errors: EntityGenerationError[];
57
67
  modifiedData: Partial<IArgumentDeclarationGenerationTarget>;
58
68
  };
69
+ subscribeDependents(dependencies: {
70
+ entity: UserManagedEntityState;
71
+ field: string;
72
+ }[]): UserManagedEntityState;
73
+ syncDependents(): IChangeSet<UserManagedEntityState>;
74
+ onDetachedDependencyRemoved(_dependency: UserManagedEntityState, field: string, changeSet: ChangeSet | null): IChangeSet<UserManagedEntityState>;
75
+ onDetachedDependencyRestored(dependency: UserManagedEntityState, field: string, changeSet: ChangeSet | null): IChangeSet<UserManagedEntityState>;
76
+ subscribeToDependencies(): UserManagedEntityState;
77
+ increaseVersion(sharedTimestamp: null | string): UserManagedEntityState;
59
78
  captureVersion(): ArgumentDeclarationState;
60
- recursiveCaptureUpstreamVersions(): IChangeSet<ArgumentDeclarationState>;
79
+ recursiveCaptureUpstreamVersions(sharedTimestamp: null | string): IChangeSet<ArgumentDeclarationState>;
61
80
  restoreVersion(versionId: EntityVersion): Promise<IChangeSet<ArgumentDeclarationState>>;
62
81
  hydrateAncestors(): IChangeSet<ArgumentDeclarationState>;
63
- afterAllChildrenInitialized(): IChangeSet<ArgumentDeclarationState>;
64
- addSelfToProject(): IChangeSet<ArgumentDeclarationState>;
82
+ afterAllChildrenInitialized(changeSet?: ChangeSet | null): IChangeSet<ArgumentDeclarationState>;
83
+ addSelfToProject(changeSet?: ChangeSet | null): IChangeSet<ArgumentDeclarationState>;
65
84
  addValueReader(entity: ValueReadingEntityState): ArgumentDeclarationState;
66
85
  removeValueReader(valueReader: ValueReadingEntityState): ArgumentDeclarationState;
67
- setParent(parent: EntryPointEntityState): ArgumentDeclarationState;
68
- setImplements(implementsEntity: ValueDescriptorState): ArgumentDeclarationState;
69
- initChildren(): ArgumentDeclarationState;
86
+ setParent(parent: EntryPointEntityState, changeSet?: ChangeSet | null): ArgumentDeclarationState;
87
+ setImplements(implementsEntity: ValueDescriptorState | null, changeSet?: ChangeSet | null): ArgumentDeclarationState;
88
+ initChildren(changeSet?: ChangeSet | null): ArgumentDeclarationState;
70
89
  subscribe(): ArgumentDeclarationState;
71
90
  unsubscribe(): ArgumentDeclarationState;
72
- sync(data: Partial<IArgumentDeclaration | IArgumentDeclarationTransfer | IArgumentDeclarationShallowTransfer>): ArgumentDeclarationState;
91
+ metaSync(data: Partial<IArgumentDeclaration | IArgumentDeclarationTransfer | IArgumentDeclarationShallowTransfer>, changeSet?: ChangeSet | null): ArgumentDeclarationState;
73
92
  APILoad(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<ArgumentDeclarationState>;
74
93
  APICreate(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<ArgumentDeclarationState>;
75
94
  APIUpdate(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<ArgumentDeclarationState>;
76
95
  APIDelete(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<ArgumentDeclarationState>;
77
96
  APIClone(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<ArgumentDeclarationState>;
78
97
  APILoadVersion(_: IEntityPersistanceOptions | undefined, versionIdOrBeforeEqualDate: EntityVersion | Date, ...otherArgs: any[]): Promise<IArgumentDeclarationShallowTransfer | null>;
79
- remove({ ignoreUpstream, seenEntities, }?: {
98
+ remove({ ignoreUpstream }?: {
80
99
  ignoreUpstream: boolean;
81
- seenEntities: Set<string>;
82
- }): {
83
- affected: EntityState[];
84
- removed: EntityState[];
85
- };
86
- restore({ seenEntities }?: {
87
- seenEntities: Set<string>;
88
- }): {
89
- affected: EntityState[];
90
- self: ArgumentDeclarationState;
91
- };
100
+ }, changeSet?: ChangeSet | null): IChangeSet;
101
+ restore({}?: {}, changeSet?: ChangeSet | null): IChangeSet<ArgumentDeclarationState>;
92
102
  toFlat(seenEntities?: Set<EntityId>): EntityState[];
93
103
  toFlatIds(seenEntities?: Set<EntityId>): EntityId[];
94
104
  toJSON(seenEntities?: Set<EntityId>): IArgumentDeclarationTransfer | IArgumentDeclarationReference;
@@ -428,8 +428,6 @@ export declare function getArgumentDeclarationSchema(): z.ZodObject<z.objectUtil
428
428
  entityId: string;
429
429
  };
430
430
  version: number;
431
- x: number;
432
- y: number;
433
431
  dataType: Record<string, any> | {
434
432
  type: EntityType.DataType;
435
433
  } | null;
@@ -442,6 +440,8 @@ export declare function getArgumentDeclarationSchema(): z.ZodObject<z.objectUtil
442
440
  } | {
443
441
  type: EntityType.VariableInstance;
444
442
  })[];
443
+ x: number;
444
+ y: number;
445
445
  }, {
446
446
  id: string;
447
447
  type: EntityType.ArgumentDeclaration;
@@ -472,8 +472,6 @@ export declare function getArgumentDeclarationSchema(): z.ZodObject<z.objectUtil
472
472
  entityId: string;
473
473
  };
474
474
  version: number;
475
- x: number;
476
- y: number;
477
475
  dataType: Record<string, any> | {
478
476
  type: EntityType.DataType;
479
477
  } | null;
@@ -486,4 +484,6 @@ export declare function getArgumentDeclarationSchema(): z.ZodObject<z.objectUtil
486
484
  } | {
487
485
  type: EntityType.VariableInstance;
488
486
  })[];
487
+ x: number;
488
+ y: number;
489
489
  }>;
@@ -1,6 +1,6 @@
1
1
  import { EntityId, EntityType, EntityVersion, IGenericBase, Element, ElementTransfer, IGenericReference, ElementShallowTransfer, ElementGenerationTarget, Reference } from '../../definitions';
2
2
  import { ZodError } from 'zod';
3
- import { CallableEntityState, CallerEntityState, CanvasEntityState, EntityState, IChangeSet, InputMapState, UserManagedEntityState, ValueReadingEntityState, ValueWritingEntityState } from '.';
3
+ import { CallableEntityState, CallerEntityState, CanvasEntityState, ChangeSet, EntityState, IChangeSet, InputMapState, UserManagedEntityState, ValueReadingEntityState, ValueWritingEntityState } from '.';
4
4
  import { ProjectState } from './project/project';
5
5
  import { EntityError } from './error';
6
6
  import { LiteralValueState } from './literal-value';
@@ -54,16 +54,21 @@ export interface IEditableEntityPersistanceRepository extends IReadOnlyEntityPer
54
54
  }
55
55
  export declare const READ_ONLY_ENTITY_PERSISTANCE_REPOSITORY: IReadOnlyEntityPersistanceRepository;
56
56
  export declare const EDITABLE_PERSISTANCE_REPOSITORY_DEFAULTS: IEditableEntityPersistanceRepository;
57
- export declare abstract class UserManagedEntityStateFunctionality {
57
+ export declare abstract class UserManagedEntityStateTemplate {
58
+ abstract detachedDependents: Record<EntityId, {
59
+ entity: UserManagedEntityState;
60
+ field: string;
61
+ }>;
58
62
  abstract knownVersions: Map<EntityVersion, EntityState> | null;
59
63
  abstract activeVersion: boolean;
60
- abstract captureVersion(): UserManagedEntityStateFunctionality;
61
- abstract recursiveCaptureUpstreamVersions(): IChangeSet<UserManagedEntityState>;
64
+ abstract captureVersion(): UserManagedEntityStateTemplate;
65
+ abstract increaseVersion(sharedTimestamp: null | string): UserManagedEntityStateTemplate;
66
+ abstract recursiveCaptureUpstreamVersions(sharedTimestamp: null | string): IChangeSet<UserManagedEntityState>;
62
67
  abstract restoreVersion(version: EntityVersion): Promise<IChangeSet<UserManagedEntityState>>;
63
68
  abstract hydrateAncestors(): IChangeSet<UserManagedEntityState>;
64
- abstract addSelfToProject(): IChangeSet<UserManagedEntityState>;
65
- abstract afterAllChildrenInitialized(): IChangeSet<UserManagedEntityState>;
66
- abstract sync(data: Partial<Element | ElementTransfer | ElementShallowTransfer>): SharedStateFunctionality;
69
+ abstract addSelfToProject(changeSet: ChangeSet | null): IChangeSet<UserManagedEntityState>;
70
+ abstract afterAllChildrenInitialized(changeSet: ChangeSet | null): IChangeSet<UserManagedEntityState>;
71
+ abstract metaSync(data: Partial<Element | ElementTransfer | ElementShallowTransfer>, changeSet: ChangeSet | null): SharedStateFunctionality;
67
72
  abstract APICreate(options: IEntityPersistanceOptions): Promise<SharedStateFunctionality>;
68
73
  abstract APIUpdate(options: IEntityPersistanceOptions): Promise<SharedStateFunctionality>;
69
74
  abstract APIDelete(options: IEntityPersistanceOptions): Promise<SharedStateFunctionality>;
@@ -71,19 +76,24 @@ export declare abstract class UserManagedEntityStateFunctionality {
71
76
  abstract APILoadVersion(options: IEntityPersistanceOptions, versionIdOrBeforeEqualDate: EntityVersion | Date): Promise<ElementShallowTransfer | null>;
72
77
  abstract remove(options: {
73
78
  ignoreUpstream: boolean;
74
- seenEntities: Set<string>;
75
- }): {
76
- affected: EntityState[];
79
+ }, changeSet: ChangeSet | null): {
80
+ updated: EntityState[];
77
81
  removed: EntityState[];
78
82
  };
79
- abstract restore(options: {
80
- seenEntities: Set<string>;
81
- }): {
82
- affected: EntityState[];
83
+ abstract restore(options: {}, changeSet: ChangeSet | null): {
84
+ updated: EntityState[];
83
85
  self: EntityState;
84
86
  };
85
87
  abstract toJSONClone(options?: IEntityJSONCloneOptions): ElementTransfer | Reference;
86
88
  abstract clone(parent?: EntityState | null, newId?: string | null, subscribe?: boolean): SharedStateFunctionality;
89
+ abstract subscribeDependents(dependencies: {
90
+ entity: UserManagedEntityState;
91
+ field: string;
92
+ }[]): UserManagedEntityState;
93
+ abstract subscribeToDependencies(): UserManagedEntityState;
94
+ abstract syncDependents(): IChangeSet<UserManagedEntityState>;
95
+ abstract onDetachedDependencyRemoved(dependency: UserManagedEntityState, field: string, changeSet: ChangeSet | null): IChangeSet<UserManagedEntityState>;
96
+ abstract onDetachedDependencyRestored(dependency: UserManagedEntityState, field: string, changeSet: ChangeSet | null): IChangeSet<UserManagedEntityState>;
87
97
  }
88
98
  export declare abstract class BaseState extends SharedStateFunctionality implements IGenericBase {
89
99
  abstract id: EntityId;
@@ -100,9 +110,10 @@ export declare abstract class BaseCanvasDraggableState {
100
110
  }
101
111
  export declare abstract class ChildEntityState {
102
112
  abstract parent: EntityState | null;
113
+ abstract startedInitialization: boolean;
103
114
  abstract initialized: boolean;
104
115
  abstract setParent(parent: EntityState): ChildEntityState;
105
- abstract initChildren(): ChildEntityState;
116
+ abstract initChildren(changeSet: ChangeSet | null): ChildEntityState;
106
117
  }
107
118
  export declare abstract class CallableEntityClass {
108
119
  abstract calledBy: CallerEntityState[];
@@ -1,14 +1,18 @@
1
1
  import { BreakStatementTypesUnion, ElementGenerationTarget, ElementShallowTransfer, EntityId, EntityType, EntityVersion, IBreakStatement, IBreakStatementGenerationTarget, IBreakStatementReference, IBreakStatementShallowTransfer, IBreakStatementTransfer } from '../../../definitions';
2
2
  import { ZodError } from 'zod';
3
- import { BaseCanvasDraggableState, BaseState, CallableEntityClass, ChildEntityState, IEntityPersistanceOptions, IEditableEntityPersistanceRepository, UserManagedEntityStateFunctionality, IEntityJSONCloneOptions, IEntityRecursionOptions } from '../base';
3
+ import { BaseCanvasDraggableState, BaseState, CallableEntityClass, ChildEntityState, IEntityPersistanceOptions, IEditableEntityPersistanceRepository, UserManagedEntityStateTemplate, IEntityJSONCloneOptions, IEntityRecursionOptions } from '../base';
4
4
  import { ReturnDeclarationState } from '../return-declaration';
5
- import { CallerEntityState, EntityState, EntryPointEntityState, IChangeSet, PassThroughCallableEntityState } from '../types';
5
+ import { CallerEntityState, EntityState, EntryPointEntityState, PassThroughCallableEntityState, UserManagedEntityState } from '../types';
6
6
  import { ProjectState } from '../project/project';
7
7
  import { LoopState } from '../loop';
8
8
  import { EntityError, EntityGenerationError } from '../../state/error';
9
9
  import { VersionedState } from '../version';
10
+ import { ChangeSet, IChangeSet } from '../change-set';
10
11
 
11
- export declare class BreakStatementState extends VersionedState implements IBreakStatement, UserManagedEntityStateFunctionality, BaseState, BaseCanvasDraggableState, CallableEntityClass, ChildEntityState {
12
+ export declare enum BreakStatementDependencyField {
13
+ Parent = "parent"
14
+ }
15
+ export declare class BreakStatementState extends VersionedState implements IBreakStatement, UserManagedEntityStateTemplate, BaseState, BaseCanvasDraggableState, CallableEntityClass, ChildEntityState {
12
16
  initialData: IBreakStatement | IBreakStatementTransfer;
13
17
  readonly id: EntityId;
14
18
  x: number;
@@ -22,9 +26,14 @@ export declare class BreakStatementState extends VersionedState implements IBrea
22
26
  project: ProjectState;
23
27
  errors: EntityError[];
24
28
  parent: LoopState;
29
+ detachedDependents: Record<EntityId, {
30
+ entity: UserManagedEntityState;
31
+ field: string;
32
+ }>;
25
33
  knownVersions: Map<string, EntityState> | null;
26
34
  activeVersion: boolean;
27
35
  initialized: boolean;
36
+ startedInitialization: boolean;
28
37
  suggestion: boolean;
29
38
  constructor(initialData: IBreakStatement | IBreakStatementTransfer, parentProjectState: ProjectState);
30
39
  static repository: IEditableEntityPersistanceRepository;
@@ -53,43 +62,43 @@ export declare class BreakStatementState extends VersionedState implements IBrea
53
62
  errors: EntityGenerationError[];
54
63
  modifiedData: Partial<IBreakStatementGenerationTarget>;
55
64
  };
65
+ subscribeDependents(dependencies: {
66
+ entity: UserManagedEntityState;
67
+ field: string;
68
+ }[]): UserManagedEntityState;
69
+ syncDependents(): IChangeSet<UserManagedEntityState>;
70
+ onDetachedDependencyRemoved(_dependency: UserManagedEntityState, field: string, changeSet: ChangeSet | null): IChangeSet<UserManagedEntityState>;
71
+ onDetachedDependencyRestored(_dependency: UserManagedEntityState, field: string, changeSet: ChangeSet | null): IChangeSet<UserManagedEntityState>;
72
+ subscribeToDependencies(): UserManagedEntityState;
73
+ increaseVersion(sharedTimestamp: null | string): UserManagedEntityState;
56
74
  captureVersion(): BreakStatementState;
57
- recursiveCaptureUpstreamVersions(): IChangeSet<BreakStatementState>;
75
+ recursiveCaptureUpstreamVersions(sharedTimestamp: null | string): IChangeSet<BreakStatementState>;
58
76
  restoreVersion(versionId: EntityVersion): Promise<IChangeSet<BreakStatementState>>;
59
77
  hydrateAncestors(): IChangeSet<BreakStatementState>;
60
- afterAllChildrenInitialized(): IChangeSet<BreakStatementState>;
61
- addSelfToProject(): IChangeSet<BreakStatementState>;
78
+ afterAllChildrenInitialized(changeSet?: ChangeSet | null): IChangeSet<BreakStatementState>;
79
+ addSelfToProject(changeSet?: ChangeSet | null): IChangeSet<BreakStatementState>;
62
80
  get calledBy(): CallerEntityState[];
63
- addSuccessCaller(caller: PassThroughCallableEntityState): BreakStatementState;
64
- addErrorCaller(caller: PassThroughCallableEntityState): BreakStatementState;
65
- addEntryCaller(caller: EntryPointEntityState): BreakStatementState;
66
- removeCaller(caller: CallerEntityState): BreakStatementState;
81
+ addSuccessCaller(caller: PassThroughCallableEntityState, changeSet?: ChangeSet | null): BreakStatementState;
82
+ addErrorCaller(caller: PassThroughCallableEntityState, changeSet?: ChangeSet | null): BreakStatementState;
83
+ addEntryCaller(caller: EntryPointEntityState, changeSet?: ChangeSet | null): BreakStatementState;
84
+ removeCaller(caller: CallerEntityState, changeSet?: ChangeSet | null): BreakStatementState;
67
85
  addOutputDeclaration(output: ReturnDeclarationState): BreakStatementState;
68
86
  removeOutputDeclaration(output: ReturnDeclarationState): BreakStatementState;
69
- setParent(parent: LoopState): BreakStatementState;
70
- initChildren(): BreakStatementState;
87
+ setParent(parent: LoopState, changeSet?: ChangeSet | null): BreakStatementState;
88
+ initChildren(changeSet?: ChangeSet | null): BreakStatementState;
71
89
  subscribe(): BreakStatementState;
72
90
  unsubscribe(): BreakStatementState;
73
- sync(data: Partial<IBreakStatement | IBreakStatementTransfer | IBreakStatementShallowTransfer>): BreakStatementState;
91
+ metaSync(data: Partial<IBreakStatement | IBreakStatementTransfer | IBreakStatementShallowTransfer>, changeSet?: ChangeSet | null): BreakStatementState;
74
92
  APILoad(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<BreakStatementState>;
75
93
  APICreate(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<BreakStatementState>;
76
94
  APIUpdate(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<BreakStatementState>;
77
95
  APIDelete(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<BreakStatementState>;
78
96
  APIClone(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<BreakStatementState>;
79
97
  APILoadVersion(_: IEntityPersistanceOptions | undefined, versionIdOrBeforeEqualDate: EntityVersion | Date, ...otherArgs: any[]): Promise<IBreakStatementShallowTransfer | null>;
80
- remove({ ignoreUpstream, seenEntities, }?: {
98
+ remove({ ignoreUpstream }?: {
81
99
  ignoreUpstream: boolean;
82
- seenEntities: Set<string>;
83
- }): {
84
- affected: EntityState[];
85
- removed: EntityState[];
86
- };
87
- restore({ seenEntities }?: {
88
- seenEntities: Set<string>;
89
- }): {
90
- affected: EntityState[];
91
- self: EntityState;
92
- };
100
+ }, changeSet?: ChangeSet | null): IChangeSet;
101
+ restore({}?: {}, changeSet?: ChangeSet | null): IChangeSet<EntityState>;
93
102
  toFlat(seenEntities?: Set<EntityId>): EntityState[];
94
103
  toFlatIds(seenEntities?: Set<EntityId>): EntityId[];
95
104
  toJSON(seenEntities?: Set<EntityId>): IBreakStatementTransfer | IBreakStatementReference;
@@ -995,11 +995,11 @@ export declare function getBreakStatementSchema(): z.ZodObject<z.objectUtil.exte
995
995
  entityId: string;
996
996
  };
997
997
  version: number;
998
- x: number;
999
- y: number;
1000
998
  outputs: (Record<string, any> | {
1001
999
  type: EntityType.ReturnDeclaration;
1002
1000
  })[];
1001
+ x: number;
1002
+ y: number;
1003
1003
  throws?: Record<string, any> | {
1004
1004
  type: EntityType.ReturnDeclaration;
1005
1005
  } | undefined;
@@ -1106,11 +1106,11 @@ export declare function getBreakStatementSchema(): z.ZodObject<z.objectUtil.exte
1106
1106
  entityId: string;
1107
1107
  };
1108
1108
  version: number;
1109
- x: number;
1110
- y: number;
1111
1109
  outputs: (Record<string, any> | {
1112
1110
  type: EntityType.ReturnDeclaration;
1113
1111
  })[];
1112
+ x: number;
1113
+ y: number;
1114
1114
  throws?: Record<string, any> | {
1115
1115
  type: EntityType.ReturnDeclaration;
1116
1116
  } | undefined;
@@ -10,6 +10,7 @@ import { EntityError, EntityGenerationError } from '../../state/error';
10
10
  import { EntityState } from '../types';
11
11
  import { DefinitionEntityState } from '../definition-entity';
12
12
  import { VersionedState } from '../version';
13
+ import { ChangeSet } from '../change-set';
13
14
 
14
15
  export declare class BuiltInBaseEntityState extends VersionedState implements BaseState, IBuiltInBaseEntity {
15
16
  initialData: IBuiltInBaseEntity | IBuiltInBaseEntityTransfer;
@@ -37,19 +38,6 @@ export declare class BuiltInBaseEntityState extends VersionedState implements Ba
37
38
  subscribe(): BuiltInBaseEntityState;
38
39
  unsubscribe(): BuiltInBaseEntityState;
39
40
  APILoad(_?: IEntityPersistanceOptions, ...otherArgs: any[]): Promise<BuiltInBaseEntityState>;
40
- remove(_?: {
41
- ignoreUpstream: boolean;
42
- seenEntities: Set<string>;
43
- }): {
44
- affected: EntityState[];
45
- removed: EntityState[];
46
- };
47
- restore({ seenEntities: _ }?: {
48
- seenEntities: Set<string>;
49
- }): {
50
- affected: EntityState[];
51
- self: BuiltInBaseEntityState;
52
- };
53
41
  toFlat(seenEntities?: Set<EntityId>): EntityState[];
54
42
  toFlatIds(seenEntities?: Set<EntityId>): EntityId[];
55
43
  toJSON(seenEntities?: Set<EntityId>): IBuiltInBaseEntityTransfer | IBuiltInBaseEntityReference;
@@ -66,7 +54,7 @@ export declare class BuiltInBaseEntityState extends VersionedState implements Ba
66
54
  };
67
55
  getErrors(): EntityError[];
68
56
  getShallowErrors(): EntityError[];
69
- implement(newEntityName: string, newId?: string): {
57
+ implement(newEntityName: string, changeSet?: ChangeSet | null, newId?: string): {
70
58
  errors: [];
71
59
  implemented: DefinitionEntityState;
72
60
  entitiesChanges: {
@@ -0,0 +1,71 @@
1
+ import { EntityId, EntityType, UserManagedElementShallowTransfer } from '../../definitions';
2
+ import { UserManagedEntityState } from './types';
3
+ import { ProjectState } from './project';
4
+
5
+ export interface IChangeSet<TSelf extends {
6
+ id: string;
7
+ type: EntityType;
8
+ } | null = UserManagedEntityState, TGeneric extends {
9
+ id: string;
10
+ type: EntityType;
11
+ } = UserManagedEntityState> {
12
+ added: TGeneric[];
13
+ updated: TGeneric[];
14
+ removed: TGeneric[];
15
+ affected: TGeneric[];
16
+ self: TSelf;
17
+ }
18
+ export interface IRecordChangeSet<TSelf extends {
19
+ id: string;
20
+ type: EntityType;
21
+ } | null = UserManagedEntityState, TGeneric extends {
22
+ id: string;
23
+ type: EntityType;
24
+ } = UserManagedEntityState> {
25
+ added: Record<EntityId, TGeneric>;
26
+ updated: Record<EntityId, TGeneric>;
27
+ removed: Set<EntityId>;
28
+ affected: Set<EntityId>;
29
+ self: TSelf;
30
+ seenEntities: EntityId[];
31
+ }
32
+ export declare enum ChangeSetChangeCaptureType {
33
+ Manual = "manual",
34
+ Automatic = "automatic"
35
+ }
36
+ export declare enum ChangeSetEntityChangeType {
37
+ Added = "added",
38
+ Updated = "updated",
39
+ Removed = "removed",
40
+ Affected = "affected"
41
+ }
42
+ export declare class ChangeSet {
43
+ id: string;
44
+ seenEntities: EntityId[];
45
+ added: Record<EntityId, UserManagedEntityState>;
46
+ updated: Record<EntityId, UserManagedEntityState>;
47
+ removed: Record<EntityId, UserManagedEntityState>;
48
+ affected: Record<EntityId, UserManagedEntityState>;
49
+ self: UserManagedEntityState | null;
50
+ author: string;
51
+ timestamp: string;
52
+ open: boolean;
53
+ dirty: boolean;
54
+ type: ChangeSetChangeCaptureType;
55
+ autoclose: boolean;
56
+ autoCloseActionName: string;
57
+ project: ProjectState;
58
+ constructor(project: ProjectState, author: string, timestamp: string, // ISO 8601 format
59
+ self: UserManagedEntityState | null, autoclose?: boolean, autoCloseActionName?: string);
60
+ get isEmpty(): boolean;
61
+ get isValid(): boolean;
62
+ attemptAutoclose(knownAutoCloseActionName: string, closingEntityId: EntityId): ChangeSet;
63
+ close(): ChangeSet;
64
+ add(entity: UserManagedEntityState, changeType: ChangeSetEntityChangeType): ChangeSet;
65
+ toJSON(): IRecordChangeSet<UserManagedElementShallowTransfer | null, UserManagedElementShallowTransfer>;
66
+ has(entityId: EntityId): boolean;
67
+ hasAdded(entityId: EntityId): boolean;
68
+ hasUpdated(entityId: EntityId): boolean;
69
+ hasRemoved(entityId: EntityId): boolean;
70
+ hasAffected(entityId: EntityId): boolean;
71
+ }
@@ -0,0 +1 @@
1
+ export {};