arangojs 7.8.0 → 8.0.0
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/CHANGELOG.md +264 -3
- package/CONTRIBUTING.md +1 -1
- package/MIGRATING.md +126 -2
- package/README.md +7 -13
- package/analyzer.d.ts +531 -253
- package/analyzer.d.ts.map +1 -1
- package/analyzer.js +9 -8
- package/analyzer.js.map +1 -1
- package/aql.d.ts +122 -139
- package/aql.d.ts.map +1 -1
- package/aql.js +146 -148
- package/aql.js.map +1 -1
- package/collection.d.ts +311 -310
- package/collection.d.ts.map +1 -1
- package/collection.js +163 -96
- package/collection.js.map +1 -1
- package/connection.d.ts +65 -52
- package/connection.d.ts.map +1 -1
- package/connection.js +142 -140
- package/connection.js.map +1 -1
- package/cursor.d.ts +108 -26
- package/cursor.d.ts.map +1 -1
- package/cursor.js +24 -23
- package/cursor.js.map +1 -1
- package/database.d.ts +298 -330
- package/database.d.ts.map +1 -1
- package/database.js +178 -252
- package/database.js.map +1 -1
- package/documents.d.ts +3 -4
- package/documents.d.ts.map +1 -1
- package/documents.js +0 -1
- package/documents.js.map +1 -1
- package/error.d.ts +3 -6
- package/error.d.ts.map +1 -1
- package/error.js +5 -7
- package/error.js.map +1 -1
- package/foxx-manifest.d.ts +7 -8
- package/foxx-manifest.d.ts.map +1 -1
- package/foxx-manifest.js +1 -1
- package/foxx-manifest.js.map +1 -1
- package/graph.d.ts +38 -56
- package/graph.d.ts.map +1 -1
- package/graph.js +59 -63
- package/graph.js.map +1 -1
- package/index.d.ts +6 -8
- package/index.d.ts.map +1 -1
- package/index.js +1 -6
- package/index.js.map +1 -1
- package/indexes.d.ts +348 -127
- package/indexes.d.ts.map +1 -1
- package/indexes.js +1 -3
- package/indexes.js.map +1 -1
- package/lib/blob.d.ts +0 -2
- package/lib/blob.d.ts.map +1 -1
- package/lib/blob.js +0 -1
- package/lib/blob.js.map +1 -1
- package/lib/btoa.d.ts +1 -3
- package/lib/btoa.d.ts.map +1 -1
- package/lib/btoa.js +3 -5
- package/lib/btoa.js.map +1 -1
- package/lib/btoa.web.d.ts +1 -3
- package/lib/btoa.web.d.ts.map +1 -1
- package/lib/btoa.web.js +4 -6
- package/lib/btoa.web.js.map +1 -1
- package/lib/codes.d.ts +2 -2
- package/lib/codes.d.ts.map +1 -1
- package/lib/codes.js +3 -3
- package/lib/codes.js.map +1 -1
- package/lib/errback.d.ts +0 -2
- package/lib/errback.d.ts.map +1 -1
- package/lib/errback.js.map +1 -1
- package/lib/joinPath.d.ts +0 -2
- package/lib/joinPath.d.ts.map +1 -1
- package/lib/joinPath.js +0 -2
- package/lib/joinPath.js.map +1 -1
- package/lib/joinPath.web.d.ts +1 -3
- package/lib/joinPath.web.d.ts.map +1 -1
- package/lib/joinPath.web.js +7 -4
- package/lib/joinPath.web.js.map +1 -1
- package/lib/multipart.d.ts +0 -4
- package/lib/multipart.d.ts.map +1 -1
- package/lib/multipart.js +16 -37
- package/lib/multipart.js.map +1 -1
- package/lib/multipart.web.d.ts +0 -2
- package/lib/multipart.web.d.ts.map +1 -1
- package/lib/multipart.web.js +0 -2
- package/lib/multipart.web.js.map +1 -1
- package/lib/normalizeUrl.d.ts +0 -2
- package/lib/normalizeUrl.d.ts.map +1 -1
- package/lib/normalizeUrl.js +0 -2
- package/lib/normalizeUrl.js.map +1 -1
- package/lib/omit.d.ts +1 -3
- package/lib/omit.d.ts.map +1 -1
- package/lib/omit.js +1 -2
- package/lib/omit.js.map +1 -1
- package/lib/querystringify.d.ts +4 -0
- package/lib/querystringify.d.ts.map +1 -0
- package/lib/querystringify.js +20 -0
- package/lib/querystringify.js.map +1 -0
- package/lib/querystringify.web.d.ts +2 -0
- package/lib/querystringify.web.d.ts.map +1 -0
- package/lib/querystringify.web.js +30 -0
- package/lib/querystringify.web.js.map +1 -0
- package/lib/request.d.ts +0 -1
- package/lib/request.d.ts.map +1 -1
- package/lib/request.js +6 -3
- package/lib/request.js.map +1 -1
- package/lib/request.node.d.ts +2 -8
- package/lib/request.node.d.ts.map +1 -1
- package/lib/request.node.js +16 -7
- package/lib/request.node.js.map +1 -1
- package/lib/request.web.d.ts +2 -3
- package/lib/request.web.d.ts.map +1 -1
- package/lib/request.web.js +26 -29
- package/lib/request.web.js.map +1 -1
- package/lib/xhr.d.ts +1 -3
- package/lib/xhr.d.ts.map +1 -1
- package/lib/xhr.js +0 -2
- package/lib/xhr.js.map +1 -1
- package/package.json +5 -6
- package/route.d.ts +1 -2
- package/route.d.ts.map +1 -1
- package/route.js +1 -2
- package/route.js.map +1 -1
- package/transaction.d.ts +31 -6
- package/transaction.d.ts.map +1 -1
- package/transaction.js +13 -6
- package/transaction.js.map +1 -1
- package/view.d.ts +237 -181
- package/view.d.ts.map +1 -1
- package/view.js +17 -25
- package/view.js.map +1 -1
- package/web.js +1 -1
- package/web.js.map +1 -1
- package/lib/error.d.ts +0 -18
- package/lib/error.d.ts.map +0 -1
- package/lib/error.js +0 -18
- package/lib/error.js.map +0 -1
package/lib/omit.js
CHANGED
|
@@ -4,14 +4,13 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @packageDocumentation
|
|
6
6
|
* @internal
|
|
7
|
-
* @hidden
|
|
8
7
|
*/
|
|
9
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
9
|
exports.omit = void 0;
|
|
11
10
|
/**
|
|
12
11
|
* @internal
|
|
13
|
-
* @hidden
|
|
14
12
|
*/
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
15
14
|
function omit(obj, keys) {
|
|
16
15
|
const result = {};
|
|
17
16
|
for (const key of Object.keys(obj)) {
|
package/lib/omit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../src/lib/omit.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../src/lib/omit.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;GAEG;AACH,wDAAwD;AACxD,SAAgB,IAAI,CAAe,GAAM,EAAE,IAAiB;IAC1D,MAAM,MAAM,GAAG,EAAO,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAc,CAAC;YAAE,SAAS;QAC5C,MAAM,CAAC,GAAc,CAAC,GAAG,GAAG,CAAC,GAAc,CAAC,CAAC;KAC9C;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAPD,oBAOC","sourcesContent":["/**\n * Utility function for omitting properties by key.\n *\n * @packageDocumentation\n * @internal\n */\n\n/**\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function omit<T extends {}>(obj: T, keys: (keyof T)[]): T {\n const result = {} as T;\n for (const key of Object.keys(obj)) {\n if (keys.includes(key as keyof T)) continue;\n result[key as keyof T] = obj[key as keyof T];\n }\n return result;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"querystringify.d.ts","sourceRoot":"","sources":["../../src/lib/querystringify.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAa,MAAM,aAAa,CAAC;AAa7D,wBAAgB,cAAc,CAAC,GAAG,EAAE,mBAAmB,UAEtD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.querystringify = void 0;
|
|
4
|
+
const querystring_1 = require("querystring");
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
6
|
+
function clean(obj) {
|
|
7
|
+
const result = {};
|
|
8
|
+
for (const key of Object.keys(obj)) {
|
|
9
|
+
const value = obj[key];
|
|
10
|
+
if (value === undefined)
|
|
11
|
+
continue;
|
|
12
|
+
result[key] = value;
|
|
13
|
+
}
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
16
|
+
function querystringify(obj) {
|
|
17
|
+
return (0, querystring_1.stringify)(clean(obj));
|
|
18
|
+
}
|
|
19
|
+
exports.querystringify = querystringify;
|
|
20
|
+
//# sourceMappingURL=querystringify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"querystringify.js","sourceRoot":"","sources":["../../src/lib/querystringify.ts"],"names":[],"mappings":";;;AAAA,6CAA6D;AAE7D,wDAAwD;AACxD,SAAS,KAAK,CAAe,GAAM;IACjC,MAAM,MAAM,GAAG,EAAgB,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAClC,MAAM,KAAK,GAAI,GAAW,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QACjC,MAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;KAC9B;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,cAAc,CAAC,GAAwB;IACrD,OAAO,IAAA,uBAAS,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC;AAFD,wCAEC","sourcesContent":["import { ParsedUrlQueryInput, stringify } from \"querystring\";\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction clean<T extends {}>(obj: T) {\n const result = {} as typeof obj;\n for (const key of Object.keys(obj)) {\n const value = (obj as any)[key];\n if (value === undefined) continue;\n (result as any)[key] = value;\n }\n return result;\n}\n\nexport function querystringify(obj: ParsedUrlQueryInput) {\n return stringify(clean(obj));\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"querystringify.web.d.ts","sourceRoot":"","sources":["../../src/lib/querystringify.web.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CACT,MAAM,EACJ,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,SAAS,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,CAC5D,UAmBF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.querystringify = void 0;
|
|
4
|
+
function querystringify(obj) {
|
|
5
|
+
let result = "";
|
|
6
|
+
for (let [key, value] of Object.entries(obj)) {
|
|
7
|
+
if (value === undefined)
|
|
8
|
+
continue;
|
|
9
|
+
key = encodeURIComponent(key);
|
|
10
|
+
if (!Array.isArray(value)) {
|
|
11
|
+
if (value === null)
|
|
12
|
+
value = "";
|
|
13
|
+
else
|
|
14
|
+
value = encodeURIComponent(String(value));
|
|
15
|
+
result += `&${key}=${value}`;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
for (let item of value) {
|
|
19
|
+
if (item == null)
|
|
20
|
+
item = "";
|
|
21
|
+
else
|
|
22
|
+
item = encodeURIComponent(String(item));
|
|
23
|
+
result += `&${key}=${item}`;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return result.slice(1);
|
|
28
|
+
}
|
|
29
|
+
exports.querystringify = querystringify;
|
|
30
|
+
//# sourceMappingURL=querystringify.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"querystringify.web.js","sourceRoot":"","sources":["../../src/lib/querystringify.web.ts"],"names":[],"mappings":";;;AAAA,SAAgB,cAAc,CAC5B,GAQC;IAED,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC5C,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,IAAI,KAAK,KAAK,IAAI;gBAAE,KAAK,GAAG,EAAE,CAAC;;gBAC1B,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;SAC9B;aAAM;YACL,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,IAAI,IAAI,IAAI;oBAAE,IAAI,GAAG,EAAE,CAAC;;oBACvB,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7C,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;aAC7B;SACF;KACF;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AA5BD,wCA4BC","sourcesContent":["export function querystringify(\n obj: Record<\n string,\n | string\n | number\n | boolean\n | null\n | undefined\n | readonly (string | number | boolean | null | undefined)[]\n >\n) {\n let result = \"\";\n for (let [key, value] of Object.entries(obj)) {\n if (value === undefined) continue;\n key = encodeURIComponent(key);\n if (!Array.isArray(value)) {\n if (value === null) value = \"\";\n else value = encodeURIComponent(String(value));\n result += `&${key}=${value}`;\n } else {\n for (let item of value) {\n if (item == null) item = \"\";\n else item = encodeURIComponent(String(item));\n result += `&${key}=${item}`;\n }\n }\n }\n return result.slice(1);\n}\n"]}
|
package/lib/request.d.ts
CHANGED
package/lib/request.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/lib/request.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/lib/request.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,gBAAgB,CAAC"}
|
package/lib/request.js
CHANGED
|
@@ -6,17 +6,20 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @packageDocumentation
|
|
8
8
|
* @internal
|
|
9
|
-
* @hidden
|
|
10
9
|
*/
|
|
11
10
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
11
|
if (k2 === undefined) k2 = k;
|
|
13
|
-
Object.
|
|
12
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
13
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
14
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(o, k2, desc);
|
|
14
17
|
}) : (function(o, m, k, k2) {
|
|
15
18
|
if (k2 === undefined) k2 = k;
|
|
16
19
|
o[k2] = m[k];
|
|
17
20
|
}));
|
|
18
21
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
-
for (var p in m) if (p !== "default" && !
|
|
22
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
23
|
};
|
|
21
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
25
|
__exportStar(require("./request.node"), exports);
|
package/lib/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/lib/request.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/lib/request.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;AAEH,iDAA+B","sourcesContent":["/**\n * Wrapper for the Node.js implementation of the HTTP(S) request function.\n *\n * In the future this module could conditionally provide VST support.\n *\n * @packageDocumentation\n * @internal\n */\n\nexport * from \"./request.node\";\n"]}
|
package/lib/request.node.d.ts
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
* @internal
|
|
6
|
-
* @hidden
|
|
7
6
|
*/
|
|
8
7
|
/// <reference types="node" />
|
|
9
8
|
import { AgentOptions, ClientRequest, IncomingMessage } from "http";
|
|
@@ -11,23 +10,21 @@ import { Headers, RequestInterceptors } from "../connection";
|
|
|
11
10
|
import { Errback } from "./errback";
|
|
12
11
|
/**
|
|
13
12
|
* @internal
|
|
14
|
-
* @hidden
|
|
15
13
|
*/
|
|
16
14
|
export interface ArangojsResponse extends IncomingMessage {
|
|
17
15
|
request: ClientRequest;
|
|
18
16
|
body?: any;
|
|
19
|
-
|
|
17
|
+
arangojsHostUrl?: string;
|
|
20
18
|
}
|
|
21
19
|
/**
|
|
22
20
|
* @internal
|
|
23
|
-
* @hidden
|
|
24
21
|
*/
|
|
25
22
|
export interface ArangojsError extends Error {
|
|
26
23
|
request: ClientRequest;
|
|
24
|
+
toJSON: () => Record<string, any>;
|
|
27
25
|
}
|
|
28
26
|
/**
|
|
29
27
|
* @internal
|
|
30
|
-
* @hidden
|
|
31
28
|
*/
|
|
32
29
|
export declare type RequestOptions = {
|
|
33
30
|
method: string;
|
|
@@ -42,7 +39,6 @@ export declare type RequestOptions = {
|
|
|
42
39
|
};
|
|
43
40
|
/**
|
|
44
41
|
* @internal
|
|
45
|
-
* @hidden
|
|
46
42
|
*/
|
|
47
43
|
export declare type RequestFunction = {
|
|
48
44
|
(options: RequestOptions, cb: Errback<ArangojsResponse>): void;
|
|
@@ -50,7 +46,6 @@ export declare type RequestFunction = {
|
|
|
50
46
|
};
|
|
51
47
|
/**
|
|
52
48
|
* @internal
|
|
53
|
-
* @hidden
|
|
54
49
|
*/
|
|
55
50
|
export declare const isBrowser = false;
|
|
56
51
|
/**
|
|
@@ -61,7 +56,6 @@ export declare const isBrowser = false;
|
|
|
61
56
|
* @param agent - Agent to use for performing requests.
|
|
62
57
|
*
|
|
63
58
|
* @internal
|
|
64
|
-
* @hidden
|
|
65
59
|
*/
|
|
66
60
|
export declare function createRequest(baseUrl: string, agentOptions: AgentOptions & RequestInterceptors, agent?: any): RequestFunction;
|
|
67
61
|
//# sourceMappingURL=request.node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.node.d.ts","sourceRoot":"","sources":["../../src/lib/request.node.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"request.node.d.ts","sourceRoot":"","sources":["../../src/lib/request.node.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAEL,YAAY,EACZ,aAAa,EAEb,eAAe,EAEhB,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,oBAAY,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;IACV,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,oBAAY,eAAe,GAAG;IAC5B,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,QAAQ,CAAC;AAE/B;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,YAAY,GAAG,mBAAmB,EAChD,KAAK,CAAC,EAAE,GAAG,GACV,eAAe,CAwHjB"}
|
package/lib/request.node.js
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @packageDocumentation
|
|
6
6
|
* @internal
|
|
7
|
-
* @hidden
|
|
8
7
|
*/
|
|
9
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
9
|
exports.createRequest = exports.isBrowser = void 0;
|
|
@@ -16,7 +15,17 @@ const joinPath_1 = require("./joinPath");
|
|
|
16
15
|
const omit_1 = require("./omit");
|
|
17
16
|
/**
|
|
18
17
|
* @internal
|
|
19
|
-
|
|
18
|
+
*/
|
|
19
|
+
function systemErrorToJSON() {
|
|
20
|
+
return {
|
|
21
|
+
error: true,
|
|
22
|
+
errno: this.errno,
|
|
23
|
+
code: this.code,
|
|
24
|
+
syscall: this.syscall,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @internal
|
|
20
29
|
*/
|
|
21
30
|
exports.isBrowser = false;
|
|
22
31
|
/**
|
|
@@ -27,10 +36,9 @@ exports.isBrowser = false;
|
|
|
27
36
|
* @param agent - Agent to use for performing requests.
|
|
28
37
|
*
|
|
29
38
|
* @internal
|
|
30
|
-
* @hidden
|
|
31
39
|
*/
|
|
32
40
|
function createRequest(baseUrl, agentOptions, agent) {
|
|
33
|
-
const baseUrlParts = url_1.parse(baseUrl);
|
|
41
|
+
const baseUrlParts = (0, url_1.parse)(baseUrl);
|
|
34
42
|
if (!baseUrlParts.protocol) {
|
|
35
43
|
throw new Error(`Invalid URL (no protocol): ${baseUrl}`);
|
|
36
44
|
}
|
|
@@ -57,7 +65,7 @@ function createRequest(baseUrl, agentOptions, agent) {
|
|
|
57
65
|
throw new Error(`Invalid URL (empty unix socket path): ${baseUrl}`);
|
|
58
66
|
}
|
|
59
67
|
if (!agent) {
|
|
60
|
-
const opts = omit_1.omit(agentOptions, ["before", "after"]);
|
|
68
|
+
const opts = (0, omit_1.omit)(agentOptions, ["before", "after"]);
|
|
61
69
|
if (isTls)
|
|
62
70
|
agent = new https_1.Agent(opts);
|
|
63
71
|
else
|
|
@@ -66,7 +74,7 @@ function createRequest(baseUrl, agentOptions, agent) {
|
|
|
66
74
|
return Object.assign(function request({ method, url, headers, body, timeout }, callback) {
|
|
67
75
|
let path = baseUrlParts.pathname
|
|
68
76
|
? url.pathname
|
|
69
|
-
? joinPath_1.joinPath(baseUrlParts.pathname, url.pathname)
|
|
77
|
+
? (0, joinPath_1.joinPath)(baseUrlParts.pathname, url.pathname)
|
|
70
78
|
: baseUrlParts.pathname
|
|
71
79
|
: url.pathname;
|
|
72
80
|
const search = url.search
|
|
@@ -80,7 +88,7 @@ function createRequest(baseUrl, agentOptions, agent) {
|
|
|
80
88
|
headers["content-length"] = String(Buffer.byteLength(body));
|
|
81
89
|
}
|
|
82
90
|
if (!headers["authorization"]) {
|
|
83
|
-
headers["authorization"] = `Basic ${btoa_1.
|
|
91
|
+
headers["authorization"] = `Basic ${(0, btoa_1.base64Encode)(baseUrlParts.auth || "root:")}`;
|
|
84
92
|
}
|
|
85
93
|
const options = { path, method, headers, agent };
|
|
86
94
|
if (socketPath) {
|
|
@@ -117,6 +125,7 @@ function createRequest(baseUrl, agentOptions, agent) {
|
|
|
117
125
|
req.on("error", (err) => {
|
|
118
126
|
const error = err;
|
|
119
127
|
error.request = req;
|
|
128
|
+
error.toJSON = systemErrorToJSON;
|
|
120
129
|
if (called)
|
|
121
130
|
return;
|
|
122
131
|
called = true;
|
package/lib/request.node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.node.js","sourceRoot":"","sources":["../../src/lib/request.node.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Node.js implementation of the HTTP(S) request function.\n *\n * @packageDocumentation\n * @internal\n * @hidden\n */\n\nimport {\n Agent as HttpAgent,\n AgentOptions,\n ClientRequest,\n ClientRequestArgs,\n IncomingMessage,\n request as httpRequest,\n} from \"http\";\nimport { Agent as HttpsAgent, request as httpsRequest } from \"https\";\nimport { parse as parseUrl, UrlWithStringQuery } from \"url\";\nimport { Headers, RequestInterceptors } from \"../connection\";\nimport { btoa } from \"./btoa\";\nimport { Errback } from \"./errback\";\nimport { joinPath } from \"./joinPath\";\nimport { omit } from \"./omit\";\n\n/**\n * @internal\n * @hidden\n */\nexport interface ArangojsResponse extends IncomingMessage {\n request: ClientRequest;\n body?: any;\n arangojsHostId?: number;\n}\n\n/**\n * @internal\n * @hidden\n */\nexport interface ArangojsError extends Error {\n request: ClientRequest;\n}\n\n/**\n * @internal\n * @hidden\n */\nexport type RequestOptions = {\n method: string;\n url: { pathname: string; search?: string };\n headers: Headers;\n body: any;\n expectBinary: boolean;\n timeout?: number;\n};\n\n/**\n * @internal\n * @hidden\n */\nexport type RequestFunction = {\n (options: RequestOptions, cb: Errback<ArangojsResponse>): void;\n close?: () => void;\n};\n\n/**\n * @internal\n * @hidden\n */\nexport const isBrowser = false;\n\n/**\n * Create a function for performing requests against a given host.\n *\n * @param baseUrl - Base URL of the host, i.e. protocol, port and domain name.\n * @param agentOptions - Options to use for creating the agent.\n * @param agent - Agent to use for performing requests.\n *\n * @internal\n * @hidden\n */\nexport function createRequest(\n baseUrl: string,\n agentOptions: AgentOptions & RequestInterceptors,\n agent?: any\n): RequestFunction {\n const baseUrlParts = parseUrl(baseUrl) as Partial<UrlWithStringQuery>;\n if (!baseUrlParts.protocol) {\n throw new Error(`Invalid URL (no protocol): ${baseUrl}`);\n }\n const isTls = baseUrlParts.protocol === \"https:\";\n let socketPath: string | undefined;\n if (baseUrl.startsWith(`${baseUrlParts.protocol}//unix:`)) {\n if (!baseUrlParts.pathname) {\n throw new Error(\n `Unix socket URL must be in the format http://unix:/socket/path, http+unix:///socket/path or unix:///socket/path not ${baseUrl}`\n );\n }\n const i = baseUrlParts.pathname.indexOf(\":\");\n if (i === -1) {\n socketPath = baseUrlParts.pathname;\n delete baseUrlParts.pathname;\n } else {\n socketPath = baseUrlParts.pathname.slice(0, i);\n baseUrlParts.pathname = baseUrlParts.pathname.slice(i + 1);\n if (baseUrlParts.pathname === \"\") {\n delete baseUrlParts.pathname;\n }\n }\n }\n if (socketPath && !socketPath.replace(/\\//g, \"\").length) {\n throw new Error(`Invalid URL (empty unix socket path): ${baseUrl}`);\n }\n if (!agent) {\n const opts = omit(agentOptions, [\"before\", \"after\"]);\n if (isTls) agent = new HttpsAgent(opts);\n else agent = new HttpAgent(opts);\n }\n return Object.assign(\n function request(\n { method, url, headers, body, timeout }: RequestOptions,\n callback: Errback<ArangojsResponse>\n ) {\n let path = baseUrlParts.pathname\n ? url.pathname\n ? joinPath(baseUrlParts.pathname, url.pathname)\n : baseUrlParts.pathname\n : url.pathname;\n const search = url.search\n ? baseUrlParts.search\n ? `${baseUrlParts.search}&${url.search.slice(1)}`\n : url.search\n : baseUrlParts.search;\n if (search) path += search;\n if (body && !headers[\"content-length\"]) {\n headers[\"content-length\"] = String(Buffer.byteLength(body));\n }\n if (!headers[\"authorization\"]) {\n headers[\"authorization\"] = `Basic ${btoa(\n baseUrlParts.auth || \"root:\"\n )}`;\n }\n const options: ClientRequestArgs = { path, method, headers, agent };\n if (socketPath) {\n options.socketPath = socketPath;\n } else {\n options.host = baseUrlParts.hostname;\n options.port = baseUrlParts.port;\n }\n let called = false;\n try {\n const req = (isTls ? httpsRequest : httpRequest)(\n options,\n (res: IncomingMessage) => {\n const data: Buffer[] = [];\n res.on(\"data\", (chunk) => data.push(chunk as Buffer));\n res.on(\"end\", () => {\n const response = res as ArangojsResponse;\n response.request = req;\n response.body = Buffer.concat(data);\n if (called) return;\n called = true;\n if (agentOptions.after) {\n agentOptions.after(null, response);\n }\n callback(null, response);\n });\n }\n );\n if (timeout) {\n req.setTimeout(timeout);\n }\n req.on(\"timeout\", () => {\n req.abort();\n });\n req.on(\"error\", (err) => {\n const error = err as ArangojsError;\n error.request = req;\n if (called) return;\n called = true;\n if (agentOptions.after) {\n agentOptions.after(error);\n }\n callback(error);\n });\n if (body) req.write(body);\n if (agentOptions.before) {\n agentOptions.before(req);\n }\n req.end();\n } catch (e) {\n if (called) return;\n called = true;\n setTimeout(() => {\n callback(e);\n }, 0);\n }\n },\n {\n close() {\n agent.destroy();\n },\n }\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"request.node.js","sourceRoot":"","sources":["../../src/lib/request.node.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Node.js implementation of the HTTP(S) request function.\n *\n * @packageDocumentation\n * @internal\n */\n\nimport {\n Agent as HttpAgent,\n AgentOptions,\n ClientRequest,\n ClientRequestArgs,\n IncomingMessage,\n request as httpRequest,\n} from \"http\";\nimport { Agent as HttpsAgent, request as httpsRequest } from \"https\";\nimport { parse as parseUrl, UrlWithStringQuery } from \"url\";\nimport { Headers, RequestInterceptors } from \"../connection\";\nimport { SystemError } from \"../error\";\nimport { base64Encode } from \"./btoa\";\nimport { Errback } from \"./errback\";\nimport { joinPath } from \"./joinPath\";\nimport { omit } from \"./omit\";\n\n/**\n * @internal\n */\nfunction systemErrorToJSON(this: SystemError) {\n return {\n error: true,\n errno: this.errno,\n code: this.code,\n syscall: this.syscall,\n };\n}\n\n/**\n * @internal\n */\nexport interface ArangojsResponse extends IncomingMessage {\n request: ClientRequest;\n body?: any;\n arangojsHostUrl?: string;\n}\n\n/**\n * @internal\n */\nexport interface ArangojsError extends Error {\n request: ClientRequest;\n toJSON: () => Record<string, any>;\n}\n\n/**\n * @internal\n */\nexport type RequestOptions = {\n method: string;\n url: { pathname: string; search?: string };\n headers: Headers;\n body: any;\n expectBinary: boolean;\n timeout?: number;\n};\n\n/**\n * @internal\n */\nexport type RequestFunction = {\n (options: RequestOptions, cb: Errback<ArangojsResponse>): void;\n close?: () => void;\n};\n\n/**\n * @internal\n */\nexport const isBrowser = false;\n\n/**\n * Create a function for performing requests against a given host.\n *\n * @param baseUrl - Base URL of the host, i.e. protocol, port and domain name.\n * @param agentOptions - Options to use for creating the agent.\n * @param agent - Agent to use for performing requests.\n *\n * @internal\n */\nexport function createRequest(\n baseUrl: string,\n agentOptions: AgentOptions & RequestInterceptors,\n agent?: any\n): RequestFunction {\n const baseUrlParts = parseUrl(baseUrl) as Partial<UrlWithStringQuery>;\n if (!baseUrlParts.protocol) {\n throw new Error(`Invalid URL (no protocol): ${baseUrl}`);\n }\n const isTls = baseUrlParts.protocol === \"https:\";\n let socketPath: string | undefined;\n if (baseUrl.startsWith(`${baseUrlParts.protocol}//unix:`)) {\n if (!baseUrlParts.pathname) {\n throw new Error(\n `Unix socket URL must be in the format http://unix:/socket/path, http+unix:///socket/path or unix:///socket/path not ${baseUrl}`\n );\n }\n const i = baseUrlParts.pathname.indexOf(\":\");\n if (i === -1) {\n socketPath = baseUrlParts.pathname;\n delete baseUrlParts.pathname;\n } else {\n socketPath = baseUrlParts.pathname.slice(0, i);\n baseUrlParts.pathname = baseUrlParts.pathname.slice(i + 1);\n if (baseUrlParts.pathname === \"\") {\n delete baseUrlParts.pathname;\n }\n }\n }\n if (socketPath && !socketPath.replace(/\\//g, \"\").length) {\n throw new Error(`Invalid URL (empty unix socket path): ${baseUrl}`);\n }\n if (!agent) {\n const opts = omit(agentOptions, [\"before\", \"after\"]);\n if (isTls) agent = new HttpsAgent(opts);\n else agent = new HttpAgent(opts);\n }\n return Object.assign(\n function request(\n { method, url, headers, body, timeout }: RequestOptions,\n callback: Errback<ArangojsResponse>\n ) {\n let path = baseUrlParts.pathname\n ? url.pathname\n ? joinPath(baseUrlParts.pathname, url.pathname)\n : baseUrlParts.pathname\n : url.pathname;\n const search = url.search\n ? baseUrlParts.search\n ? `${baseUrlParts.search}&${url.search.slice(1)}`\n : url.search\n : baseUrlParts.search;\n if (search) path += search;\n if (body && !headers[\"content-length\"]) {\n headers[\"content-length\"] = String(Buffer.byteLength(body));\n }\n if (!headers[\"authorization\"]) {\n headers[\"authorization\"] = `Basic ${base64Encode(\n baseUrlParts.auth || \"root:\"\n )}`;\n }\n const options: ClientRequestArgs = { path, method, headers, agent };\n if (socketPath) {\n options.socketPath = socketPath;\n } else {\n options.host = baseUrlParts.hostname;\n options.port = baseUrlParts.port;\n }\n let called = false;\n try {\n const req = (isTls ? httpsRequest : httpRequest)(\n options,\n (res: IncomingMessage) => {\n const data: Buffer[] = [];\n res.on(\"data\", (chunk) => data.push(chunk as Buffer));\n res.on(\"end\", () => {\n const response = res as ArangojsResponse;\n response.request = req;\n response.body = Buffer.concat(data);\n if (called) return;\n called = true;\n if (agentOptions.after) {\n agentOptions.after(null, response);\n }\n callback(null, response);\n });\n }\n );\n if (timeout) {\n req.setTimeout(timeout);\n }\n req.on(\"timeout\", () => {\n req.abort();\n });\n req.on(\"error\", (err) => {\n const error = err as ArangojsError;\n error.request = req;\n error.toJSON = systemErrorToJSON;\n if (called) return;\n called = true;\n if (agentOptions.after) {\n agentOptions.after(error);\n }\n callback(error);\n });\n if (body) req.write(body);\n if (agentOptions.before) {\n agentOptions.before(req);\n }\n req.end();\n } catch (e: any) {\n if (called) return;\n called = true;\n setTimeout(() => {\n callback(e);\n }, 0);\n }\n },\n {\n close() {\n agent.destroy();\n },\n }\n );\n}\n"]}
|
package/lib/request.web.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
/// <reference lib="dom" />
|
|
1
2
|
/**
|
|
2
3
|
* Node.js implementation of the HTTP(S) request function.
|
|
3
4
|
*
|
|
4
5
|
* @packageDocumentation
|
|
5
6
|
* @internal
|
|
6
|
-
* @hidden
|
|
7
7
|
*/
|
|
8
8
|
import { RequestInterceptors, XhrOptions } from "../connection";
|
|
9
9
|
import { Errback } from "./errback";
|
|
@@ -19,7 +19,6 @@ export declare const isBrowser = true;
|
|
|
19
19
|
* @param agentOptions
|
|
20
20
|
*
|
|
21
21
|
* @internal
|
|
22
|
-
* @hidden
|
|
23
22
|
*/
|
|
24
|
-
export declare function createRequest(baseUrl: string, agentOptions: XhrOptions & RequestInterceptors): ({ method, url, headers, body, timeout, expectBinary }: RequestOptions, cb: Errback<ArangojsResponse>) => void;
|
|
23
|
+
export declare function createRequest(baseUrl: string, agentOptions: XhrOptions & RequestInterceptors): ({ method, url: reqUrl, headers, body, timeout, expectBinary, }: RequestOptions, cb: Errback<ArangojsResponse>) => void;
|
|
25
24
|
//# sourceMappingURL=request.web.d.ts.map
|
package/lib/request.web.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.web.d.ts","sourceRoot":"","sources":["../../src/lib/request.web.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request.web.d.ts","sourceRoot":"","sources":["../../src/lib/request.web.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAEL,gBAAgB,EAChB,cAAc,EACf,MAAM,gBAAgB,CAAC;AAGxB,eAAO,MAAM,SAAS,OAAO,CAAC;AAY9B;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,UAAU,GAAG,mBAAmB,oEAezC,cAAc,MACb,QAAQ,gBAAgB,CAAC,UAoDhC"}
|
package/lib/request.web.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
* Node.js implementation of the HTTP(S) request function.
|
|
4
|
-
*
|
|
5
|
-
* @packageDocumentation
|
|
6
|
-
* @internal
|
|
7
|
-
* @hidden
|
|
8
|
-
*/
|
|
2
|
+
/// <reference lib="dom" />
|
|
9
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
4
|
exports.createRequest = exports.isBrowser = void 0;
|
|
11
|
-
const url_1 = require("url");
|
|
12
5
|
const btoa_1 = require("./btoa");
|
|
13
|
-
const joinPath_1 = require("./joinPath");
|
|
14
6
|
const omit_1 = require("./omit");
|
|
15
7
|
const xhr_1 = require("./xhr");
|
|
16
8
|
exports.isBrowser = true;
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
function errorToJSON() {
|
|
13
|
+
return {
|
|
14
|
+
error: true,
|
|
15
|
+
message: this.message,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
17
18
|
/**
|
|
18
19
|
* Create a function for performing requests against a given host.
|
|
19
20
|
*
|
|
@@ -24,38 +25,33 @@ exports.isBrowser = true;
|
|
|
24
25
|
* @param agentOptions
|
|
25
26
|
*
|
|
26
27
|
* @internal
|
|
27
|
-
* @hidden
|
|
28
28
|
*/
|
|
29
29
|
function createRequest(baseUrl, agentOptions) {
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
? `${baseUrlParts.search}&${url.search.slice(1)}`
|
|
43
|
-
: url.search
|
|
44
|
-
: baseUrlParts.search,
|
|
45
|
-
};
|
|
30
|
+
const base = new URL(baseUrl);
|
|
31
|
+
const auth = (0, btoa_1.base64Encode)(`${base.username || "root"}:${base.password}`);
|
|
32
|
+
base.username = "";
|
|
33
|
+
base.password = "";
|
|
34
|
+
const options = (0, omit_1.omit)(agentOptions, ["maxSockets"]);
|
|
35
|
+
return function request({ method, url: reqUrl, headers, body, timeout, expectBinary, }, cb) {
|
|
36
|
+
const url = new URL(reqUrl.pathname, base);
|
|
37
|
+
if (base.search || reqUrl.search) {
|
|
38
|
+
url.search = reqUrl.search
|
|
39
|
+
? `${base.search}&${reqUrl.search.slice(1)}`
|
|
40
|
+
: base.search;
|
|
41
|
+
}
|
|
46
42
|
if (!headers["authorization"]) {
|
|
47
|
-
headers["authorization"] = `Basic ${
|
|
43
|
+
headers["authorization"] = `Basic ${auth}`;
|
|
48
44
|
}
|
|
49
45
|
let callback = (err, res) => {
|
|
50
46
|
callback = () => undefined;
|
|
51
47
|
cb(err, res);
|
|
52
48
|
};
|
|
53
|
-
const req = xhr_1.default({
|
|
49
|
+
const req = (0, xhr_1.default)({
|
|
54
50
|
useXDR: true,
|
|
55
51
|
withCredentials: true,
|
|
56
52
|
...options,
|
|
57
53
|
responseType: expectBinary ? "blob" : "text",
|
|
58
|
-
url:
|
|
54
|
+
url: String(url),
|
|
59
55
|
body,
|
|
60
56
|
method,
|
|
61
57
|
headers,
|
|
@@ -74,6 +70,7 @@ function createRequest(baseUrl, agentOptions) {
|
|
|
74
70
|
else {
|
|
75
71
|
const error = err;
|
|
76
72
|
error.request = req;
|
|
73
|
+
error.toJSON = errorToJSON;
|
|
77
74
|
if (options.after) {
|
|
78
75
|
options.after(error);
|
|
79
76
|
}
|
package/lib/request.web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.web.js","sourceRoot":"","sources":["../../src/lib/request.web.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"request.web.js","sourceRoot":"","sources":["../../src/lib/request.web.ts"],"names":[],"mappings":"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","sourcesContent":["/// <reference lib=\"dom\" />\n\n/**\n * Node.js implementation of the HTTP(S) request function.\n *\n * @packageDocumentation\n * @internal\n */\n\nimport { RequestInterceptors, XhrOptions } from \"../connection\";\nimport { base64Encode } from \"./btoa\";\nimport { Errback } from \"./errback\";\nimport { omit } from \"./omit\";\nimport {\n ArangojsError,\n ArangojsResponse,\n RequestOptions,\n} from \"./request.node\";\nimport xhr from \"./xhr\";\n\nexport const isBrowser = true;\n\n/**\n * @internal\n */\nfunction errorToJSON(this: Error) {\n return {\n error: true,\n message: this.message,\n };\n}\n\n/**\n * Create a function for performing requests against a given host.\n *\n * @param baseUrl - Base URL of the host, i.e. protocol, port and domain name.\n * @param agentOptions - Options to use for performing requests.\n *\n * @param baseUrl\n * @param agentOptions\n *\n * @internal\n */\nexport function createRequest(\n baseUrl: string,\n agentOptions: XhrOptions & RequestInterceptors\n) {\n const base = new URL(baseUrl);\n const auth = base64Encode(`${base.username || \"root\"}:${base.password}`);\n base.username = \"\";\n base.password = \"\";\n const options = omit(agentOptions, [\"maxSockets\"]);\n return function request(\n {\n method,\n url: reqUrl,\n headers,\n body,\n timeout,\n expectBinary,\n }: RequestOptions,\n cb: Errback<ArangojsResponse>\n ) {\n const url = new URL(reqUrl.pathname, base);\n if (base.search || reqUrl.search) {\n url.search = reqUrl.search\n ? `${base.search}&${reqUrl.search.slice(1)}`\n : base.search;\n }\n if (!headers[\"authorization\"]) {\n headers[\"authorization\"] = `Basic ${auth}`;\n }\n\n let callback: Errback<ArangojsResponse> = (err, res) => {\n callback = () => undefined;\n cb(err, res);\n };\n const req = xhr(\n {\n useXDR: true,\n withCredentials: true,\n ...options,\n responseType: expectBinary ? \"blob\" : \"text\",\n url: String(url),\n body,\n method,\n headers,\n timeout,\n },\n (err: Error | null, res?: any) => {\n if (!err) {\n const response = res as ArangojsResponse;\n response.request = req;\n if (!response.body) response.body = \"\";\n if (options.after) {\n options.after(null, response);\n }\n callback(null, response as ArangojsResponse);\n } else {\n const error = err as ArangojsError;\n error.request = req;\n error.toJSON = errorToJSON;\n if (options.after) {\n options.after(error);\n }\n callback(error);\n }\n }\n );\n if (options.before) {\n options.before(req);\n }\n };\n}\n"]}
|
package/lib/xhr.d.ts
CHANGED
|
@@ -3,14 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
* @internal
|
|
6
|
-
* @hidden
|
|
7
6
|
*/
|
|
8
7
|
import { ClientRequest } from "http";
|
|
9
8
|
import { Errback } from "./errback";
|
|
10
|
-
declare const _default: (options: any, cb: Errback<any>) => ClientRequest;
|
|
11
9
|
/**
|
|
12
10
|
* @internal
|
|
13
|
-
* @hidden
|
|
14
11
|
*/
|
|
12
|
+
declare const _default: (options: any, cb: Errback<any>) => ClientRequest;
|
|
15
13
|
export default _default;
|
|
16
14
|
//# sourceMappingURL=xhr.d.ts.map
|
package/lib/xhr.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xhr.d.ts","sourceRoot":"","sources":["../../src/lib/xhr.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"xhr.d.ts","sourceRoot":"","sources":["../../src/lib/xhr.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;GAEG;kCAGQ,GAAG,MACR,QAAQ,GAAG,CAAC,KACb,aAAa;AAHlB,wBAGmB"}
|
package/lib/xhr.js
CHANGED
|
@@ -4,12 +4,10 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @packageDocumentation
|
|
6
6
|
* @internal
|
|
7
|
-
* @hidden
|
|
8
7
|
*/
|
|
9
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
9
|
/**
|
|
11
10
|
* @internal
|
|
12
|
-
* @hidden
|
|
13
11
|
*/
|
|
14
12
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
15
13
|
exports.default = require("xhr");
|
package/lib/xhr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xhr.js","sourceRoot":"","sources":["../../src/lib/xhr.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"xhr.js","sourceRoot":"","sources":["../../src/lib/xhr.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAKH;;GAEG;AACH,8DAA8D;AAC9D,kBAAe,OAAO,CAAC,KAAK,CAGV,CAAC","sourcesContent":["/**\n * Wrapper around the `xhr` module for HTTP(S) requests in the browser.\n *\n * @packageDocumentation\n * @internal\n */\n\nimport { ClientRequest } from \"http\";\nimport { Errback } from \"./errback\";\n\n/**\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nexport default require(\"xhr\") as (\n options: any,\n cb: Errback<any>\n) => ClientRequest;\n"]}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arangojs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0",
|
|
4
4
|
"engines": {
|
|
5
|
-
"node": ">=
|
|
5
|
+
"node": ">=14"
|
|
6
6
|
},
|
|
7
7
|
"license": "Apache-2.0",
|
|
8
8
|
"description": "The official ArangoDB JavaScript driver.",
|
|
@@ -33,7 +33,6 @@
|
|
|
33
33
|
"rest"
|
|
34
34
|
],
|
|
35
35
|
"main": "index.js",
|
|
36
|
-
"typings": "arangojs.d.ts",
|
|
37
36
|
"browser": {
|
|
38
37
|
"./lib/btoa.js": "./lib/btoa.web.js",
|
|
39
38
|
"./lib/bytelength.js": "./lib/bytelength.web.js",
|
|
@@ -46,9 +45,9 @@
|
|
|
46
45
|
"!test/**"
|
|
47
46
|
],
|
|
48
47
|
"dependencies": {
|
|
49
|
-
"@types/node": ">=
|
|
50
|
-
"
|
|
51
|
-
"
|
|
48
|
+
"@types/node": ">=14",
|
|
49
|
+
"multi-part": "^4.0.0",
|
|
50
|
+
"path-browserify": "^1.0.1",
|
|
52
51
|
"x3-linkedlist": "1.2.0",
|
|
53
52
|
"xhr": "^2.4.1"
|
|
54
53
|
}
|
package/route.d.ts
CHANGED
|
@@ -19,7 +19,6 @@ export declare class Route {
|
|
|
19
19
|
protected _headers: Headers;
|
|
20
20
|
/**
|
|
21
21
|
* @internal
|
|
22
|
-
* @hidden
|
|
23
22
|
*/
|
|
24
23
|
constructor(db: Database, path?: string, headers?: Headers);
|
|
25
24
|
/**
|
|
@@ -57,7 +56,7 @@ export declare class Route {
|
|
|
57
56
|
* });
|
|
58
57
|
* ```
|
|
59
58
|
*/
|
|
60
|
-
request(options?: RequestOptions): Promise<
|
|
59
|
+
request(options?: RequestOptions): Promise<any>;
|
|
61
60
|
/**
|
|
62
61
|
* Performs a DELETE request against the given path relative to this route
|
|
63
62
|
* and returns the server response.
|
package/route.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../src/route.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD;;GAEG;AACH,qBAAa,KAAK;IAChB,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC;IACxB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE5B
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../src/route.ts"],"names":[],"mappings":"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"}
|
package/route.js
CHANGED
|
@@ -7,7 +7,6 @@ exports.Route = void 0;
|
|
|
7
7
|
class Route {
|
|
8
8
|
/**
|
|
9
9
|
* @internal
|
|
10
|
-
* @hidden
|
|
11
10
|
*/
|
|
12
11
|
constructor(db, path = "", headers = {}) {
|
|
13
12
|
if (!path)
|
|
@@ -73,7 +72,7 @@ class Route {
|
|
|
73
72
|
opts.basePath = this._path;
|
|
74
73
|
opts.headers = { ...this._headers, ...opts.headers };
|
|
75
74
|
opts.method = opts.method ? opts.method.toUpperCase() : "GET";
|
|
76
|
-
return this._db.request(opts);
|
|
75
|
+
return this._db.request(opts, false);
|
|
77
76
|
}
|
|
78
77
|
delete(...args) {
|
|
79
78
|
const path = typeof args[0] === "string" ? args.shift() : undefined;
|