@devrev/ts-adaas 1.19.9-beta.0 → 1.19.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.
- package/dist/attachments-streaming/attachments-streaming-pool.d.ts.map +1 -1
- package/dist/attachments-streaming/attachments-streaming-pool.js +6 -4
- package/dist/attachments-streaming/attachments-streaming-pool.test.js +65 -0
- package/dist/common/control-protocol.d.ts +2 -3
- package/dist/common/control-protocol.d.ts.map +1 -1
- package/dist/common/control-protocol.js +4 -2
- package/dist/http/axios-client-internal.d.ts.map +1 -1
- package/dist/http/axios-client-internal.js +1 -19
- package/dist/mock-server/mock-server.d.ts +0 -4
- package/dist/mock-server/mock-server.d.ts.map +1 -1
- package/dist/mock-server/mock-server.interfaces.d.ts +4 -9
- package/dist/mock-server/mock-server.interfaces.d.ts.map +1 -1
- package/dist/mock-server/mock-server.js +18 -30
- package/dist/multithreading/spawn/spawn.d.ts +1 -1
- package/dist/multithreading/spawn/spawn.d.ts.map +1 -1
- package/dist/multithreading/spawn/spawn.js +6 -11
- package/dist/multithreading/spawn/spawn.test.js +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.js +1 -1
- package/dist/multithreading/worker-adapter/worker-adapter.d.ts +5 -11
- package/dist/multithreading/worker-adapter/worker-adapter.d.ts.map +1 -1
- package/dist/multithreading/worker-adapter/worker-adapter.emit.test.js +9 -90
- package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.js +1 -1
- package/dist/multithreading/worker-adapter/worker-adapter.js +64 -93
- package/dist/repo/repo.d.ts +2 -11
- package/dist/repo/repo.d.ts.map +1 -1
- package/dist/repo/repo.interfaces.d.ts +0 -2
- package/dist/repo/repo.interfaces.d.ts.map +1 -1
- package/dist/repo/repo.js +11 -37
- package/dist/repo/repo.test.js +0 -184
- package/dist/types/extraction.d.ts +1 -8
- package/dist/types/extraction.d.ts.map +1 -1
- package/dist/types/workers.d.ts +0 -4
- package/dist/types/workers.d.ts.map +1 -1
- package/dist/uploader/uploader.d.ts.map +1 -1
- package/dist/uploader/uploader.helpers.d.ts +1 -6
- package/dist/uploader/uploader.helpers.d.ts.map +1 -1
- package/dist/uploader/uploader.helpers.js +0 -65
- package/dist/uploader/uploader.helpers.test.js +7 -148
- package/dist/uploader/uploader.interfaces.d.ts +0 -11
- package/dist/uploader/uploader.interfaces.d.ts.map +1 -1
- package/dist/uploader/uploader.interfaces.js +0 -11
- package/dist/uploader/uploader.js +5 -2
- package/dist/uploader/uploader.test.js +3 -54
- package/package.json +2 -2
- package/dist/common/control-protocol.test.d.ts +0 -2
- package/dist/common/control-protocol.test.d.ts.map +0 -1
- package/dist/common/control-protocol.test.js +0 -126
- package/dist/multithreading/worker-adapter/worker-adapter.upload-failure.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.upload-failure.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.upload-failure.test.js +0 -135
|
@@ -22,13 +22,6 @@ const workers_1 = require("../../types/workers");
|
|
|
22
22
|
const uploader_1 = require("../../uploader/uploader");
|
|
23
23
|
const event_type_translation_1 = require("../../common/event-type-translation");
|
|
24
24
|
const helpers_1 = require("../../common/helpers");
|
|
25
|
-
const spawn_helpers_1 = require("../spawn/spawn.helpers");
|
|
26
|
-
function toRfc3339Timestamp(ms) {
|
|
27
|
-
if (!Number.isFinite(ms) || ms === 0) {
|
|
28
|
-
return undefined;
|
|
29
|
-
}
|
|
30
|
-
return new Date(ms).toISOString();
|
|
31
|
-
}
|
|
32
25
|
function createWorkerAdapter({ event, adapterState, options, }) {
|
|
33
26
|
return new WorkerAdapter({
|
|
34
27
|
event,
|
|
@@ -53,6 +46,10 @@ function createWorkerAdapter({ event, adapterState, options, }) {
|
|
|
53
46
|
*/
|
|
54
47
|
class WorkerAdapter {
|
|
55
48
|
constructor({ event, adapterState, options, }) {
|
|
49
|
+
this._isTimeout = false;
|
|
50
|
+
this.timeoutSignal = new Promise((resolve) => {
|
|
51
|
+
this.resolveTimeoutSignal = resolve;
|
|
52
|
+
});
|
|
56
53
|
this.repos = [];
|
|
57
54
|
this.currentEventDataLength = 0;
|
|
58
55
|
this.event = event;
|
|
@@ -60,7 +57,6 @@ class WorkerAdapter {
|
|
|
60
57
|
this.adapterState = adapterState;
|
|
61
58
|
this._artifacts = [];
|
|
62
59
|
this.hasWorkerEmitted = false;
|
|
63
|
-
this.isTimeout = false;
|
|
64
60
|
// Loader
|
|
65
61
|
this.loaderReports = [];
|
|
66
62
|
this._processedFiles = [];
|
|
@@ -73,6 +69,15 @@ class WorkerAdapter {
|
|
|
73
69
|
options,
|
|
74
70
|
});
|
|
75
71
|
}
|
|
72
|
+
get isTimeout() {
|
|
73
|
+
return this._isTimeout;
|
|
74
|
+
}
|
|
75
|
+
set isTimeout(value) {
|
|
76
|
+
this._isTimeout = value;
|
|
77
|
+
if (value) {
|
|
78
|
+
this.resolveTimeoutSignal();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
76
81
|
get state() {
|
|
77
82
|
return this.adapterState.state;
|
|
78
83
|
}
|
|
@@ -109,7 +114,6 @@ class WorkerAdapter {
|
|
|
109
114
|
repo.itemType !== constants_1.SSOR_ATTACHMENT;
|
|
110
115
|
return new repo_1.Repo(Object.assign(Object.assign({ event: this.event, itemType: repo.itemType }, (shouldNormalize && { normalize: repo.normalize })), { onUpload: (artifact) => {
|
|
111
116
|
var _a;
|
|
112
|
-
this.lastExtractedItemType = repo.itemType;
|
|
113
117
|
// We need to store artifacts ids in state for later use when streaming attachments
|
|
114
118
|
if (repo.itemType === constants_1.AirSyncDefaultItemTypes.ATTACHMENTS) {
|
|
115
119
|
(_a = this.state.toDevRev) === null || _a === void 0 ? void 0 : _a.attachmentsMetadata.artifactIds.push(artifact.id);
|
|
@@ -154,7 +158,7 @@ class WorkerAdapter {
|
|
|
154
158
|
*/
|
|
155
159
|
async emit(newEventType, data) {
|
|
156
160
|
return (0, logger_context_1.runWithSdkLogContext)(async () => {
|
|
157
|
-
var _a;
|
|
161
|
+
var _a, _b;
|
|
158
162
|
newEventType = (0, event_type_translation_1.translateOutgoingEventType)(newEventType);
|
|
159
163
|
if (this.hasWorkerEmitted) {
|
|
160
164
|
console.warn(`Trying to emit event with event type: ${newEventType}. Ignoring emit request because it has already been emitted.`);
|
|
@@ -186,13 +190,8 @@ class WorkerAdapter {
|
|
|
186
190
|
}
|
|
187
191
|
catch (error) {
|
|
188
192
|
console.error('Error while uploading repos', error);
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}
|
|
192
|
-
const { eventType } = (0, spawn_helpers_1.getTimeoutErrorEventType)(this.event.payload.event_type);
|
|
193
|
-
await this.emitToPlatform(eventType, {
|
|
194
|
-
error: { message: (0, logger_1.serializeError)(error) },
|
|
195
|
-
});
|
|
193
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(workers_1.WorkerMessageSubject.WorkerMessageExit);
|
|
194
|
+
this.hasWorkerEmitted = true;
|
|
196
195
|
return;
|
|
197
196
|
}
|
|
198
197
|
// If the extraction is done, we want to save the timestamp of the last successful sync
|
|
@@ -220,87 +219,55 @@ class WorkerAdapter {
|
|
|
220
219
|
this.state.workersNewest = extractionEnd;
|
|
221
220
|
}
|
|
222
221
|
}
|
|
223
|
-
|
|
222
|
+
// We want to save the state every time we emit an event, except for the start and delete events
|
|
223
|
+
if (!constants_1.STATELESS_EVENT_TYPES.includes(this.event.payload.event_type)) {
|
|
224
|
+
console.log(`Saving state before emitting event with event type: ${newEventType}.`);
|
|
225
|
+
try {
|
|
226
|
+
await this.adapterState.postState(this.state);
|
|
227
|
+
}
|
|
228
|
+
catch (error) {
|
|
229
|
+
console.error('Error while posting state', error);
|
|
230
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(workers_1.WorkerMessageSubject.WorkerMessageExit);
|
|
231
|
+
this.hasWorkerEmitted = true;
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
try {
|
|
236
|
+
// Always prune error messages to make them shorter before emit
|
|
237
|
+
if ((_b = data === null || data === void 0 ? void 0 : data.error) === null || _b === void 0 ? void 0 : _b.message) {
|
|
238
|
+
data.error.message = (0, helpers_1.truncateMessage)(data.error.message);
|
|
239
|
+
}
|
|
240
|
+
const isExtractionEvent = Object.values(extraction_1.ExtractorEventType).includes(newEventType);
|
|
241
|
+
const isLoaderEvent = Object.values(loading_1.LoaderEventType).includes(newEventType);
|
|
242
|
+
await (0, control_protocol_1.emit)({
|
|
243
|
+
eventType: newEventType,
|
|
244
|
+
event: this.event,
|
|
245
|
+
data: Object.assign(Object.assign(Object.assign({}, data), (isExtractionEvent ? { artifacts: this.artifacts } : {})), (isLoaderEvent
|
|
246
|
+
? { reports: this.reports, processed_files: this.processedFiles }
|
|
247
|
+
: {})),
|
|
248
|
+
});
|
|
249
|
+
const message = {
|
|
250
|
+
subject: workers_1.WorkerMessageSubject.WorkerMessageEmitted,
|
|
251
|
+
payload: { eventType: newEventType },
|
|
252
|
+
};
|
|
253
|
+
this.artifacts = [];
|
|
254
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(message);
|
|
255
|
+
this.hasWorkerEmitted = true;
|
|
256
|
+
}
|
|
257
|
+
catch (error) {
|
|
258
|
+
console.error(`Error while emitting event with event type: ${newEventType}.`, (0, logger_1.serializeError)(error));
|
|
259
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(workers_1.WorkerMessageSubject.WorkerMessageExit);
|
|
260
|
+
this.hasWorkerEmitted = true;
|
|
261
|
+
}
|
|
224
262
|
});
|
|
225
263
|
}
|
|
226
264
|
async uploadAllRepos() {
|
|
227
265
|
for (const repo of this.repos) {
|
|
228
|
-
await repo.upload();
|
|
266
|
+
const error = await repo.upload();
|
|
229
267
|
this.artifacts.push(...repo.uploadedArtifacts);
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
* Persists adapter state before emitting, except for stateless worker phases.
|
|
234
|
-
*/
|
|
235
|
-
async postStateBeforeEmit(eventType) {
|
|
236
|
-
if (constants_1.STATELESS_EVENT_TYPES.includes(this.event.payload.event_type)) {
|
|
237
|
-
return true;
|
|
238
|
-
}
|
|
239
|
-
console.log(`Saving state before emitting event with event type: ${eventType}.`);
|
|
240
|
-
try {
|
|
241
|
-
await this.adapterState.postState(this.state);
|
|
242
|
-
return true;
|
|
243
|
-
}
|
|
244
|
-
catch (error) {
|
|
245
|
-
console.error('Error while posting state', error);
|
|
246
|
-
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(workers_1.WorkerMessageSubject.WorkerMessageExit);
|
|
247
|
-
this.hasWorkerEmitted = true;
|
|
248
|
-
return false;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* Posts state (when required), emits to the platform, and notifies the parent
|
|
253
|
-
* worker that an event was emitted.
|
|
254
|
-
*/
|
|
255
|
-
async emitToPlatform(eventType, data) {
|
|
256
|
-
var _a;
|
|
257
|
-
const posted = await this.postStateBeforeEmit(eventType);
|
|
258
|
-
if (!posted) {
|
|
259
|
-
return;
|
|
260
|
-
}
|
|
261
|
-
try {
|
|
262
|
-
if ((_a = data === null || data === void 0 ? void 0 : data.error) === null || _a === void 0 ? void 0 : _a.message) {
|
|
263
|
-
data.error.message = (0, helpers_1.truncateMessage)(data.error.message);
|
|
264
|
-
}
|
|
265
|
-
const isExtractionEvent = Object.values(extraction_1.ExtractorEventType).includes(eventType);
|
|
266
|
-
const isLoaderEvent = Object.values(loading_1.LoaderEventType).includes(eventType);
|
|
267
|
-
const progress_data = {};
|
|
268
|
-
if (isExtractionEvent &&
|
|
269
|
-
(eventType == extraction_1.ExtractorEventType.DataExtractionDone ||
|
|
270
|
-
eventType == extraction_1.ExtractorEventType.DataExtractionProgress ||
|
|
271
|
-
eventType == extraction_1.ExtractorEventType.AttachmentExtractionDone ||
|
|
272
|
-
eventType == extraction_1.ExtractorEventType.AttachmentExtractionProgress)) {
|
|
273
|
-
const repo = this.lastExtractedItemType
|
|
274
|
-
? this.repos.find((r) => r.itemType === this.lastExtractedItemType)
|
|
275
|
-
: undefined;
|
|
276
|
-
if (repo) {
|
|
277
|
-
progress_data.item_type = repo.itemType;
|
|
278
|
-
progress_data.newest_created_date = toRfc3339Timestamp(repo.dateRanges.creationDate.newest);
|
|
279
|
-
progress_data.oldest_created_date = toRfc3339Timestamp(repo.dateRanges.creationDate.oldest);
|
|
280
|
-
progress_data.newest_modified_date = toRfc3339Timestamp(repo.dateRanges.modifiedDate.newest);
|
|
281
|
-
progress_data.oldest_modified_date = toRfc3339Timestamp(repo.dateRanges.modifiedDate.oldest);
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
await (0, control_protocol_1.emit)({
|
|
285
|
-
eventType,
|
|
286
|
-
event: this.event,
|
|
287
|
-
data: Object.assign(Object.assign(Object.assign({}, data), (isExtractionEvent ? { artifacts: this.artifacts } : {})), (isLoaderEvent
|
|
288
|
-
? { reports: this.reports, processed_files: this.processedFiles }
|
|
289
|
-
: {})),
|
|
290
|
-
worker_metadata: Object.assign({}, progress_data),
|
|
291
|
-
});
|
|
292
|
-
const message = {
|
|
293
|
-
subject: workers_1.WorkerMessageSubject.WorkerMessageEmitted,
|
|
294
|
-
payload: { eventType },
|
|
295
|
-
};
|
|
296
|
-
this.artifacts = [];
|
|
297
|
-
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(message);
|
|
298
|
-
this.hasWorkerEmitted = true;
|
|
299
|
-
}
|
|
300
|
-
catch (error) {
|
|
301
|
-
console.error(`Error while emitting event with event type: ${eventType}.`, (0, logger_1.serializeError)(error));
|
|
302
|
-
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(workers_1.WorkerMessageSubject.WorkerMessageExit);
|
|
303
|
-
this.hasWorkerEmitted = true;
|
|
268
|
+
if (error) {
|
|
269
|
+
throw error;
|
|
270
|
+
}
|
|
304
271
|
}
|
|
305
272
|
}
|
|
306
273
|
async loadItemTypes({ itemTypesToLoad, }) {
|
|
@@ -736,6 +703,10 @@ class WorkerAdapter {
|
|
|
736
703
|
else if (attachment.inline === false) {
|
|
737
704
|
ssorAttachment.inline = false;
|
|
738
705
|
}
|
|
706
|
+
if (this.isTimeout) {
|
|
707
|
+
this.destroyHttpStream(httpStream);
|
|
708
|
+
return;
|
|
709
|
+
}
|
|
739
710
|
await ((_c = this.getRepo('ssor_attachment')) === null || _c === void 0 ? void 0 : _c.push([ssorAttachment]));
|
|
740
711
|
return;
|
|
741
712
|
}
|
package/dist/repo/repo.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Item } from '../repo/repo.interfaces';
|
|
2
|
+
import { ErrorRecord } from '../types/common';
|
|
2
3
|
import { Artifact } from '../uploader/uploader.interfaces';
|
|
3
4
|
import { NormalizedAttachment, NormalizedItem, RepoFactoryInterface } from './repo.interfaces';
|
|
4
5
|
export declare class Repo {
|
|
@@ -9,19 +10,9 @@ export declare class Repo {
|
|
|
9
10
|
private onUpload;
|
|
10
11
|
private options?;
|
|
11
12
|
uploadedArtifacts: Artifact[];
|
|
12
|
-
dateRanges: {
|
|
13
|
-
creationDate: {
|
|
14
|
-
oldest: number;
|
|
15
|
-
newest: number;
|
|
16
|
-
};
|
|
17
|
-
modifiedDate: {
|
|
18
|
-
oldest: number;
|
|
19
|
-
newest: number;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
13
|
constructor({ event, itemType, normalize, onUpload, options, }: RepoFactoryInterface);
|
|
23
14
|
getItems(): (NormalizedItem | NormalizedAttachment | Item)[];
|
|
24
|
-
upload(batch?: (NormalizedItem | NormalizedAttachment | Item)[]): Promise<void>;
|
|
15
|
+
upload(batch?: (NormalizedItem | NormalizedAttachment | Item)[]): Promise<void | ErrorRecord>;
|
|
25
16
|
push(items: Item[]): Promise<boolean>;
|
|
26
17
|
}
|
|
27
18
|
//# sourceMappingURL=repo.d.ts.map
|
package/dist/repo/repo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../../src/repo/repo.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../../src/repo/repo.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAI3D,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,IAAI;IACf,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,KAAK,CAAmD;IAChE,OAAO,CAAC,SAAS,CAAC,CAAwD;IAC1E,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,OAAO,CAAC,CAAuB;IAChC,iBAAiB,EAAE,QAAQ,EAAE,CAAC;gBAEzB,EACV,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,GACR,EAAE,oBAAoB;IAUvB,QAAQ,IAAI,CAAC,cAAc,GAAG,oBAAoB,GAAG,IAAI,CAAC,EAAE;IAItD,MAAM,CACV,KAAK,CAAC,EAAE,CAAC,cAAc,GAAG,oBAAoB,GAAG,IAAI,CAAC,EAAE,GACvD,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;IAqCxB,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAyC5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo.interfaces.d.ts","sourceRoot":"","sources":["../../src/repo/repo.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,cAAc,GAAG,oBAAoB,CAAC;IACtE,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,cAAc,GAAG,oBAAoB,CAAC;IACtE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"repo.interfaces.d.ts","sourceRoot":"","sources":["../../src/repo/repo.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,cAAc,GAAG,oBAAoB,CAAC;IACtE,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,cAAc,GAAG,oBAAoB,CAAC;IACtE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IAItB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACnC;AAED;;GAEG;AAEH,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC"}
|
package/dist/repo/repo.js
CHANGED
|
@@ -4,24 +4,8 @@ exports.Repo = void 0;
|
|
|
4
4
|
const constants_1 = require("../common/constants");
|
|
5
5
|
const uploader_1 = require("../uploader/uploader");
|
|
6
6
|
const logger_context_1 = require("../logger/logger.context");
|
|
7
|
-
function updateRange(range, ms) {
|
|
8
|
-
if (range.oldest === 0 || ms < range.oldest) {
|
|
9
|
-
range.oldest = ms;
|
|
10
|
-
}
|
|
11
|
-
if (range.newest === 0 || ms > range.newest) {
|
|
12
|
-
range.newest = ms;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
function toValidTimestamp(value) {
|
|
16
|
-
const ms = new Date(value).getTime();
|
|
17
|
-
return Number.isFinite(ms) ? ms : undefined;
|
|
18
|
-
}
|
|
19
7
|
class Repo {
|
|
20
8
|
constructor({ event, itemType, normalize, onUpload, options, }) {
|
|
21
|
-
this.dateRanges = {
|
|
22
|
-
creationDate: { oldest: 0, newest: 0 },
|
|
23
|
-
modifiedDate: { oldest: 0, newest: 0 },
|
|
24
|
-
};
|
|
25
9
|
this.items = [];
|
|
26
10
|
this.itemType = itemType;
|
|
27
11
|
this.normalize = normalize;
|
|
@@ -34,30 +18,13 @@ class Repo {
|
|
|
34
18
|
return this.items;
|
|
35
19
|
}
|
|
36
20
|
async upload(batch) {
|
|
37
|
-
var _a;
|
|
38
21
|
const itemsToUpload = batch || this.items;
|
|
39
22
|
if (itemsToUpload.length > 0) {
|
|
40
|
-
for (const item of itemsToUpload) {
|
|
41
|
-
const createdDate = item === null || item === void 0 ? void 0 : item.created_date;
|
|
42
|
-
if (createdDate != null) {
|
|
43
|
-
const createdMs = toValidTimestamp(createdDate);
|
|
44
|
-
if (createdMs !== undefined) {
|
|
45
|
-
updateRange(this.dateRanges.creationDate, createdMs);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
const modifiedDate = item === null || item === void 0 ? void 0 : item.modified_date;
|
|
49
|
-
if (modifiedDate != null && modifiedDate !== '') {
|
|
50
|
-
const modifiedMs = toValidTimestamp(modifiedDate);
|
|
51
|
-
if (modifiedMs !== undefined) {
|
|
52
|
-
updateRange(this.dateRanges.modifiedDate, modifiedMs);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
23
|
console.log(`Uploading ${itemsToUpload.length} items of type ${this.itemType}. `);
|
|
57
24
|
const { artifact, error } = await this.uploader.upload(this.itemType, itemsToUpload);
|
|
58
25
|
if (error || !artifact) {
|
|
59
26
|
console.error('Error while uploading batch', error);
|
|
60
|
-
|
|
27
|
+
return error;
|
|
61
28
|
}
|
|
62
29
|
this.onUpload(artifact);
|
|
63
30
|
this.uploadedArtifacts.push(artifact);
|
|
@@ -92,9 +59,16 @@ class Repo {
|
|
|
92
59
|
// Upload in batches while the number of items exceeds the batch size
|
|
93
60
|
const batchSize = ((_a = this.options) === null || _a === void 0 ? void 0 : _a.batchSize) || constants_1.ARTIFACT_BATCH_SIZE;
|
|
94
61
|
while (this.items.length >= batchSize) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
62
|
+
// Slice out a batch of batchSize items to upload
|
|
63
|
+
const batch = this.items.splice(0, batchSize);
|
|
64
|
+
try {
|
|
65
|
+
// Upload the batch
|
|
66
|
+
await this.upload(batch);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
console.error('Error while uploading batch', error);
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
98
72
|
}
|
|
99
73
|
return true;
|
|
100
74
|
}
|
package/dist/repo/repo.test.js
CHANGED
|
@@ -7,22 +7,6 @@ const test_utils_1 = require("../common/test-utils");
|
|
|
7
7
|
const types_1 = require("../types");
|
|
8
8
|
const repo_1 = require("./repo");
|
|
9
9
|
jest.mock('../tests/test-helpers', () => (Object.assign(Object.assign({}, jest.requireActual('../tests/test-helpers')), { normalizeItem: jest.fn() })));
|
|
10
|
-
const mockUploadFn = jest.fn().mockResolvedValue({
|
|
11
|
-
error: null,
|
|
12
|
-
artifact: { id: 'art-1', item_type: 'test', item_count: 0 },
|
|
13
|
-
});
|
|
14
|
-
jest.mock('../uploader/uploader', () => ({
|
|
15
|
-
Uploader: jest.fn().mockImplementation(() => ({
|
|
16
|
-
upload: mockUploadFn,
|
|
17
|
-
})),
|
|
18
|
-
}));
|
|
19
|
-
function itemWithDate(id, created_date) {
|
|
20
|
-
return { id, created_date, modified_date: created_date, data: {} };
|
|
21
|
-
}
|
|
22
|
-
function itemWithDates(id, created_date, modified_date) {
|
|
23
|
-
return { id, created_date, modified_date, data: {} };
|
|
24
|
-
}
|
|
25
|
-
const ts = (iso) => new Date(iso).getTime();
|
|
26
10
|
describe(repo_1.Repo.name, () => {
|
|
27
11
|
let repo;
|
|
28
12
|
let normalize;
|
|
@@ -197,172 +181,4 @@ describe(repo_1.Repo.name, () => {
|
|
|
197
181
|
expect(repo.getItems().length).toBe(5);
|
|
198
182
|
});
|
|
199
183
|
});
|
|
200
|
-
describe('dateRanges', () => {
|
|
201
|
-
beforeEach(() => {
|
|
202
|
-
mockUploadFn.mockResolvedValue({
|
|
203
|
-
error: null,
|
|
204
|
-
artifact: { id: 'art-1', item_type: 'test', item_count: 0 },
|
|
205
|
-
});
|
|
206
|
-
});
|
|
207
|
-
it('should track min and max created_date from a single upload batch', async () => {
|
|
208
|
-
await repo.upload([
|
|
209
|
-
itemWithDate('1', '2023-06-15T12:00:00.000Z'),
|
|
210
|
-
itemWithDate('2', '2020-01-01T00:00:00.000Z'),
|
|
211
|
-
itemWithDate('3', '2021-03-01T00:00:00.000Z'),
|
|
212
|
-
]);
|
|
213
|
-
expect(repo.dateRanges.creationDate.oldest).toBe(ts('2020-01-01T00:00:00.000Z'));
|
|
214
|
-
expect(repo.dateRanges.creationDate.newest).toBe(ts('2023-06-15T12:00:00.000Z'));
|
|
215
|
-
expect(repo.dateRanges.modifiedDate.oldest).toBe(ts('2020-01-01T00:00:00.000Z'));
|
|
216
|
-
expect(repo.dateRanges.modifiedDate.newest).toBe(ts('2023-06-15T12:00:00.000Z'));
|
|
217
|
-
});
|
|
218
|
-
it('should skip items without created_date', async () => {
|
|
219
|
-
const attachmentWithoutDate = {
|
|
220
|
-
id: 'att-1',
|
|
221
|
-
url: 'https://example.com/file',
|
|
222
|
-
file_name: 'file.txt',
|
|
223
|
-
parent_id: 'parent-1',
|
|
224
|
-
};
|
|
225
|
-
await repo.upload([
|
|
226
|
-
itemWithDate('1', '2022-06-01T00:00:00.000Z'),
|
|
227
|
-
{ id: '2', created_date: null, modified_date: '', data: {} },
|
|
228
|
-
{ id: '3', modified_date: '', data: {} },
|
|
229
|
-
attachmentWithoutDate,
|
|
230
|
-
]);
|
|
231
|
-
expect(repo.dateRanges.creationDate.oldest).toBe(ts('2022-06-01T00:00:00.000Z'));
|
|
232
|
-
expect(repo.dateRanges.creationDate.newest).toBe(ts('2022-06-01T00:00:00.000Z'));
|
|
233
|
-
});
|
|
234
|
-
it('should leave timestamps at zero when no items have created_date', async () => {
|
|
235
|
-
await repo.upload([
|
|
236
|
-
{ id: '1', modified_date: '', data: {} },
|
|
237
|
-
{
|
|
238
|
-
id: 'att-1',
|
|
239
|
-
url: 'https://example.com/file',
|
|
240
|
-
file_name: 'file.txt',
|
|
241
|
-
parent_id: 'parent-1',
|
|
242
|
-
},
|
|
243
|
-
]);
|
|
244
|
-
expect(repo.dateRanges).toEqual({
|
|
245
|
-
creationDate: { oldest: 0, newest: 0 },
|
|
246
|
-
modifiedDate: { oldest: 0, newest: 0 },
|
|
247
|
-
});
|
|
248
|
-
});
|
|
249
|
-
it('should not update timestamps or call uploader on empty upload', async () => {
|
|
250
|
-
await repo.upload([]);
|
|
251
|
-
expect(repo.dateRanges).toEqual({
|
|
252
|
-
creationDate: { oldest: 0, newest: 0 },
|
|
253
|
-
modifiedDate: { oldest: 0, newest: 0 },
|
|
254
|
-
});
|
|
255
|
-
expect(mockUploadFn).not.toHaveBeenCalled();
|
|
256
|
-
});
|
|
257
|
-
it('should accumulate min and max across multiple upload batches via push', async () => {
|
|
258
|
-
repo = new repo_1.Repo({
|
|
259
|
-
event: (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
260
|
-
payload: { event_type: types_1.EventType.ExtractionDataStart },
|
|
261
|
-
}),
|
|
262
|
-
itemType: 'test_item_type',
|
|
263
|
-
onUpload: jest.fn(),
|
|
264
|
-
options: { batchSize: 3 },
|
|
265
|
-
});
|
|
266
|
-
const dates = [
|
|
267
|
-
'2020-01-01T00:00:00.000Z',
|
|
268
|
-
'2021-01-01T00:00:00.000Z',
|
|
269
|
-
'2022-01-01T00:00:00.000Z',
|
|
270
|
-
'2023-01-01T00:00:00.000Z',
|
|
271
|
-
'2024-06-01T00:00:00.000Z',
|
|
272
|
-
'2024-12-01T00:00:00.000Z',
|
|
273
|
-
'2024-12-31T00:00:00.000Z',
|
|
274
|
-
];
|
|
275
|
-
const items = dates.map((created_date, index) => itemWithDate(String(index), created_date));
|
|
276
|
-
await repo.push(items);
|
|
277
|
-
expect(repo.getItems()).toHaveLength(1);
|
|
278
|
-
expect(repo.dateRanges.creationDate.oldest).toBe(ts('2020-01-01T00:00:00.000Z'));
|
|
279
|
-
expect(repo.dateRanges.creationDate.newest).toBe(ts('2024-12-01T00:00:00.000Z'));
|
|
280
|
-
await repo.push([
|
|
281
|
-
itemWithDate('7', '2019-01-01T00:00:00.000Z'),
|
|
282
|
-
itemWithDate('8', '2025-01-01T00:00:00.000Z'),
|
|
283
|
-
]);
|
|
284
|
-
expect(repo.getItems()).toHaveLength(0);
|
|
285
|
-
expect(repo.dateRanges.creationDate.oldest).toBe(ts('2019-01-01T00:00:00.000Z'));
|
|
286
|
-
expect(repo.dateRanges.creationDate.newest).toBe(ts('2025-01-01T00:00:00.000Z'));
|
|
287
|
-
});
|
|
288
|
-
it('should extend min and max when subsequent batches have wider date range', async () => {
|
|
289
|
-
await repo.upload([
|
|
290
|
-
itemWithDate('1', '2022-06-01T00:00:00.000Z'),
|
|
291
|
-
itemWithDate('2', '2023-06-01T00:00:00.000Z'),
|
|
292
|
-
]);
|
|
293
|
-
expect(repo.dateRanges.creationDate.oldest).toBe(ts('2022-06-01T00:00:00.000Z'));
|
|
294
|
-
expect(repo.dateRanges.creationDate.newest).toBe(ts('2023-06-01T00:00:00.000Z'));
|
|
295
|
-
await repo.upload([
|
|
296
|
-
itemWithDate('3', '2020-01-01T00:00:00.000Z'),
|
|
297
|
-
itemWithDate('4', '2024-01-01T00:00:00.000Z'),
|
|
298
|
-
]);
|
|
299
|
-
expect(repo.dateRanges.creationDate.oldest).toBe(ts('2020-01-01T00:00:00.000Z'));
|
|
300
|
-
expect(repo.dateRanges.creationDate.newest).toBe(ts('2024-01-01T00:00:00.000Z'));
|
|
301
|
-
});
|
|
302
|
-
it('should update timestamps even when upload fails', async () => {
|
|
303
|
-
mockUploadFn.mockResolvedValueOnce({
|
|
304
|
-
error: new Error('fail'),
|
|
305
|
-
artifact: null,
|
|
306
|
-
});
|
|
307
|
-
await expect(repo.upload([itemWithDate('1', '2022-01-01T00:00:00.000Z')])).rejects.toThrow('fail');
|
|
308
|
-
expect(repo.dateRanges.creationDate.oldest).toBe(ts('2022-01-01T00:00:00.000Z'));
|
|
309
|
-
expect(repo.dateRanges.creationDate.newest).toBe(ts('2022-01-01T00:00:00.000Z'));
|
|
310
|
-
});
|
|
311
|
-
it('should ignore invalid created_date and modified_date values', async () => {
|
|
312
|
-
await repo.upload([
|
|
313
|
-
{
|
|
314
|
-
id: '1',
|
|
315
|
-
created_date: 'not-a-date',
|
|
316
|
-
modified_date: 'still-not-a-date',
|
|
317
|
-
data: {},
|
|
318
|
-
},
|
|
319
|
-
itemWithDates('2', '2022-01-01T00:00:00.000Z', '2023-01-01T00:00:00.000Z'),
|
|
320
|
-
]);
|
|
321
|
-
expect(repo.dateRanges.creationDate.oldest).toBe(ts('2022-01-01T00:00:00.000Z'));
|
|
322
|
-
expect(repo.dateRanges.creationDate.newest).toBe(ts('2022-01-01T00:00:00.000Z'));
|
|
323
|
-
expect(repo.dateRanges.modifiedDate.oldest).toBe(ts('2023-01-01T00:00:00.000Z'));
|
|
324
|
-
expect(repo.dateRanges.modifiedDate.newest).toBe(ts('2023-01-01T00:00:00.000Z'));
|
|
325
|
-
});
|
|
326
|
-
it('should track modified_date independently from created_date', async () => {
|
|
327
|
-
await repo.upload([
|
|
328
|
-
itemWithDates('1', '2020-01-01T00:00:00.000Z', '2023-01-01T00:00:00.000Z'),
|
|
329
|
-
itemWithDates('2', '2024-01-01T00:00:00.000Z', '2021-06-01T00:00:00.000Z'),
|
|
330
|
-
]);
|
|
331
|
-
expect(repo.dateRanges.creationDate.oldest).toBe(ts('2020-01-01T00:00:00.000Z'));
|
|
332
|
-
expect(repo.dateRanges.creationDate.newest).toBe(ts('2024-01-01T00:00:00.000Z'));
|
|
333
|
-
expect(repo.dateRanges.modifiedDate.oldest).toBe(ts('2021-06-01T00:00:00.000Z'));
|
|
334
|
-
expect(repo.dateRanges.modifiedDate.newest).toBe(ts('2023-01-01T00:00:00.000Z'));
|
|
335
|
-
});
|
|
336
|
-
});
|
|
337
|
-
it('should throw when upload fails', async () => {
|
|
338
|
-
mockUploadFn.mockResolvedValueOnce({
|
|
339
|
-
error: { message: 'upload failed' },
|
|
340
|
-
});
|
|
341
|
-
await expect(repo.upload((0, test_helpers_1.createItems)(1))).rejects.toThrow('upload failed');
|
|
342
|
-
});
|
|
343
|
-
it('should retain items in repo when batch upload fails during push', async () => {
|
|
344
|
-
repo = new repo_1.Repo({
|
|
345
|
-
event: (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
346
|
-
payload: { event_type: types_1.EventType.ExtractionDataStart },
|
|
347
|
-
}),
|
|
348
|
-
itemType: 'test_item_type',
|
|
349
|
-
normalize,
|
|
350
|
-
onUpload: jest.fn(),
|
|
351
|
-
options: { batchSize: 10 },
|
|
352
|
-
});
|
|
353
|
-
const items = (0, test_helpers_1.createItems)(20);
|
|
354
|
-
mockUploadFn
|
|
355
|
-
.mockResolvedValueOnce({
|
|
356
|
-
artifact: {
|
|
357
|
-
id: 'artifact-1',
|
|
358
|
-
item_type: 'test_item_type',
|
|
359
|
-
item_count: 10,
|
|
360
|
-
},
|
|
361
|
-
})
|
|
362
|
-
.mockResolvedValueOnce({
|
|
363
|
-
error: { message: 'second batch failed' },
|
|
364
|
-
});
|
|
365
|
-
await expect(repo.push(items)).rejects.toThrow('second batch failed');
|
|
366
|
-
expect(repo.getItems().length).toBe(10);
|
|
367
|
-
});
|
|
368
184
|
});
|
|
@@ -388,14 +388,7 @@ export interface EventData {
|
|
|
388
388
|
* WorkerMetadata is an interface that defines the structure of the worker metadata that is sent from the external extractor to ADaaS.
|
|
389
389
|
*/
|
|
390
390
|
export interface WorkerMetadata {
|
|
391
|
-
adaas_library_version
|
|
392
|
-
item_type?: string;
|
|
393
|
-
oldest_created_date?: string;
|
|
394
|
-
newest_created_date?: string;
|
|
395
|
-
oldest_modified_date?: string;
|
|
396
|
-
newest_modified_date?: string;
|
|
397
|
-
oldest_state_date?: string;
|
|
398
|
-
newest_state_date?: string;
|
|
391
|
+
adaas_library_version: string;
|
|
399
392
|
}
|
|
400
393
|
/**
|
|
401
394
|
* DomainObject is an interface that defines the structure of a domain object that can be extracted.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../../src/types/extraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../../src/types/extraction.ts"],"names":[],"mappings":"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"}
|
package/dist/types/workers.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Worker } from 'worker_threads';
|
|
2
|
-
import type { Logger } from '../logger/logger';
|
|
3
2
|
import type { LogLevel } from '../logger/logger.interfaces';
|
|
4
3
|
import { State } from '../state/state';
|
|
5
4
|
import { WorkerAdapter } from '../multithreading/worker-adapter/worker-adapter';
|
|
@@ -41,8 +40,6 @@ export interface WorkerAdapterOptions {
|
|
|
41
40
|
batchSize?: number;
|
|
42
41
|
workerPathOverrides?: WorkerPathOverrides;
|
|
43
42
|
skipConfirmation?: boolean;
|
|
44
|
-
/** Test-only: limits axios-retry attempts inside worker threads (see axios-client-internal). */
|
|
45
|
-
httpRetries?: number;
|
|
46
43
|
}
|
|
47
44
|
/**
|
|
48
45
|
* SpawnInterface is an interface for Spawn class.
|
|
@@ -57,7 +54,6 @@ export interface SpawnInterface {
|
|
|
57
54
|
options?: WorkerAdapterOptions;
|
|
58
55
|
resolve: (value: void | PromiseLike<void>) => void;
|
|
59
56
|
originalConsole?: Console;
|
|
60
|
-
logger?: Logger;
|
|
61
57
|
}
|
|
62
58
|
/**
|
|
63
59
|
* SpawnFactoryInterface is an interface for Spawn class factory.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../../src/types/workers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../../src/types/workers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploader.d.ts","sourceRoot":"","sources":["../../src/uploader/uploader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"uploader.d.ts","sourceRoot":"","sources":["../../src/uploader/uploader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAU/D,OAAO,EAEL,gBAAgB,EAChB,cAAc,EACd,wBAAwB,EACxB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,QAAQ;IACnB,OAAO,CAAC,kBAAkB,CAAC,CAAU;IACrC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,gBAAgB,CAAU;gBAEtB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,wBAAwB;IAWxD;;;;;OAKG;IACG,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,GAChC,OAAO,CAAC,cAAc,CAAC;IA4E1B;;;;;;OAMG;IACG,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IA2B5C;;;;;OAKG;IACG,cAAc,CAClB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAmBzC;;;;;OAKG;IACG,cAAc,CAClB,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,aAAa,GACxB,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IA8BzC;;;;OAIG;IACG,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QACvD,QAAQ,CAAC,EAAE,aAAa,CAAC;QACzB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IAiCF;;;OAGG;IACH,OAAO,CAAC,aAAa;IAerB;;;;;OAKG;IACG,4BAA4B,CAAC,EACjC,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QACV,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;QACrC,KAAK,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7B,CAAC;IA2DF;;;;OAIG;YACW,sBAAsB;IAsBpC;;;;OAIG;YACW,gBAAgB;IAc9B;;;;;;OAMG;IACG,yBAAyB,CAAC,EAC9B,UAAU,EACV,SAAiB,GAClB,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;CA6B/C"}
|