@edgebasejs/core 0.1.8 → 0.1.9

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.
Files changed (61) hide show
  1. package/README.md +15 -0
  2. package/dist/core/src/access-rules/column-security.d.ts +80 -0
  3. package/dist/core/src/access-rules/column-security.d.ts.map +1 -0
  4. package/dist/core/src/access-rules/column-security.js +191 -0
  5. package/dist/core/src/access-rules/column-security.js.map +1 -0
  6. package/dist/core/src/access-rules/engine.d.ts.map +1 -1
  7. package/dist/core/src/access-rules/engine.js +2 -1
  8. package/dist/core/src/access-rules/engine.js.map +1 -1
  9. package/dist/core/src/audit/audit-manager.d.ts +108 -0
  10. package/dist/core/src/audit/audit-manager.d.ts.map +1 -0
  11. package/dist/core/src/audit/audit-manager.js +265 -0
  12. package/dist/core/src/audit/audit-manager.js.map +1 -0
  13. package/dist/core/src/encryption/encryption-manager.d.ts +97 -0
  14. package/dist/core/src/encryption/encryption-manager.d.ts.map +1 -0
  15. package/dist/core/src/encryption/encryption-manager.js +224 -0
  16. package/dist/core/src/encryption/encryption-manager.js.map +1 -0
  17. package/dist/core/src/index.d.ts +12 -0
  18. package/dist/core/src/index.d.ts.map +1 -1
  19. package/dist/core/src/index.js +12 -0
  20. package/dist/core/src/index.js.map +1 -1
  21. package/dist/core/src/realtime/change-notifier.d.ts +50 -0
  22. package/dist/core/src/realtime/change-notifier.d.ts.map +1 -0
  23. package/dist/core/src/realtime/change-notifier.js +145 -0
  24. package/dist/core/src/realtime/change-notifier.js.map +1 -0
  25. package/dist/core/src/realtime/message-types.d.ts +39 -0
  26. package/dist/core/src/realtime/message-types.d.ts.map +1 -0
  27. package/dist/core/src/realtime/message-types.js +5 -0
  28. package/dist/core/src/realtime/message-types.js.map +1 -0
  29. package/dist/core/src/realtime/subscription-manager.d.ts +67 -0
  30. package/dist/core/src/realtime/subscription-manager.d.ts.map +1 -0
  31. package/dist/core/src/realtime/subscription-manager.js +229 -0
  32. package/dist/core/src/realtime/subscription-manager.js.map +1 -0
  33. package/dist/core/src/search/search-manager.d.ts +93 -0
  34. package/dist/core/src/search/search-manager.d.ts.map +1 -0
  35. package/dist/core/src/search/search-manager.js +258 -0
  36. package/dist/core/src/search/search-manager.js.map +1 -0
  37. package/dist/core/src/storage/file-manager.d.ts +138 -0
  38. package/dist/core/src/storage/file-manager.d.ts.map +1 -0
  39. package/dist/core/src/storage/file-manager.js +224 -0
  40. package/dist/core/src/storage/file-manager.js.map +1 -0
  41. package/dist/core/src/sync/batch-processor.d.ts +97 -0
  42. package/dist/core/src/sync/batch-processor.d.ts.map +1 -0
  43. package/dist/core/src/sync/batch-processor.js +313 -0
  44. package/dist/core/src/sync/batch-processor.js.map +1 -0
  45. package/dist/core/src/sync/csv-processor.d.ts +66 -0
  46. package/dist/core/src/sync/csv-processor.d.ts.map +1 -0
  47. package/dist/core/src/sync/csv-processor.js +223 -0
  48. package/dist/core/src/sync/csv-processor.js.map +1 -0
  49. package/dist/core/src/sync/sync-engine.d.ts +22 -0
  50. package/dist/core/src/sync/sync-engine.d.ts.map +1 -1
  51. package/dist/core/src/sync/sync-engine.js +123 -10
  52. package/dist/core/src/sync/sync-engine.js.map +1 -1
  53. package/dist/core/src/sync/transaction-manager.d.ts +83 -0
  54. package/dist/core/src/sync/transaction-manager.d.ts.map +1 -0
  55. package/dist/core/src/sync/transaction-manager.js +227 -0
  56. package/dist/core/src/sync/transaction-manager.js.map +1 -0
  57. package/dist/core/src/webhooks/webhook-manager.d.ts +137 -0
  58. package/dist/core/src/webhooks/webhook-manager.d.ts.map +1 -0
  59. package/dist/core/src/webhooks/webhook-manager.js +334 -0
  60. package/dist/core/src/webhooks/webhook-manager.js.map +1 -0
  61. package/package.json +2 -2
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Batch processing for multiple CRUD operations
3
+ * Supports atomic transactions and individual operation processing
4
+ */
5
+ import type { User } from '@edgebasejs/types';
6
+ import { EncryptionManager } from '../encryption/encryption-manager';
7
+ import type { SyncDatabase, EntitySchema } from './sync-engine';
8
+ export interface BatchOperation {
9
+ entity: string;
10
+ id: string;
11
+ operation: 'create' | 'update' | 'delete';
12
+ data?: Record<string, any>;
13
+ version?: number;
14
+ }
15
+ export interface BatchRequest {
16
+ create?: BatchOperation[];
17
+ update?: BatchOperation[];
18
+ delete?: BatchOperation[];
19
+ atomic?: boolean;
20
+ isolationLevel?: 'READ_UNCOMMITTED' | 'READ_COMMITTED' | 'SERIALIZABLE';
21
+ }
22
+ export interface BatchResult {
23
+ applied: Array<BatchOperation & {
24
+ version: number;
25
+ serverTimestamp: number;
26
+ }>;
27
+ conflicts: Array<{
28
+ entity: string;
29
+ id: string;
30
+ operation: string;
31
+ clientVersion?: number;
32
+ serverVersion: number;
33
+ serverData: Record<string, any>;
34
+ }>;
35
+ errors: Array<{
36
+ entity: string;
37
+ id: string;
38
+ operation: string;
39
+ error: string;
40
+ code: string;
41
+ }>;
42
+ appliedCount: number;
43
+ conflictCount: number;
44
+ errorCount: number;
45
+ }
46
+ export interface BatchProcessorOptions {
47
+ schemas: Map<string, EntitySchema>;
48
+ db: SyncDatabase;
49
+ user: User;
50
+ maxBatchSize?: number;
51
+ encryption?: EncryptionManager;
52
+ }
53
+ /**
54
+ * Batch processor for handling multiple CRUD operations
55
+ */
56
+ export declare class BatchProcessor {
57
+ private schemas;
58
+ private db;
59
+ private user;
60
+ private serverTimestamp;
61
+ private maxBatchSize;
62
+ private encryption?;
63
+ constructor(options: BatchProcessorOptions);
64
+ /**
65
+ * Process a batch of operations
66
+ */
67
+ processBatch(request: BatchRequest): Promise<BatchResult>;
68
+ /**
69
+ * Process batch atomically - all succeed or all fail
70
+ */
71
+ private processBatchAtomic;
72
+ /**
73
+ * Process batch operations individually
74
+ */
75
+ private processBatchIndividual;
76
+ /**
77
+ * Validate a single operation
78
+ */
79
+ private validateOperation;
80
+ /**
81
+ * Check access rules for operation
82
+ */
83
+ private checkAccess;
84
+ /**
85
+ * Check for conflicts (version mismatch)
86
+ */
87
+ private checkConflict;
88
+ /**
89
+ * Get current version for an entity record
90
+ */
91
+ private getVersion;
92
+ /**
93
+ * Prepare SQL statements for an operation
94
+ */
95
+ private prepareStatements;
96
+ }
97
+ //# sourceMappingURL=batch-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-processor.d.ts","sourceRoot":"","sources":["../../../../src/sync/batch-processor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,cAAc,CAAC;CACzE;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,CAAC,cAAc,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,SAAS,EAAE,KAAK,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACnC,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,EAAE,CAAe;IACzB,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAoB;gBAE3B,OAAO,EAAE,qBAAqB;IAS1C;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAwC/D;;OAEG;YACW,kBAAkB;IAwEhC;;OAEG;YACW,sBAAsB;IAgFpC;;OAEG;YACW,iBAAiB;IAqB/B;;OAEG;YACW,WAAW;IA6BzB;;OAEG;YACW,aAAa;IAyB3B;;OAEG;YACW,UAAU;IAQxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAyD1B"}
@@ -0,0 +1,313 @@
1
+ /**
2
+ * Batch processing for multiple CRUD operations
3
+ * Supports atomic transactions and individual operation processing
4
+ */
5
+ import { AccessRulesEngine } from '../access-rules/engine';
6
+ /**
7
+ * Batch processor for handling multiple CRUD operations
8
+ */
9
+ export class BatchProcessor {
10
+ constructor(options) {
11
+ this.schemas = options.schemas;
12
+ this.db = options.db;
13
+ this.user = options.user;
14
+ this.serverTimestamp = Date.now();
15
+ this.maxBatchSize = options.maxBatchSize || 1000;
16
+ this.encryption = options.encryption;
17
+ }
18
+ /**
19
+ * Process a batch of operations
20
+ */
21
+ async processBatch(request) {
22
+ const result = {
23
+ applied: [],
24
+ conflicts: [],
25
+ errors: [],
26
+ appliedCount: 0,
27
+ conflictCount: 0,
28
+ errorCount: 0,
29
+ };
30
+ // Collect all operations
31
+ const allOperations = [];
32
+ allOperations.push(...(request.create || []));
33
+ allOperations.push(...(request.update || []));
34
+ allOperations.push(...(request.delete || []));
35
+ // Check batch size
36
+ if (allOperations.length > this.maxBatchSize) {
37
+ result.errors.push({
38
+ entity: '',
39
+ id: '',
40
+ operation: 'batch',
41
+ error: `Batch size (${allOperations.length}) exceeds maximum (${this.maxBatchSize})`,
42
+ code: 'BATCH_TOO_LARGE',
43
+ });
44
+ return result;
45
+ }
46
+ if (allOperations.length === 0) {
47
+ return result;
48
+ }
49
+ // Process atomically or individually
50
+ if (request.atomic) {
51
+ return this.processBatchAtomic(allOperations, request, result);
52
+ }
53
+ else {
54
+ return this.processBatchIndividual(allOperations, request, result);
55
+ }
56
+ }
57
+ /**
58
+ * Process batch atomically - all succeed or all fail
59
+ */
60
+ async processBatchAtomic(operations, request, result) {
61
+ const statements = [];
62
+ const operationMap = new Map();
63
+ try {
64
+ // Validate and prepare all operations
65
+ for (const op of operations) {
66
+ const key = `${op.entity}:${op.id}`;
67
+ operationMap.set(key, op);
68
+ // Validate operation
69
+ const validation = await this.validateOperation(op);
70
+ if (validation.error) {
71
+ throw new Error(`Operation validation failed for ${key}: ${validation.error}`);
72
+ }
73
+ // Check access rules
74
+ const accessCheck = await this.checkAccess(op);
75
+ if (!accessCheck.allowed) {
76
+ throw new Error(`Access denied for ${key}: ${accessCheck.reason}`);
77
+ }
78
+ // Check conflicts
79
+ const conflictCheck = await this.checkConflict(op);
80
+ if (conflictCheck.hasConflict) {
81
+ throw new Error(`Conflict detected for ${key}`);
82
+ }
83
+ // Prepare SQL statements
84
+ const preparedStatements = this.prepareStatements(op);
85
+ statements.push(...preparedStatements);
86
+ }
87
+ // Execute all statements atomically
88
+ if (statements.length > 0) {
89
+ await this.db.batch(statements);
90
+ }
91
+ // Add all operations to applied list
92
+ let version = 1;
93
+ for (const op of operations) {
94
+ const currentVersion = (await this.getVersion(op.entity, op.id)) || 0;
95
+ result.applied.push({
96
+ ...op,
97
+ version: currentVersion + 1,
98
+ serverTimestamp: this.serverTimestamp,
99
+ });
100
+ }
101
+ result.appliedCount = result.applied.length;
102
+ }
103
+ catch (error) {
104
+ // Atomic transaction failed - return error
105
+ const errorMsg = error instanceof Error ? error.message : 'Atomic batch failed';
106
+ for (const op of operations) {
107
+ result.errors.push({
108
+ entity: op.entity,
109
+ id: op.id,
110
+ operation: op.operation,
111
+ error: errorMsg,
112
+ code: 'ATOMIC_BATCH_FAILED',
113
+ });
114
+ }
115
+ result.errorCount = result.errors.length;
116
+ }
117
+ return result;
118
+ }
119
+ /**
120
+ * Process batch operations individually
121
+ */
122
+ async processBatchIndividual(operations, request, result) {
123
+ for (const op of operations) {
124
+ try {
125
+ // Validate operation
126
+ const validation = await this.validateOperation(op);
127
+ if (validation.error) {
128
+ result.errors.push({
129
+ entity: op.entity,
130
+ id: op.id,
131
+ operation: op.operation,
132
+ error: validation.error,
133
+ code: 'VALIDATION_ERROR',
134
+ });
135
+ continue;
136
+ }
137
+ // Check access rules
138
+ const accessCheck = await this.checkAccess(op);
139
+ if (!accessCheck.allowed) {
140
+ result.errors.push({
141
+ entity: op.entity,
142
+ id: op.id,
143
+ operation: op.operation,
144
+ error: accessCheck.reason || 'Access denied',
145
+ code: 'ACCESS_DENIED',
146
+ });
147
+ continue;
148
+ }
149
+ // Check for conflicts
150
+ const conflictCheck = await this.checkConflict(op);
151
+ if (conflictCheck.hasConflict) {
152
+ result.conflicts.push({
153
+ entity: op.entity,
154
+ id: op.id,
155
+ operation: op.operation,
156
+ clientVersion: op.version,
157
+ serverVersion: conflictCheck.serverVersion || 0,
158
+ serverData: conflictCheck.serverData || {},
159
+ });
160
+ continue;
161
+ }
162
+ // Apply operation
163
+ const currentVersion = (await this.getVersion(op.entity, op.id)) || 0;
164
+ const newVersion = currentVersion + 1;
165
+ const statements = this.prepareStatements(op, newVersion);
166
+ if (statements.length > 0) {
167
+ await this.db.batch(statements);
168
+ }
169
+ result.applied.push({
170
+ ...op,
171
+ version: newVersion,
172
+ serverTimestamp: this.serverTimestamp,
173
+ });
174
+ }
175
+ catch (error) {
176
+ const errorMsg = error instanceof Error ? error.message : 'Processing failed';
177
+ result.errors.push({
178
+ entity: op.entity,
179
+ id: op.id,
180
+ operation: op.operation,
181
+ error: errorMsg,
182
+ code: 'PROCESSING_ERROR',
183
+ });
184
+ }
185
+ }
186
+ result.appliedCount = result.applied.length;
187
+ result.conflictCount = result.conflicts.length;
188
+ result.errorCount = result.errors.length;
189
+ return result;
190
+ }
191
+ /**
192
+ * Validate a single operation
193
+ */
194
+ async validateOperation(op) {
195
+ if (!op.entity) {
196
+ return { error: 'Missing entity' };
197
+ }
198
+ if (!op.id) {
199
+ return { error: 'Missing record id' };
200
+ }
201
+ if ((op.operation === 'create' || op.operation === 'update') && (!op.data || typeof op.data !== 'object')) {
202
+ return { error: 'Missing data' };
203
+ }
204
+ const schema = this.schemas.get(op.entity);
205
+ if (!schema) {
206
+ return { error: 'Unknown entity' };
207
+ }
208
+ return {};
209
+ }
210
+ /**
211
+ * Check access rules for operation
212
+ */
213
+ async checkAccess(op) {
214
+ const schema = this.schemas.get(op.entity);
215
+ if (!schema) {
216
+ return { allowed: false, reason: 'Unknown entity' };
217
+ }
218
+ const accessContext = {
219
+ user: this.user,
220
+ operation: op.operation,
221
+ data: op.data ?? {},
222
+ };
223
+ // Get existing data for update/delete operations
224
+ if (op.operation === 'update' || op.operation === 'delete') {
225
+ const existing = await this.db.getOne(`SELECT * FROM ${op.entity} WHERE id = ?`, [op.id]);
226
+ if (existing) {
227
+ accessContext.existingData = existing;
228
+ }
229
+ }
230
+ // Evaluate access rules
231
+ const accessDecision = await AccessRulesEngine.evaluate(accessContext, schema.accessRules);
232
+ return {
233
+ allowed: accessDecision.allowed,
234
+ reason: accessDecision.reason,
235
+ };
236
+ }
237
+ /**
238
+ * Check for conflicts (version mismatch)
239
+ */
240
+ async checkConflict(op) {
241
+ const metadata = await this.db.getOne('SELECT version FROM sync_metadata WHERE entity = ? AND record_id = ?', [op.entity, op.id]);
242
+ const serverVersion = metadata?.version || 0;
243
+ // Check if operation version matches server version
244
+ if (metadata && op.version !== undefined && op.version !== serverVersion) {
245
+ const serverData = await this.db.getOne(`SELECT * FROM ${op.entity} WHERE id = ?`, [op.id]);
246
+ return {
247
+ hasConflict: true,
248
+ serverVersion,
249
+ serverData: serverData || {},
250
+ };
251
+ }
252
+ return { hasConflict: false, serverVersion };
253
+ }
254
+ /**
255
+ * Get current version for an entity record
256
+ */
257
+ async getVersion(entity, recordId) {
258
+ const metadata = await this.db.getOne('SELECT version FROM sync_metadata WHERE entity = ? AND record_id = ?', [entity, recordId]);
259
+ return metadata?.version ?? null;
260
+ }
261
+ /**
262
+ * Prepare SQL statements for an operation
263
+ */
264
+ prepareStatements(op, version) {
265
+ const now = Date.now();
266
+ const finalVersion = version !== undefined ? version : 1;
267
+ const statements = [];
268
+ switch (op.operation) {
269
+ case 'create': {
270
+ const columns = ['id', ...Object.keys(op.data || {})];
271
+ const values = [op.id, ...Object.values(op.data || {})];
272
+ const placeholders = columns.map(() => '?').join(', ');
273
+ statements.push({
274
+ sql: `INSERT INTO ${op.entity} (${columns.join(', ')}) VALUES (${placeholders})`,
275
+ params: values,
276
+ });
277
+ statements.push({
278
+ sql: 'INSERT OR REPLACE INTO sync_metadata (entity, record_id, version, updated_at) VALUES (?, ?, ?, ?)',
279
+ params: [op.entity, op.id, finalVersion, now],
280
+ });
281
+ break;
282
+ }
283
+ case 'update': {
284
+ const updates = Object.entries(op.data || {})
285
+ .map(([key]) => `${key} = ?`)
286
+ .join(', ');
287
+ const values = [...Object.values(op.data || {}), op.id];
288
+ statements.push({
289
+ sql: `UPDATE ${op.entity} SET ${updates} WHERE id = ?`,
290
+ params: values,
291
+ });
292
+ statements.push({
293
+ sql: 'INSERT OR REPLACE INTO sync_metadata (entity, record_id, version, updated_at) VALUES (?, ?, ?, ?)',
294
+ params: [op.entity, op.id, finalVersion, now],
295
+ });
296
+ break;
297
+ }
298
+ case 'delete': {
299
+ statements.push({
300
+ sql: `DELETE FROM ${op.entity} WHERE id = ?`,
301
+ params: [op.id],
302
+ });
303
+ statements.push({
304
+ sql: 'DELETE FROM sync_metadata WHERE entity = ? AND record_id = ?',
305
+ params: [op.entity, op.id],
306
+ });
307
+ break;
308
+ }
309
+ }
310
+ return statements;
311
+ }
312
+ }
313
+ //# sourceMappingURL=batch-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-processor.js","sourceRoot":"","sources":["../../../../src/sync/batch-processor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,iBAAiB,EAAsB,MAAM,wBAAwB,CAAC;AAkD/E;;GAEG;AACH,MAAM,OAAO,cAAc;IAQzB,YAAY,OAA8B;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAAqB;QACtC,MAAM,MAAM,GAAgB;YAC1B,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,CAAC;SACd,CAAC;QAEF,yBAAyB;QACzB,MAAM,aAAa,GAAqB,EAAE,CAAC;QAC3C,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9C,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9C,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAE9C,mBAAmB;QACnB,IAAI,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,MAAM,EAAE,EAAE;gBACV,EAAE,EAAE,EAAE;gBACN,SAAS,EAAE,OAAO;gBAClB,KAAK,EAAE,eAAe,aAAa,CAAC,MAAM,sBAAsB,IAAI,CAAC,YAAY,GAAG;gBACpF,IAAI,EAAE,iBAAiB;aACxB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,qCAAqC;QACrC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC9B,UAA4B,EAC5B,OAAqB,EACrB,MAAmB;QAEnB,MAAM,UAAU,GAA2C,EAAE,CAAC;QAC9D,MAAM,YAAY,GAAgC,IAAI,GAAG,EAAE,CAAC;QAE5D,IAAI,CAAC;YACH,sCAAsC;YACtC,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAE1B,qBAAqB;gBACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACpD,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjF,CAAC;gBAED,qBAAqB;gBACrB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrE,CAAC;gBAED,kBAAkB;gBAClB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBACnD,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;gBAClD,CAAC;gBAED,yBAAyB;gBACzB,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACtD,UAAU,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;YACzC,CAAC;YAED,oCAAoC;YACpC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;YAED,qCAAqC;YACrC,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC5B,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;oBAClB,GAAG,EAAE;oBACL,OAAO,EAAE,cAAc,GAAG,CAAC;oBAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;iBACtC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2CAA2C;YAC3C,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC;YAChF,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACjB,MAAM,EAAE,EAAE,CAAC,MAAM;oBACjB,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,SAAS,EAAE,EAAE,CAAC,SAAS;oBACvB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,qBAAqB;iBAC5B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAClC,UAA4B,EAC5B,OAAqB,EACrB,MAAmB;QAEnB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,qBAAqB;gBACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACpD,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBACrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;wBACjB,MAAM,EAAE,EAAE,CAAC,MAAM;wBACjB,EAAE,EAAE,EAAE,CAAC,EAAE;wBACT,SAAS,EAAE,EAAE,CAAC,SAAS;wBACvB,KAAK,EAAE,UAAU,CAAC,KAAK;wBACvB,IAAI,EAAE,kBAAkB;qBACzB,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,qBAAqB;gBACrB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;oBACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;wBACjB,MAAM,EAAE,EAAE,CAAC,MAAM;wBACjB,EAAE,EAAE,EAAE,CAAC,EAAE;wBACT,SAAS,EAAE,EAAE,CAAC,SAAS;wBACvB,KAAK,EAAE,WAAW,CAAC,MAAM,IAAI,eAAe;wBAC5C,IAAI,EAAE,eAAe;qBACtB,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,sBAAsB;gBACtB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBACnD,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;oBAC9B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;wBACpB,MAAM,EAAE,EAAE,CAAC,MAAM;wBACjB,EAAE,EAAE,EAAE,CAAC,EAAE;wBACT,SAAS,EAAE,EAAE,CAAC,SAAS;wBACvB,aAAa,EAAE,EAAE,CAAC,OAAO;wBACzB,aAAa,EAAE,aAAa,CAAC,aAAa,IAAI,CAAC;wBAC/C,UAAU,EAAE,aAAa,CAAC,UAAU,IAAI,EAAE;qBAC3C,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,kBAAkB;gBAClB,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtE,MAAM,UAAU,GAAG,cAAc,GAAG,CAAC,CAAC;gBAEtC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;gBAC1D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAClC,CAAC;gBAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;oBAClB,GAAG,EAAE;oBACL,OAAO,EAAE,UAAU;oBACnB,eAAe,EAAE,IAAI,CAAC,eAAe;iBACtC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBAC9E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACjB,MAAM,EAAE,EAAE,CAAC,MAAM;oBACjB,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,SAAS,EAAE,EAAE,CAAC,SAAS;oBACvB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,kBAAkB;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5C,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/C,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAEzC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,EAAkB;QAChD,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,SAAS,KAAK,QAAQ,IAAI,EAAE,CAAC,SAAS,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC1G,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;QACrC,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,EAAkB;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACtD,CAAC;QAED,MAAM,aAAa,GAAkB;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE;SACpB,CAAC;QAEF,iDAAiD;QACjD,IAAI,EAAE,CAAC,SAAS,KAAK,QAAQ,IAAI,EAAE,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,MAAM,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1F,IAAI,QAAQ,EAAE,CAAC;gBACb,aAAa,CAAC,YAAY,GAAG,QAAQ,CAAC;YACxC,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAE3F,OAAO;YACL,OAAO,EAAE,cAAc,CAAC,OAAO;YAC/B,MAAM,EAAE,cAAc,CAAC,MAAM;SAC9B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,EAAkB;QAK5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CACnC,sEAAsE,EACtE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CACnB,CAAC;QAEF,MAAM,aAAa,GAAG,QAAQ,EAAE,OAAO,IAAI,CAAC,CAAC;QAE7C,oDAAoD;QACpD,IAAI,QAAQ,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;YACzE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,MAAM,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5F,OAAO;gBACL,WAAW,EAAE,IAAI;gBACjB,aAAa;gBACb,UAAU,EAAE,UAAU,IAAI,EAAE;aAC7B,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,QAAgB;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CACnC,sEAAsE,EACtE,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnB,CAAC;QACF,OAAO,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,EAAkB,EAAE,OAAgB;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,UAAU,GAA2C,EAAE,CAAC;QAE9D,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC;YACrB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEvD,UAAU,CAAC,IAAI,CAAC;oBACd,GAAG,EAAE,eAAe,EAAE,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,YAAY,GAAG;oBAChF,MAAM,EAAE,MAAM;iBACf,CAAC,CAAC;gBAEH,UAAU,CAAC,IAAI,CAAC;oBACd,GAAG,EAAE,mGAAmG;oBACxG,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC;iBAC9C,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;qBAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC;qBAC5B,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBAExD,UAAU,CAAC,IAAI,CAAC;oBACd,GAAG,EAAE,UAAU,EAAE,CAAC,MAAM,QAAQ,OAAO,eAAe;oBACtD,MAAM,EAAE,MAAM;iBACf,CAAC,CAAC;gBAEH,UAAU,CAAC,IAAI,CAAC;oBACd,GAAG,EAAE,mGAAmG;oBACxG,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC;iBAC9C,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,UAAU,CAAC,IAAI,CAAC;oBACd,GAAG,EAAE,eAAe,EAAE,CAAC,MAAM,eAAe;oBAC5C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;iBAChB,CAAC,CAAC;gBAEH,UAAU,CAAC,IAAI,CAAC;oBACd,GAAG,EAAE,8DAA8D;oBACnE,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;iBAC3B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * CSV import/export processor
3
+ * Handles CSV data transformation for bulk import/export operations
4
+ */
5
+ export interface CSVImportOptions {
6
+ entity: string;
7
+ data: string;
8
+ hasHeader?: boolean;
9
+ skipErrors?: boolean;
10
+ }
11
+ export interface CSVImportResult {
12
+ entity: string;
13
+ totalRows: number;
14
+ validRows: number;
15
+ invalidRows: number;
16
+ errors: Array<{
17
+ row: number;
18
+ error: string;
19
+ data?: any;
20
+ }>;
21
+ data: Array<Record<string, any>>;
22
+ }
23
+ export interface CSVExportOptions {
24
+ entity: string;
25
+ data: Array<Record<string, any>>;
26
+ columns?: string[];
27
+ includeMetadata?: boolean;
28
+ }
29
+ export interface CSVExportResult {
30
+ entity: string;
31
+ columns: string[];
32
+ rows: Array<string[]>;
33
+ csv: string;
34
+ }
35
+ /**
36
+ * CSV processor for import/export operations
37
+ */
38
+ export declare class CSVProcessor {
39
+ /**
40
+ * Parse CSV string to objects
41
+ */
42
+ static parseCSV(content: string, hasHeader?: boolean): CSVImportResult & {
43
+ data: Array<Record<string, any>>;
44
+ };
45
+ /**
46
+ * Convert CSV string to objects for import
47
+ */
48
+ static importFromCSV(options: CSVImportOptions): Promise<CSVImportResult>;
49
+ /**
50
+ * Convert objects to CSV string for export
51
+ */
52
+ static exportToCSV(options: CSVExportOptions): CSVExportResult;
53
+ /**
54
+ * Parse a single CSV line, handling quoted fields
55
+ */
56
+ private static parseCSVLine;
57
+ /**
58
+ * Convert CSV string value to appropriate type
59
+ */
60
+ private static convertValue;
61
+ /**
62
+ * Format a value for CSV output
63
+ */
64
+ private static formatCSVValue;
65
+ }
66
+ //# sourceMappingURL=csv-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csv-processor.d.ts","sourceRoot":"","sources":["../../../../src/sync/csv-processor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,KAAK,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,CAAC,CAAC;IACH,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,UAAO,GAAG,eAAe,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;KAAE;IAmE1G;;OAEG;WACU,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAiB/E;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe;IAoD9D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAiC3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAgC3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;CAuB9B"}