@dudousxd/nestjs-catalog 0.32.0 → 0.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/catalog.store.d.ts +113 -1
- package/dist/catalog.store.js +59 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -1
- package/package.json +1 -1
package/dist/catalog.store.d.ts
CHANGED
|
@@ -402,7 +402,22 @@ export interface CatalogSnapshotStreamStore extends CatalogReadStore {
|
|
|
402
402
|
* consumer's `for await` owns the resource from the first pull and an
|
|
403
403
|
* abandoned iteration runs the generator's `finally`.
|
|
404
404
|
*/
|
|
405
|
-
streamSnapshot(type: CatalogObjectTypeDef, fields: string[], snapshotId: string): AsyncIterable<Record<string, unknown>>;
|
|
405
|
+
streamSnapshot(type: CatalogObjectTypeDef, fields: string[], snapshotId: string, options?: SnapshotStreamOptions): AsyncIterable<Record<string, unknown>>;
|
|
406
|
+
}
|
|
407
|
+
/** What a snapshot stream may be asked for beside the properties. */
|
|
408
|
+
export interface SnapshotStreamOptions {
|
|
409
|
+
/**
|
|
410
|
+
* Also key every row by {@link CATALOG_PROVENANCE_COLUMNS}.
|
|
411
|
+
*
|
|
412
|
+
* **A store that cannot supply them must throw rather than omit them.** The
|
|
413
|
+
* caller this exists for is the snapshot archiver, and it cannot tell a store
|
|
414
|
+
* that declined from a snapshot whose provenance happens to be absent: a
|
|
415
|
+
* missing key encodes as a null, a null verifies against a null, and the
|
|
416
|
+
* archive is complete, checksummed and silently stripped of the only columns a
|
|
417
|
+
* restore could not reconstruct. Silence is the one answer that is not
|
|
418
|
+
* available here.
|
|
419
|
+
*/
|
|
420
|
+
provenance?: boolean;
|
|
406
421
|
}
|
|
407
422
|
/** A store that can stream a whole snapshot. See {@link CatalogSnapshotStreamStore}. */
|
|
408
423
|
export declare function supportsSnapshotStreams(store: unknown): store is CatalogSnapshotStreamStore;
|
|
@@ -566,6 +581,51 @@ export interface CatalogWriteStore extends CatalogReadStore {
|
|
|
566
581
|
*/
|
|
567
582
|
currentSnapshot?(type: CatalogObjectTypeDef): Promise<SnapshotRef | undefined>;
|
|
568
583
|
}
|
|
584
|
+
/**
|
|
585
|
+
* A store that can write down where a snapshot's bytes went.
|
|
586
|
+
*
|
|
587
|
+
* ## Why this is a separate capability and not a third argument to `dropSnapshot`
|
|
588
|
+
*
|
|
589
|
+
* Because an adapter that cannot do it must be able to *say so*, and an ignored
|
|
590
|
+
* optional argument says nothing. {@link SnapshotArchiveRef} was declared with
|
|
591
|
+
* nothing writing it — the field exists on {@link SnapshotRef}, and the only
|
|
592
|
+
* consumer of it today is a source refusing a dropped snapshot with the sentence
|
|
593
|
+
* "a verified copy of it was written to …". That sentence is either true or it
|
|
594
|
+
* is the most misleading thing in the codebase, and which one it is depends
|
|
595
|
+
* entirely on whether the drop that made the tombstone also recorded the
|
|
596
|
+
* archive.
|
|
597
|
+
*
|
|
598
|
+
* So an eviction — verify an archive, then delete the rows — must refuse to run
|
|
599
|
+
* against a store that cannot hold the ref, rather than deleting rows and
|
|
600
|
+
* leaving a tombstone that reports *no copy of it was recorded anywhere*. A
|
|
601
|
+
* `dropSnapshot(type, id, { archive })` whose third argument an older adapter
|
|
602
|
+
* silently drops produces exactly that lie; a capability the caller can test for
|
|
603
|
+
* produces a refusal.
|
|
604
|
+
*
|
|
605
|
+
* ## The ordering this exists to make possible
|
|
606
|
+
*
|
|
607
|
+
* Recorded **before** the rows go, never after. A crash between the two leaves a
|
|
608
|
+
* snapshot that has an archive and still has its rows, which is a legal state
|
|
609
|
+
* (see {@link SnapshotArchiveRef}: "`archive` only — copied, not moved") and is
|
|
610
|
+
* repaired by running the eviction again. The reverse ordering leaves rows
|
|
611
|
+
* deleted and nothing saying where they went, which is the one state in this
|
|
612
|
+
* design that no later operation can repair.
|
|
613
|
+
*/
|
|
614
|
+
export interface CatalogSnapshotArchiveStore extends CatalogWriteStore {
|
|
615
|
+
/**
|
|
616
|
+
* Attach `archive` to a snapshot's record, replacing any previous one.
|
|
617
|
+
*
|
|
618
|
+
* Idempotent, so a retried eviction re-records rather than duplicating. It
|
|
619
|
+
* must refuse a snapshot it has no record of: attaching an archive to nothing
|
|
620
|
+
* would report a verified copy of a load this store never saw.
|
|
621
|
+
*
|
|
622
|
+
* It says nothing about whether the rows are still here — that is
|
|
623
|
+
* {@link SnapshotRef.droppedAt}, and the two are deliberately independent.
|
|
624
|
+
*/
|
|
625
|
+
recordSnapshotArchive(type: CatalogObjectTypeDef, snapshotId: string, archive: SnapshotArchiveRef): Promise<void>;
|
|
626
|
+
}
|
|
627
|
+
/** A store that can record an archive on a snapshot. See {@link CatalogSnapshotArchiveStore}. */
|
|
628
|
+
export declare function supportsSnapshotArchiveRecords(store: unknown): store is CatalogSnapshotArchiveStore;
|
|
569
629
|
/** What a carry-forward did. */
|
|
570
630
|
export interface CarryForwardResult {
|
|
571
631
|
/**
|
|
@@ -654,6 +714,58 @@ export interface CatalogMergeStore extends CatalogWriteStore {
|
|
|
654
714
|
export declare const CATALOG_RESERVED_COLUMNS: readonly ["_snapshot_id", "_principal_id", "_loaded_at", "_batch", "_row"];
|
|
655
715
|
export type CatalogReservedColumn = (typeof CATALOG_RESERVED_COLUMNS)[number];
|
|
656
716
|
export declare function isReservedColumn(column: string): boolean;
|
|
717
|
+
/**
|
|
718
|
+
* The two reserved columns that outlive the load that wrote them.
|
|
719
|
+
*
|
|
720
|
+
* ## The question this answers, and it was asked of all five
|
|
721
|
+
*
|
|
722
|
+
* Not "which columns are read after a commit" — that question has a longer
|
|
723
|
+
* answer than it looks and it is the wrong one. The question a copy of a
|
|
724
|
+
* snapshot has to answer is narrower: **which columns does a later load consult,
|
|
725
|
+
* such that a copy without them changes what that load produces?** A copy has to
|
|
726
|
+
* carry exactly those, and one that carries more is a cost with no buyer.
|
|
727
|
+
*
|
|
728
|
+
* - **`_principal_id` and `_loaded_at`, yes.** {@link CatalogMergeStore.carryForward}
|
|
729
|
+
* reads both off the snapshot it merges against and copies them across
|
|
730
|
+
* untouched, deliberately: a carried row is not a new load of that row, so
|
|
731
|
+
* restamping them would erase the one thing they are good for, which is saying
|
|
732
|
+
* when a value last actually moved and who moved it. They are the only two
|
|
733
|
+
* whose loss *propagates* — every later incremental snapshot inherits whatever
|
|
734
|
+
* a restore put there, and inherits it forever.
|
|
735
|
+
* - **`_batch`, no — though it is not true that nothing reads it after a
|
|
736
|
+
* commit, and an earlier draft of this list said so.** Two adapters read a
|
|
737
|
+
* committed snapshot's `_batch`, both in ClickHouse: its `read()` uses
|
|
738
|
+
* `(_batch, _row)` as the default row order, and its `dropSnapshot` selects
|
|
739
|
+
* the distinct batches present in order to drop one partition each. Neither
|
|
740
|
+
* makes it worth copying. The ordering is a *natural* order the interface
|
|
741
|
+
* explicitly does not promise — the shared store contract says so where it
|
|
742
|
+
* sorts explicitly, precisely because the two engines disagree about it — and
|
|
743
|
+
* the partition enumeration is documented as making no assumption about which
|
|
744
|
+
* values are there, so it is correct for any set including a restore that
|
|
745
|
+
* flattened everything to one batch.
|
|
746
|
+
*
|
|
747
|
+
* What matters here is the narrower question, and the answer to that is clean:
|
|
748
|
+
* **no merge reads it.** `carryForward` joins the previous snapshot on its
|
|
749
|
+
* primary key and copies its properties; its own `_batch` predicate applies
|
|
750
|
+
* only to the snapshot being built, where it stops the statement feeding on its
|
|
751
|
+
* own output. The `-1` marker is a record that a merge happened, never an input
|
|
752
|
+
* to the next one. And the write path could not take it back regardless:
|
|
753
|
+
* {@link CatalogWriteStore.write} refuses a negative batch by name, so the one
|
|
754
|
+
* value in the column that carries information is the one value the only
|
|
755
|
+
* restore seam rejects.
|
|
756
|
+
* - **`_snapshot_id`, no.** One value for the whole snapshot, so a per-row copy
|
|
757
|
+
* is N copies of a string the copy is already named after.
|
|
758
|
+
* - **`_row`, no.** The order, not a value. A copy that preserves the order
|
|
759
|
+
* preserves everything the column carries; the numbers themselves are an
|
|
760
|
+
* engine's auto-increment and are not stable across a rewrite anyway.
|
|
761
|
+
*
|
|
762
|
+
* Kept here rather than in the archiver that needed it, because it is a fact
|
|
763
|
+
* about the store interface — about which columns {@link
|
|
764
|
+
* CatalogMergeStore.carryForward} reads — and anything else that copies a
|
|
765
|
+
* snapshot needs the same answer.
|
|
766
|
+
*/
|
|
767
|
+
export declare const CATALOG_PROVENANCE_COLUMNS: readonly ["_principal_id", "_loaded_at"];
|
|
768
|
+
export type CatalogProvenanceColumn = (typeof CATALOG_PROVENANCE_COLUMNS)[number];
|
|
657
769
|
/**
|
|
658
770
|
* The whole naming rule, which used to be written out here.
|
|
659
771
|
*
|
package/dist/catalog.store.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CATALOG_STORE = exports.CatalogColumnCollisionError = exports.UnsafeIdentifierError = exports.physicalColumn = exports.outputAlias = exports.isSafeIdentifier = exports.assertSafeIdentifier = exports.CATALOG_RESERVED_COLUMNS = exports.CATALOG_SNAPSHOT_MODES = void 0;
|
|
3
|
+
exports.CATALOG_STORE = exports.CatalogColumnCollisionError = exports.UnsafeIdentifierError = exports.physicalColumn = exports.outputAlias = exports.isSafeIdentifier = exports.assertSafeIdentifier = exports.CATALOG_PROVENANCE_COLUMNS = exports.CATALOG_RESERVED_COLUMNS = exports.CATALOG_SNAPSHOT_MODES = void 0;
|
|
4
4
|
exports.isCatalogStoreCapabilities = isCatalogStoreCapabilities;
|
|
5
5
|
exports.supportsObjectFilters = supportsObjectFilters;
|
|
6
6
|
exports.supportsSnapshotStreams = supportsSnapshotStreams;
|
|
7
7
|
exports.supportsSnapshotLookup = supportsSnapshotLookup;
|
|
8
|
+
exports.supportsSnapshotArchiveRecords = supportsSnapshotArchiveRecords;
|
|
8
9
|
exports.isReservedColumn = isReservedColumn;
|
|
9
10
|
exports.findColumnCollisions = findColumnCollisions;
|
|
10
11
|
exports.assertNoColumnCollisions = assertNoColumnCollisions;
|
|
@@ -67,6 +68,12 @@ function supportsSnapshotLookup(store) {
|
|
|
67
68
|
store !== null &&
|
|
68
69
|
typeof Reflect.get(store, 'locateSnapshot') === 'function');
|
|
69
70
|
}
|
|
71
|
+
/** A store that can record an archive on a snapshot. See {@link CatalogSnapshotArchiveStore}. */
|
|
72
|
+
function supportsSnapshotArchiveRecords(store) {
|
|
73
|
+
return (typeof store === 'object' &&
|
|
74
|
+
store !== null &&
|
|
75
|
+
typeof Reflect.get(store, 'recordSnapshotArchive') === 'function');
|
|
76
|
+
}
|
|
70
77
|
/**
|
|
71
78
|
* The columns a snapshot-emulating store adds to every object table.
|
|
72
79
|
*
|
|
@@ -92,6 +99,57 @@ exports.CATALOG_RESERVED_COLUMNS = [
|
|
|
92
99
|
function isReservedColumn(column) {
|
|
93
100
|
return exports.CATALOG_RESERVED_COLUMNS.some((reserved) => reserved === column.toLowerCase());
|
|
94
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* The two reserved columns that outlive the load that wrote them.
|
|
104
|
+
*
|
|
105
|
+
* ## The question this answers, and it was asked of all five
|
|
106
|
+
*
|
|
107
|
+
* Not "which columns are read after a commit" — that question has a longer
|
|
108
|
+
* answer than it looks and it is the wrong one. The question a copy of a
|
|
109
|
+
* snapshot has to answer is narrower: **which columns does a later load consult,
|
|
110
|
+
* such that a copy without them changes what that load produces?** A copy has to
|
|
111
|
+
* carry exactly those, and one that carries more is a cost with no buyer.
|
|
112
|
+
*
|
|
113
|
+
* - **`_principal_id` and `_loaded_at`, yes.** {@link CatalogMergeStore.carryForward}
|
|
114
|
+
* reads both off the snapshot it merges against and copies them across
|
|
115
|
+
* untouched, deliberately: a carried row is not a new load of that row, so
|
|
116
|
+
* restamping them would erase the one thing they are good for, which is saying
|
|
117
|
+
* when a value last actually moved and who moved it. They are the only two
|
|
118
|
+
* whose loss *propagates* — every later incremental snapshot inherits whatever
|
|
119
|
+
* a restore put there, and inherits it forever.
|
|
120
|
+
* - **`_batch`, no — though it is not true that nothing reads it after a
|
|
121
|
+
* commit, and an earlier draft of this list said so.** Two adapters read a
|
|
122
|
+
* committed snapshot's `_batch`, both in ClickHouse: its `read()` uses
|
|
123
|
+
* `(_batch, _row)` as the default row order, and its `dropSnapshot` selects
|
|
124
|
+
* the distinct batches present in order to drop one partition each. Neither
|
|
125
|
+
* makes it worth copying. The ordering is a *natural* order the interface
|
|
126
|
+
* explicitly does not promise — the shared store contract says so where it
|
|
127
|
+
* sorts explicitly, precisely because the two engines disagree about it — and
|
|
128
|
+
* the partition enumeration is documented as making no assumption about which
|
|
129
|
+
* values are there, so it is correct for any set including a restore that
|
|
130
|
+
* flattened everything to one batch.
|
|
131
|
+
*
|
|
132
|
+
* What matters here is the narrower question, and the answer to that is clean:
|
|
133
|
+
* **no merge reads it.** `carryForward` joins the previous snapshot on its
|
|
134
|
+
* primary key and copies its properties; its own `_batch` predicate applies
|
|
135
|
+
* only to the snapshot being built, where it stops the statement feeding on its
|
|
136
|
+
* own output. The `-1` marker is a record that a merge happened, never an input
|
|
137
|
+
* to the next one. And the write path could not take it back regardless:
|
|
138
|
+
* {@link CatalogWriteStore.write} refuses a negative batch by name, so the one
|
|
139
|
+
* value in the column that carries information is the one value the only
|
|
140
|
+
* restore seam rejects.
|
|
141
|
+
* - **`_snapshot_id`, no.** One value for the whole snapshot, so a per-row copy
|
|
142
|
+
* is N copies of a string the copy is already named after.
|
|
143
|
+
* - **`_row`, no.** The order, not a value. A copy that preserves the order
|
|
144
|
+
* preserves everything the column carries; the numbers themselves are an
|
|
145
|
+
* engine's auto-increment and are not stable across a rewrite anyway.
|
|
146
|
+
*
|
|
147
|
+
* Kept here rather than in the archiver that needed it, because it is a fact
|
|
148
|
+
* about the store interface — about which columns {@link
|
|
149
|
+
* CatalogMergeStore.carryForward} reads — and anything else that copies a
|
|
150
|
+
* snapshot needs the same answer.
|
|
151
|
+
*/
|
|
152
|
+
exports.CATALOG_PROVENANCE_COLUMNS = ['_principal_id', '_loaded_at'];
|
|
95
153
|
/**
|
|
96
154
|
* The whole naming rule, which used to be written out here.
|
|
97
155
|
*
|
package/dist/index.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export { type AuditQuery, CATALOG_REVISION_LIMIT, CATALOG_TRACE_OUTCOMES, CATALO
|
|
|
23
23
|
export { CATALOG_PRINCIPAL_RESOLVER, type CatalogActor, type CatalogGrants, type CatalogPrincipal, type CatalogPrincipalResolver, type CatalogScope, composePrincipalId, delegatePrincipal, expandScopes, hasScope, parsePrincipalId, PRINCIPAL_ACTOR_SEPARATOR, maySeeClassification, mayRead, mayWrite, readableObjectPage, StaticKeyPrincipalResolver, } from './catalog.principal';
|
|
24
24
|
export * from './catalog.access';
|
|
25
25
|
export * from './catalog.filters';
|
|
26
|
-
export { assertNoColumnCollisions, assertSafeIdentifier, CATALOG_RESERVED_COLUMNS, CATALOG_SNAPSHOT_MODES, CATALOG_STORE, type CarryForwardResult, type CatalogColumnCollision, CatalogColumnCollisionError, type CatalogFilteringReadStore, supportsObjectFilters, type CatalogMergeStore, type CatalogReadQuery, type CatalogReadResult, type CatalogReadStore, type CatalogReservedColumn, type CatalogSnapshotLocation, type CatalogSnapshotLookupStore, type CatalogSnapshotMode, type CatalogSnapshotStreamStore, type CatalogStoreCapabilities, type CatalogWriteStore, type ColumnCollisionOptions, findColumnCollisions, isCatalogStoreCapabilities, isReservedColumn, isSafeIdentifier, isWriteStore, outputAlias, physicalColumn, type SnapshotArchiveRef, type SnapshotRef, supportsCarryForward, supportsSnapshotLookup, supportsSnapshotStreams, UnsafeIdentifierError, } from './catalog.store';
|
|
26
|
+
export { assertNoColumnCollisions, assertSafeIdentifier, CATALOG_PROVENANCE_COLUMNS, CATALOG_RESERVED_COLUMNS, CATALOG_SNAPSHOT_MODES, CATALOG_STORE, type CarryForwardResult, type CatalogColumnCollision, CatalogColumnCollisionError, type CatalogFilteringReadStore, supportsObjectFilters, type CatalogMergeStore, type CatalogReadQuery, type CatalogReadResult, type CatalogReadStore, type CatalogProvenanceColumn, type CatalogReservedColumn, type CatalogSnapshotArchiveStore, type CatalogSnapshotLocation, type CatalogSnapshotLookupStore, type CatalogSnapshotMode, type CatalogSnapshotStreamStore, type CatalogStoreCapabilities, type CatalogWriteStore, type ColumnCollisionOptions, findColumnCollisions, isCatalogStoreCapabilities, isReservedColumn, isSafeIdentifier, isWriteStore, outputAlias, physicalColumn, type SnapshotArchiveRef, type SnapshotRef, type SnapshotStreamOptions, supportsCarryForward, supportsSnapshotArchiveRecords, supportsSnapshotLookup, supportsSnapshotStreams, UnsafeIdentifierError, } from './catalog.store';
|
|
27
27
|
export { MikroOrmReadStore } from './stores/mikro-orm-read.store';
|
|
28
28
|
export type { CatalogGraph, CatalogObjectPage, CatalogObjectQuery, CatalogObjectTypeDef, CatalogOverlay, CatalogPropertyDef, CatalogRelationDef, CatalogSnapshot, RelationKind, ScalarType, } from './catalog.types';
|
|
29
29
|
export { isRelationKind, RELATION_KINDS } from './catalog.types';
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@ exports.nodeKindIsReusable = exports.NODE_KIND_IS_REUSABLE = exports.isReusableN
|
|
|
18
18
|
exports.WORKFLOW_FILTER_OPERATORS = exports.WORKFLOW_FILTER_MAX_VALUES = exports.WORKFLOW_FILTER_MAX_DEPTH = exports.WORKFLOW_FILTER_COLUMN_PATTERN = exports.WORKFLOW_EXECUTION_MODES = exports.WORKFLOW_COLUMN_GAP = exports.WORKFLOW_CALL_MODES = exports.WORKFLOW_CALL_CONTRACT = exports.WORKFLOW_BRANCH_LABELS = exports.validateWorkflow = exports.unreachableRenameUnnamed = exports.unreachableLookupUnmatched = exports.unreachablePredicateKind = exports.unreachableNodeKind = exports.unreachableConnectorKind = exports.unreachableCallMode = exports.unreachableFilterPredicateKind = exports.unreachableTransformMode = exports.unreachableFilterOperator = exports.transformMode = exports.recordModeRefusal = exports.TRANSFORM_MODES = exports.TRANSFORM_LANGUAGES = exports.TRANSFORM_RUNNER = exports.supportsStagePayloads = exports.supportsWorkflowStages = exports.supportsWorkflows = exports.supportsWorkflowReleases = exports.liveWorkflowVersion = exports.isWorkflowStatus = exports.isWorkflowSkipReason = exports.isWorkflowRenameUnnamed = exports.isWorkflowRenameColumns = exports.isWorkflowLookupUnmatched = exports.isWorkflowLookupFields = exports.isWorkflowPredicateKind = exports.isWorkflowNodeKind = exports.isWorkflowCallMode = exports.isWorkflowNode = exports.isWorkflowIfPredicate = exports.isWorkflowFilterValue = exports.isWorkflowFilterPredicateKind = exports.isWorkflowFilterPredicate = exports.isWorkflowFilterOperator = exports.isWorkflowExecutionMode = exports.isWorkflowEdge = exports.isWorkflowBranchLabel = exports.unreachableReusableNodeKind = exports.reusableNodeBodyOf = exports.REUSABLE_NODE_KINDS = void 0;
|
|
19
19
|
exports.workflowAggregateNeedsColumn = exports.workflowAggregateMaxGroups = exports.workflowAggregateJoinMaxLength = exports.workflowAggregateColumns = exports.WORKFLOW_AGGREGATE_MAX_SEPARATOR = exports.WORKFLOW_AGGREGATE_MAX_GROUPS = exports.WORKFLOW_AGGREGATE_MAX_GROUP_BY = exports.WORKFLOW_AGGREGATE_MAX_AGGREGATES = exports.WORKFLOW_AGGREGATE_JOIN_MAX_LENGTH = exports.WORKFLOW_AGGREGATE_JOIN_LENGTH_CEILING = exports.WORKFLOW_AGGREGATE_GROUPS_CEILING = exports.WORKFLOW_AGGREGATE_FUNCTIONS = exports.WORKFLOW_AGGREGATE_DEFAULT_SEPARATOR = exports.unreachableAggregateFunction = exports.isWorkflowAggregates = exports.isWorkflowAggregateFunction = exports.aggregateRefusals = exports.workflowRenameUnnamed = exports.renameColumnRefusals = exports.WORKFLOW_LOOKUP_UNMATCHED = exports.WORKFLOW_LOOKUP_MAX_REFERENCE_ROWS = exports.WORKFLOW_LOOKUP_MAX_FIELDS = exports.workflowLookupUnmatched = exports.workflowLookupKey = exports.workflowLookupColumns = exports.lookupConfigRefusals = exports.workflowRunOrder = exports.workflowNodeRuns = exports.workflowSourceSnapshot = exports.workflowSourceObjectType = exports.workflowNarrowedTypes = exports.workflowKnownColumns = exports.workflowGraphHash = exports.workflowFilterMatches = exports.workflowFilterColumns = exports.workflowCallMode = exports.workflowRowY = exports.workflowColumnX = exports.WORKFLOW_STATUSES = exports.WORKFLOW_SKIP_REASONS = exports.WORKFLOW_ROW_GAP = exports.WORKFLOW_RENAME_UNNAMED = exports.WORKFLOW_RENAME_MAX_COLUMNS = exports.WORKFLOW_PREDICATE_KINDS = exports.WORKFLOW_NODE_WIDTH = exports.WORKFLOW_NODE_KINDS = exports.WORKFLOW_NODE_ID_PATTERN = exports.WORKFLOW_NODE_HEIGHT = exports.WORKFLOW_ISSUE_CODES = exports.WORKFLOW_FILTER_PREDICATE_KINDS = void 0;
|
|
20
20
|
exports.readableObjectPage = exports.mayWrite = exports.mayRead = exports.maySeeClassification = exports.PRINCIPAL_ACTOR_SEPARATOR = exports.parsePrincipalId = exports.hasScope = exports.expandScopes = exports.delegatePrincipal = exports.composePrincipalId = exports.CATALOG_PRINCIPAL_RESOLVER = exports.traceOutcomeFilter = exports.supportsSavedQueryRevisions = exports.isWorkspaceStore = exports.isTraceStore = exports.isCatalogTraceOutcome = exports.embeddedVisualization = exports.CATALOG_WORKSPACE_STORE = exports.CATALOG_TRACE_STORE = exports.CATALOG_TRACE_OUTCOMES = exports.CATALOG_REVISION_LIMIT = exports.visibleToPrincipal = exports.searchCatalog = exports.maySearch = exports.emptySearch = exports.bestMatch = exports.MAX_SEARCH_LIMIT = exports.DEFAULT_SEARCH_LIMIT = exports.CatalogService = exports.transformShapeHint = exports.transformShape = exports.transformDeclaresModule = exports.SubprocessTransformRunner = exports.toCsv = exports.guardFormula = exports.csvLines = exports.csvCell = exports.QueryCache = exports.renameStagePayload = exports.isColumnarStageBatch = exports.encodeStageRows = exports.decodeStageRows = exports.classifyStagePayload = exports.STAGE_ENCODING_VERSION = exports.STAGE_ENCODING = exports.WorkflowAggregateError = exports.aggregateInputColumns = exports.AggregateTable = exports.workflowAggregateSeparator = exports.workflowAggregateOutputColumns = void 0;
|
|
21
|
-
exports.RequireScopes = exports.RequireHuman = exports.REQUIRES_HUMAN = exports.REQUIRED_SCOPES = exports.RELATION_KINDS = exports.isRelationKind = exports.MikroOrmReadStore = exports.UnsafeIdentifierError = exports.supportsSnapshotStreams = exports.supportsSnapshotLookup = exports.supportsCarryForward = exports.physicalColumn = exports.outputAlias = exports.isWriteStore = exports.isSafeIdentifier = exports.isReservedColumn = exports.isCatalogStoreCapabilities = exports.findColumnCollisions = exports.supportsObjectFilters = exports.CatalogColumnCollisionError = exports.CATALOG_STORE = exports.CATALOG_SNAPSHOT_MODES = exports.CATALOG_RESERVED_COLUMNS = exports.assertSafeIdentifier = exports.assertNoColumnCollisions = exports.StaticKeyPrincipalResolver = void 0;
|
|
21
|
+
exports.RequireScopes = exports.RequireHuman = exports.REQUIRES_HUMAN = exports.REQUIRED_SCOPES = exports.RELATION_KINDS = exports.isRelationKind = exports.MikroOrmReadStore = exports.UnsafeIdentifierError = exports.supportsSnapshotStreams = exports.supportsSnapshotLookup = exports.supportsSnapshotArchiveRecords = exports.supportsCarryForward = exports.physicalColumn = exports.outputAlias = exports.isWriteStore = exports.isSafeIdentifier = exports.isReservedColumn = exports.isCatalogStoreCapabilities = exports.findColumnCollisions = exports.supportsObjectFilters = exports.CatalogColumnCollisionError = exports.CATALOG_STORE = exports.CATALOG_SNAPSHOT_MODES = exports.CATALOG_RESERVED_COLUMNS = exports.CATALOG_PROVENANCE_COLUMNS = exports.assertSafeIdentifier = exports.assertNoColumnCollisions = exports.StaticKeyPrincipalResolver = void 0;
|
|
22
22
|
var catalog_decorators_1 = require("./catalog.decorators");
|
|
23
23
|
Object.defineProperty(exports, "CatalogProperty", { enumerable: true, get: function () { return catalog_decorators_1.CatalogProperty; } });
|
|
24
24
|
Object.defineProperty(exports, "CatalogType", { enumerable: true, get: function () { return catalog_decorators_1.CatalogType; } });
|
|
@@ -297,6 +297,7 @@ __exportStar(require("./catalog.filters"), exports);
|
|
|
297
297
|
var catalog_store_1 = require("./catalog.store");
|
|
298
298
|
Object.defineProperty(exports, "assertNoColumnCollisions", { enumerable: true, get: function () { return catalog_store_1.assertNoColumnCollisions; } });
|
|
299
299
|
Object.defineProperty(exports, "assertSafeIdentifier", { enumerable: true, get: function () { return catalog_store_1.assertSafeIdentifier; } });
|
|
300
|
+
Object.defineProperty(exports, "CATALOG_PROVENANCE_COLUMNS", { enumerable: true, get: function () { return catalog_store_1.CATALOG_PROVENANCE_COLUMNS; } });
|
|
300
301
|
Object.defineProperty(exports, "CATALOG_RESERVED_COLUMNS", { enumerable: true, get: function () { return catalog_store_1.CATALOG_RESERVED_COLUMNS; } });
|
|
301
302
|
Object.defineProperty(exports, "CATALOG_SNAPSHOT_MODES", { enumerable: true, get: function () { return catalog_store_1.CATALOG_SNAPSHOT_MODES; } });
|
|
302
303
|
Object.defineProperty(exports, "CATALOG_STORE", { enumerable: true, get: function () { return catalog_store_1.CATALOG_STORE; } });
|
|
@@ -310,6 +311,7 @@ Object.defineProperty(exports, "isWriteStore", { enumerable: true, get: function
|
|
|
310
311
|
Object.defineProperty(exports, "outputAlias", { enumerable: true, get: function () { return catalog_store_1.outputAlias; } });
|
|
311
312
|
Object.defineProperty(exports, "physicalColumn", { enumerable: true, get: function () { return catalog_store_1.physicalColumn; } });
|
|
312
313
|
Object.defineProperty(exports, "supportsCarryForward", { enumerable: true, get: function () { return catalog_store_1.supportsCarryForward; } });
|
|
314
|
+
Object.defineProperty(exports, "supportsSnapshotArchiveRecords", { enumerable: true, get: function () { return catalog_store_1.supportsSnapshotArchiveRecords; } });
|
|
313
315
|
Object.defineProperty(exports, "supportsSnapshotLookup", { enumerable: true, get: function () { return catalog_store_1.supportsSnapshotLookup; } });
|
|
314
316
|
Object.defineProperty(exports, "supportsSnapshotStreams", { enumerable: true, get: function () { return catalog_store_1.supportsSnapshotStreams; } });
|
|
315
317
|
Object.defineProperty(exports, "UnsafeIdentifierError", { enumerable: true, get: function () { return catalog_store_1.UnsafeIdentifierError; } });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dudousxd/nestjs-catalog",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.0",
|
|
4
4
|
"description": "A metadata registry for NestJS: object types, properties and relations, derived from your ORM and enriched with decorators.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Davide Carvalho",
|