@memberjunction/metadata-sync 6.2.0-edge.0 → 6.2.0-edge.1
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/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 +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -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 +2 -0
- package/dist/lib/collection-resolver.d.ts.map +1 -1
- package/dist/lib/collection-resolver.js +5 -1
- 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 +5 -1
- package/dist/services/PushService.d.ts.map +1 -1
- package/dist/services/PushService.js +23 -15
- 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 +14 -14
|
@@ -22,6 +22,8 @@ export declare class EntityForeignKeyHelper {
|
|
|
22
22
|
* @param metadata The metadata instance
|
|
23
23
|
* @returns Map of entity name to list of reverse FK references
|
|
24
24
|
*/
|
|
25
|
+
static BuildReverseFKMap(metadata: Metadata): Map<string, ReverseFKInfo[]>;
|
|
26
|
+
/** @deprecated Use {@link BuildReverseFKMap}. */
|
|
25
27
|
static buildReverseFKMap(metadata: Metadata): Map<string, ReverseFKInfo[]>;
|
|
26
28
|
/**
|
|
27
29
|
* Get entity dependencies using the Metadata API
|
|
@@ -31,6 +33,8 @@ export declare class EntityForeignKeyHelper {
|
|
|
31
33
|
* @param entityName The entity to check dependencies for
|
|
32
34
|
* @returns Array of entity dependencies
|
|
33
35
|
*/
|
|
36
|
+
static GetEntityDependencies(metadata: Metadata, entityName: string): Promise<EntityDependency[]>;
|
|
37
|
+
/** @deprecated Use {@link GetEntityDependencies}. */
|
|
34
38
|
static getEntityDependencies(metadata: Metadata, entityName: string): Promise<EntityDependency[]>;
|
|
35
39
|
/**
|
|
36
40
|
* Check if an entity has any dependent entities
|
|
@@ -39,6 +43,8 @@ export declare class EntityForeignKeyHelper {
|
|
|
39
43
|
* @param entityName The entity to check
|
|
40
44
|
* @returns True if other entities reference this entity
|
|
41
45
|
*/
|
|
46
|
+
static HasDependentEntities(metadata: Metadata, entityName: string): Promise<boolean>;
|
|
47
|
+
/** @deprecated Use {@link HasDependentEntities}. */
|
|
42
48
|
static hasDependentEntities(metadata: Metadata, entityName: string): Promise<boolean>;
|
|
43
49
|
/**
|
|
44
50
|
* Get all foreign key fields for an entity
|
|
@@ -47,6 +53,8 @@ export declare class EntityForeignKeyHelper {
|
|
|
47
53
|
* @param entityName The entity name
|
|
48
54
|
* @returns Array of foreign key field names
|
|
49
55
|
*/
|
|
56
|
+
static GetForeignKeyFields(metadata: Metadata, entityName: string): string[];
|
|
57
|
+
/** @deprecated Use {@link GetForeignKeyFields}. */
|
|
50
58
|
static getForeignKeyFields(metadata: Metadata, entityName: string): string[];
|
|
51
59
|
}
|
|
52
60
|
//# sourceMappingURL=entity-foreign-key-helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-foreign-key-helper.d.ts","sourceRoot":"","sources":["../../src/lib/entity-foreign-key-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,sBAAsB;IAC/B;;;;;;;;OAQG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;IAmC1E;;;;;;;OAOG;WACU,qBAAqB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI9B;;;;;;OAMG;WACU,oBAAoB,CAC7B,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"entity-foreign-key-helper.d.ts","sourceRoot":"","sources":["../../src/lib/entity-foreign-key-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,sBAAsB;IAC/B;;;;;;;;OAQG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;IAmC1E,iDAAiD;IACjD,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;IAI1E;;;;;;;OAOG;WACU,qBAAqB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI9B,qDAAqD;WACxC,qBAAqB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI9B;;;;;;OAMG;WACU,oBAAoB,CAC7B,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC;IAKnB,oDAAoD;WACvC,oBAAoB,CAC7B,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC;IAInB;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAS5E,mDAAmD;IACnD,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;CAG/E"}
|
|
@@ -12,7 +12,7 @@ export class EntityForeignKeyHelper {
|
|
|
12
12
|
* @param metadata The metadata instance
|
|
13
13
|
* @returns Map of entity name to list of reverse FK references
|
|
14
14
|
*/
|
|
15
|
-
static
|
|
15
|
+
static BuildReverseFKMap(metadata) {
|
|
16
16
|
const reverseMap = new Map();
|
|
17
17
|
for (const entity of metadata.Entities) {
|
|
18
18
|
// Skip deprecated and disabled entities to avoid deprecation warnings during database scans
|
|
@@ -39,6 +39,10 @@ export class EntityForeignKeyHelper {
|
|
|
39
39
|
}
|
|
40
40
|
return reverseMap;
|
|
41
41
|
}
|
|
42
|
+
/** @deprecated Use {@link BuildReverseFKMap}. */
|
|
43
|
+
static buildReverseFKMap(metadata) {
|
|
44
|
+
return this.BuildReverseFKMap(metadata);
|
|
45
|
+
}
|
|
42
46
|
/**
|
|
43
47
|
* Get entity dependencies using the Metadata API
|
|
44
48
|
* Returns all entities that have foreign keys pointing to the specified entity
|
|
@@ -47,9 +51,13 @@ export class EntityForeignKeyHelper {
|
|
|
47
51
|
* @param entityName The entity to check dependencies for
|
|
48
52
|
* @returns Array of entity dependencies
|
|
49
53
|
*/
|
|
50
|
-
static async
|
|
54
|
+
static async GetEntityDependencies(metadata, entityName) {
|
|
51
55
|
return await metadata.GetEntityDependencies(entityName);
|
|
52
56
|
}
|
|
57
|
+
/** @deprecated Use {@link GetEntityDependencies}. */
|
|
58
|
+
static async getEntityDependencies(metadata, entityName) {
|
|
59
|
+
return this.GetEntityDependencies(metadata, entityName);
|
|
60
|
+
}
|
|
53
61
|
/**
|
|
54
62
|
* Check if an entity has any dependent entities
|
|
55
63
|
*
|
|
@@ -57,10 +65,14 @@ export class EntityForeignKeyHelper {
|
|
|
57
65
|
* @param entityName The entity to check
|
|
58
66
|
* @returns True if other entities reference this entity
|
|
59
67
|
*/
|
|
60
|
-
static async
|
|
68
|
+
static async HasDependentEntities(metadata, entityName) {
|
|
61
69
|
const deps = await metadata.GetEntityDependencies(entityName);
|
|
62
70
|
return deps.length > 0;
|
|
63
71
|
}
|
|
72
|
+
/** @deprecated Use {@link HasDependentEntities}. */
|
|
73
|
+
static async hasDependentEntities(metadata, entityName) {
|
|
74
|
+
return this.HasDependentEntities(metadata, entityName);
|
|
75
|
+
}
|
|
64
76
|
/**
|
|
65
77
|
* Get all foreign key fields for an entity
|
|
66
78
|
*
|
|
@@ -68,12 +80,16 @@ export class EntityForeignKeyHelper {
|
|
|
68
80
|
* @param entityName The entity name
|
|
69
81
|
* @returns Array of foreign key field names
|
|
70
82
|
*/
|
|
71
|
-
static
|
|
83
|
+
static GetForeignKeyFields(metadata, entityName) {
|
|
72
84
|
const entity = metadata.Entities.find(e => e.Name === entityName);
|
|
73
85
|
if (!entity) {
|
|
74
86
|
return [];
|
|
75
87
|
}
|
|
76
88
|
return entity.ForeignKeys.map(fk => fk.Name);
|
|
77
89
|
}
|
|
90
|
+
/** @deprecated Use {@link GetForeignKeyFields}. */
|
|
91
|
+
static getForeignKeyFields(metadata, entityName) {
|
|
92
|
+
return this.GetForeignKeyFields(metadata, entityName);
|
|
93
|
+
}
|
|
78
94
|
}
|
|
79
95
|
//# sourceMappingURL=entity-foreign-key-helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-foreign-key-helper.js","sourceRoot":"","sources":["../../src/lib/entity-foreign-key-helper.ts"],"names":[],"mappings":"AAYA;;;GAGG;AACH,MAAM,OAAO,sBAAsB;IAC/B;;;;;;;;OAQG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAkB;QACvC,MAAM,UAAU,GAAG,IAAI,GAAG,EAA2B,CAAC;QAEtD,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACrC,4FAA4F;YAC5F,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjE,SAAS;YACb,CAAC;YAED,4CAA4C;YAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YAEvC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC;gBAEzC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,SAAS,CAAC,4BAA4B;gBAC1C,CAAC;gBAED,uDAAuD;gBACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBAChC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBACrC,CAAC;gBAED,UAAU,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,IAAI,CAAC;oBAC/B,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,gBAAgB,EAAE,KAAK,CAAC,sBAAsB,IAAI,IAAI;iBACzD,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAC9B,QAAkB,EAClB,UAAkB;QAElB,OAAO,MAAM,QAAQ,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAC7B,QAAkB,EAClB,UAAkB;QAElB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAkB,EAAE,UAAkB;QAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"entity-foreign-key-helper.js","sourceRoot":"","sources":["../../src/lib/entity-foreign-key-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
* Returns a warning when no `BaseEntity` subclass is registered for `entityName` in this
|
|
3
3
|
* process, or `null` when one is. Each entity is reported once; later calls return `null`.
|
|
4
4
|
*/
|
|
5
|
+
export declare function DescribeMissingEntitySubclass(entityName: string, options?: {
|
|
6
|
+
dryRun?: boolean;
|
|
7
|
+
}): string | null;
|
|
8
|
+
/** @deprecated Use {@link DescribeMissingEntitySubclass}. */
|
|
5
9
|
export declare function describeMissingEntitySubclass(entityName: string, options?: {
|
|
6
10
|
dryRun?: boolean;
|
|
7
11
|
}): string | null;
|
|
8
12
|
/** Test seam: forget which entities have been reported. */
|
|
13
|
+
export declare function ResetMissingEntitySubclassWarnings(): void;
|
|
14
|
+
/** @deprecated Use {@link ResetMissingEntitySubclassWarnings}. */
|
|
9
15
|
export declare function resetMissingEntitySubclassWarnings(): void;
|
|
10
16
|
//# sourceMappingURL=entity-subclass-guard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-subclass-guard.d.ts","sourceRoot":"","sources":["../../src/lib/entity-subclass-guard.ts"],"names":[],"mappings":"AAYA;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,GAAG,IAAI,CAoBnH;AAED,2DAA2D;AAC3D,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD"}
|
|
1
|
+
{"version":3,"file":"entity-subclass-guard.d.ts","sourceRoot":"","sources":["../../src/lib/entity-subclass-guard.ts"],"names":[],"mappings":"AAYA;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,GAAG,IAAI,CAoBnH;AAED,6DAA6D;AAC7D,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,GAAG,IAAI,CAEnH;AAED,2DAA2D;AAC3D,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD;AAED,kEAAkE;AAClE,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD"}
|
|
@@ -12,7 +12,7 @@ const warned = new Set();
|
|
|
12
12
|
* Returns a warning when no `BaseEntity` subclass is registered for `entityName` in this
|
|
13
13
|
* process, or `null` when one is. Each entity is reported once; later calls return `null`.
|
|
14
14
|
*/
|
|
15
|
-
export function
|
|
15
|
+
export function DescribeMissingEntitySubclass(entityName, options = {}) {
|
|
16
16
|
const key = entityName.trim().toLowerCase();
|
|
17
17
|
if (!key || warned.has(key)) {
|
|
18
18
|
return null;
|
|
@@ -31,8 +31,16 @@ export function describeMissingEntitySubclass(entityName, options = {}) {
|
|
|
31
31
|
`is enabled and scoped to this process, and that this run was not started with --no-app-packages / ` +
|
|
32
32
|
`MJ_DYNAMIC_PACKAGES=none. See guides/DYNAMIC_PACKAGE_LOADING_GUIDE.md.`);
|
|
33
33
|
}
|
|
34
|
+
/** @deprecated Use {@link DescribeMissingEntitySubclass}. */
|
|
35
|
+
export function describeMissingEntitySubclass(entityName, options = {}) {
|
|
36
|
+
return DescribeMissingEntitySubclass(entityName, options);
|
|
37
|
+
}
|
|
34
38
|
/** Test seam: forget which entities have been reported. */
|
|
35
|
-
export function
|
|
39
|
+
export function ResetMissingEntitySubclassWarnings() {
|
|
36
40
|
warned.clear();
|
|
37
41
|
}
|
|
42
|
+
/** @deprecated Use {@link ResetMissingEntitySubclassWarnings}. */
|
|
43
|
+
export function resetMissingEntitySubclassWarnings() {
|
|
44
|
+
return ResetMissingEntitySubclassWarnings();
|
|
45
|
+
}
|
|
38
46
|
//# sourceMappingURL=entity-subclass-guard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-subclass-guard.js","sourceRoot":"","sources":["../../src/lib/entity-subclass-guard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;AAEjC;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,UAAkB,EAAE,UAAgC,EAAE;IAClG,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC5F,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACrE,OAAO,CACL,yCAAyC,UAAU,+BAA+B,IAAI,YAAY;QAClG,+GAA+G;QAC/G,8FAA8F;QAC9F,8FAA8F;QAC9F,2GAA2G;QAC3G,oGAAoG;QACpG,wEAAwE,CACzE,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,kCAAkC;IAChD,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"entity-subclass-guard.js","sourceRoot":"","sources":["../../src/lib/entity-subclass-guard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;AAEjC;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,UAAkB,EAAE,UAAgC,EAAE;IAClG,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC5F,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACrE,OAAO,CACL,yCAAyC,UAAU,+BAA+B,IAAI,YAAY;QAClG,+GAA+G;QAC/G,8FAA8F;QAC9F,8FAA8F;QAC9F,2GAA2G;QAC3G,oGAAoG;QACpG,wEAAwE,CACzE,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,6BAA6B,CAAC,UAAkB,EAAE,UAAgC,EAAE;IAClG,OAAO,6BAA6B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,kCAAkC;IAChD,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,kCAAkC;IAChD,OAAO,kCAAkC,EAAE,CAAC;AAC9C,CAAC"}
|
|
@@ -8,5 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* A missing directory yields an empty list: on a first pull the target may not exist yet.
|
|
10
10
|
*/
|
|
11
|
+
export declare function FindExistingRecordFiles(dir: string, filePattern: string, ignoreDirectories?: string[]): Promise<string[]>;
|
|
12
|
+
/** @deprecated Use {@link FindExistingRecordFiles}. */
|
|
11
13
|
export declare function findExistingRecordFiles(dir: string, filePattern: string, ignoreDirectories?: string[]): Promise<string[]>;
|
|
12
14
|
//# sourceMappingURL=existing-record-files.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"existing-record-files.d.ts","sourceRoot":"","sources":["../../src/lib/existing-record-files.ts"],"names":[],"mappings":"AA4CA;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CACzC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,iBAAiB,GAAE,MAAM,EAAO,GACjC,OAAO,CAAC,MAAM,EAAE,CAAC,CAoCnB"}
|
|
1
|
+
{"version":3,"file":"existing-record-files.d.ts","sourceRoot":"","sources":["../../src/lib/existing-record-files.ts"],"names":[],"mappings":"AA4CA;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CACzC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,iBAAiB,GAAE,MAAM,EAAO,GACjC,OAAO,CAAC,MAAM,EAAE,CAAC,CAoCnB;AAED,uDAAuD;AACvD,wBAAsB,uBAAuB,CACzC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,iBAAiB,GAAE,MAAM,EAAO,GACjC,OAAO,CAAC,MAAM,EAAE,CAAC,CAEnB"}
|
|
@@ -47,7 +47,7 @@ function isIgnored(relativeDir, ignoreDirectories) {
|
|
|
47
47
|
*
|
|
48
48
|
* A missing directory yields an empty list: on a first pull the target may not exist yet.
|
|
49
49
|
*/
|
|
50
|
-
export async function
|
|
50
|
+
export async function FindExistingRecordFiles(dir, filePattern, ignoreDirectories = []) {
|
|
51
51
|
const recursive = filePattern.startsWith('**/');
|
|
52
52
|
const pattern = recursive ? filePattern.substring(3) : filePattern;
|
|
53
53
|
const found = [];
|
|
@@ -82,4 +82,8 @@ export async function findExistingRecordFiles(dir, filePattern, ignoreDirectorie
|
|
|
82
82
|
await walk(dir, '');
|
|
83
83
|
return found;
|
|
84
84
|
}
|
|
85
|
+
/** @deprecated Use {@link FindExistingRecordFiles}. */
|
|
86
|
+
export async function findExistingRecordFiles(dir, filePattern, ignoreDirectories = []) {
|
|
87
|
+
return FindExistingRecordFiles(dir, filePattern, ignoreDirectories);
|
|
88
|
+
}
|
|
85
89
|
//# sourceMappingURL=existing-record-files.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"existing-record-files.js","sourceRoot":"","sources":["../../src/lib/existing-record-files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,qEAAqE;AACrE,SAAS,cAAc,CAAC,QAAgB,EAAE,OAAe;IACrD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvB,yFAAyF;QACzF,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,OAAO,KAAK,QAAQ,CAAC;AAChC,CAAC;AAED,SAAS,SAAS,CAAC,WAAmB,EAAE,iBAA2B;IAC/D,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACxE,OAAO,CACH,OAAO,KAAK,EAAE;YACd,CAAC,UAAU,KAAK,OAAO;gBACnB,UAAU,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC;gBAClC,UAAU,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAC5C,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,GAAW,EACX,WAAmB,EACnB,oBAA8B,EAAE;IAEhC,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACnE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,UAAU,IAAI,CAAC,OAAe,EAAE,WAAmB;QACpD,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACD,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrD,OAAO;YACX,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACjB,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;oBACtC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/C,CAAC;gBACD,SAAS;YACb,CAAC;YACD,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnE,SAAS;YACb,CAAC;YACD,MAAM,aAAa,GAAG,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACvF,IAAI,SAAS,CAAC,aAAa,EAAE,iBAAiB,CAAC,EAAE,CAAC;gBAC9C,SAAS;YACb,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAED,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"existing-record-files.js","sourceRoot":"","sources":["../../src/lib/existing-record-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,8 @@ export declare class FileBackupManager {
|
|
|
45
45
|
* @returns Promise that resolves when initialization is complete
|
|
46
46
|
* @throws Error if temporary directory creation fails
|
|
47
47
|
*/
|
|
48
|
+
Initialize(): Promise<void>;
|
|
49
|
+
/** @deprecated Use {@link Initialize}. */
|
|
48
50
|
initialize(): Promise<void>;
|
|
49
51
|
/**
|
|
50
52
|
* Create a backup of a file before modification
|
|
@@ -56,6 +58,8 @@ export declare class FileBackupManager {
|
|
|
56
58
|
* @returns Promise that resolves when backup is complete
|
|
57
59
|
* @throws Error if backup operation fails
|
|
58
60
|
*/
|
|
61
|
+
BackupFile(filePath: string): Promise<void>;
|
|
62
|
+
/** @deprecated Use {@link BackupFile}. */
|
|
59
63
|
backupFile(filePath: string): Promise<void>;
|
|
60
64
|
/**
|
|
61
65
|
* Stop tracking a file so {@link rollback} leaves it as it is now.
|
|
@@ -66,6 +70,8 @@ export declare class FileBackupManager {
|
|
|
66
70
|
* @param filePath - Absolute path of a file previously passed to {@link backupFile}
|
|
67
71
|
* @returns true when a backup was tracked for this file
|
|
68
72
|
*/
|
|
73
|
+
ReleaseBackup(filePath: string): boolean;
|
|
74
|
+
/** @deprecated Use {@link ReleaseBackup}. */
|
|
69
75
|
releaseBackup(filePath: string): boolean;
|
|
70
76
|
/**
|
|
71
77
|
* Rollback all file changes by restoring from backups
|
|
@@ -77,6 +83,8 @@ export declare class FileBackupManager {
|
|
|
77
83
|
* @returns Promise that resolves when rollback is complete
|
|
78
84
|
* @throws Error if any rollback operation fails
|
|
79
85
|
*/
|
|
86
|
+
Rollback(): Promise<void>;
|
|
87
|
+
/** @deprecated Use {@link Rollback}. */
|
|
80
88
|
rollback(): Promise<void>;
|
|
81
89
|
/**
|
|
82
90
|
* Clean up backup directory after successful operation
|
|
@@ -86,12 +94,20 @@ export declare class FileBackupManager {
|
|
|
86
94
|
*
|
|
87
95
|
* @returns Promise that resolves when cleanup is complete
|
|
88
96
|
*/
|
|
97
|
+
Cleanup(): Promise<void>;
|
|
98
|
+
/** @deprecated Use {@link Cleanup}. */
|
|
89
99
|
cleanup(): Promise<void>;
|
|
90
100
|
/**
|
|
91
101
|
* Get statistics about current backup session
|
|
92
102
|
*
|
|
93
103
|
* @returns Object containing backup statistics
|
|
94
104
|
*/
|
|
105
|
+
GetStats(): {
|
|
106
|
+
totalBackups: number;
|
|
107
|
+
backupDir: string;
|
|
108
|
+
initialized: boolean;
|
|
109
|
+
};
|
|
110
|
+
/** @deprecated Use {@link GetStats}. */
|
|
95
111
|
getStats(): {
|
|
96
112
|
totalBackups: number;
|
|
97
113
|
backupDir: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-backup-manager.d.ts","sourceRoot":"","sources":["../../src/lib/file-backup-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmBH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAkB;IAErC;;;;;;;;OAQG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC;;;;;;;;;OASG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BjD;;;;;;;;OAQG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IASxC;;;;;;;;;OASG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC/B;;;;;;;OAOG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB9B;;;;OAIG;IACH,QAAQ,IAAI;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE;
|
|
1
|
+
{"version":3,"file":"file-backup-manager.d.ts","sourceRoot":"","sources":["../../src/lib/file-backup-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmBH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAkB;IAErC;;;;;;;;OAQG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC,0CAA0C;IACpC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;;;;;;;;OASG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BjD,0CAA0C;IACpC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;;;;;;;OAQG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IASxC,6CAA6C;IAC7C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxC;;;;;;;;;OASG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC/B,wCAAwC;IAClC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B;;;;;;;OAOG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB9B,uCAAuC;IACjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;;OAIG;IACH,QAAQ,IAAI;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE;IAQ7E,wCAAwC;IACxC,QAAQ,IAAI;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE;CAG9E"}
|
|
@@ -51,7 +51,7 @@ export class FileBackupManager {
|
|
|
51
51
|
* @returns Promise that resolves when initialization is complete
|
|
52
52
|
* @throws Error if temporary directory creation fails
|
|
53
53
|
*/
|
|
54
|
-
async
|
|
54
|
+
async Initialize() {
|
|
55
55
|
if (this.initialized) {
|
|
56
56
|
throw new Error('FileBackupManager already initialized');
|
|
57
57
|
}
|
|
@@ -62,6 +62,10 @@ export class FileBackupManager {
|
|
|
62
62
|
await fs.ensureDir(this.backupDir);
|
|
63
63
|
this.initialized = true;
|
|
64
64
|
}
|
|
65
|
+
/** @deprecated Use {@link Initialize}. */
|
|
66
|
+
async initialize() {
|
|
67
|
+
return this.Initialize();
|
|
68
|
+
}
|
|
65
69
|
/**
|
|
66
70
|
* Create a backup of a file before modification
|
|
67
71
|
*
|
|
@@ -72,7 +76,7 @@ export class FileBackupManager {
|
|
|
72
76
|
* @returns Promise that resolves when backup is complete
|
|
73
77
|
* @throws Error if backup operation fails
|
|
74
78
|
*/
|
|
75
|
-
async
|
|
79
|
+
async BackupFile(filePath) {
|
|
76
80
|
if (!this.initialized) {
|
|
77
81
|
throw new Error('FileBackupManager not initialized. Call initialize() first.');
|
|
78
82
|
}
|
|
@@ -96,6 +100,10 @@ export class FileBackupManager {
|
|
|
96
100
|
}
|
|
97
101
|
this.backups.push(backupEntry);
|
|
98
102
|
}
|
|
103
|
+
/** @deprecated Use {@link BackupFile}. */
|
|
104
|
+
async backupFile(filePath) {
|
|
105
|
+
return this.BackupFile(filePath);
|
|
106
|
+
}
|
|
99
107
|
/**
|
|
100
108
|
* Stop tracking a file so {@link rollback} leaves it as it is now.
|
|
101
109
|
*
|
|
@@ -105,7 +113,7 @@ export class FileBackupManager {
|
|
|
105
113
|
* @param filePath - Absolute path of a file previously passed to {@link backupFile}
|
|
106
114
|
* @returns true when a backup was tracked for this file
|
|
107
115
|
*/
|
|
108
|
-
|
|
116
|
+
ReleaseBackup(filePath) {
|
|
109
117
|
const index = this.backups.findIndex(b => b.originalPath === filePath);
|
|
110
118
|
if (index < 0) {
|
|
111
119
|
return false;
|
|
@@ -113,6 +121,10 @@ export class FileBackupManager {
|
|
|
113
121
|
this.backups.splice(index, 1);
|
|
114
122
|
return true;
|
|
115
123
|
}
|
|
124
|
+
/** @deprecated Use {@link ReleaseBackup}. */
|
|
125
|
+
releaseBackup(filePath) {
|
|
126
|
+
return this.ReleaseBackup(filePath);
|
|
127
|
+
}
|
|
116
128
|
/**
|
|
117
129
|
* Rollback all file changes by restoring from backups
|
|
118
130
|
*
|
|
@@ -123,7 +135,7 @@ export class FileBackupManager {
|
|
|
123
135
|
* @returns Promise that resolves when rollback is complete
|
|
124
136
|
* @throws Error if any rollback operation fails
|
|
125
137
|
*/
|
|
126
|
-
async
|
|
138
|
+
async Rollback() {
|
|
127
139
|
if (!this.initialized) {
|
|
128
140
|
return; // Nothing to rollback
|
|
129
141
|
}
|
|
@@ -150,7 +162,7 @@ export class FileBackupManager {
|
|
|
150
162
|
}
|
|
151
163
|
// Clean up backup directory
|
|
152
164
|
try {
|
|
153
|
-
await this.
|
|
165
|
+
await this.Cleanup();
|
|
154
166
|
}
|
|
155
167
|
catch (error) {
|
|
156
168
|
console.error('Failed to cleanup backup directory during rollback:', error);
|
|
@@ -159,6 +171,10 @@ export class FileBackupManager {
|
|
|
159
171
|
throw new Error(`Rollback completed with errors:\n${errors.join('\n')}`);
|
|
160
172
|
}
|
|
161
173
|
}
|
|
174
|
+
/** @deprecated Use {@link Rollback}. */
|
|
175
|
+
async rollback() {
|
|
176
|
+
return this.Rollback();
|
|
177
|
+
}
|
|
162
178
|
/**
|
|
163
179
|
* Clean up backup directory after successful operation
|
|
164
180
|
*
|
|
@@ -167,7 +183,7 @@ export class FileBackupManager {
|
|
|
167
183
|
*
|
|
168
184
|
* @returns Promise that resolves when cleanup is complete
|
|
169
185
|
*/
|
|
170
|
-
async
|
|
186
|
+
async Cleanup() {
|
|
171
187
|
if (!this.initialized || !this.backupDir) {
|
|
172
188
|
return;
|
|
173
189
|
}
|
|
@@ -182,17 +198,25 @@ export class FileBackupManager {
|
|
|
182
198
|
this.initialized = false;
|
|
183
199
|
this.backupDir = '';
|
|
184
200
|
}
|
|
201
|
+
/** @deprecated Use {@link Cleanup}. */
|
|
202
|
+
async cleanup() {
|
|
203
|
+
return this.Cleanup();
|
|
204
|
+
}
|
|
185
205
|
/**
|
|
186
206
|
* Get statistics about current backup session
|
|
187
207
|
*
|
|
188
208
|
* @returns Object containing backup statistics
|
|
189
209
|
*/
|
|
190
|
-
|
|
210
|
+
GetStats() {
|
|
191
211
|
return {
|
|
192
212
|
totalBackups: this.backups.length,
|
|
193
213
|
backupDir: this.backupDir,
|
|
194
214
|
initialized: this.initialized
|
|
195
215
|
};
|
|
196
216
|
}
|
|
217
|
+
/** @deprecated Use {@link GetStats}. */
|
|
218
|
+
getStats() {
|
|
219
|
+
return this.GetStats();
|
|
220
|
+
}
|
|
197
221
|
}
|
|
198
222
|
//# sourceMappingURL=file-backup-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-backup-manager.js","sourceRoot":"","sources":["../../src/lib/file-backup-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAcpC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,iBAAiB;IAA9B;QACU,cAAS,GAAW,EAAE,CAAC;QACvB,YAAO,GAAkB,EAAE,CAAC;QAC5B,gBAAW,GAAY,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"file-backup-manager.js","sourceRoot":"","sources":["../../src/lib/file-backup-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ export declare class FileWriteBatch {
|
|
|
11
11
|
* @param filePath - Path to the file
|
|
12
12
|
* @param data - RecordData or array of RecordData to write
|
|
13
13
|
*/
|
|
14
|
+
QueueWrite(filePath: string, data: RecordData | RecordData[]): void;
|
|
15
|
+
/** @deprecated Use {@link QueueWrite}. */
|
|
14
16
|
queueWrite(filePath: string, data: RecordData | RecordData[]): void;
|
|
15
17
|
/**
|
|
16
18
|
* Queue an array record update operation
|
|
@@ -18,12 +20,16 @@ export declare class FileWriteBatch {
|
|
|
18
20
|
* @param updatedRecord - The updated record data
|
|
19
21
|
* @param primaryKeyLookup - Primary key lookup string to identify the record
|
|
20
22
|
*/
|
|
23
|
+
QueueArrayUpdate(filePath: string, updatedRecord: RecordData, primaryKeyLookup: string): void;
|
|
24
|
+
/** @deprecated Use {@link QueueArrayUpdate}. */
|
|
21
25
|
queueArrayUpdate(filePath: string, updatedRecord: RecordData, primaryKeyLookup: string): void;
|
|
22
26
|
/**
|
|
23
27
|
* Queue a single record update operation
|
|
24
28
|
* @param filePath - Path to the file
|
|
25
29
|
* @param updatedRecord - The updated record data
|
|
26
30
|
*/
|
|
31
|
+
QueueSingleUpdate(filePath: string, updatedRecord: RecordData): void;
|
|
32
|
+
/** @deprecated Use {@link QueueSingleUpdate}. */
|
|
27
33
|
queueSingleUpdate(filePath: string, updatedRecord: RecordData): void;
|
|
28
34
|
/**
|
|
29
35
|
* Load and cache file contents if not already loaded
|
|
@@ -37,18 +43,26 @@ export declare class FileWriteBatch {
|
|
|
37
43
|
* Write all batched changes to files using JsonWriteHelper for consistent ordering
|
|
38
44
|
* @returns Number of files written
|
|
39
45
|
*/
|
|
46
|
+
Flush(): Promise<number>;
|
|
47
|
+
/** @deprecated Use {@link Flush}. */
|
|
40
48
|
flush(): Promise<number>;
|
|
41
49
|
/**
|
|
42
50
|
* Clear all batched changes without writing
|
|
43
51
|
*/
|
|
52
|
+
Clear(): void;
|
|
53
|
+
/** @deprecated Use {@link Clear}. */
|
|
44
54
|
clear(): void;
|
|
45
55
|
/**
|
|
46
56
|
* Get the number of files that will be written
|
|
47
57
|
*/
|
|
58
|
+
GetPendingFileCount(): number;
|
|
59
|
+
/** @deprecated Use {@link GetPendingFileCount}. */
|
|
48
60
|
getPendingFileCount(): number;
|
|
49
61
|
/**
|
|
50
62
|
* Get all pending file paths
|
|
51
63
|
*/
|
|
64
|
+
GetPendingFiles(): string[];
|
|
65
|
+
/** @deprecated Use {@link GetPendingFiles}. */
|
|
52
66
|
getPendingFiles(): string[];
|
|
53
67
|
/**
|
|
54
68
|
* Add a change to the batch
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-write-batch.d.ts","sourceRoot":"","sources":["../../src/lib/file-write-batch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAoB3C;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,YAAY,CAAgD;IAEpE;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI;IASnE;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAoB7F;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,GAAG,IAAI;IASpE;;OAEG;YACW,gBAAgB;IAgB9B;;OAEG;YACW,YAAY;IAsD1B;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAgC9B;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;OAEG;IACH,OAAO,CAAC,SAAS;CAMlB"}
|
|
1
|
+
{"version":3,"file":"file-write-batch.d.ts","sourceRoot":"","sources":["../../src/lib/file-write-batch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAoB3C;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,YAAY,CAAgD;IAEpE;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI;IASnE,0CAA0C;IAC1C,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI;IAInE;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAoB7F,gDAAgD;IAChD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAI7F;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,GAAG,IAAI;IASpE,iDAAiD;IACjD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,GAAG,IAAI;IAIpE;;OAEG;YACW,gBAAgB;IAgB9B;;OAEG;YACW,YAAY;IAsD1B;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAgC9B,qCAAqC;IAC/B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb,qCAAqC;IACrC,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B,mDAAmD;IACnD,mBAAmB,IAAI,MAAM;IAI7B;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B,+CAA+C;IAC/C,eAAe,IAAI,MAAM,EAAE;IAI3B;;OAEG;IACH,OAAO,CAAC,SAAS;CAMlB"}
|
|
@@ -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
|
*/
|