@elyx-code/project-logic-tree 0.0.6850 → 0.0.6851

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
@@ -19631,6 +19631,9 @@ export declare enum BaseValueDescriptorIds {
19631
19631
  */
19632
19632
  export declare function getTouchedCanvasEntitiesFromChangeSet(changeSet: ChangeSet, options?: {
19633
19633
  shallowMissingActivesError?: boolean;
19634
+ excludeAffected?: boolean;
19635
+ excludeAdded?: boolean;
19636
+ excludeUpdated?: boolean;
19634
19637
  }): CanvasEntityState[];
19635
19638
 
19636
19639
  export declare const getTzOffsetAtArg: IValueDescriptorTransfer;
@@ -31646,7 +31649,7 @@ export declare enum BaseValueDescriptorIds {
31646
31649
  SameBothGlobal = "same-both-global"
31647
31650
  }
31648
31651
 
31649
- export declare const SEARCH_STATEMENT_HYDRATION_EXPLANATION = "The 'query' field of 'search' entities gets stored naivly as pure text, but when we interact with it, it gets just-in-time hydration against the existing project state to become a fully typed SQL AST.\nThis means that you can write any raw SQL query in the 'query' field, and the project checks that any column and table references are actually found in the project.\nSpecifically the names of the 'properties' of any 'definition-entity' that implements the 'persisted built-in-base-entity' are matched against any columns and tables respectivly, found in the query.\nDefinition entity names are turned into table names by converting them to pascal case. For example \"My new Entity\" turns into \"MyNewEntity\".\nProperty names are turned into column names by converting them to camel case. For example \"My new property\" turns into \"myNewProperty\".\nIf any of the referenced tables or columns aren't found in the project, an error is shown and the referenced is SAFELY removed from the query.\nSame occurs with interpolated values.\nOnly 'input-map' values belonging to the same parent 'search' entity can be used inside the query. Like so: {{::inputMapId}}.\nIf any of the referenced input-maps aren't found in the parent 'search' entity, they will be ignored and SAFELY removed from the query, no errors are shown.\nA query (and therefore a 'search' entity) can only reference tables in a single database, if two 'definition-entities' that implement the persisted 'built-in-base-entity' belong to two different parent databases, the table selected first will determine what database is being queried, and the other table won't be available for this query.\nIf any of the referenced entities changes, the project will auto-update the query to reflect the changes.";
31652
+ export declare const SEARCH_STATEMENT_HYDRATION_EXPLANATION = "The 'query' field of 'search' entities gets stored naivly as pure text, but when we interact with it, it gets just-in-time hydration against the existing project state to become a fully typed SQL AST.\nThis means that you can write any raw SQL query in the 'query' field, and the project checks that any column and table references are actually found in the project.\nSpecifically the names of the 'properties' of any 'definition-entity' that implements the \"persisted\" 'built-in-base-entity' are matched against any columns and tables, respectively, found in the query.\nDefinition entity names are turned into table names by converting them to pascal case. For example \"My new Entity\" turns into \"MyNewEntity\".\nProperty names are turned into column names by converting them to camel case. For example \"My new property\" turns into \"myNewProperty\".\nIf any of the referenced tables or columns aren't found in the project, an error is shown and the referenced is SAFELY removed from the query.\nSame occurs with interpolated values.\nOnly 'input-map' values belonging to the same parent 'search' entity can be used inside the query. Like so: {{::inputMapId}}.\nIf any of the referenced input-maps aren't found in the parent 'search' entity, they will be ignored and SAFELY removed from the query, no errors are shown.\nA query (and therefore a 'search' entity) can only reference tables in a single database, if two 'definition-entities' that implement the \"persisted\" 'built-in-base-entity' belong to two different parent databases, the table selected first will determine what database is being queried, and the other table won't be available for this query.\nIf any of the referenced entities changes, the project will auto-update the query to reflect the changes.";
31650
31653
 
31651
31654
  export declare enum SearchDependencyField {
31652
31655
  Parent = "search-parent-field",
package/dist/index.js CHANGED
@@ -159547,7 +159547,13 @@ const Ci = class Ci extends Jr {
159547
159547
  message: `Entity of type "${a.type}" with id "${a.id}" has a 'query' field which could not be properly enriched due to an unknown error. This means, parts of the query were likely removed because they referenced missing entities in the project state.`
159548
159548
  })
159549
159549
  );
159550
- }), e.length && (c.push({
159550
+ }), e.filter(
159551
+ (E) => [
159552
+ he.PropertyWithGivenNameNotFoundWhenEnrichingSQLQueryColumnAgainstProjectState,
159553
+ he.PersistedEntityWithGivenNameNotFoundWhenEnrichingSQLQueryTableAgainstProjectState,
159554
+ he.GenericSQLQueryEnrichmentError
159555
+ ].includes(E.code)
159556
+ ).length && (c.push({
159551
159557
  id: Ji.SearchStatementHydration,
159552
159558
  message: n4
159553
159559
  }), c.push(...a4(r).explanations)), {
@@ -159727,7 +159733,11 @@ You shouldn't have to manually update a 'parent' property. The equivalent result
159727
159733
  // includeComments: true, // Adds comments
159728
159734
  // includeRange: true, // Adds source code location data
159729
159735
  });
159730
- return Nc(e, this.project, null).errors.forEach((h) => {
159736
+ return Nc(
159737
+ e,
159738
+ this.project,
159739
+ null
159740
+ ).errors.forEach((h) => {
159731
159741
  h.code === "not-found" ? h.entity === "column" ? r.push(
159732
159742
  new Re({
159733
159743
  id: `${c.id}--${he.PropertyWithGivenNameNotFoundWhenEnrichingSQLQueryColumnAgainstProjectState}--${h.name}`,
@@ -159753,7 +159763,9 @@ You shouldn't have to manually update a 'parent' property. The equivalent result
159753
159763
  }), r.length && (a.push({
159754
159764
  id: Ji.SearchStatementHydration,
159755
159765
  message: n4
159756
- }), a.push(...a4(this.project).explanations)), { errors: r, explanations: a, modifiedData: c };
159766
+ }), a.push(
159767
+ ...a4(this.project).explanations
159768
+ )), { errors: r, explanations: a, modifiedData: c };
159757
159769
  }
159758
159770
  // Subscribe dependent entities to the current entity
159759
159771
  subscribeDependents(i) {
@@ -173199,18 +173211,23 @@ function mZi(l, p) {
173199
173211
  })
173200
173212
  ), a = !0);
173201
173213
  }), (c.DOWNSTREAM_PROPERTIES || []).forEach((G) => {
173202
- // @ts-ignore
173203
- l[G] && // @ts-ignore
173204
- !sT(l[G]) && (r.push(
173205
- new Re({
173206
- id: `${p.id}--${he.InvalidDownstreamPropertyOverride}`,
173207
- message: `Entity of type "${p.type}" with id "${p.id}" cannot have the property "${G}" set directly. It is a downstream property that points to a downstream nested entity.
173214
+ if (
173215
+ // @ts-ignore
173216
+ l[G] && // @ts-ignore
173217
+ !sT(l[G])
173218
+ ) {
173219
+ let W = `Entity of type "${p.type}" with id "${p.id}"`;
173220
+ p.id || (W = `Entity of type "${p.type}" being updated`), r.push(
173221
+ new Re({
173222
+ id: `${p.id}--${he.InvalidDownstreamPropertyOverride}`,
173223
+ message: `${W} cannot have the property "${G}" set directly. It is a downstream property that points to a downstream nested entity.
173208
173224
  All downstream references are managed by the downstream entity. Entities only manage their own upstream references.
173209
173225
  To modify '${G}', target the entity that it points to and its equivalent property.`,
173210
- severity: me.Error,
173211
- code: he.InvalidDownstreamPropertyOverride
173212
- })
173213
- ), a = !0);
173226
+ severity: me.Error,
173227
+ code: he.InvalidDownstreamPropertyOverride
173228
+ })
173229
+ ), a = !0;
173230
+ }
173214
173231
  }), (c.INMUTABLE_UPSTREAM_PROPERTIES || []).forEach((G) => {
173215
173232
  // @ts-ignore
173216
173233
  l[G] && // @ts-ignore
@@ -173473,16 +173490,19 @@ function Yr(l, p) {
173473
173490
  );
173474
173491
  if (e) {
173475
173492
  (e.DOWNSTREAM_PROPERTIES || []).forEach((m) => {
173476
- l[m] && !sT(l[m]) && r.push(
173477
- new Re({
173478
- id: `${l.id}--${he.InvalidDownstreamPropertyOverride}`,
173479
- message: `Entity of type "${l.type}" with id "${l.id}" cannot have the property "${m}" set directly. It is a downstream property that points to a downstream nested entity.
173493
+ if (l[m] && !sT(l[m])) {
173494
+ let b = `Entity of type "${l.type}" with id "${l.id}"`;
173495
+ l.id || (b = `Entity of type "${l.type}" being created`), r.push(
173496
+ new Re({
173497
+ id: `${l.id}--${he.InvalidDownstreamPropertyOverride}`,
173498
+ message: `${b} cannot have the property "${m}" set directly. It is a downstream property that points to a downstream nested entity.
173480
173499
  All downstream references are managed by the downstream entity. Entities only manage their own upstream references.
173481
173500
  To modify '${m}', target the entity that it points to and its equivalent property.`,
173482
- severity: me.Error,
173483
- code: he.InvalidDownstreamPropertyOverride
173484
- })
173485
- );
173501
+ severity: me.Error,
173502
+ code: he.InvalidDownstreamPropertyOverride
173503
+ })
173504
+ );
173505
+ }
173486
173506
  });
173487
173507
  const h = e.PROPERTIES || [];
173488
173508
  h.length > 0 && Object.keys(l).forEach((m) => {
@@ -173840,17 +173860,17 @@ In our case, first we need a 'variable-declaration' with a data-type that has it
173840
173860
  This variable-declaration acts as the initialization of the class. Only then we can use a SEPARATE variable-instance to call the internal-call on.
173841
173861
  This is equivalent to calling 'new' on a class to create an instance in Javascript, then calling a method on that instance in the next step. The internal call will have access to the state of the variable-declaration.`, cgi = "Not all methods of a definition-entity are available as internal calls. For a method to be available as an internal call its parent definition-entity needs to be the 'entity' of a data-type of a variable. It needs to belong to an 'interactive' definition-entity. It needs to not be part of an abstract definition-entity.", n4 = `The 'query' field of 'search' entities gets stored naivly as pure text, but when we interact with it, it gets just-in-time hydration against the existing project state to become a fully typed SQL AST.
173842
173862
  This means that you can write any raw SQL query in the 'query' field, and the project checks that any column and table references are actually found in the project.
173843
- Specifically the names of the 'properties' of any 'definition-entity' that implements the 'persisted built-in-base-entity' are matched against any columns and tables respectivly, found in the query.
173863
+ Specifically the names of the 'properties' of any 'definition-entity' that implements the "persisted" 'built-in-base-entity' are matched against any columns and tables, respectively, found in the query.
173844
173864
  Definition entity names are turned into table names by converting them to pascal case. For example "My new Entity" turns into "MyNewEntity".
173845
173865
  Property names are turned into column names by converting them to camel case. For example "My new property" turns into "myNewProperty".
173846
173866
  If any of the referenced tables or columns aren't found in the project, an error is shown and the referenced is SAFELY removed from the query.
173847
173867
  Same occurs with interpolated values.
173848
173868
  Only 'input-map' values belonging to the same parent 'search' entity can be used inside the query. Like so: {{::inputMapId}}.
173849
173869
  If any of the referenced input-maps aren't found in the parent 'search' entity, they will be ignored and SAFELY removed from the query, no errors are shown.
173850
- A query (and therefore a 'search' entity) can only reference tables in a single database, if two 'definition-entities' that implement the persisted 'built-in-base-entity' belong to two different parent databases, the table selected first will determine what database is being queried, and the other table won't be available for this query.
173870
+ A query (and therefore a 'search' entity) can only reference tables in a single database, if two 'definition-entities' that implement the "persisted" 'built-in-base-entity' belong to two different parent databases, the table selected first will determine what database is being queried, and the other table won't be available for this query.
173851
173871
  If any of the referenced entities changes, the project will auto-update the query to reflect the changes.`, E6 = `Persisted entities are an ORM-like system that allows the users to define SQL tables using 'definition-entities' that implement the "persisted" 'built-in-base-entity' (id: '${ae["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id}').
173852
173872
  If they are correctly linked to a database entity, these tables will then come with methods and built-in under the hood functionality to behave like SQL tables and when the project is published, they will generate in-code SQL migrations to generate or recover the corresponding tables in the given database.`, A6 = `To attach a persisted entity to a database, you need to set the 'valueAsTypeSingle' field of the 'defaultValue' of the static property that implements the built-in 'property' entity with the id '${ae["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.properties.database.id}'.
173853
- Definition entities have a 'properties' field, one of them should exist which implements said built-in 'property'.`;
173873
+ Definition entities have a list of child properties under the 'properties' field. If they implement said built-in 'property' it designates them as a column.`;
173854
173874
  var Ji = /* @__PURE__ */ ((l) => (l.PassThroughCallableEntities = "pass-through-callable-entities-explanation", l.EntryPointEntities = "entry-point-entities-explanation", l.CallerEntities = "caller-entities-explanation", l.CallableEntities = "callable-entities-explanation", l.CallsUpdate = "calls-update-explanation", l.BreakAndContinueStatements = "break-and-continue-statements-explanation", l.ReturnStatement = "return-statement-explanation", l.VariableDataTypeInferrance = "variable-data-type-inferrance-explanation", l.NonInteractiveBaseEntities = "non-interactive-base-entities-explanation", l.ValueReadingEntities = "value-reading-entities-explanation", l.ValueWritingEntities = "value-writing-entities-explanation", l.PropertyNotValueReaderWriter = "property-not-value-reader-writer-explanation", l.EntitiesWithValues = "entities-with-values-explanation", l.AIValueConnectionGenerationAction = "ai-value-connection-generation-action-explanation", l.ParentAutoCalculationFromCaller = "parent-auto-calculation-from-caller-explanation", l.DataTypeEntityField = "data-type-entity-field-explanation", l.DataTypeEntityFieldOptions = "data-type-entity-field-options-explanation", l.PropertyParentField = "property-parent-field-explanation", l.PropertyParentFieldOptions = "property-parent-field-options-explanation", l.MethodParentFieldOptions = "method-parent-field-options-explanation", l.AllAvailableValueReaderEntities = "all-available-value-reader-entities-explanation", l.AllAvailableValueWriterEntities = "all-available-value-writer-entities-explanation", l.AvailableValueReadersForGivenWriter = "available-value-readers-for-given-writer-explanation", l.AvailableValueWritersForGivenReader = "available-value-writers-for-given-reader-explanation", l.AllAvailableCallableEntities = "all-available-callable-entities-explanation", l.AllAvailableEntryPointEntities = "all-available-entry-point-entities-explanation", l.AllAvailablePassThroughCallableEntities = "all-available-pass-through-callable-entities-explanation", l.AllAvailableCallerEntities = "all-available-caller-entities-explanation", l.AllAvailableTerminationEntities = "all-available-termination-entities-explanation", l.AllAvailableCallerEntitiesForGivenCallee = "all-available-caller-entities-for-given-callee-explanation", l.AllAvailableCalleeEntitiesForGivenCaller = "all-available-callee-entities-for-given-caller-explanation", l.AllAvailableGlobalFunctionDeclarationsForFunctionCall = "all-available-global-function-declarations-for-function-call-explanation", l.AllNoneInteractiveBaseEntities = "all-non-interactive-base-entities-explanation", l.AllOperationActionDescriptors = "all-operation-action-descriptors-explanation", l.AllConditionActionDescriptors = "all-condition-action-descriptors-explanation", l.AllLoopActionDescriptors = "all-loop-action-descriptors-explanation", l.AllGlobalEventsActionDescriptors = "all-global-events-action-descriptors-explanation", l.DefinitionEntities = "definition-entities-explanation", l.PropertyImplementationAndExtensionAutoEnrichment = "property-implementation-and-extension-auto-enrichment-explanation", l.MethodImplementationAndExtensionAutoEnrichment = "method-implementation-and-extension-auto-enrichment-explanation", l.ActualOwnersOfMisplacedProperties = "actual-owners-of-misplaced-properties-explanation", l.EditingProperties = "editing-properties-explanation", l.MutableMetaProperties = "mutable-meta-properties-explanation", l.InmutableMetaProperties = "inmutable-meta-properties-explanation", l.InmutableUpstreamProperties = "inmutable-upstream-properties-explanation", l.DownstreamProperties = "downstream-properties-explanation", l.FullEditingProperties = "full-editing-properties-explanation", l.OutputMapsAutogeneration = "output-maps-autogeneration-explanation", l.AvailableOutputMapsForGivenParentCallableEntity = "available-output-maps-for-given-parent-callable-entity-explanation", l.InputMapsAutogeneration = "input-maps-autogeneration-explanation", l.InternalCallsAutogeneration = "internal-calls-autogeneration-explanation", l.AvailableInputMapsForGivenParentCallableEntity = "available-input-maps-for-given-parent-callable-entity-explanation", l.AvailableInternalCallsForGivenVariablesDataTypeEntity = "available-internal-calls-for-given-variables-data-type-entity-explanation", l.NonAvailableInternalCallsWithSameDeclarationInExistingInstanciatedVariables = "non-available-internal-calls-with-same-declaration-in-existing-instanciated-variables-explanation", l.AvailableInternalCallsWithSameDeclarationInExistingInstanciatedVariables = "available-internal-calls-with-same-declaration-in-existing-instanciated-variables-explanation", l.AvailableInternalCallsOfAnyDeclarationInAllInstanciatedVariablesDataTypeEntities = "available-internal-calls-of-any-declaration-in-all-instanciated-variables-data-type-entities-explanation", l.AllAvailableMethodsThatCanBeCalledAsInternalCalls = "all-available-methods-that-can-be-called-as-internal-calls", l.InternalCalls = "internal-calls-explanation", l.ReasonsForMethodsNotAvailableAsInternalCalls = "reasons-for-methods-not-available-as-internal-calls-explanation", l.AllNonInteractiveDefinitionEntities = "all-non-interactive-definition-entities-explanation", l.AllStaticAndAbstractDefinitionEntities = "all-static-and-abstract-definition-entities-explanation", l.AllStaticNonAbstractDefinitionEntities = "all-static-non-abstract-definition-entities-explanation", l.AllAbstractNonStaticDefinitionEntities = "all-abstract-non-static-definition-entities-explanation", l.AllInstanciatableDefinitionEntities = "all-instantiatable-definition-entities-explanation", l.AutoReplacedExistingValueWriterForNewGiven = "auto-replaced-existing-value-writer-for-new-given-explanation", l.AutoResolvedCalledByBasedOnValueWriter = "auto-resolved-calledBy-based-on-value-writer-explanation", l.AllAvailableColumnNamesForSQLEnrichmentInCurrentQuery = "all-available-column-names-for-sql-enrichment-in-current-query-explanation", l.AllPropertiesThatCouldBeSelectedAsColumnsInSQLQuery = "all-properties-that-could-be-selected-as-columns-in-sql-query-explanation", l.AllTableNamesForSQLEnrichmentForGivenDatabase = "all-table-names-for-sql-enrichment-for-given-database-explanation", l.AllTableNamesForSQLEnrichment = "all-table-names-for-sql-enrichment-explanation", l.SearchStatementHydration = "search-statement-hydration-explanation", l.PersistedEntities = "persisted-entities-explanation", l.AttachingPersistedEntitiesToDatabases = "attaching-persisted-entities-to-databases-explanation", l.FullSQLSelectableBreakdown = "full-sql-selectable-breakdown-explanation", l.CurrentlyUnattachedPersistedEntities = "currently-unattached-persisted-entities-explanation", l))(Ji || {});
173855
173875
  function Oc(l) {
173856
173876
  return `\`\`\`json
@@ -175462,72 +175482,72 @@ function HE(l) {
175462
175482
  }
175463
175483
  function a4(l) {
175464
175484
  const p = [], i = l.entities.filter(
175465
- (c) => di(c, ge.RELATIONAL_DATABASE)
175485
+ (e) => di(e, ge.RELATIONAL_DATABASE)
175486
+ ), r = l.entities.filter(
175487
+ (e) => di(e, ge.PERSISTED_ENTITY) && !eT(e)
175466
175488
  );
175467
- if (l.entities.filter(
175468
- (c) => di(c, ge.PERSISTED_ENTITY) && !eT(c)
175469
- ).some(
175470
- (c) => l.entities.some(
175471
- (e) => {
175472
- var f;
175473
- return di(
175474
- e,
175475
- ge.RELATIONAL_DATABASE
175476
- ) && ((f = eT(c)) == null ? void 0 : f.id) === e.id && dn(c).length > 0;
175489
+ let a = i.some(
175490
+ (e) => l.entities.some(
175491
+ (f) => {
175492
+ var h;
175493
+ return di(f, ge.PERSISTED_ENTITY) && ((h = eT(f)) == null ? void 0 : h.id) === e.id && dn(f).length > 0;
175477
175494
  }
175478
175495
  )
175479
- )) {
175480
- let c = "All available entities with their SQL names that can be used in the SQL 'query' field in a 'search' entity are:";
175481
- i.forEach((e) => {
175482
- const f = de(e, l), h = e.id, m = l.entities.filter(
175483
- (b) => {
175484
- var E;
175485
- return di(b, ge.PERSISTED_ENTITY) && ((E = eT(b)) == null ? void 0 : E.id) === e.id;
175496
+ ), c = r.length || i.length;
175497
+ if (a) {
175498
+ let e = "All available entities with their SQL names that can be used in the SQL 'query' field in a 'search' entity are:";
175499
+ i.forEach((f) => {
175500
+ const h = de(f, l), m = f.id, b = l.entities.filter(
175501
+ (E) => {
175502
+ var I;
175503
+ return di(E, ge.PERSISTED_ENTITY) && ((I = eT(E)) == null ? void 0 : I.id) === f.id;
175486
175504
  }
175487
175505
  );
175488
- m.length ? (c += `
175489
- - Database "${f}" with id ${h} has the following tables (persisted definition-entities):`, m.forEach((b) => {
175490
- const E = de(b, l), I = Ld(E), _ = b.id, P = dn(b);
175491
- P.length ? c += `
175492
- - "${E}" with id ${_} => Table name: "${I}" | Has the following columns (applicable 'properties'):
175493
- - ${P.map((N) => {
175494
- const B = de(N, l), U = N.codeName || Qs(Qi(B));
175495
- return `${B} (${N.id}) => Column name: "${U}"`;
175506
+ b.length ? (e += `
175507
+ - Database "${h}" with id ${m} has the following tables (persisted definition-entities):`, b.forEach((E) => {
175508
+ const I = de(E, l), _ = Ld(I), P = E.id, N = dn(E);
175509
+ N.length ? e += `
175510
+ - "${I}" with id ${P} => Table name: "${_}" | Has the following columns (applicable 'properties'):
175511
+ - ${N.map((B) => {
175512
+ const U = de(B, l), G = B.codeName || Qs(Qi(U));
175513
+ return `${U} (${B.id}) => Column name: "${G}"`;
175496
175514
  }).join(`
175497
- - `)}.` : c += `
175498
- - "${E}" with id ${_} => Table name: "${I}" | Has no columns (applicable 'properties').`;
175499
- })) : c += `
175500
- - Database "${f}" with id ${h} does not have any tables (persisted definition-entities) and thus cannot be yet be interacted with in a query.`;
175515
+ - `)}.` : e += `
175516
+ - "${I}" with id ${P} => Table name: "${_}" | Has no columns (applicable 'properties').`;
175517
+ })) : e += `
175518
+ - Database "${h}" with id ${m} does not have any tables (persisted definition-entities) and thus cannot be yet be interacted with in a query.`;
175501
175519
  }), p.push({
175502
175520
  id: "full-sql-selectable-breakdown-explanation",
175503
- message: c
175521
+ message: e
175504
175522
  });
175505
175523
  } else {
175506
- let c = `There are currently no entities that can be used in an SQL 'query' field in a 'search' entity.
175524
+ let e = `There are currently no entities that can be used in an SQL 'query' field in a 'search' entity.
175507
175525
  For an entity to be available for selection it needs to be a well formed "persisted" 'definition-entity' with at least one column property.`;
175508
- i.forEach((e) => {
175509
- const f = de(e, l), h = e.id, m = l.entities.filter(
175510
- (b) => {
175511
- var E;
175512
- return di(b, ge.PERSISTED_ENTITY) && ((E = eT(b)) == null ? void 0 : E.id) === e.id;
175526
+ c && (e += `
175527
+
175528
+ However, here is a breakdown of all persisted entities and their SQL names, even if they aren't selectable yet:`, i.forEach((f) => {
175529
+ const h = de(f, l), m = f.id, b = l.entities.filter(
175530
+ (E) => {
175531
+ var I;
175532
+ return di(E, ge.PERSISTED_ENTITY) && ((I = eT(E)) == null ? void 0 : I.id) === f.id;
175513
175533
  }
175514
175534
  );
175515
- m.length ? (c += `
175516
- - Database "${f}" with id ${h} has the following tables (persisted definition-entities):`, m.forEach((b) => {
175517
- const E = de(b, l), I = Ld(E), _ = b.id, P = dn(b);
175518
- P.length ? c += `
175519
- - "${E}" with id ${_} => Table name: "${I}" | Has the following columns (applicable 'properties'):
175520
- - ${P.map((N) => {
175521
- const B = de(N, l), U = N.codeName || Qs(Qi(B));
175522
- return `${B} (${N.id}) => Column name: "${U}"`;
175535
+ b.length ? (e += `
175536
+ - Database "${h}" with id ${m} has the following tables (persisted definition-entities):`, b.forEach((E) => {
175537
+ const I = de(E, l), _ = Ld(I), P = E.id, N = dn(E);
175538
+ N.length ? e += `
175539
+ - "${I}" with id ${P} => Table name: "${_}" | Has the following columns (applicable 'properties'):
175540
+ - ${N.map((B) => {
175541
+ const U = de(B, l), G = B.codeName || Qs(Qi(U));
175542
+ return `${U} (${B.id}) => Column name: "${G}"`;
175523
175543
  }).join(`
175524
- - `)}.` : c += `
175525
- - "${E}" with id ${_} => Table name: "${I}" | Has no columns (applicable 'properties').`;
175526
- })) : c += `
175527
- - Database "${f}" with id ${h} does not have any tables (persisted definition-entities) and thus cannot be yet be interacted with in a query.`;
175528
- }), p.push({
175544
+ - `)}.` : e += `
175545
+ - "${I}" with id ${P} => Table name: "${_}" | Has no columns (applicable 'properties').`;
175546
+ })) : e += `
175547
+ - Database "${h}" with id ${m} does not have any tables (persisted definition-entities) and thus cannot be yet be interacted with in a query.`;
175548
+ })), p.push({
175529
175549
  id: "full-sql-selectable-breakdown-explanation",
175530
- message: c
175550
+ message: e
175531
175551
  }), p.push({
175532
175552
  id: "persisted-entities-explanation",
175533
175553
  message: E6
@@ -196920,12 +196940,15 @@ function rP(l, p = {}) {
196920
196940
  function k6i(l, p = {}) {
196921
196941
  const i = {
196922
196942
  shallowMissingActivesError: !1,
196943
+ excludeAffected: !1,
196944
+ excludeAdded: !1,
196945
+ excludeUpdated: !1,
196923
196946
  ...p
196924
196947
  }, r = [], a = /* @__PURE__ */ new Set();
196925
196948
  return [
196926
- ...l.listAdded,
196927
- ...l.listUpdated,
196928
- ...l.listAffected
196949
+ ...i.excludeAdded ? [] : l.listAdded,
196950
+ ...i.excludeUpdated ? [] : l.listUpdated,
196951
+ ...i.excludeAffected ? [] : l.listAffected
196929
196952
  ].forEach((e) => {
196930
196953
  var m;
196931
196954
  const f = Tt(e);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elyx-code/project-logic-tree",
3
- "version": "0.0.6850",
3
+ "version": "0.0.6851",
4
4
  "author": "Sergio Herrero",
5
5
  "license": "UNLICENSED",
6
6
  "description": "An installable module which contains the type definitions and ephemeral state management for a projects' logic tree data structure",