@memberjunction/metadata-sync 6.2.0-edge.0 → 6.2.0-edge.2
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/README.md +1 -0
- package/dist/config.d.ts +8 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +20 -4
- package/dist/config.js.map +1 -1
- package/dist/constants/metadata-keywords.d.ts +16 -0
- package/dist/constants/metadata-keywords.d.ts.map +1 -1
- package/dist/constants/metadata-keywords.js +42 -10
- package/dist/constants/metadata-keywords.js.map +1 -1
- package/dist/index.d.ts +10 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -8
- package/dist/index.js.map +1 -1
- package/dist/lib/EntityPropertyExtractor.d.ts +4 -0
- package/dist/lib/EntityPropertyExtractor.d.ts.map +1 -1
- package/dist/lib/EntityPropertyExtractor.js +11 -3
- package/dist/lib/EntityPropertyExtractor.js.map +1 -1
- package/dist/lib/FieldExternalizer.d.ts +2 -0
- package/dist/lib/FieldExternalizer.d.ts.map +1 -1
- package/dist/lib/FieldExternalizer.js +9 -5
- package/dist/lib/FieldExternalizer.js.map +1 -1
- package/dist/lib/RecordProcessor.d.ts +4 -0
- package/dist/lib/RecordProcessor.d.ts.map +1 -1
- package/dist/lib/RecordProcessor.js +17 -9
- package/dist/lib/RecordProcessor.js.map +1 -1
- package/dist/lib/RelatedEntityHandler.d.ts +6 -0
- package/dist/lib/RelatedEntityHandler.d.ts.map +1 -1
- package/dist/lib/RelatedEntityHandler.js +15 -3
- package/dist/lib/RelatedEntityHandler.js.map +1 -1
- package/dist/lib/batch-context-index.d.ts +17 -0
- package/dist/lib/batch-context-index.d.ts.map +1 -1
- package/dist/lib/batch-context-index.js +35 -7
- package/dist/lib/batch-context-index.js.map +1 -1
- package/dist/lib/collection-resolver.d.ts +4 -20
- package/dist/lib/collection-resolver.d.ts.map +1 -1
- package/dist/lib/collection-resolver.js +4 -113
- package/dist/lib/collection-resolver.js.map +1 -1
- package/dist/lib/config-manager.d.ts +8 -0
- package/dist/lib/config-manager.d.ts.map +1 -1
- package/dist/lib/config-manager.js +25 -9
- package/dist/lib/config-manager.js.map +1 -1
- package/dist/lib/database-reference-scanner.d.ts +6 -0
- package/dist/lib/database-reference-scanner.d.ts.map +1 -1
- package/dist/lib/database-reference-scanner.js +15 -3
- package/dist/lib/database-reference-scanner.js.map +1 -1
- package/dist/lib/deletion-auditor.d.ts +6 -0
- package/dist/lib/deletion-auditor.d.ts.map +1 -1
- package/dist/lib/deletion-auditor.js +15 -3
- package/dist/lib/deletion-auditor.js.map +1 -1
- package/dist/lib/deletion-report-generator.d.ts +4 -0
- package/dist/lib/deletion-report-generator.d.ts.map +1 -1
- package/dist/lib/deletion-report-generator.js +10 -2
- package/dist/lib/deletion-report-generator.js.map +1 -1
- package/dist/lib/entity-foreign-key-helper.d.ts +8 -0
- package/dist/lib/entity-foreign-key-helper.d.ts.map +1 -1
- package/dist/lib/entity-foreign-key-helper.js +20 -4
- package/dist/lib/entity-foreign-key-helper.js.map +1 -1
- package/dist/lib/entity-subclass-guard.d.ts +6 -0
- package/dist/lib/entity-subclass-guard.d.ts.map +1 -1
- package/dist/lib/entity-subclass-guard.js +10 -2
- package/dist/lib/entity-subclass-guard.js.map +1 -1
- package/dist/lib/existing-record-files.d.ts +2 -0
- package/dist/lib/existing-record-files.d.ts.map +1 -1
- package/dist/lib/existing-record-files.js +5 -1
- package/dist/lib/existing-record-files.js.map +1 -1
- package/dist/lib/file-backup-manager.d.ts +16 -0
- package/dist/lib/file-backup-manager.d.ts.map +1 -1
- package/dist/lib/file-backup-manager.js +31 -7
- package/dist/lib/file-backup-manager.js.map +1 -1
- package/dist/lib/file-write-batch.d.ts +14 -0
- package/dist/lib/file-write-batch.d.ts.map +1 -1
- package/dist/lib/file-write-batch.js +39 -11
- package/dist/lib/file-write-batch.js.map +1 -1
- package/dist/lib/graph-provider-pool.d.ts +16 -0
- package/dist/lib/graph-provider-pool.d.ts.map +1 -1
- package/dist/lib/graph-provider-pool.js +35 -7
- package/dist/lib/graph-provider-pool.js.map +1 -1
- package/dist/lib/json-preprocessor.d.ts +4 -0
- package/dist/lib/json-preprocessor.d.ts.map +1 -1
- package/dist/lib/json-preprocessor.js +12 -4
- package/dist/lib/json-preprocessor.js.map +1 -1
- package/dist/lib/json-subproperty-externalization.d.ts +14 -1
- package/dist/lib/json-subproperty-externalization.d.ts.map +1 -1
- package/dist/lib/json-subproperty-externalization.js +29 -9
- package/dist/lib/json-subproperty-externalization.js.map +1 -1
- package/dist/lib/json-write-helper.d.ts +9 -0
- package/dist/lib/json-write-helper.d.ts.map +1 -1
- package/dist/lib/json-write-helper.js +15 -3
- package/dist/lib/json-write-helper.js.map +1 -1
- package/dist/lib/provider-utils.d.ts +10 -0
- package/dist/lib/provider-utils.d.ts.map +1 -1
- package/dist/lib/provider-utils.js +27 -7
- package/dist/lib/provider-utils.js.map +1 -1
- package/dist/lib/push-outcome.d.ts +6 -0
- package/dist/lib/push-outcome.d.ts.map +1 -1
- package/dist/lib/push-outcome.js +17 -5
- package/dist/lib/push-outcome.js.map +1 -1
- package/dist/lib/push-write-mode.d.ts +8 -0
- package/dist/lib/push-write-mode.d.ts.map +1 -1
- package/dist/lib/push-write-mode.js +20 -4
- package/dist/lib/push-write-mode.js.map +1 -1
- package/dist/lib/record-dependency-analyzer.d.ts +14 -0
- package/dist/lib/record-dependency-analyzer.d.ts.map +1 -1
- package/dist/lib/record-dependency-analyzer.js +36 -8
- package/dist/lib/record-dependency-analyzer.js.map +1 -1
- package/dist/lib/record-primary-key.d.ts +6 -0
- package/dist/lib/record-primary-key.d.ts.map +1 -1
- package/dist/lib/record-primary-key.js +15 -3
- package/dist/lib/record-primary-key.js.map +1 -1
- package/dist/lib/reference-parser.d.ts +2 -0
- package/dist/lib/reference-parser.d.ts.map +1 -1
- package/dist/lib/reference-parser.js +5 -1
- package/dist/lib/reference-parser.js.map +1 -1
- package/dist/lib/singleton-manager.d.ts +4 -0
- package/dist/lib/singleton-manager.d.ts.map +1 -1
- package/dist/lib/singleton-manager.js +10 -2
- package/dist/lib/singleton-manager.js.map +1 -1
- package/dist/lib/sql-logger.d.ts +12 -0
- package/dist/lib/sql-logger.d.ts.map +1 -1
- package/dist/lib/sql-logger.js +31 -7
- package/dist/lib/sql-logger.js.map +1 -1
- package/dist/lib/sync-engine.d.ts +27 -0
- package/dist/lib/sync-engine.d.ts.map +1 -1
- package/dist/lib/sync-engine.js +83 -35
- package/dist/lib/sync-engine.js.map +1 -1
- package/dist/lib/sync-metadata-engine.d.ts +54 -0
- package/dist/lib/sync-metadata-engine.d.ts.map +1 -1
- package/dist/lib/sync-metadata-engine.js +142 -46
- package/dist/lib/sync-metadata-engine.js.map +1 -1
- package/dist/lib/sync-state-manager.d.ts +18 -0
- package/dist/lib/sync-state-manager.d.ts.map +1 -1
- package/dist/lib/sync-state-manager.js +45 -9
- package/dist/lib/sync-state-manager.js.map +1 -1
- package/dist/lib/transaction-manager.d.ts +10 -0
- package/dist/lib/transaction-manager.d.ts.map +1 -1
- package/dist/lib/transaction-manager.js +28 -8
- package/dist/lib/transaction-manager.js.map +1 -1
- package/dist/plugins/index.d.ts +10 -2
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +18 -2
- package/dist/plugins/index.js.map +1 -1
- package/dist/services/FileResetService.d.ts +2 -0
- package/dist/services/FileResetService.d.ts.map +1 -1
- package/dist/services/FileResetService.js +7 -3
- package/dist/services/FileResetService.js.map +1 -1
- package/dist/services/FormattingService.d.ts +25 -0
- package/dist/services/FormattingService.d.ts.map +1 -1
- package/dist/services/FormattingService.js +44 -12
- package/dist/services/FormattingService.js.map +1 -1
- package/dist/services/InitService.d.ts +6 -0
- package/dist/services/InitService.d.ts.map +1 -1
- package/dist/services/InitService.js +15 -3
- package/dist/services/InitService.js.map +1 -1
- package/dist/services/PullService.d.ts +8 -0
- package/dist/services/PullService.d.ts.map +1 -1
- package/dist/services/PullService.js +23 -7
- package/dist/services/PullService.js.map +1 -1
- package/dist/services/PushService.d.ts +20 -2
- package/dist/services/PushService.d.ts.map +1 -1
- package/dist/services/PushService.js +76 -22
- package/dist/services/PushService.js.map +1 -1
- package/dist/services/StatusService.d.ts +5 -0
- package/dist/services/StatusService.d.ts.map +1 -1
- package/dist/services/StatusService.js +10 -6
- package/dist/services/StatusService.js.map +1 -1
- package/dist/services/ValidationService.d.ts +2 -0
- package/dist/services/ValidationService.d.ts.map +1 -1
- package/dist/services/ValidationService.js +18 -14
- package/dist/services/ValidationService.js.map +1 -1
- package/dist/services/WatchService.d.ts +2 -0
- package/dist/services/WatchService.d.ts.map +1 -1
- package/dist/services/WatchService.js +10 -6
- package/dist/services/WatchService.js.map +1 -1
- package/dist/types/validation.d.ts +10 -2
- package/dist/types/validation.d.ts.map +1 -1
- package/dist/types/validation.js +20 -4
- package/dist/types/validation.js.map +1 -1
- package/package.json +15 -14
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import fs from 'fs-extra';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { JsonWriteHelper } from './json-write-helper.js';
|
|
4
|
-
import {
|
|
4
|
+
import { CreatePrimaryKeyLookup, HasCompletePrimaryKey } from './record-primary-key.js';
|
|
5
5
|
/**
|
|
6
6
|
* Batches file write operations to improve performance and ensure consistent property ordering.
|
|
7
7
|
* Collects all changes during processing and writes each file only once at the end.
|
|
@@ -16,7 +16,7 @@ export class FileWriteBatch {
|
|
|
16
16
|
* @param filePath - Path to the file
|
|
17
17
|
* @param data - RecordData or array of RecordData to write
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
QueueWrite(filePath, data) {
|
|
20
20
|
const absolutePath = path.resolve(filePath);
|
|
21
21
|
this.addChange(absolutePath, {
|
|
22
22
|
filePath: absolutePath,
|
|
@@ -24,18 +24,22 @@ export class FileWriteBatch {
|
|
|
24
24
|
data
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
|
+
/** @deprecated Use {@link QueueWrite}. */
|
|
28
|
+
queueWrite(filePath, data) {
|
|
29
|
+
return this.QueueWrite(filePath, data);
|
|
30
|
+
}
|
|
27
31
|
/**
|
|
28
32
|
* Queue an array record update operation
|
|
29
33
|
* @param filePath - Path to the file containing the array
|
|
30
34
|
* @param updatedRecord - The updated record data
|
|
31
35
|
* @param primaryKeyLookup - Primary key lookup string to identify the record
|
|
32
36
|
*/
|
|
33
|
-
|
|
37
|
+
QueueArrayUpdate(filePath, updatedRecord, primaryKeyLookup) {
|
|
34
38
|
// Array updates match entries by primary key. A record whose key has no value ({ ID: undefined },
|
|
35
39
|
// written to the file as `primaryKey: {}`) matches every other such record, so each queued record
|
|
36
40
|
// would overwrite the last and a batch of N new records would write exactly one (#3415).
|
|
37
41
|
// Refuse rather than lose data.
|
|
38
|
-
if (!
|
|
42
|
+
if (!HasCompletePrimaryKey(updatedRecord.primaryKey)) {
|
|
39
43
|
throw new Error(`Refusing to queue an update to ${path.basename(filePath)} for a record with an incomplete primary key ` +
|
|
40
44
|
`(${JSON.stringify(updatedRecord.primaryKey ?? {})}): it would overwrite other records in the file.`);
|
|
41
45
|
}
|
|
@@ -47,12 +51,16 @@ export class FileWriteBatch {
|
|
|
47
51
|
primaryKeyLookup
|
|
48
52
|
});
|
|
49
53
|
}
|
|
54
|
+
/** @deprecated Use {@link QueueArrayUpdate}. */
|
|
55
|
+
queueArrayUpdate(filePath, updatedRecord, primaryKeyLookup) {
|
|
56
|
+
return this.QueueArrayUpdate(filePath, updatedRecord, primaryKeyLookup);
|
|
57
|
+
}
|
|
50
58
|
/**
|
|
51
59
|
* Queue a single record update operation
|
|
52
60
|
* @param filePath - Path to the file
|
|
53
61
|
* @param updatedRecord - The updated record data
|
|
54
62
|
*/
|
|
55
|
-
|
|
63
|
+
QueueSingleUpdate(filePath, updatedRecord) {
|
|
56
64
|
const absolutePath = path.resolve(filePath);
|
|
57
65
|
this.addChange(absolutePath, {
|
|
58
66
|
filePath: absolutePath,
|
|
@@ -60,6 +68,10 @@ export class FileWriteBatch {
|
|
|
60
68
|
data: updatedRecord
|
|
61
69
|
});
|
|
62
70
|
}
|
|
71
|
+
/** @deprecated Use {@link QueueSingleUpdate}. */
|
|
72
|
+
queueSingleUpdate(filePath, updatedRecord) {
|
|
73
|
+
return this.QueueSingleUpdate(filePath, updatedRecord);
|
|
74
|
+
}
|
|
63
75
|
/**
|
|
64
76
|
* Load and cache file contents if not already loaded
|
|
65
77
|
*/
|
|
@@ -97,7 +109,7 @@ export class FileWriteBatch {
|
|
|
97
109
|
const contentArray = Array.isArray(currentContent) ? currentContent : [];
|
|
98
110
|
if (change.primaryKeyLookup) {
|
|
99
111
|
// Find existing record with matching primary key
|
|
100
|
-
const index = contentArray.findIndex(r =>
|
|
112
|
+
const index = contentArray.findIndex(r => CreatePrimaryKeyLookup(r.primaryKey) === change.primaryKeyLookup);
|
|
101
113
|
if (index >= 0) {
|
|
102
114
|
// Update existing record
|
|
103
115
|
contentArray[index] = change.data;
|
|
@@ -130,7 +142,7 @@ export class FileWriteBatch {
|
|
|
130
142
|
* Write all batched changes to files using JsonWriteHelper for consistent ordering
|
|
131
143
|
* @returns Number of files written
|
|
132
144
|
*/
|
|
133
|
-
async
|
|
145
|
+
async Flush() {
|
|
134
146
|
if (this.changes.size === 0) {
|
|
135
147
|
return 0;
|
|
136
148
|
}
|
|
@@ -148,28 +160,44 @@ export class FileWriteBatch {
|
|
|
148
160
|
await Promise.all(writePromises);
|
|
149
161
|
const filesWritten = this.fileContents.size;
|
|
150
162
|
// Clear all batched changes
|
|
151
|
-
this.
|
|
163
|
+
this.Clear();
|
|
152
164
|
return filesWritten;
|
|
153
165
|
}
|
|
166
|
+
/** @deprecated Use {@link Flush}. */
|
|
167
|
+
async flush() {
|
|
168
|
+
return this.Flush();
|
|
169
|
+
}
|
|
154
170
|
/**
|
|
155
171
|
* Clear all batched changes without writing
|
|
156
172
|
*/
|
|
157
|
-
|
|
173
|
+
Clear() {
|
|
158
174
|
this.changes.clear();
|
|
159
175
|
this.fileContents.clear();
|
|
160
176
|
}
|
|
177
|
+
/** @deprecated Use {@link Clear}. */
|
|
178
|
+
clear() {
|
|
179
|
+
return this.Clear();
|
|
180
|
+
}
|
|
161
181
|
/**
|
|
162
182
|
* Get the number of files that will be written
|
|
163
183
|
*/
|
|
164
|
-
|
|
184
|
+
GetPendingFileCount() {
|
|
165
185
|
return this.changes.size;
|
|
166
186
|
}
|
|
187
|
+
/** @deprecated Use {@link GetPendingFileCount}. */
|
|
188
|
+
getPendingFileCount() {
|
|
189
|
+
return this.GetPendingFileCount();
|
|
190
|
+
}
|
|
167
191
|
/**
|
|
168
192
|
* Get all pending file paths
|
|
169
193
|
*/
|
|
170
|
-
|
|
194
|
+
GetPendingFiles() {
|
|
171
195
|
return Array.from(this.changes.keys());
|
|
172
196
|
}
|
|
197
|
+
/** @deprecated Use {@link GetPendingFiles}. */
|
|
198
|
+
getPendingFiles() {
|
|
199
|
+
return this.GetPendingFiles();
|
|
200
|
+
}
|
|
173
201
|
/**
|
|
174
202
|
* Add a change to the batch
|
|
175
203
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-write-batch.js","sourceRoot":"","sources":["../../src/lib/file-write-batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAkBrF;;;GAGG;AACH,MAAM,OAAO,cAAc;IAA3B;QACU,YAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC1C,iBAAY,GAAG,IAAI,GAAG,EAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"file-write-batch.js","sourceRoot":"","sources":["../../src/lib/file-write-batch.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,8 @@ export interface GraphProviderPoolOptions {
|
|
|
48
48
|
* before any graph runs, so a push never discovers mid-file that it has to switch topology.
|
|
49
49
|
* @returns `undefined` when independent instances work, otherwise the reason they do not.
|
|
50
50
|
*/
|
|
51
|
+
export declare function ProbeIndependentInstances(host: GraphProviderLike): Promise<string | undefined>;
|
|
52
|
+
/** @deprecated Use {@link ProbeIndependentInstances}. */
|
|
51
53
|
export declare function probeIndependentInstances(host: GraphProviderLike): Promise<string | undefined>;
|
|
52
54
|
export declare class GraphProviderPool {
|
|
53
55
|
private readonly host;
|
|
@@ -64,13 +66,23 @@ export declare class GraphProviderPool {
|
|
|
64
66
|
* Record, per graphId, the highest dependency-level index it occupies so we
|
|
65
67
|
* can drain (commit/rollback + release) as soon as that level finishes.
|
|
66
68
|
*/
|
|
69
|
+
NoteLevels(levels: Array<Array<{
|
|
70
|
+
graphId: string;
|
|
71
|
+
}>>): void;
|
|
72
|
+
/** @deprecated Use {@link NoteLevels}. */
|
|
67
73
|
noteLevels(levels: Array<Array<{
|
|
68
74
|
graphId: string;
|
|
69
75
|
}>>): void;
|
|
70
76
|
/** One record error anywhere in the file rolls back every graph in that file. */
|
|
77
|
+
MarkFailed(): void;
|
|
78
|
+
/** @deprecated Use {@link MarkFailed}. */
|
|
71
79
|
markFailed(): void;
|
|
80
|
+
get HasFailed(): boolean;
|
|
81
|
+
/** @deprecated Use {@link HasFailed}. */
|
|
72
82
|
get hasFailed(): boolean;
|
|
73
83
|
/** Provider for this graph. See the class comment for the per-mode rules. */
|
|
84
|
+
Obtain(graphId: string): Promise<GraphProviderLike>;
|
|
85
|
+
/** @deprecated Use {@link Obtain}. */
|
|
74
86
|
obtain(graphId: string): Promise<GraphProviderLike>;
|
|
75
87
|
private obtainHost;
|
|
76
88
|
/**
|
|
@@ -79,8 +91,12 @@ export declare class GraphProviderPool {
|
|
|
79
91
|
* graphs whose last level is `levelIndex`, or whose TransactionDepth is already 0.
|
|
80
92
|
* Returns the first settle error so the caller cannot report success with uncommitted rows.
|
|
81
93
|
*/
|
|
94
|
+
DrainBatch(graphIds: string[], levelIndex: number): Promise<Error | undefined>;
|
|
95
|
+
/** @deprecated Use {@link DrainBatch}. */
|
|
82
96
|
drainBatch(graphIds: string[], levelIndex: number): Promise<Error | undefined>;
|
|
83
97
|
/** Release every remaining graph. Safe to call from `finally`. */
|
|
98
|
+
ReleaseAll(): Promise<Error | undefined>;
|
|
99
|
+
/** @deprecated Use {@link ReleaseAll}. */
|
|
84
100
|
releaseAll(): Promise<Error | undefined>;
|
|
85
101
|
private releaseHost;
|
|
86
102
|
private releaseGraphs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-provider-pool.d.ts","sourceRoot":"","sources":["../../src/lib/graph-provider-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACxD,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,aAAa,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,YAAY,CAAC;AAE5D,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,iBAAiB,CAAC;IACxB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,uFAAuF;IACvF,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACzE;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAapG;AAED,qBAAa,iBAAiB;IAU1B,OAAO,CAAC,QAAQ,CAAC,IAAI;IATvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;IAClE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA4B;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAyD;IACzF,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,SAAS,CAAS;gBAGP,IAAI,EAAE,iBAAiB,EACxC,OAAO,EAAE,wBAAwB;IAOnC,IAAI,IAAI,IAAI,iBAAiB,CAE5B;IAED;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,GAAG,IAAI;IAS3D,iFAAiF;IACjF,UAAU,IAAI,IAAI;IAIlB,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,6EAA6E;IACvE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoBzD,OAAO,CAAC,UAAU;IAWlB;;;;;OAKG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAcpF,kEAAkE;IAC5D,UAAU,IAAI,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAQ9C,OAAO,CAAC,WAAW;YAML,aAAa;IAa3B,kFAAkF;YACpE,gBAAgB;IAqB9B;;;OAGG;YACW,MAAM;YAYN,eAAe;CAS9B"}
|
|
1
|
+
{"version":3,"file":"graph-provider-pool.d.ts","sourceRoot":"","sources":["../../src/lib/graph-provider-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACxD,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,aAAa,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,YAAY,CAAC;AAE5D,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,iBAAiB,CAAC;IACxB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,uFAAuF;IACvF,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACzE;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAapG;AAED,yDAAyD;AACzD,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEpG;AAED,qBAAa,iBAAiB;IAU1B,OAAO,CAAC,QAAQ,CAAC,IAAI;IATvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;IAClE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA4B;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAyD;IACzF,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,SAAS,CAAS;gBAGP,IAAI,EAAE,iBAAiB,EACxC,OAAO,EAAE,wBAAwB;IAOnC,IAAI,IAAI,IAAI,iBAAiB,CAE5B;IAED;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,GAAG,IAAI;IAS3D,0CAA0C;IAC1C,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,GAAG,IAAI;IAI3D,iFAAiF;IACjF,UAAU,IAAI,IAAI;IAIlB,0CAA0C;IAC1C,UAAU,IAAI,IAAI;IAIlB,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,yCAAyC;IACzC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,6EAA6E;IACvE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoBzD,sCAAsC;IAChC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIzD,OAAO,CAAC,UAAU;IAWlB;;;;;OAKG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAcpF,0CAA0C;IACpC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAIpF,kEAAkE;IAC5D,UAAU,IAAI,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAQ9C,0CAA0C;IACpC,UAAU,IAAI,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAI9C,OAAO,CAAC,WAAW;YAML,aAAa;IAa3B,kFAAkF;YACpE,gBAAgB;IAqB9B;;;OAGG;YACW,MAAM;YAYN,eAAe;CAS9B"}
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
* before any graph runs, so a push never discovers mid-file that it has to switch topology.
|
|
29
29
|
* @returns `undefined` when independent instances work, otherwise the reason they do not.
|
|
30
30
|
*/
|
|
31
|
-
export async function
|
|
31
|
+
export async function ProbeIndependentInstances(host) {
|
|
32
32
|
let instance;
|
|
33
33
|
try {
|
|
34
34
|
instance = await host.CreateIndependentInstance();
|
|
@@ -44,6 +44,10 @@ export async function probeIndependentInstances(host) {
|
|
|
44
44
|
}
|
|
45
45
|
return undefined;
|
|
46
46
|
}
|
|
47
|
+
/** @deprecated Use {@link ProbeIndependentInstances}. */
|
|
48
|
+
export async function probeIndependentInstances(host) {
|
|
49
|
+
return ProbeIndependentInstances(host);
|
|
50
|
+
}
|
|
47
51
|
export class GraphProviderPool {
|
|
48
52
|
constructor(host, options) {
|
|
49
53
|
this.host = host;
|
|
@@ -61,7 +65,7 @@ export class GraphProviderPool {
|
|
|
61
65
|
* Record, per graphId, the highest dependency-level index it occupies so we
|
|
62
66
|
* can drain (commit/rollback + release) as soon as that level finishes.
|
|
63
67
|
*/
|
|
64
|
-
|
|
68
|
+
NoteLevels(levels) {
|
|
65
69
|
this.lastLevelByGraph.clear();
|
|
66
70
|
for (let i = 0; i < levels.length; i++) {
|
|
67
71
|
for (const rec of levels[i]) {
|
|
@@ -69,15 +73,27 @@ export class GraphProviderPool {
|
|
|
69
73
|
}
|
|
70
74
|
}
|
|
71
75
|
}
|
|
76
|
+
/** @deprecated Use {@link NoteLevels}. */
|
|
77
|
+
noteLevels(levels) {
|
|
78
|
+
return this.NoteLevels(levels);
|
|
79
|
+
}
|
|
72
80
|
/** One record error anywhere in the file rolls back every graph in that file. */
|
|
73
|
-
|
|
81
|
+
MarkFailed() {
|
|
74
82
|
this.anyFailed = true;
|
|
75
83
|
}
|
|
76
|
-
|
|
84
|
+
/** @deprecated Use {@link MarkFailed}. */
|
|
85
|
+
markFailed() {
|
|
86
|
+
return this.MarkFailed();
|
|
87
|
+
}
|
|
88
|
+
get HasFailed() {
|
|
77
89
|
return this.anyFailed;
|
|
78
90
|
}
|
|
91
|
+
/** @deprecated Use {@link HasFailed}. */
|
|
92
|
+
get hasFailed() {
|
|
93
|
+
return this.HasFailed;
|
|
94
|
+
}
|
|
79
95
|
/** Provider for this graph. See the class comment for the per-mode rules. */
|
|
80
|
-
async
|
|
96
|
+
async Obtain(graphId) {
|
|
81
97
|
if (this.mode === 'host') {
|
|
82
98
|
return this.obtainHost(graphId);
|
|
83
99
|
}
|
|
@@ -95,6 +111,10 @@ export class GraphProviderPool {
|
|
|
95
111
|
`Refusing to run this graph on the host provider: mixing host and independent instances is a deadlock.`);
|
|
96
112
|
}
|
|
97
113
|
}
|
|
114
|
+
/** @deprecated Use {@link Obtain}. */
|
|
115
|
+
async obtain(graphId) {
|
|
116
|
+
return this.Obtain(graphId);
|
|
117
|
+
}
|
|
98
118
|
obtainHost(graphId) {
|
|
99
119
|
if (this.hostHolder !== undefined && this.hostHolder !== graphId) {
|
|
100
120
|
throw new Error(`Graph ${graphId} asked for the host provider while graph ${this.hostHolder} still holds it. ` +
|
|
@@ -109,7 +129,7 @@ export class GraphProviderPool {
|
|
|
109
129
|
* graphs whose last level is `levelIndex`, or whose TransactionDepth is already 0.
|
|
110
130
|
* Returns the first settle error so the caller cannot report success with uncommitted rows.
|
|
111
131
|
*/
|
|
112
|
-
async
|
|
132
|
+
async DrainBatch(graphIds, levelIndex) {
|
|
113
133
|
if (this.mode === 'host') {
|
|
114
134
|
this.releaseHost(graphIds);
|
|
115
135
|
return undefined;
|
|
@@ -123,14 +143,22 @@ export class GraphProviderPool {
|
|
|
123
143
|
});
|
|
124
144
|
return this.releaseGraphs(ending);
|
|
125
145
|
}
|
|
146
|
+
/** @deprecated Use {@link DrainBatch}. */
|
|
147
|
+
async drainBatch(graphIds, levelIndex) {
|
|
148
|
+
return this.DrainBatch(graphIds, levelIndex);
|
|
149
|
+
}
|
|
126
150
|
/** Release every remaining graph. Safe to call from `finally`. */
|
|
127
|
-
async
|
|
151
|
+
async ReleaseAll() {
|
|
128
152
|
if (this.mode === 'host') {
|
|
129
153
|
this.hostHolder = undefined;
|
|
130
154
|
return undefined;
|
|
131
155
|
}
|
|
132
156
|
return this.releaseGraphs([...this.providers.keys()]);
|
|
133
157
|
}
|
|
158
|
+
/** @deprecated Use {@link ReleaseAll}. */
|
|
159
|
+
async releaseAll() {
|
|
160
|
+
return this.ReleaseAll();
|
|
161
|
+
}
|
|
134
162
|
releaseHost(graphIds) {
|
|
135
163
|
if (this.hostHolder !== undefined && graphIds.includes(this.hostHolder)) {
|
|
136
164
|
this.hostHolder = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-provider-pool.js","sourceRoot":"","sources":["../../src/lib/graph-provider-pool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph-provider-pool.js","sourceRoot":"","sources":["../../src/lib/graph-provider-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,8 @@ export declare class JsonPreprocessor {
|
|
|
16
16
|
* @param filePath - Path to the JSON file to process
|
|
17
17
|
* @returns The processed JSON data with all includes resolved
|
|
18
18
|
*/
|
|
19
|
+
ProcessFile(filePath: string): Promise<any>;
|
|
20
|
+
/** @deprecated Use {@link ProcessFile}. */
|
|
19
21
|
processFile(filePath: string): Promise<any>;
|
|
20
22
|
/**
|
|
21
23
|
* Recursively process @include directives in JSON data
|
|
@@ -63,6 +65,8 @@ export declare class JsonPreprocessor {
|
|
|
63
65
|
* @param filePath - The file path (for resolving relative includes)
|
|
64
66
|
* @returns Processed data with includes resolved
|
|
65
67
|
*/
|
|
68
|
+
ProcessJsonData(data: any, filePath: string): Promise<any>;
|
|
69
|
+
/** @deprecated Use {@link ProcessJsonData}. */
|
|
66
70
|
processJsonData(data: any, filePath: string): Promise<any>;
|
|
67
71
|
}
|
|
68
72
|
//# sourceMappingURL=json-preprocessor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-preprocessor.d.ts","sourceRoot":"","sources":["../../src/lib/json-preprocessor.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAA0B;IAE9C;;;;OAIG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAMjD;;;;;OAKG;YACW,uBAAuB;IAWrC;;;;;OAKG;YACW,YAAY;IA8B1B;;;;;OAKG;YACW,aAAa;IA0E3B;;;;OAIG;YACW,qBAAqB;IA+BnC;;;;OAIG;YACW,eAAe;IAyC7B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAKnB;;;;;OAKG;IACG,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"json-preprocessor.d.ts","sourceRoot":"","sources":["../../src/lib/json-preprocessor.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAA0B;IAE9C;;;;OAIG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAMjD,2CAA2C;IACrC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjD;;;;;OAKG;YACW,uBAAuB;IAWrC;;;;;OAKG;YACW,YAAY;IA8B1B;;;;;OAKG;YACW,aAAa;IA0E3B;;;;OAIG;YACW,qBAAqB;IA+BnC;;;;OAIG;YACW,eAAe;IAyC7B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAKnB;;;;;OAKG;IACG,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAKhE,+CAA+C;IACzC,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAGjE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import fs from 'fs-extra';
|
|
2
2
|
import path from 'path';
|
|
3
|
-
import { METADATA_KEYWORDS,
|
|
3
|
+
import { METADATA_KEYWORDS, ExtractKeywordValue } from '../constants/metadata-keywords.js';
|
|
4
4
|
/**
|
|
5
5
|
* Preprocesses JSON files to handle @include directives
|
|
6
6
|
* Supports including external JSON files with spreading or element insertion
|
|
@@ -14,11 +14,15 @@ export class JsonPreprocessor {
|
|
|
14
14
|
* @param filePath - Path to the JSON file to process
|
|
15
15
|
* @returns The processed JSON data with all includes resolved
|
|
16
16
|
*/
|
|
17
|
-
async
|
|
17
|
+
async ProcessFile(filePath) {
|
|
18
18
|
this.visitedPaths.clear();
|
|
19
19
|
const fileContent = await fs.readJson(filePath);
|
|
20
20
|
return this.processIncludesInternal(fileContent, filePath);
|
|
21
21
|
}
|
|
22
|
+
/** @deprecated Use {@link ProcessFile}. */
|
|
23
|
+
async processFile(filePath) {
|
|
24
|
+
return this.ProcessFile(filePath);
|
|
25
|
+
}
|
|
22
26
|
/**
|
|
23
27
|
* Recursively process @include directives in JSON data
|
|
24
28
|
* @param data - The JSON data to process
|
|
@@ -139,7 +143,7 @@ export class JsonPreprocessor {
|
|
|
139
143
|
// Regular property - process recursively and handle @file references
|
|
140
144
|
if (typeof value === 'string' && value.startsWith(METADATA_KEYWORDS.FILE)) {
|
|
141
145
|
// Process @file reference
|
|
142
|
-
const filePath =
|
|
146
|
+
const filePath = ExtractKeywordValue(value);
|
|
143
147
|
const resolvedPath = this.resolvePath(filePath, currentFilePath);
|
|
144
148
|
result[key] = await this.loadFileContent(resolvedPath);
|
|
145
149
|
}
|
|
@@ -244,9 +248,13 @@ export class JsonPreprocessor {
|
|
|
244
248
|
* @param filePath - The file path (for resolving relative includes)
|
|
245
249
|
* @returns Processed data with includes resolved
|
|
246
250
|
*/
|
|
247
|
-
async
|
|
251
|
+
async ProcessJsonData(data, filePath) {
|
|
248
252
|
this.visitedPaths.clear();
|
|
249
253
|
return this.processIncludesInternal(data, filePath);
|
|
250
254
|
}
|
|
255
|
+
/** @deprecated Use {@link ProcessJsonData}. */
|
|
256
|
+
async processJsonData(data, filePath) {
|
|
257
|
+
return this.ProcessJsonData(data, filePath);
|
|
258
|
+
}
|
|
251
259
|
}
|
|
252
260
|
//# sourceMappingURL=json-preprocessor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-preprocessor.js","sourceRoot":"","sources":["../../src/lib/json-preprocessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAUxF;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IAA7B;QACU,iBAAY,GAAgB,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"json-preprocessor.js","sourceRoot":"","sources":["../../src/lib/json-preprocessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,13 +33,18 @@ export type ExternalizeLeaf = (value: unknown, pattern: string, existingRef?: st
|
|
|
33
33
|
* only reads `Name` / `ID` / field placeholders off it to build the filename.
|
|
34
34
|
*/
|
|
35
35
|
export interface FieldExternalizerLike {
|
|
36
|
-
|
|
36
|
+
ExternalizeField(fieldName: string, fieldValue: unknown, pattern: string, recordData: Record<string, unknown>, targetDir: string, existingFileReference?: string, mergeStrategy?: string, verbose?: boolean): Promise<string>;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* Split an `externalizeFields` entry into the entity field it targets and the property
|
|
40
40
|
* path within that field. A name with no dot yields an empty path, which is how callers
|
|
41
41
|
* tell a whole-field config (the existing behavior) from a sub-property one.
|
|
42
42
|
*/
|
|
43
|
+
export declare function ParseExternalizePath(configField: string): {
|
|
44
|
+
field: string;
|
|
45
|
+
path: string[];
|
|
46
|
+
};
|
|
47
|
+
/** @deprecated Use {@link ParseExternalizePath}. */
|
|
43
48
|
export declare function parseExternalizePath(configField: string): {
|
|
44
49
|
field: string;
|
|
45
50
|
path: string[];
|
|
@@ -49,8 +54,12 @@ export declare function parseExternalizePath(configField: string): {
|
|
|
49
54
|
* excluded so they continue down the original code path untouched, and the legacy
|
|
50
55
|
* string-array config form yields nothing because it can only name whole fields.
|
|
51
56
|
*/
|
|
57
|
+
export declare function FindSubPropertyExternalizations(fieldName: string, externalizeConfig: unknown): SubPropertyExternalization[];
|
|
58
|
+
/** @deprecated Use {@link FindSubPropertyExternalizations}. */
|
|
52
59
|
export declare function findSubPropertyExternalizations(fieldName: string, externalizeConfig: unknown): SubPropertyExternalization[];
|
|
53
60
|
/** Read the value at `path`, or `undefined` if any step is missing or not an object. */
|
|
61
|
+
export declare function GetAtPath(value: unknown, path: string[]): unknown;
|
|
62
|
+
/** @deprecated Use {@link GetAtPath}. */
|
|
54
63
|
export declare function getAtPath(value: unknown, path: string[]): unknown;
|
|
55
64
|
/**
|
|
56
65
|
* Bind a `FieldExternalizer` into the `ExternalizeLeaf` shape this module walks with.
|
|
@@ -60,6 +69,8 @@ export declare function getAtPath(value: unknown, path: string[]): unknown;
|
|
|
60
69
|
* would write the literal text `[object Object]`. Serializing first gives a diffable file
|
|
61
70
|
* and a stable string for the unchanged-content comparison that skips redundant writes.
|
|
62
71
|
*/
|
|
72
|
+
export declare function FieldExternalizerAdapter(externalizer: FieldExternalizerLike, recordProperties: Record<string, unknown>, targetDir: string, mergeStrategy?: string, verbose?: boolean): ExternalizeLeaf;
|
|
73
|
+
/** @deprecated Use {@link FieldExternalizerAdapter}. */
|
|
63
74
|
export declare function fieldExternalizerAdapter(externalizer: FieldExternalizerLike, recordProperties: Record<string, unknown>, targetDir: string, mergeStrategy?: string, verbose?: boolean): ExternalizeLeaf;
|
|
64
75
|
/**
|
|
65
76
|
* Externalize each configured sub-property of `fieldValue`, returning the field value
|
|
@@ -73,5 +84,7 @@ export declare function fieldExternalizerAdapter(externalizer: FieldExternalizer
|
|
|
73
84
|
*
|
|
74
85
|
* Returns the input unchanged when nothing is configured or the value is not JSON.
|
|
75
86
|
*/
|
|
87
|
+
export declare function ExternalizeSubProperties(fieldValue: unknown, configs: SubPropertyExternalization[], externalize: ExternalizeLeaf, existingFieldValue?: unknown): Promise<unknown>;
|
|
88
|
+
/** @deprecated Use {@link ExternalizeSubProperties}. */
|
|
76
89
|
export declare function externalizeSubProperties(fieldValue: unknown, configs: SubPropertyExternalization[], externalize: ExternalizeLeaf, existingFieldValue?: unknown): Promise<unknown>;
|
|
77
90
|
//# sourceMappingURL=json-subproperty-externalization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-subproperty-externalization.d.ts","sourceRoot":"","sources":["../../src/lib/json-subproperty-externalization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,iEAAiE;AACjE,MAAM,WAAW,0BAA0B;IACvC,sEAAsE;IACtE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,6EAA6E;AAC7E,MAAM,MAAM,eAAe,GAAG,CAC1B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,KAChB,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IAClC,gBAAgB,CACZ,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,SAAS,EAAE,MAAM,EACjB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB;AAMD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAG3F;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC3C,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,OAAO,GAC3B,0BAA0B,EAAE,CAe9B;AAED,wFAAwF;AACxF,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CASjE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACpC,YAAY,EAAE,qBAAqB,EACnC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,MAAgB,EAC/B,OAAO,CAAC,EAAE,OAAO,GAClB,eAAe,CAcjB;AA+BD;;;;;;;;;;;GAWG;AACH,wBAAsB,wBAAwB,CAC1C,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,0BAA0B,EAAE,EACrC,WAAW,EAAE,eAAe,EAC5B,kBAAkB,CAAC,EAAE,OAAO,GAC7B,OAAO,CAAC,OAAO,CAAC,CA4BlB"}
|
|
1
|
+
{"version":3,"file":"json-subproperty-externalization.d.ts","sourceRoot":"","sources":["../../src/lib/json-subproperty-externalization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,iEAAiE;AACjE,MAAM,WAAW,0BAA0B;IACvC,sEAAsE;IACtE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,6EAA6E;AAC7E,MAAM,MAAM,eAAe,GAAG,CAC1B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,KAChB,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IAClC,gBAAgB,CACZ,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,SAAS,EAAE,MAAM,EACjB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB;AAMD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAG3F;AAED,oDAAoD;AACpD,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAE3F;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC3C,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,OAAO,GAC3B,0BAA0B,EAAE,CAe9B;AAED,+DAA+D;AAC/D,wBAAgB,+BAA+B,CAC3C,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,OAAO,GAC3B,0BAA0B,EAAE,CAE9B;AAED,wFAAwF;AACxF,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CASjE;AAED,yCAAyC;AACzC,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAEjE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACpC,YAAY,EAAE,qBAAqB,EACnC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,MAAgB,EAC/B,OAAO,CAAC,EAAE,OAAO,GAClB,eAAe,CAcjB;AAED,wDAAwD;AACxD,wBAAgB,wBAAwB,CACpC,YAAY,EAAE,qBAAqB,EACnC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,MAAgB,EAC/B,OAAO,CAAC,EAAE,OAAO,GAClB,eAAe,CAEjB;AA+BD;;;;;;;;;;;GAWG;AACH,wBAAsB,wBAAwB,CAC1C,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,0BAA0B,EAAE,EACrC,WAAW,EAAE,eAAe,EAC5B,kBAAkB,CAAC,EAAE,OAAO,GAC7B,OAAO,CAAC,OAAO,CAAC,CA4BlB;AAED,wDAAwD;AACxD,wBAAsB,wBAAwB,CAC1C,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,0BAA0B,EAAE,EACrC,WAAW,EAAE,eAAe,EAC5B,kBAAkB,CAAC,EAAE,OAAO,GAC7B,OAAO,CAAC,OAAO,CAAC,CAElB"}
|
|
@@ -25,16 +25,20 @@ function isPlainObject(value) {
|
|
|
25
25
|
* path within that field. A name with no dot yields an empty path, which is how callers
|
|
26
26
|
* tell a whole-field config (the existing behavior) from a sub-property one.
|
|
27
27
|
*/
|
|
28
|
-
export function
|
|
28
|
+
export function ParseExternalizePath(configField) {
|
|
29
29
|
const [field, ...path] = configField.split('.');
|
|
30
30
|
return { field, path };
|
|
31
31
|
}
|
|
32
|
+
/** @deprecated Use {@link ParseExternalizePath}. */
|
|
33
|
+
export function parseExternalizePath(configField) {
|
|
34
|
+
return ParseExternalizePath(configField);
|
|
35
|
+
}
|
|
32
36
|
/**
|
|
33
37
|
* The sub-property externalizations rooted at `fieldName`. Whole-field entries are
|
|
34
38
|
* excluded so they continue down the original code path untouched, and the legacy
|
|
35
39
|
* string-array config form yields nothing because it can only name whole fields.
|
|
36
40
|
*/
|
|
37
|
-
export function
|
|
41
|
+
export function FindSubPropertyExternalizations(fieldName, externalizeConfig) {
|
|
38
42
|
if (!Array.isArray(externalizeConfig)) {
|
|
39
43
|
return [];
|
|
40
44
|
}
|
|
@@ -43,15 +47,19 @@ export function findSubPropertyExternalizations(fieldName, externalizeConfig) {
|
|
|
43
47
|
if (!isPlainObject(entry) || typeof entry.field !== 'string' || typeof entry.pattern !== 'string') {
|
|
44
48
|
continue;
|
|
45
49
|
}
|
|
46
|
-
const { field, path } =
|
|
50
|
+
const { field, path } = ParseExternalizePath(entry.field);
|
|
47
51
|
if (path.length > 0 && field === fieldName) {
|
|
48
52
|
found.push({ path, pattern: entry.pattern });
|
|
49
53
|
}
|
|
50
54
|
}
|
|
51
55
|
return found;
|
|
52
56
|
}
|
|
57
|
+
/** @deprecated Use {@link FindSubPropertyExternalizations}. */
|
|
58
|
+
export function findSubPropertyExternalizations(fieldName, externalizeConfig) {
|
|
59
|
+
return FindSubPropertyExternalizations(fieldName, externalizeConfig);
|
|
60
|
+
}
|
|
53
61
|
/** Read the value at `path`, or `undefined` if any step is missing or not an object. */
|
|
54
|
-
export function
|
|
62
|
+
export function GetAtPath(value, path) {
|
|
55
63
|
let cursor = value;
|
|
56
64
|
for (const key of path) {
|
|
57
65
|
if (!isPlainObject(cursor)) {
|
|
@@ -61,6 +69,10 @@ export function getAtPath(value, path) {
|
|
|
61
69
|
}
|
|
62
70
|
return cursor;
|
|
63
71
|
}
|
|
72
|
+
/** @deprecated Use {@link GetAtPath}. */
|
|
73
|
+
export function getAtPath(value, path) {
|
|
74
|
+
return GetAtPath(value, path);
|
|
75
|
+
}
|
|
64
76
|
/**
|
|
65
77
|
* Bind a `FieldExternalizer` into the `ExternalizeLeaf` shape this module walks with.
|
|
66
78
|
*
|
|
@@ -69,12 +81,16 @@ export function getAtPath(value, path) {
|
|
|
69
81
|
* would write the literal text `[object Object]`. Serializing first gives a diffable file
|
|
70
82
|
* and a stable string for the unchanged-content comparison that skips redundant writes.
|
|
71
83
|
*/
|
|
72
|
-
export function
|
|
84
|
+
export function FieldExternalizerAdapter(externalizer, recordProperties, targetDir, mergeStrategy = 'merge', verbose) {
|
|
73
85
|
return async (value, pattern, existingRef, leafName) => {
|
|
74
86
|
const serialized = typeof value === 'string' ? value : JSON.stringify(value, null, 2);
|
|
75
|
-
return externalizer.
|
|
87
|
+
return externalizer.ExternalizeField(leafName ?? '', serialized, pattern, recordProperties, targetDir, existingRef, mergeStrategy, verbose);
|
|
76
88
|
};
|
|
77
89
|
}
|
|
90
|
+
/** @deprecated Use {@link FieldExternalizerAdapter}. */
|
|
91
|
+
export function fieldExternalizerAdapter(externalizer, recordProperties, targetDir, mergeStrategy = 'merge', verbose) {
|
|
92
|
+
return FieldExternalizerAdapter(externalizer, recordProperties, targetDir, mergeStrategy, verbose);
|
|
93
|
+
}
|
|
78
94
|
/** A copy of `root` with `path` set to `leaf`. Untouched branches are shared, not cloned. */
|
|
79
95
|
function withLeaf(root, path, leaf) {
|
|
80
96
|
const [head, ...rest] = path;
|
|
@@ -115,7 +131,7 @@ function coerceToObject(value) {
|
|
|
115
131
|
*
|
|
116
132
|
* Returns the input unchanged when nothing is configured or the value is not JSON.
|
|
117
133
|
*/
|
|
118
|
-
export async function
|
|
134
|
+
export async function ExternalizeSubProperties(fieldValue, configs, externalize, existingFieldValue) {
|
|
119
135
|
if (!configs || configs.length === 0) {
|
|
120
136
|
return fieldValue;
|
|
121
137
|
}
|
|
@@ -126,14 +142,18 @@ export async function externalizeSubProperties(fieldValue, configs, externalize,
|
|
|
126
142
|
const existing = coerceToObject(existingFieldValue);
|
|
127
143
|
let result = parsed;
|
|
128
144
|
for (const { path, pattern } of configs) {
|
|
129
|
-
const leaf =
|
|
145
|
+
const leaf = GetAtPath(result, path);
|
|
130
146
|
if (leaf === undefined || leaf === null) {
|
|
131
147
|
continue;
|
|
132
148
|
}
|
|
133
|
-
const existingRef = existing ?
|
|
149
|
+
const existingRef = existing ? GetAtPath(existing, path) : undefined;
|
|
134
150
|
const reference = await externalize(leaf, pattern, typeof existingRef === 'string' ? existingRef : undefined, path[path.length - 1]);
|
|
135
151
|
result = withLeaf(result, path, reference);
|
|
136
152
|
}
|
|
137
153
|
return result;
|
|
138
154
|
}
|
|
155
|
+
/** @deprecated Use {@link ExternalizeSubProperties}. */
|
|
156
|
+
export async function externalizeSubProperties(fieldValue, configs, externalize, existingFieldValue) {
|
|
157
|
+
return ExternalizeSubProperties(fieldValue, configs, externalize, existingFieldValue);
|
|
158
|
+
}
|
|
139
159
|
//# sourceMappingURL=json-subproperty-externalization.js.map
|