@devrev/airsync-sdk 2.0.0-beta.1 → 2.0.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -21
- package/dist/attachments-streaming/attachments-streaming-pool.d.ts +6 -7
- package/dist/attachments-streaming/attachments-streaming-pool.d.ts.map +1 -1
- package/dist/attachments-streaming/attachments-streaming-pool.interfaces.d.ts +4 -3
- package/dist/attachments-streaming/attachments-streaming-pool.interfaces.d.ts.map +1 -1
- package/dist/attachments-streaming/attachments-streaming-pool.js +69 -61
- package/dist/common/constants.d.ts +15 -12
- package/dist/common/constants.d.ts.map +1 -1
- package/dist/common/constants.js +20 -34
- package/dist/common/helpers.d.ts +3 -27
- package/dist/common/helpers.d.ts.map +1 -1
- package/dist/common/helpers.js +6 -36
- package/dist/http/client.d.ts +4 -0
- package/dist/http/client.d.ts.map +1 -0
- package/dist/http/client.js +80 -0
- package/dist/http/errors.d.ts +8 -0
- package/dist/http/errors.d.ts.map +1 -0
- package/dist/http/errors.js +31 -0
- package/dist/index.d.ts +30 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +47 -28
- package/dist/logger/logger.d.ts +13 -70
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.interfaces.d.ts +4 -7
- package/dist/logger/logger.interfaces.d.ts.map +1 -1
- package/dist/logger/logger.js +67 -92
- package/dist/mappers/mappers.d.ts +10 -43
- package/dist/mappers/mappers.d.ts.map +1 -1
- package/dist/mappers/mappers.interfaces.d.ts +173 -0
- package/dist/mappers/mappers.interfaces.d.ts.map +1 -0
- package/dist/mappers/{mappers.interface.js → mappers.interfaces.js} +1 -10
- package/dist/mappers/mappers.js +32 -46
- package/dist/multithreading/adapters/base-adapter.d.ts +39 -0
- package/dist/multithreading/adapters/base-adapter.d.ts.map +1 -0
- package/dist/multithreading/adapters/base-adapter.js +212 -0
- package/dist/multithreading/adapters/extraction-adapter.d.ts +49 -0
- package/dist/multithreading/adapters/extraction-adapter.d.ts.map +1 -0
- package/dist/multithreading/adapters/extraction-adapter.js +375 -0
- package/dist/multithreading/adapters/loading-adapter.d.ts +26 -0
- package/dist/multithreading/adapters/loading-adapter.d.ts.map +1 -0
- package/dist/multithreading/adapters/loading-adapter.helpers.d.ts +12 -0
- package/dist/multithreading/adapters/loading-adapter.helpers.d.ts.map +1 -0
- package/dist/multithreading/{worker-adapter/worker-adapter.helpers.js → adapters/loading-adapter.helpers.js} +2 -12
- package/dist/multithreading/adapters/loading-adapter.js +279 -0
- package/dist/multithreading/emit.d.ts +11 -0
- package/dist/multithreading/emit.d.ts.map +1 -0
- package/dist/multithreading/emit.js +25 -0
- package/dist/multithreading/process-task.d.ts +6 -1
- package/dist/multithreading/process-task.d.ts.map +1 -1
- package/dist/multithreading/process-task.js +120 -82
- package/dist/multithreading/spawn/spawn.d.ts +10 -11
- package/dist/multithreading/spawn/spawn.d.ts.map +1 -1
- package/dist/multithreading/spawn/spawn.helpers.d.ts +12 -11
- package/dist/multithreading/spawn/spawn.helpers.d.ts.map +1 -1
- package/dist/multithreading/spawn/spawn.helpers.js +142 -77
- package/dist/multithreading/spawn/spawn.js +59 -75
- package/dist/multithreading/worker.js +16 -5
- package/dist/repo/repo.d.ts +14 -5
- package/dist/repo/repo.d.ts.map +1 -1
- package/dist/repo/repo.helpers.d.ts +6 -0
- package/dist/repo/repo.helpers.d.ts.map +1 -0
- package/dist/repo/repo.helpers.js +16 -0
- package/dist/repo/repo.interfaces.d.ts +11 -20
- package/dist/repo/repo.interfaces.d.ts.map +1 -1
- package/dist/repo/repo.js +36 -22
- package/dist/state/base-state.d.ts +58 -0
- package/dist/state/base-state.d.ts.map +1 -0
- package/dist/state/base-state.js +242 -0
- package/dist/state/extraction-state.d.ts +14 -0
- package/dist/state/extraction-state.d.ts.map +1 -0
- package/dist/state/extraction-state.js +146 -0
- package/dist/state/install-initial-domain-mapping.d.ts +4 -0
- package/dist/state/install-initial-domain-mapping.d.ts.map +1 -0
- package/dist/{common → state}/install-initial-domain-mapping.js +5 -7
- package/dist/state/loading-state.d.ts +8 -0
- package/dist/state/loading-state.d.ts.map +1 -0
- package/dist/state/loading-state.js +29 -0
- package/dist/state/state.d.ts +3 -29
- package/dist/state/state.d.ts.map +1 -1
- package/dist/state/state.interfaces.d.ts +31 -12
- package/dist/state/state.interfaces.d.ts.map +1 -1
- package/dist/state/state.interfaces.js +17 -1
- package/dist/state/state.js +9 -164
- package/dist/state/time-value-resolver.d.ts +17 -0
- package/dist/state/time-value-resolver.d.ts.map +1 -0
- package/dist/state/time-value-resolver.js +110 -0
- package/dist/testing/mock-event.d.ts +10 -0
- package/dist/testing/mock-event.d.ts.map +1 -0
- package/dist/testing/mock-event.js +96 -0
- package/dist/testing/mock-server.d.ts +31 -0
- package/dist/testing/mock-server.d.ts.map +1 -0
- package/dist/testing/mock-server.interfaces.d.ts +54 -0
- package/dist/testing/mock-server.interfaces.d.ts.map +1 -0
- package/dist/testing/mock-server.interfaces.js +4 -0
- package/dist/testing/mock-server.js +297 -0
- package/dist/testing/test-adapters.d.ts +22 -0
- package/dist/testing/test-adapters.d.ts.map +1 -0
- package/dist/testing/test-adapters.js +32 -0
- package/dist/types/common.d.ts +4 -37
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/common.js +2 -17
- package/dist/types/errors.d.ts +15 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +28 -0
- package/dist/types/external-domain-metadata.d.ts +40 -162
- package/dist/types/external-domain-metadata.d.ts.map +1 -1
- package/dist/types/extraction.d.ts +135 -278
- package/dist/types/extraction.d.ts.map +1 -1
- package/dist/types/extraction.js +46 -133
- package/dist/types/loading.d.ts +15 -55
- package/dist/types/loading.d.ts.map +1 -1
- package/dist/types/loading.js +1 -23
- package/dist/types/workers.d.ts +70 -103
- package/dist/types/workers.d.ts.map +1 -1
- package/dist/types/workers.js +1 -6
- package/dist/uploader/uploader.d.ts +10 -61
- package/dist/uploader/uploader.d.ts.map +1 -1
- package/dist/uploader/uploader.helpers.d.ts +7 -27
- package/dist/uploader/uploader.helpers.d.ts.map +1 -1
- package/dist/uploader/uploader.helpers.js +80 -30
- package/dist/uploader/uploader.interfaces.d.ts +19 -54
- package/dist/uploader/uploader.interfaces.d.ts.map +1 -1
- package/dist/uploader/uploader.interfaces.js +8 -0
- package/dist/uploader/uploader.js +72 -124
- package/docs/MIGRATION.md +751 -0
- package/package.json +35 -22
- package/dist/attachments-streaming/attachments-streaming-pool.test.d.ts +0 -2
- package/dist/attachments-streaming/attachments-streaming-pool.test.d.ts.map +0 -1
- package/dist/attachments-streaming/attachments-streaming-pool.test.js +0 -321
- package/dist/common/control-protocol.d.ts +0 -10
- package/dist/common/control-protocol.d.ts.map +0 -1
- package/dist/common/control-protocol.js +0 -31
- package/dist/common/errors.d.ts +0 -6
- package/dist/common/errors.d.ts.map +0 -1
- package/dist/common/errors.js +0 -4
- package/dist/common/event-type-translation.d.ts +0 -24
- package/dist/common/event-type-translation.d.ts.map +0 -1
- package/dist/common/event-type-translation.js +0 -117
- package/dist/common/install-initial-domain-mapping.d.ts +0 -4
- package/dist/common/install-initial-domain-mapping.d.ts.map +0 -1
- package/dist/common/install-initial-domain-mapping.test.d.ts +0 -2
- package/dist/common/install-initial-domain-mapping.test.d.ts.map +0 -1
- package/dist/common/install-initial-domain-mapping.test.js +0 -208
- package/dist/deprecated/adapter/index.d.ts +0 -62
- package/dist/deprecated/adapter/index.d.ts.map +0 -1
- package/dist/deprecated/adapter/index.js +0 -151
- package/dist/deprecated/common/helpers.d.ts +0 -7
- package/dist/deprecated/common/helpers.d.ts.map +0 -1
- package/dist/deprecated/common/helpers.js +0 -47
- package/dist/deprecated/demo-extractor/external_domain_metadata.json +0 -38
- package/dist/deprecated/demo-extractor/index.d.ts +0 -18
- package/dist/deprecated/demo-extractor/index.d.ts.map +0 -1
- package/dist/deprecated/demo-extractor/index.js +0 -161
- package/dist/deprecated/http/client.d.ts +0 -22
- package/dist/deprecated/http/client.d.ts.map +0 -1
- package/dist/deprecated/http/client.js +0 -161
- package/dist/deprecated/uploader/index.d.ts +0 -35
- package/dist/deprecated/uploader/index.d.ts.map +0 -1
- package/dist/deprecated/uploader/index.js +0 -161
- package/dist/http/axios-client-internal.d.ts +0 -3
- package/dist/http/axios-client-internal.d.ts.map +0 -1
- package/dist/http/axios-client-internal.js +0 -66
- package/dist/http/axios-client-internal.test.d.ts +0 -2
- package/dist/http/axios-client-internal.test.d.ts.map +0 -1
- package/dist/http/axios-client-internal.test.js +0 -154
- package/dist/http/axios-client.d.ts +0 -27
- package/dist/http/axios-client.d.ts.map +0 -1
- package/dist/http/axios-client.js +0 -57
- package/dist/http/constants.d.ts +0 -4
- package/dist/http/constants.d.ts.map +0 -1
- package/dist/http/constants.js +0 -6
- package/dist/http/index.d.ts +0 -3
- package/dist/http/index.d.ts.map +0 -1
- package/dist/http/index.js +0 -18
- package/dist/http/types.d.ts +0 -17
- package/dist/http/types.d.ts.map +0 -1
- package/dist/http/types.js +0 -2
- package/dist/logger/logger.constants.d.ts +0 -6
- package/dist/logger/logger.constants.d.ts.map +0 -1
- package/dist/logger/logger.constants.js +0 -13
- package/dist/logger/logger.context.d.ts +0 -58
- package/dist/logger/logger.context.d.ts.map +0 -1
- package/dist/logger/logger.context.js +0 -86
- package/dist/logger/logger.test.d.ts +0 -2
- package/dist/logger/logger.test.d.ts.map +0 -1
- package/dist/logger/logger.test.js +0 -490
- package/dist/mappers/mappers.interface.d.ts +0 -294
- package/dist/mappers/mappers.interface.d.ts.map +0 -1
- package/dist/mappers/mappers.test.d.ts +0 -2
- package/dist/mappers/mappers.test.d.ts.map +0 -1
- package/dist/mappers/mappers.test.js +0 -107
- package/dist/multithreading/create-worker.test.d.ts +0 -2
- package/dist/multithreading/create-worker.test.d.ts.map +0 -1
- package/dist/multithreading/create-worker.test.js +0 -89
- package/dist/multithreading/spawn/spawn.helpers.test.d.ts +0 -2
- package/dist/multithreading/spawn/spawn.helpers.test.d.ts.map +0 -1
- package/dist/multithreading/spawn/spawn.helpers.test.js +0 -293
- package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.js +0 -127
- package/dist/multithreading/worker-adapter/worker-adapter.d.ts +0 -91
- package/dist/multithreading/worker-adapter/worker-adapter.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.helpers.d.ts +0 -22
- package/dist/multithreading/worker-adapter/worker-adapter.helpers.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.helpers.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.helpers.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.helpers.test.js +0 -514
- package/dist/multithreading/worker-adapter/worker-adapter.js +0 -745
- package/dist/multithreading/worker-adapter/worker-adapter.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.test.js +0 -483
- package/dist/repo/repo.test.d.ts +0 -2
- package/dist/repo/repo.test.d.ts.map +0 -1
- package/dist/repo/repo.test.js +0 -131
- package/dist/state/state.test.d.ts +0 -2
- package/dist/state/state.test.d.ts.map +0 -1
- package/dist/state/state.test.js +0 -224
- package/dist/types/extraction.test.d.ts +0 -2
- package/dist/types/extraction.test.d.ts.map +0 -1
- package/dist/types/extraction.test.js +0 -70
- package/dist/types/index.d.ts +0 -10
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -18
- package/dist/uploader/uploader.helpers.test.d.ts +0 -2
- package/dist/uploader/uploader.helpers.test.d.ts.map +0 -1
- package/dist/uploader/uploader.helpers.test.js +0 -267
- package/dist/uploader/uploader.test.d.ts +0 -2
- package/dist/uploader/uploader.test.d.ts.map +0 -1
- package/dist/uploader/uploader.test.js +0 -589
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const axios_1 = __importDefault(require("axios"));
|
|
7
|
-
const axios_client_internal_1 = require("../http/axios-client-internal");
|
|
8
|
-
const test_helpers_1 = require("../tests/test-helpers");
|
|
9
|
-
const extraction_1 = require("../types/extraction");
|
|
10
|
-
const install_initial_domain_mapping_1 = require("./install-initial-domain-mapping");
|
|
11
|
-
// Mock dependencies
|
|
12
|
-
jest.mock('axios', () => (Object.assign(Object.assign({}, jest.requireActual('axios')), { isAxiosError: jest.fn() })));
|
|
13
|
-
jest.mock('../http/axios-client-internal', () => {
|
|
14
|
-
const originalModule = jest.requireActual('../http/axios-client-internal');
|
|
15
|
-
return Object.assign(Object.assign({}, originalModule), { axiosClient: {
|
|
16
|
-
get: jest.fn(),
|
|
17
|
-
post: jest.fn(),
|
|
18
|
-
} });
|
|
19
|
-
});
|
|
20
|
-
jest.mock('../logger/logger');
|
|
21
|
-
const mockAxiosClient = axios_client_internal_1.axiosClient;
|
|
22
|
-
const mockIsAxiosError = axios_1.default.isAxiosError;
|
|
23
|
-
describe(install_initial_domain_mapping_1.installInitialDomainMapping.name, () => {
|
|
24
|
-
// Create mock objects
|
|
25
|
-
const mockEvent = (0, test_helpers_1.createEvent)({ eventType: extraction_1.EventType.ExtractionDataStart });
|
|
26
|
-
const mockInitialDomainMapping = {
|
|
27
|
-
starting_recipe_blueprint: {
|
|
28
|
-
name: 'Test Recipe Blueprint',
|
|
29
|
-
description: 'Test description',
|
|
30
|
-
},
|
|
31
|
-
additional_mappings: {
|
|
32
|
-
custom_field: 'custom_value',
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
const mockSnapInResponse = {
|
|
36
|
-
data: {
|
|
37
|
-
snap_in: {
|
|
38
|
-
imports: [{ name: 'import-slug-123' }],
|
|
39
|
-
snap_in_version: { slug: 'snap-in-slug-123' },
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
};
|
|
43
|
-
// Use the endpoint from the event to support dynamic ports in parallel tests
|
|
44
|
-
const mockEndpoint = mockEvent.execution_metadata.devrev_endpoint;
|
|
45
|
-
const mockToken = 'test_token';
|
|
46
|
-
// After each test, clear all mocks to prevent state from leaking.
|
|
47
|
-
afterEach(() => {
|
|
48
|
-
jest.clearAllMocks();
|
|
49
|
-
});
|
|
50
|
-
it('should successfully install initial domain mapping with recipe blueprint', async () => {
|
|
51
|
-
// Mock successful snap-in response
|
|
52
|
-
mockAxiosClient.get.mockResolvedValueOnce(mockSnapInResponse);
|
|
53
|
-
// Mock successful recipe blueprint creation
|
|
54
|
-
const mockRecipeBlueprintResponse = {
|
|
55
|
-
data: {
|
|
56
|
-
recipe_blueprint: {
|
|
57
|
-
id: 'recipe-blueprint-123',
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
};
|
|
61
|
-
mockAxiosClient.post.mockResolvedValueOnce(mockRecipeBlueprintResponse);
|
|
62
|
-
// Mock successful domain mapping installation
|
|
63
|
-
const mockDomainMappingResponse = {
|
|
64
|
-
data: {
|
|
65
|
-
success: true,
|
|
66
|
-
mapping_id: 'mapping-123',
|
|
67
|
-
},
|
|
68
|
-
};
|
|
69
|
-
mockAxiosClient.post.mockResolvedValueOnce(mockDomainMappingResponse);
|
|
70
|
-
await (0, install_initial_domain_mapping_1.installInitialDomainMapping)(mockEvent, mockInitialDomainMapping);
|
|
71
|
-
// Verify snap-in details request
|
|
72
|
-
expect(mockAxiosClient.get).toHaveBeenCalledWith(`${mockEndpoint}/internal/snap-ins.get`, {
|
|
73
|
-
headers: {
|
|
74
|
-
Authorization: mockToken,
|
|
75
|
-
},
|
|
76
|
-
params: {
|
|
77
|
-
id: 'test_snap_in_id',
|
|
78
|
-
},
|
|
79
|
-
});
|
|
80
|
-
// Verify recipe blueprint creation
|
|
81
|
-
expect(mockAxiosClient.post).toHaveBeenCalledWith(`${mockEndpoint}/internal/airdrop.recipe.blueprints.create`, {
|
|
82
|
-
name: 'Test Recipe Blueprint',
|
|
83
|
-
description: 'Test description',
|
|
84
|
-
}, {
|
|
85
|
-
headers: {
|
|
86
|
-
Authorization: mockToken,
|
|
87
|
-
},
|
|
88
|
-
});
|
|
89
|
-
// Verify domain mapping installation
|
|
90
|
-
expect(mockAxiosClient.post).toHaveBeenCalledWith(`${mockEndpoint}/internal/airdrop.recipe.initial-domain-mappings.install`, {
|
|
91
|
-
external_system_type: 'ADaaS',
|
|
92
|
-
import_slug: 'import-slug-123',
|
|
93
|
-
snap_in_slug: 'snap-in-slug-123',
|
|
94
|
-
starting_recipe_blueprint: 'recipe-blueprint-123',
|
|
95
|
-
custom_field: 'custom_value',
|
|
96
|
-
}, {
|
|
97
|
-
headers: {
|
|
98
|
-
Authorization: mockToken,
|
|
99
|
-
},
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
it('should successfully install without recipe blueprint when not provided', async () => {
|
|
103
|
-
const mappingWithoutBlueprint = {
|
|
104
|
-
additional_mappings: {
|
|
105
|
-
custom_field: 'custom_value',
|
|
106
|
-
},
|
|
107
|
-
};
|
|
108
|
-
mockAxiosClient.get.mockResolvedValueOnce(mockSnapInResponse);
|
|
109
|
-
const mockDomainMappingResponse = {
|
|
110
|
-
data: { success: true },
|
|
111
|
-
};
|
|
112
|
-
mockAxiosClient.post.mockResolvedValueOnce(mockDomainMappingResponse);
|
|
113
|
-
await (0, install_initial_domain_mapping_1.installInitialDomainMapping)(mockEvent, mappingWithoutBlueprint);
|
|
114
|
-
// Should only make one POST request (no recipe blueprint creation)
|
|
115
|
-
expect(mockAxiosClient.post).toHaveBeenCalledTimes(1);
|
|
116
|
-
expect(mockAxiosClient.post).toHaveBeenCalledWith(`${mockEndpoint}/internal/airdrop.recipe.initial-domain-mappings.install`, {
|
|
117
|
-
external_system_type: 'ADaaS',
|
|
118
|
-
import_slug: 'import-slug-123',
|
|
119
|
-
snap_in_slug: 'snap-in-slug-123',
|
|
120
|
-
custom_field: 'custom_value',
|
|
121
|
-
}, {
|
|
122
|
-
headers: {
|
|
123
|
-
Authorization: mockToken,
|
|
124
|
-
},
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
it('should handle empty starting_recipe_blueprint object', async () => {
|
|
128
|
-
const mappingWithEmptyBlueprint = {
|
|
129
|
-
starting_recipe_blueprint: {},
|
|
130
|
-
additional_mappings: {
|
|
131
|
-
custom_field: 'custom_value',
|
|
132
|
-
},
|
|
133
|
-
};
|
|
134
|
-
mockAxiosClient.get.mockResolvedValueOnce(mockSnapInResponse);
|
|
135
|
-
const mockDomainMappingResponse = {
|
|
136
|
-
data: { success: true },
|
|
137
|
-
};
|
|
138
|
-
mockAxiosClient.post.mockResolvedValueOnce(mockDomainMappingResponse);
|
|
139
|
-
await (0, install_initial_domain_mapping_1.installInitialDomainMapping)(mockEvent, mappingWithEmptyBlueprint);
|
|
140
|
-
// Should only make one POST request (no recipe blueprint creation for empty object)
|
|
141
|
-
expect(mockAxiosClient.post).toHaveBeenCalledTimes(1);
|
|
142
|
-
});
|
|
143
|
-
it('[edge] should return early with warning when initial domain mapping is null', async () => {
|
|
144
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
145
|
-
await (0, install_initial_domain_mapping_1.installInitialDomainMapping)(mockEvent, null);
|
|
146
|
-
expect(mockAxiosClient.get).not.toHaveBeenCalled();
|
|
147
|
-
expect(mockAxiosClient.post).not.toHaveBeenCalled();
|
|
148
|
-
});
|
|
149
|
-
it('[edge] should return early with warning when initial domain mapping is undefined', async () => {
|
|
150
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
151
|
-
await (0, install_initial_domain_mapping_1.installInitialDomainMapping)(mockEvent, undefined);
|
|
152
|
-
expect(mockAxiosClient.get).not.toHaveBeenCalled();
|
|
153
|
-
expect(mockAxiosClient.post).not.toHaveBeenCalled();
|
|
154
|
-
});
|
|
155
|
-
it('[edge] should throw error when import slug is missing', async () => {
|
|
156
|
-
const snapInResponseWithoutImport = {
|
|
157
|
-
data: {
|
|
158
|
-
snap_in: {
|
|
159
|
-
imports: [],
|
|
160
|
-
snap_in_version: { slug: 'snap-in-slug-123' },
|
|
161
|
-
},
|
|
162
|
-
},
|
|
163
|
-
};
|
|
164
|
-
mockAxiosClient.get.mockResolvedValueOnce(snapInResponseWithoutImport);
|
|
165
|
-
await expect((0, install_initial_domain_mapping_1.installInitialDomainMapping)(mockEvent, mockInitialDomainMapping)).rejects.toThrow();
|
|
166
|
-
});
|
|
167
|
-
it('[edge] should throw error when snap-in slug is missing', async () => {
|
|
168
|
-
const snapInResponseWithoutSlug = {
|
|
169
|
-
data: {
|
|
170
|
-
snap_in: {
|
|
171
|
-
imports: [{ name: 'import-slug-123' }],
|
|
172
|
-
snap_in_version: {},
|
|
173
|
-
},
|
|
174
|
-
},
|
|
175
|
-
};
|
|
176
|
-
mockAxiosClient.get.mockResolvedValueOnce(snapInResponseWithoutSlug);
|
|
177
|
-
await expect((0, install_initial_domain_mapping_1.installInitialDomainMapping)(mockEvent, mockInitialDomainMapping)).rejects.toThrow();
|
|
178
|
-
});
|
|
179
|
-
it('should handle the error during recipe blueprint creation', async () => {
|
|
180
|
-
mockAxiosClient.get.mockResolvedValueOnce(mockSnapInResponse);
|
|
181
|
-
const genericError = new Error('Generic error during blueprint creation');
|
|
182
|
-
// Mock axios.isAxiosError to return false
|
|
183
|
-
mockIsAxiosError.mockReturnValue(false);
|
|
184
|
-
mockAxiosClient.post.mockRejectedValueOnce(genericError);
|
|
185
|
-
const mockDomainMappingResponse = {
|
|
186
|
-
data: { success: true },
|
|
187
|
-
};
|
|
188
|
-
mockAxiosClient.post.mockResolvedValueOnce(mockDomainMappingResponse);
|
|
189
|
-
await (0, install_initial_domain_mapping_1.installInitialDomainMapping)(mockEvent, mockInitialDomainMapping);
|
|
190
|
-
// Should still proceed with domain mapping installation
|
|
191
|
-
expect(mockAxiosClient.post).toHaveBeenCalledTimes(2);
|
|
192
|
-
});
|
|
193
|
-
it('should propagate error from domain mapping installation', async () => {
|
|
194
|
-
mockAxiosClient.get.mockResolvedValueOnce(mockSnapInResponse);
|
|
195
|
-
// Mock successful recipe blueprint creation
|
|
196
|
-
const mockRecipeBlueprintResponse = {
|
|
197
|
-
data: {
|
|
198
|
-
recipe_blueprint: {
|
|
199
|
-
id: 'recipe-blueprint-123',
|
|
200
|
-
},
|
|
201
|
-
},
|
|
202
|
-
};
|
|
203
|
-
mockAxiosClient.post.mockResolvedValueOnce(mockRecipeBlueprintResponse);
|
|
204
|
-
const domainMappingError = new Error('Domain mapping installation failed');
|
|
205
|
-
mockAxiosClient.post.mockRejectedValueOnce(domainMappingError);
|
|
206
|
-
await expect((0, install_initial_domain_mapping_1.installInitialDomainMapping)(mockEvent, mockInitialDomainMapping)).rejects.toThrow();
|
|
207
|
-
});
|
|
208
|
-
});
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { AirdropEvent, EventData, ExtractorEventType } from '../../types/extraction';
|
|
2
|
-
import { Artifact } from '../../uploader/uploader.interfaces';
|
|
3
|
-
import { AdapterState } from '../../state/state.interfaces';
|
|
4
|
-
import { State } from '../../state/state';
|
|
5
|
-
/**
|
|
6
|
-
* Adapter class is used to interact with Airdrop platform. The class provides
|
|
7
|
-
* utilities to
|
|
8
|
-
* - emit control events to the platform
|
|
9
|
-
* - update the state of the extractor
|
|
10
|
-
* - set the last saved state in case of a timeout
|
|
11
|
-
*
|
|
12
|
-
* @class Adapter
|
|
13
|
-
* @constructor
|
|
14
|
-
* @deprecated
|
|
15
|
-
* @param {AirdropEvent} event - The event object received from the platform
|
|
16
|
-
* @param {object=} initialState - The initial state of the adapter
|
|
17
|
-
* @param {boolean=} isLocalDevelopment - A flag to indicate if the adapter is being used in local development
|
|
18
|
-
*/
|
|
19
|
-
/**
|
|
20
|
-
* Creates an adapter instance.
|
|
21
|
-
*
|
|
22
|
-
* @param {AirdropEvent} event - The event object received from the platform
|
|
23
|
-
* @param initialState
|
|
24
|
-
* @param {boolean=} isLocalDevelopment - A flag to indicate if the adapter is being used in local development
|
|
25
|
-
* @return The adapter instance
|
|
26
|
-
*/
|
|
27
|
-
export declare function createAdapter<ConnectorState>(event: AirdropEvent, initialState: ConnectorState, isLocalDevelopment?: boolean): Promise<Adapter<ConnectorState>>;
|
|
28
|
-
export declare class Adapter<ConnectorState> {
|
|
29
|
-
private adapterState;
|
|
30
|
-
private _artifacts;
|
|
31
|
-
private event;
|
|
32
|
-
private callbackUrl;
|
|
33
|
-
private devrevToken;
|
|
34
|
-
private startTime;
|
|
35
|
-
private heartBeatFn;
|
|
36
|
-
private exit;
|
|
37
|
-
private lambdaTimeout;
|
|
38
|
-
private heartBeatInterval;
|
|
39
|
-
constructor(event: AirdropEvent, adapterState: State<ConnectorState>, isLocalDevelopment?: boolean);
|
|
40
|
-
get state(): AdapterState<ConnectorState>;
|
|
41
|
-
set state(value: AdapterState<ConnectorState>);
|
|
42
|
-
get artifacts(): Artifact[];
|
|
43
|
-
set artifacts(value: Artifact[]);
|
|
44
|
-
/**
|
|
45
|
-
* Emits an event to the platform.
|
|
46
|
-
*
|
|
47
|
-
* @param {ExtractorEventType} newEventType - The event type to be emitted
|
|
48
|
-
* @param {EventData=} data - The data to be sent with the event
|
|
49
|
-
*/
|
|
50
|
-
emit(newEventType: ExtractorEventType, data?: EventData): Promise<void>;
|
|
51
|
-
/**
|
|
52
|
-
* Exit the adapter. This will stop the heartbeat and no
|
|
53
|
-
* further events will be emitted.
|
|
54
|
-
*/
|
|
55
|
-
private exitAdapter;
|
|
56
|
-
/**
|
|
57
|
-
* Heartbeat function to check if the lambda is about to timeout.
|
|
58
|
-
* @returns true if 10 minutes have passed since the start of the lambda.
|
|
59
|
-
*/
|
|
60
|
-
private heartbeat;
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/deprecated/adapter/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,SAAS,EAET,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAK5D,OAAO,EAAE,KAAK,EAAsB,MAAM,mBAAmB,CAAC;AAI9D;;;;;;;;;;;;;GAaG;AAEH;;;;;;;GAOG;AAEH,wBAAsB,aAAa,CAAC,cAAc,EAChD,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,cAAc,EAC5B,kBAAkB,GAAE,OAAe,oCAiBpC;AAED,qBAAa,OAAO,CAAC,cAAc;IACjC,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,iBAAiB,CAAqB;gBAG5C,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,EACnC,kBAAkB,GAAE,OAAe;IAwBrC,IAAI,KAAK,IAAI,YAAY,CAAC,cAAc,CAAC,CAExC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC,EAE5C;IAED,IAAI,SAAS,IAAI,QAAQ,EAAE,CAE1B;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAE9B;IAED;;;;;OAKG;IACG,IAAI,CAAC,YAAY,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,SAAS;IAoD7D;;;OAGG;IACH,OAAO,CAAC,WAAW;IAInB;;;OAGG;YACW,SAAS;CAiBxB"}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Adapter = void 0;
|
|
7
|
-
exports.createAdapter = createAdapter;
|
|
8
|
-
const axios_1 = __importDefault(require("axios"));
|
|
9
|
-
const constants_1 = require("../../common/constants");
|
|
10
|
-
const helpers_1 = require("../common/helpers");
|
|
11
|
-
// import { Logger } from '../../logger/logger';
|
|
12
|
-
const state_1 = require("../../state/state");
|
|
13
|
-
const event_type_translation_1 = require("../../common/event-type-translation");
|
|
14
|
-
const logger_context_1 = require("../../logger/logger.context");
|
|
15
|
-
/**
|
|
16
|
-
* Adapter class is used to interact with Airdrop platform. The class provides
|
|
17
|
-
* utilities to
|
|
18
|
-
* - emit control events to the platform
|
|
19
|
-
* - update the state of the extractor
|
|
20
|
-
* - set the last saved state in case of a timeout
|
|
21
|
-
*
|
|
22
|
-
* @class Adapter
|
|
23
|
-
* @constructor
|
|
24
|
-
* @deprecated
|
|
25
|
-
* @param {AirdropEvent} event - The event object received from the platform
|
|
26
|
-
* @param {object=} initialState - The initial state of the adapter
|
|
27
|
-
* @param {boolean=} isLocalDevelopment - A flag to indicate if the adapter is being used in local development
|
|
28
|
-
*/
|
|
29
|
-
/**
|
|
30
|
-
* Creates an adapter instance.
|
|
31
|
-
*
|
|
32
|
-
* @param {AirdropEvent} event - The event object received from the platform
|
|
33
|
-
* @param initialState
|
|
34
|
-
* @param {boolean=} isLocalDevelopment - A flag to indicate if the adapter is being used in local development
|
|
35
|
-
* @return The adapter instance
|
|
36
|
-
*/
|
|
37
|
-
async function createAdapter(event, initialState, isLocalDevelopment = false) {
|
|
38
|
-
event.payload.event_type = (0, event_type_translation_1.translateIncomingEventType)(event.payload.event_type);
|
|
39
|
-
const newInitialState = structuredClone(initialState);
|
|
40
|
-
const adapterState = await (0, state_1.createAdapterState)({
|
|
41
|
-
event,
|
|
42
|
-
initialState: newInitialState,
|
|
43
|
-
});
|
|
44
|
-
const a = new Adapter(event, adapterState, isLocalDevelopment);
|
|
45
|
-
return a;
|
|
46
|
-
}
|
|
47
|
-
class Adapter {
|
|
48
|
-
constructor(event, adapterState, isLocalDevelopment = false) {
|
|
49
|
-
this.exit = false;
|
|
50
|
-
this.lambdaTimeout = 10 * 60 * 1000; // 10 minutes in milliseconds
|
|
51
|
-
this.heartBeatInterval = 30 * 1000; // 30 seconds in milliseconds
|
|
52
|
-
if (!isLocalDevelopment) {
|
|
53
|
-
// Logger.init(event);
|
|
54
|
-
}
|
|
55
|
-
this.adapterState = adapterState;
|
|
56
|
-
this._artifacts = [];
|
|
57
|
-
this.event = event;
|
|
58
|
-
this.callbackUrl = event.payload.event_context.callback_url;
|
|
59
|
-
this.devrevToken = event.context.secrets.service_account_token;
|
|
60
|
-
this.startTime = Date.now();
|
|
61
|
-
// Run heartbeat every 30 seconds
|
|
62
|
-
this.heartBeatFn = setInterval(async () => {
|
|
63
|
-
const b = await this.heartbeat();
|
|
64
|
-
if (b) {
|
|
65
|
-
this.exitAdapter();
|
|
66
|
-
}
|
|
67
|
-
}, this.heartBeatInterval);
|
|
68
|
-
}
|
|
69
|
-
get state() {
|
|
70
|
-
return this.adapterState.state;
|
|
71
|
-
}
|
|
72
|
-
set state(value) {
|
|
73
|
-
this.adapterState.state = value;
|
|
74
|
-
}
|
|
75
|
-
get artifacts() {
|
|
76
|
-
return this._artifacts;
|
|
77
|
-
}
|
|
78
|
-
set artifacts(value) {
|
|
79
|
-
this._artifacts = value;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Emits an event to the platform.
|
|
83
|
-
*
|
|
84
|
-
* @param {ExtractorEventType} newEventType - The event type to be emitted
|
|
85
|
-
* @param {EventData=} data - The data to be sent with the event
|
|
86
|
-
*/
|
|
87
|
-
async emit(newEventType, data) {
|
|
88
|
-
if (this.exit) {
|
|
89
|
-
console.warn('Adapter is already in exit state. No more events can be emitted.');
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
// We want to save the state every time we emit an event, except for the start and delete events
|
|
93
|
-
if (!constants_1.STATELESS_EVENT_TYPES.includes(this.event.payload.event_type)) {
|
|
94
|
-
(0, logger_context_1.runWithSdkLogContext)(() => console.log(`Saving state before emitting event`));
|
|
95
|
-
await this.adapterState.postState(this.state);
|
|
96
|
-
}
|
|
97
|
-
const newEvent = {
|
|
98
|
-
event_type: newEventType,
|
|
99
|
-
event_context: this.event.payload.event_context,
|
|
100
|
-
event_data: Object.assign({}, data),
|
|
101
|
-
};
|
|
102
|
-
try {
|
|
103
|
-
await axios_1.default.post(this.callbackUrl, Object.assign({}, newEvent), {
|
|
104
|
-
headers: {
|
|
105
|
-
Accept: 'application/json, text/plain, */*',
|
|
106
|
-
Authorization: this.devrevToken,
|
|
107
|
-
'Content-Type': 'application/json',
|
|
108
|
-
},
|
|
109
|
-
});
|
|
110
|
-
console.log('Successfully emitted event: ' + JSON.stringify(newEvent));
|
|
111
|
-
}
|
|
112
|
-
catch (error) {
|
|
113
|
-
// If this request fails the extraction will be stuck in loop and
|
|
114
|
-
// we need to stop it through UI or think about retrying this request
|
|
115
|
-
console.log('Failed to emit event: ' +
|
|
116
|
-
JSON.stringify(newEvent) +
|
|
117
|
-
', error: ' +
|
|
118
|
-
error);
|
|
119
|
-
}
|
|
120
|
-
finally {
|
|
121
|
-
this.exitAdapter();
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Exit the adapter. This will stop the heartbeat and no
|
|
126
|
-
* further events will be emitted.
|
|
127
|
-
*/
|
|
128
|
-
exitAdapter() {
|
|
129
|
-
this.exit = true;
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Heartbeat function to check if the lambda is about to timeout.
|
|
133
|
-
* @returns true if 10 minutes have passed since the start of the lambda.
|
|
134
|
-
*/
|
|
135
|
-
async heartbeat() {
|
|
136
|
-
if (this.exit) {
|
|
137
|
-
return true;
|
|
138
|
-
}
|
|
139
|
-
if (Date.now() - this.startTime > this.lambdaTimeout) {
|
|
140
|
-
const timeoutEventType = (0, helpers_1.getTimeoutExtractorEventType)(this.event.payload.event_type);
|
|
141
|
-
if (timeoutEventType !== null) {
|
|
142
|
-
const { eventType, isError } = timeoutEventType;
|
|
143
|
-
const err = isError ? { message: 'Lambda Timeout' } : undefined;
|
|
144
|
-
await this.emit(eventType, { error: err, artifacts: this._artifacts });
|
|
145
|
-
return true;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
return false;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
exports.Adapter = Adapter;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { EventType, ExtractorEventType } from '../../types/extraction';
|
|
2
|
-
export declare function createFormData(preparedArtifact: any, fetchedObjects: object[] | object): FormData;
|
|
3
|
-
export declare function getTimeoutExtractorEventType(eventType: EventType): {
|
|
4
|
-
eventType: ExtractorEventType;
|
|
5
|
-
isError: boolean;
|
|
6
|
-
} | null;
|
|
7
|
-
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/deprecated/common/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,wBAAgB,cAAc,CAE5B,gBAAgB,EAAE,GAAG,EACrB,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,GAChC,QAAQ,CAUV;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,SAAS,GAAG;IAClE,SAAS,EAAE,kBAAkB,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,IAAI,CA+BP"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createFormData = createFormData;
|
|
4
|
-
exports.getTimeoutExtractorEventType = getTimeoutExtractorEventType;
|
|
5
|
-
const js_jsonl_1 = require("js-jsonl");
|
|
6
|
-
const extraction_1 = require("../../types/extraction");
|
|
7
|
-
function createFormData(
|
|
8
|
-
//eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
|
-
preparedArtifact, fetchedObjects) {
|
|
10
|
-
const formData = new FormData();
|
|
11
|
-
for (const item of preparedArtifact.form_data) {
|
|
12
|
-
formData.append(item.key, item.value);
|
|
13
|
-
}
|
|
14
|
-
const output = js_jsonl_1.jsonl.stringify(fetchedObjects);
|
|
15
|
-
formData.append('file', output);
|
|
16
|
-
return formData;
|
|
17
|
-
}
|
|
18
|
-
function getTimeoutExtractorEventType(eventType) {
|
|
19
|
-
switch (eventType) {
|
|
20
|
-
case extraction_1.EventType.ExtractionMetadataStart:
|
|
21
|
-
return {
|
|
22
|
-
eventType: extraction_1.ExtractorEventType.ExtractionMetadataError,
|
|
23
|
-
isError: true,
|
|
24
|
-
};
|
|
25
|
-
case extraction_1.EventType.ExtractionDataStart:
|
|
26
|
-
case extraction_1.EventType.ExtractionDataContinue:
|
|
27
|
-
return {
|
|
28
|
-
eventType: extraction_1.ExtractorEventType.ExtractionDataProgress,
|
|
29
|
-
isError: false,
|
|
30
|
-
};
|
|
31
|
-
case extraction_1.EventType.ExtractionAttachmentsStart:
|
|
32
|
-
case extraction_1.EventType.ExtractionAttachmentsContinue:
|
|
33
|
-
return {
|
|
34
|
-
eventType: extraction_1.ExtractorEventType.ExtractionAttachmentsProgress,
|
|
35
|
-
isError: false,
|
|
36
|
-
};
|
|
37
|
-
case extraction_1.EventType.ExtractionExternalSyncUnitsStart:
|
|
38
|
-
return {
|
|
39
|
-
eventType: extraction_1.ExtractorEventType.ExtractionExternalSyncUnitsError,
|
|
40
|
-
isError: true,
|
|
41
|
-
};
|
|
42
|
-
default:
|
|
43
|
-
console.log('Event type not recognized in getTimeoutExtractorEventType function: ' +
|
|
44
|
-
eventType);
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"record_types": {
|
|
3
|
-
"users": {
|
|
4
|
-
"fields": {
|
|
5
|
-
"name": {
|
|
6
|
-
"is_required": true,
|
|
7
|
-
"type": "text",
|
|
8
|
-
"name": "Name",
|
|
9
|
-
"text": {
|
|
10
|
-
"min_length": 1
|
|
11
|
-
}
|
|
12
|
-
},
|
|
13
|
-
"email": {
|
|
14
|
-
"type": "text",
|
|
15
|
-
"name": "Email",
|
|
16
|
-
"is_required": true
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
"contacts": {
|
|
21
|
-
"fields": {
|
|
22
|
-
"name": {
|
|
23
|
-
"is_required": true,
|
|
24
|
-
"type": "text",
|
|
25
|
-
"name": "Name",
|
|
26
|
-
"text": {
|
|
27
|
-
"min_length": 1
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
"email": {
|
|
31
|
-
"type": "text",
|
|
32
|
-
"name": "Email",
|
|
33
|
-
"is_required": true
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { AirdropEvent } from '../../types/extraction';
|
|
2
|
-
import { Adapter } from '../adapter';
|
|
3
|
-
type ConnectorState = object;
|
|
4
|
-
/**
|
|
5
|
-
* Demo extractor is a reference implementation of an ADaaS connector to facilitate rapid immersion into ADaaS.
|
|
6
|
-
*
|
|
7
|
-
* @class DemoExtractor
|
|
8
|
-
* @deprecated
|
|
9
|
-
**/
|
|
10
|
-
export declare class DemoExtractor {
|
|
11
|
-
private event;
|
|
12
|
-
private adapter;
|
|
13
|
-
private uploader;
|
|
14
|
-
constructor(event: AirdropEvent, adapter: Adapter<ConnectorState>);
|
|
15
|
-
run(): Promise<void>;
|
|
16
|
-
}
|
|
17
|
-
export {};
|
|
18
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/deprecated/demo-extractor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B;;;;;IAKI;AACJ,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,QAAQ,CAAW;gBAEf,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC;IAS3D,GAAG;CA0MV"}
|