@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.cjs +76 -74
- package/dist/index.d.ts +4 -1
- package/dist/index.js +101 -78
- package/package.json +1 -1
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
|
|
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.
|
|
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(
|
|
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(
|
|
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
|
-
|
|
173203
|
-
|
|
173204
|
-
|
|
173205
|
-
|
|
173206
|
-
|
|
173207
|
-
|
|
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
|
-
|
|
173211
|
-
|
|
173212
|
-
|
|
173213
|
-
|
|
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])
|
|
173477
|
-
|
|
173478
|
-
|
|
173479
|
-
|
|
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
|
-
|
|
173483
|
-
|
|
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
|
|
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
|
|
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
|
-
(
|
|
175485
|
+
(e) => di(e, ge.RELATIONAL_DATABASE)
|
|
175486
|
+
), r = l.entities.filter(
|
|
175487
|
+
(e) => di(e, ge.PERSISTED_ENTITY) && !eT(e)
|
|
175466
175488
|
);
|
|
175467
|
-
|
|
175468
|
-
(
|
|
175469
|
-
|
|
175470
|
-
|
|
175471
|
-
|
|
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
|
-
|
|
175481
|
-
|
|
175482
|
-
|
|
175483
|
-
|
|
175484
|
-
|
|
175485
|
-
|
|
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
|
-
|
|
175489
|
-
- Database "${
|
|
175490
|
-
const
|
|
175491
|
-
|
|
175492
|
-
- "${
|
|
175493
|
-
- ${
|
|
175494
|
-
const
|
|
175495
|
-
return `${
|
|
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
|
-
|
|
175498
|
-
- "${
|
|
175499
|
-
})) :
|
|
175500
|
-
- Database "${
|
|
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:
|
|
175521
|
+
message: e
|
|
175504
175522
|
});
|
|
175505
175523
|
} else {
|
|
175506
|
-
let
|
|
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
|
-
|
|
175509
|
-
|
|
175510
|
-
|
|
175511
|
-
|
|
175512
|
-
|
|
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
|
-
|
|
175516
|
-
- Database "${
|
|
175517
|
-
const
|
|
175518
|
-
|
|
175519
|
-
- "${
|
|
175520
|
-
- ${
|
|
175521
|
-
const
|
|
175522
|
-
return `${
|
|
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
|
-
|
|
175525
|
-
- "${
|
|
175526
|
-
})) :
|
|
175527
|
-
- Database "${
|
|
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:
|
|
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.
|
|
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",
|