@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.
@@ -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
  *
@@ -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.32.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",