@scopieflows/app-apollo 0.1.5 → 0.1.6
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/package.json +8 -4
- package/src/index.d.ts.map +1 -1
- package/src/index.js +2 -0
- package/src/index.js.map +1 -1
- package/src/lib/actions/bulk-match.d.ts.map +1 -1
- package/src/lib/actions/bulk-match.js +4 -3
- package/src/lib/actions/bulk-match.js.map +1 -1
- package/src/lib/actions/get-phone-reveal-result.d.ts +5 -0
- package/src/lib/actions/get-phone-reveal-result.d.ts.map +1 -0
- package/src/lib/actions/get-phone-reveal-result.js +78 -0
- package/src/lib/actions/get-phone-reveal-result.js.map +1 -0
- package/src/lib/actions/match-person.d.ts.map +1 -1
- package/src/lib/actions/match-person.js +2 -1
- package/src/lib/actions/match-person.js.map +1 -1
- package/src/lib/common/send-request.d.ts +3 -0
- package/src/lib/common/send-request.d.ts.map +1 -0
- package/src/lib/common/send-request.js +26 -0
- package/src/lib/common/send-request.js.map +1 -0
package/package.json
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scopieflows/app-apollo",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"types": "./src/index.d.ts",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"build": "tsc -p tsconfig.lib.json && cp package.json dist/",
|
|
8
|
+
"lint": "eslint 'src/**/*.ts'"
|
|
9
|
+
},
|
|
6
10
|
"dependencies": {
|
|
7
11
|
"@scopieflows/apps-common": "^0.12.3",
|
|
8
|
-
"@scopieflows/apps-framework": "^0.28.
|
|
9
|
-
"@scopieflows/shared": "^0.
|
|
12
|
+
"@scopieflows/apps-framework": "^0.28.4",
|
|
13
|
+
"@scopieflows/shared": "^0.56.0",
|
|
10
14
|
"tslib": "2.6.2"
|
|
11
15
|
}
|
|
12
|
-
}
|
|
16
|
+
}
|
package/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,MAAM,iHA4BjB,CAAC"}
|
package/src/index.js
CHANGED
|
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const pieces_framework_1 = require("@scopieflows/apps-framework");
|
|
6
6
|
const bulk_match_1 = require("./lib/actions/bulk-match");
|
|
7
7
|
const match_person_1 = require("./lib/actions/match-person");
|
|
8
|
+
const get_phone_reveal_result_1 = require("./lib/actions/get-phone-reveal-result");
|
|
8
9
|
const enrich_company_1 = require("./lib/actions/enrich-company");
|
|
9
10
|
const news_articles_search_1 = require("./lib/actions/news-articles-search");
|
|
10
11
|
const organization_job_postings_1 = require("./lib/actions/organization-job-postings");
|
|
@@ -22,6 +23,7 @@ exports.apollo = (0, pieces_framework_1.createPiece)({
|
|
|
22
23
|
actions: [
|
|
23
24
|
match_person_1.matchPerson,
|
|
24
25
|
bulk_match_1.bulkMatch,
|
|
26
|
+
get_phone_reveal_result_1.getPhoneRevealResult,
|
|
25
27
|
enrich_company_1.enrichCompany,
|
|
26
28
|
news_articles_search_1.newsArticlesSearch,
|
|
27
29
|
organization_job_postings_1.organizationJobPostings,
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,oEAA4D;AAC5D,yDAAqD;AACrD,6DAAyD;AACzD,iEAA6D;AAC7D,6EAAwE;AACxE,uFAAkF;AAClF,2EAAuE;AACvE,+DAA2D;AAC3D,8DAAuE;AACvE,qCAAwC;AAE3B,QAAA,MAAM,GAAG,IAAA,8BAAW,EAAC;IAChC,WAAW,EAAE,QAAQ;IACrB,IAAI,EAAE,iBAAU;IAChB,WAAW,EACT,8GAA8G;IAChH,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,+CAA+C;IACxD,OAAO,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;IACpC,OAAO,EAAE;QACP,0BAAW;QACX,sBAAS;QACT,8BAAa;QACb,yCAAkB;QAClB,mDAAuB;QACvB,wCAAkB;QAClB,4BAAY;QACZ,IAAA,yCAAyB,EAAC;YACxB,IAAI,EAAE,iBAAU;YAChB,OAAO,EAAE,GAAG,EAAE,CAAC,8BAA8B;YAC7C,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAC1B,OAAO;oBACL,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAC;YACJ,CAAC,CAAA;SACF,CAAC;KACH;IACD,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,oEAA4D;AAC5D,yDAAqD;AACrD,6DAAyD;AACzD,mFAA6E;AAC7E,iEAA6D;AAC7D,6EAAwE;AACxE,uFAAkF;AAClF,2EAAuE;AACvE,+DAA2D;AAC3D,8DAAuE;AACvE,qCAAwC;AAE3B,QAAA,MAAM,GAAG,IAAA,8BAAW,EAAC;IAChC,WAAW,EAAE,QAAQ;IACrB,IAAI,EAAE,iBAAU;IAChB,WAAW,EACT,8GAA8G;IAChH,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,+CAA+C;IACxD,OAAO,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;IACpC,OAAO,EAAE;QACP,0BAAW;QACX,sBAAS;QACT,8CAAoB;QACpB,8BAAa;QACb,yCAAkB;QAClB,mDAAuB;QACvB,wCAAkB;QAClB,4BAAY;QACZ,IAAA,yCAAyB,EAAC;YACxB,IAAI,EAAE,iBAAU;YAChB,OAAO,EAAE,GAAG,EAAE,CAAC,8BAA8B;YAC7C,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAC1B,OAAO;oBACL,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAC;YACJ,CAAC,CAAA;SACF,CAAC;KACH;IACD,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulk-match.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/bulk-match.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bulk-match.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/bulk-match.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,SAAS;;;;;EA8FpB,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.bulkMatch = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const auth_1 = require("../auth");
|
|
6
|
+
const send_request_1 = require("../common/send-request");
|
|
6
7
|
const pieces_common_1 = require("@scopieflows/apps-common");
|
|
7
8
|
const pieces_framework_1 = require("@scopieflows/apps-framework");
|
|
8
9
|
exports.bulkMatch = (0, pieces_framework_1.createAction)({
|
|
@@ -55,13 +56,13 @@ exports.bulkMatch = (0, pieces_framework_1.createAction)({
|
|
|
55
56
|
}),
|
|
56
57
|
reveal_phone_number: pieces_framework_1.Property.Checkbox({
|
|
57
58
|
displayName: 'Reveal Phone Number',
|
|
58
|
-
description: 'Include phone numbers in the results.
|
|
59
|
+
description: 'Include phone numbers in the results. Numbers are revealed asynchronously: the response returns a top-level `request_id`, which you poll with GET /api/v1/webhook_result/{request_id} (retry after ~10s) to collect the numbers.',
|
|
59
60
|
required: false,
|
|
60
61
|
defaultValue: false,
|
|
61
62
|
}),
|
|
62
63
|
webhook_url: pieces_framework_1.Property.ShortText({
|
|
63
64
|
displayName: 'Webhook URL',
|
|
64
|
-
description: '
|
|
65
|
+
description: 'Optional callback URL Apollo may notify when phone numbers are ready. Retrieval is done by polling the returned `request_id`, not from this callback.',
|
|
65
66
|
required: false,
|
|
66
67
|
}),
|
|
67
68
|
},
|
|
@@ -77,7 +78,7 @@ exports.bulkMatch = (0, pieces_framework_1.createAction)({
|
|
|
77
78
|
if (propsValue.webhook_url) {
|
|
78
79
|
queryParams.append('webhook_url', propsValue.webhook_url);
|
|
79
80
|
}
|
|
80
|
-
const result = yield
|
|
81
|
+
const result = yield (0, send_request_1.sendApolloRequest)({
|
|
81
82
|
method: pieces_common_1.HttpMethod.POST,
|
|
82
83
|
url: `https://api.apollo.io/api/v1/people/bulk_match?${queryParams.toString()}`,
|
|
83
84
|
headers: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulk-match.js","sourceRoot":"","sources":["../../../../src/lib/actions/bulk-match.ts"],"names":[],"mappings":";;;;AAAA,kCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"bulk-match.js","sourceRoot":"","sources":["../../../../src/lib/actions/bulk-match.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const getPhoneRevealResult: import("@scopieflows/apps-framework").IAction<import("@scopieflows/apps-framework").SecretTextProperty<true>, {
|
|
2
|
+
request_id: import("@scopieflows/apps-framework").ShortTextProperty<true>;
|
|
3
|
+
max_wait_seconds: import("@scopieflows/apps-framework").NumberProperty<false>;
|
|
4
|
+
}>;
|
|
5
|
+
//# sourceMappingURL=get-phone-reveal-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-phone-reveal-result.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/get-phone-reveal-result.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,oBAAoB;;;EAiE/B,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPhoneRevealResult = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const auth_1 = require("../auth");
|
|
6
|
+
const send_request_1 = require("../common/send-request");
|
|
7
|
+
const pieces_common_1 = require("@scopieflows/apps-common");
|
|
8
|
+
const pieces_framework_1 = require("@scopieflows/apps-framework");
|
|
9
|
+
const shared_1 = require("@scopieflows/shared");
|
|
10
|
+
const DEFAULT_MAX_WAIT_SECONDS = 120;
|
|
11
|
+
const DEFAULT_POLL_INTERVAL_SECONDS = 10;
|
|
12
|
+
exports.getPhoneRevealResult = (0, pieces_framework_1.createAction)({
|
|
13
|
+
auth: auth_1.apolloAuth,
|
|
14
|
+
name: 'getPhoneRevealResult',
|
|
15
|
+
displayName: 'Get Phone Reveal Result',
|
|
16
|
+
description: 'Poll Apollo for the result of an asynchronous phone-number reveal using the `request_id` returned by Match Person or Bulk Match.',
|
|
17
|
+
props: {
|
|
18
|
+
request_id: pieces_framework_1.Property.ShortText({
|
|
19
|
+
displayName: 'Request ID',
|
|
20
|
+
description: 'The top-level `request_id` returned by a Match Person or Bulk Match call that had Reveal Phone Number enabled.',
|
|
21
|
+
required: true,
|
|
22
|
+
}),
|
|
23
|
+
max_wait_seconds: pieces_framework_1.Property.Number({
|
|
24
|
+
displayName: 'Max Wait (seconds)',
|
|
25
|
+
description: 'How long to keep polling before giving up. Apollo usually resolves reveals within a minute or two.',
|
|
26
|
+
required: false,
|
|
27
|
+
defaultValue: DEFAULT_MAX_WAIT_SECONDS,
|
|
28
|
+
}),
|
|
29
|
+
},
|
|
30
|
+
run(_a) {
|
|
31
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ propsValue, auth }) {
|
|
32
|
+
var _b;
|
|
33
|
+
const requestId = propsValue.request_id.trim();
|
|
34
|
+
const maxWaitMs = ((_b = propsValue.max_wait_seconds) !== null && _b !== void 0 ? _b : DEFAULT_MAX_WAIT_SECONDS) * 1000;
|
|
35
|
+
const startedAt = Date.now();
|
|
36
|
+
let attempts = 0;
|
|
37
|
+
while (Date.now() - startedAt < maxWaitMs) {
|
|
38
|
+
attempts++;
|
|
39
|
+
const { data, error } = yield (0, shared_1.tryCatch)(() => (0, send_request_1.sendApolloRequest)({
|
|
40
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
41
|
+
url: `https://api.apollo.io/api/v1/webhook_result/${encodeURIComponent(requestId)}`,
|
|
42
|
+
headers: {
|
|
43
|
+
'x-api-key': `${auth.secret_text}`,
|
|
44
|
+
},
|
|
45
|
+
}));
|
|
46
|
+
if (!error) {
|
|
47
|
+
return {
|
|
48
|
+
request_id: requestId,
|
|
49
|
+
status: 'ready',
|
|
50
|
+
attempts,
|
|
51
|
+
result: data.body,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
if (!(error instanceof pieces_common_1.HttpError) || error.response.status !== 404) {
|
|
55
|
+
throw error;
|
|
56
|
+
}
|
|
57
|
+
yield sleep(getRetryAfterMs(error));
|
|
58
|
+
}
|
|
59
|
+
throw new Error(`Phone reveal for request_id ${requestId} was not ready after ${Math.round(maxWaitMs / 1000)}s (${attempts} attempts). Apollo still reports it as pending — try again later.`);
|
|
60
|
+
});
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
function sleep(ms) {
|
|
64
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
65
|
+
}
|
|
66
|
+
function getRetryAfterMs(error) {
|
|
67
|
+
const seconds = extractRetryAfterSeconds(error.response.body);
|
|
68
|
+
return (seconds !== null && seconds !== void 0 ? seconds : DEFAULT_POLL_INTERVAL_SECONDS) * 1000;
|
|
69
|
+
}
|
|
70
|
+
function extractRetryAfterSeconds(body) {
|
|
71
|
+
if (typeof body !== 'string') {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
const { data } = (0, shared_1.tryCatchSync)(() => JSON.parse(body));
|
|
75
|
+
const seconds = data === null || data === void 0 ? void 0 : data.retry_after_seconds;
|
|
76
|
+
return typeof seconds === 'number' ? seconds : undefined;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=get-phone-reveal-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-phone-reveal-result.js","sourceRoot":"","sources":["../../../../src/lib/actions/get-phone-reveal-result.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"match-person.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/match-person.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"match-person.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/match-person.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,WAAW;;;EAoDtB,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.matchPerson = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const auth_1 = require("../auth");
|
|
6
|
+
const send_request_1 = require("../common/send-request");
|
|
6
7
|
const pieces_common_1 = require("@scopieflows/apps-common");
|
|
7
8
|
const pieces_framework_1 = require("@scopieflows/apps-framework");
|
|
8
9
|
exports.matchPerson = (0, pieces_framework_1.createAction)({
|
|
@@ -31,7 +32,7 @@ exports.matchPerson = (0, pieces_framework_1.createAction)({
|
|
|
31
32
|
return cachedResult;
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
|
-
const result = yield
|
|
35
|
+
const result = yield (0, send_request_1.sendApolloRequest)({
|
|
35
36
|
method: pieces_common_1.HttpMethod.POST,
|
|
36
37
|
url: `https://api.apollo.io/v1/people/match`,
|
|
37
38
|
headers: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"match-person.js","sourceRoot":"","sources":["../../../../src/lib/actions/match-person.ts"],"names":[],"mappings":";;;;AAAA,kCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"match-person.js","sourceRoot":"","sources":["../../../../src/lib/actions/match-person.ts"],"names":[],"mappings":";;;;AAAA,kCAAqC;AACrC,yDAA2D;AAC3D,8DAAwD;AACxD,oEAIuC;AAE1B,QAAA,WAAW,GAAG,IAAA,+BAAY,EAAC;IACtC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,oDAAoD;IACjE,KAAK,EAAE;QACL,KAAK,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,aAAa,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC/B,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,yDAAyD;YACtE,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,IAAI;SACnB,CAAC;KACH;IACD,IAAI,EAAE,iBAAU;IACV,GAAG;qEAAC,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;YACnC,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;gBAC7B,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,GAAG,CAClC,kBAAkB,UAAU,CAAC,KAAK,EAAE,EACpC,6BAAU,CAAC,OAAO,CACnB,CAAC;gBACF,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,YAAY,CAAC;gBACtB,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAiB,EAEnC;gBACD,MAAM,EAAE,0BAAU,CAAC,IAAI;gBACvB,GAAG,EAAE,uCAAuC;gBAC5C,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE;iBACnC;gBACD,IAAI,EAAE;oBAEJ,KAAK,EAAE,UAAU,CAAC,KAAK;iBACxB;aACF,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;YAC9C,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;gBAC7B,MAAM,KAAK,CAAC,GAAG,CACb,kBAAkB,UAAU,CAAC,KAAK,EAAE,EACpC,YAAY,EACZ,6BAAU,CAAC,OAAO,CACnB,CAAC;YACJ,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send-request.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/send-request.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,YAAY,EAEb,MAAM,4BAA4B,CAAC;AAEpC,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,GACzC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAU1B"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sendApolloRequest = sendApolloRequest;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_common_1 = require("@scopieflows/apps-common");
|
|
6
|
+
function sendApolloRequest(request) {
|
|
7
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
8
|
+
const response = yield pieces_common_1.httpClient.sendRequest(Object.assign(Object.assign({}, request), { responseType: 'text' }));
|
|
9
|
+
return {
|
|
10
|
+
status: response.status,
|
|
11
|
+
headers: response.headers,
|
|
12
|
+
body: parseApolloBody(response.body),
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
// Apollo returns `request_id` as a 19-digit integer that exceeds
|
|
17
|
+
// Number.MAX_SAFE_INTEGER, so a plain JSON.parse silently rounds (and has been
|
|
18
|
+
// observed to overflow to a negative number) — irreversibly corrupting the only
|
|
19
|
+
// handle used to poll async phone-reveal results. Quote it before parsing so it
|
|
20
|
+
// survives exactly, and surfaces to callers as a string.
|
|
21
|
+
function parseApolloBody(raw) {
|
|
22
|
+
const normalized = raw.length === 0 ? 'null' : raw.replace(REQUEST_ID_PATTERN, '$1"$2"');
|
|
23
|
+
return JSON.parse(normalized);
|
|
24
|
+
}
|
|
25
|
+
const REQUEST_ID_PATTERN = /("request_id"\s*:\s*)(-?\d+)/g;
|
|
26
|
+
//# sourceMappingURL=send-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send-request.js","sourceRoot":"","sources":["../../../../src/lib/common/send-request.ts"],"names":[],"mappings":";;AAMA,8CAYC;;AAlBD,8DAIoC;AAEpC,SAAsB,iBAAiB,CACrC,OAA0C;;QAE1C,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,iCACxC,OAAO,KACV,YAAY,EAAE,MAAM,IACpB,CAAC;QACH,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC;SACrC,CAAC;IACJ,CAAC;CAAA;AAED,iEAAiE;AACjE,+EAA+E;AAC/E,gFAAgF;AAChF,gFAAgF;AAChF,yDAAyD;AACzD,SAAS,eAAe,CAAI,GAAW;IACrC,MAAM,UAAU,GACd,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,kBAAkB,GAAG,+BAA+B,CAAC"}
|