rqlite-js 2.6.0 → 3.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.
Files changed (98) hide show
  1. package/README.md +207 -29
  2. package/dist/index.cjs +904 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +329 -0
  5. package/dist/index.d.ts +329 -0
  6. package/dist/index.js +865 -0
  7. package/dist/index.js.map +1 -0
  8. package/docs/MIGRATION-v2-to-v3.md +71 -0
  9. package/package.json +56 -35
  10. package/src/api/backup/index.ts +69 -0
  11. package/src/api/backup-formats.ts +8 -0
  12. package/src/api/client/index.ts +97 -0
  13. package/src/api/consistency-levels.ts +10 -0
  14. package/src/api/data/index.ts +87 -0
  15. package/src/api/paths.ts +13 -0
  16. package/src/api/query-params.ts +15 -0
  17. package/src/api/results/data-result-error.ts +41 -0
  18. package/src/api/results/data-result.ts +91 -0
  19. package/src/api/results/data-results.ts +91 -0
  20. package/src/api/results/index.ts +7 -0
  21. package/src/api/results/result-fields.ts +14 -0
  22. package/src/api/status/index.ts +53 -0
  23. package/src/http-request/auth-keys.ts +14 -0
  24. package/src/http-request/content-types.ts +4 -0
  25. package/src/http-request/errors.ts +17 -0
  26. package/src/http-request/http-headers.ts +19 -0
  27. package/src/http-request/http-methods.ts +12 -0
  28. package/src/http-request/index.ts +676 -0
  29. package/src/http-request/retryable.ts +41 -0
  30. package/src/index.ts +38 -0
  31. package/lib/api/backup/index.js +0 -72
  32. package/lib/api/backup/index.js.map +0 -1
  33. package/lib/api/backup/test.unit.js +0 -45
  34. package/lib/api/backup/test.unit.js.map +0 -1
  35. package/lib/api/backup-formats.js +0 -16
  36. package/lib/api/backup-formats.js.map +0 -1
  37. package/lib/api/client/index.js +0 -105
  38. package/lib/api/client/index.js.map +0 -1
  39. package/lib/api/client/test.unit.js +0 -53
  40. package/lib/api/client/test.unit.js.map +0 -1
  41. package/lib/api/consistency-levels.js +0 -30
  42. package/lib/api/consistency-levels.js.map +0 -1
  43. package/lib/api/data/index.js +0 -108
  44. package/lib/api/data/index.js.map +0 -1
  45. package/lib/api/data/test.unit.js +0 -98
  46. package/lib/api/data/test.unit.js.map +0 -1
  47. package/lib/api/paths.js +0 -33
  48. package/lib/api/paths.js.map +0 -1
  49. package/lib/api/query-params.js +0 -43
  50. package/lib/api/query-params.js.map +0 -1
  51. package/lib/api/results/data-result-error.js +0 -62
  52. package/lib/api/results/data-result-error.js.map +0 -1
  53. package/lib/api/results/data-result.js +0 -141
  54. package/lib/api/results/data-result.js.map +0 -1
  55. package/lib/api/results/data-results.js +0 -142
  56. package/lib/api/results/data-results.js.map +0 -1
  57. package/lib/api/results/index.js +0 -8
  58. package/lib/api/results/index.js.map +0 -1
  59. package/lib/api/results/result-fields.js +0 -47
  60. package/lib/api/results/result-fields.js.map +0 -1
  61. package/lib/api/results/test.unit.js +0 -238
  62. package/lib/api/results/test.unit.js.map +0 -1
  63. package/lib/api/status/index.js +0 -67
  64. package/lib/api/status/index.js.map +0 -1
  65. package/lib/api/status/test.unit.js +0 -57
  66. package/lib/api/status/test.unit.js.map +0 -1
  67. package/lib/http-request/auth-keys.js +0 -15
  68. package/lib/http-request/auth-keys.js.map +0 -1
  69. package/lib/http-request/content-types.js +0 -5
  70. package/lib/http-request/content-types.js.map +0 -1
  71. package/lib/http-request/errors.js +0 -17
  72. package/lib/http-request/errors.js.map +0 -1
  73. package/lib/http-request/http-headers.js +0 -20
  74. package/lib/http-request/http-headers.js.map +0 -1
  75. package/lib/http-request/http-methods.js +0 -40
  76. package/lib/http-request/http-methods.js.map +0 -1
  77. package/lib/http-request/index.js +0 -764
  78. package/lib/http-request/index.js.map +0 -1
  79. package/lib/http-request/retryable.js +0 -42
  80. package/lib/http-request/retryable.js.map +0 -1
  81. package/lib/http-request/test.unit.js +0 -560
  82. package/lib/http-request/test.unit.js.map +0 -1
  83. package/lib/index.js +0 -39
  84. package/lib/index.js.map +0 -1
  85. package/lib/test/api-data-execute-nock.js +0 -142
  86. package/lib/test/api-data-execute-nock.js.map +0 -1
  87. package/lib/test/api-data-query-nock.js +0 -210
  88. package/lib/test/api-data-query-nock.js.map +0 -1
  89. package/lib/test/backups/backup-nock.js +0 -29
  90. package/lib/test/backups/backup-nock.js.map +0 -1
  91. package/lib/test/backups/restore-nock.js +0 -30
  92. package/lib/test/backups/restore-nock.js.map +0 -1
  93. package/lib/test/env.js +0 -15
  94. package/lib/test/env.js.map +0 -1
  95. package/lib/test/unit/index.unit.js +0 -27
  96. package/lib/test/unit/index.unit.js.map +0 -1
  97. package/lib/test.integration.js +0 -238
  98. package/lib/test.integration.js.map +0 -1
package/src/index.ts ADDED
@@ -0,0 +1,38 @@
1
+ /**
2
+ * RQLite JS client which export all of the api clients
3
+ * @module rqlite-js
4
+ * @see https://rqlite.io/docs/api/api/
5
+ */
6
+ import DataApiClient from './api/data/index.js'
7
+ import BackupApiClient from './api/backup/index.js'
8
+ import StatusApiClient from './api/status/index.js'
9
+
10
+ export {
11
+ DataApiClient,
12
+ BackupApiClient,
13
+ StatusApiClient,
14
+ }
15
+
16
+ export {
17
+ PATH_QUERY,
18
+ PATH_EXECUTE,
19
+ CONSISTENCY_LEVEL_NONE,
20
+ CONSISTENCY_LEVEL_STRONG,
21
+ CONSISTENCY_LEVEL_LINEARIZABLE,
22
+ CONSISTENCY_LEVEL_WEAK,
23
+ } from './api/data/index.js'
24
+
25
+ export {
26
+ PATH_BACKUP,
27
+ PATH_LOAD,
28
+ BACKUP_DATA_FORMAT_SQL,
29
+ BACKUP_DATA_FORMAT_DUMP,
30
+ } from './api/backup/index.js'
31
+
32
+ export { PATH_STATUS } from './api/status/index.js'
33
+
34
+ export default {
35
+ DataApiClient,
36
+ BackupApiClient,
37
+ StatusApiClient,
38
+ }
@@ -1,72 +0,0 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });Object.defineProperty(exports, "BACKUP_DATA_FORMAT_DUMP", { enumerable: true, get: function () {return _backupFormats.BACKUP_DATA_FORMAT_DUMP;} });Object.defineProperty(exports, "BACKUP_DATA_FORMAT_SQL", { enumerable: true, get: function () {return _backupFormats.BACKUP_DATA_FORMAT_SQL;} });Object.defineProperty(exports, "PATH_BACKUP", { enumerable: true, get: function () {return _paths.PATH_BACKUP;} });Object.defineProperty(exports, "PATH_LOAD", { enumerable: true, get: function () {return _paths.PATH_LOAD;} });exports.default = void 0;
2
-
3
-
4
-
5
-
6
- var _httpRequest = _interopRequireDefault(require("../../http-request"));
7
- var _contentTypes = require("../../http-request/content-types");
8
-
9
-
10
-
11
- var _httpHeaders = require("../../http-request/http-headers");
12
-
13
-
14
-
15
- var _paths = require("../paths");
16
- var _backupFormats = require("../backup-formats");
17
- var _queryParams = require("../query-params"); /**
18
- * Backup api client to perform RQLite back and load operations
19
- * @module api/backup
20
- * @see https://rqlite.io/docs/guides/backup/
21
- */
22
- /**
23
- * Backup api client to perform RQLite back up and load operations
24
- */
25
- class BackupApiClient extends _httpRequest.default {
26
- /**
27
- * Perform a SQL dump backup from the RQLite server
28
- * @param {String} [format=BACKUP_DATA_FORMAT_DUMP] The backup data format
29
- * @returns {Promise<*>} The response stream
30
- * @see https://rqlite.io/docs/guides/backup/
31
- * @see module:api/backup-formats
32
- */
33
- async backup(format = _backupFormats.BACKUP_DATA_FORMAT_DUMP) {
34
- return super.get({
35
- headers: {
36
- // Always sends application/octet-stream from the server in RQLite v4.x
37
- [_httpHeaders.HTTP_HEADER_ACCEPT]: _contentTypes.CONTENT_TYPE_APPLICATION_OCTET_STREAM
38
- },
39
- query: {
40
- [_queryParams.QUERY_PARAM_FMT]: format === _backupFormats.BACKUP_DATA_FORMAT_SQL ? format : undefined
41
- },
42
- json: false,
43
- stream: true,
44
- uri: _paths.PATH_BACKUP,
45
- useLeader: true
46
- });
47
- }
48
-
49
- /**
50
- * Perform a SQL restore by sending data the RQLite server
51
- * @param {Buffer|String} data The data to be loaded
52
- * @param {String} [format=BACKUP_DATA_FORMAT_SQL] The backup data format
53
- * @returns {Promise<*>} The response stream
54
- * @see https://rqlite.io/docs/guides/backup/
55
- * @see module:api/backup-formats
56
- */
57
- async load(data, format = _backupFormats.BACKUP_DATA_FORMAT_SQL) {
58
- return super.post({
59
- body: data,
60
- headers: {
61
- [_httpHeaders.HTTP_HEADER_CONTENT_TYPE]: format === _backupFormats.BACKUP_DATA_FORMAT_SQL ?
62
- _contentTypes.CONTENT_TYPE_TEXT_PLAIN :
63
- _contentTypes.CONTENT_TYPE_APPLICATION_OCTET_STREAM
64
- },
65
- json: false,
66
- stream: true,
67
- uri: _paths.PATH_LOAD,
68
- useLeader: true
69
- });
70
- }
71
- }exports.default = BackupApiClient;
72
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_httpRequest","_interopRequireDefault","require","_contentTypes","_httpHeaders","_paths","_backupFormats","_queryParams","BackupApiClient","HttpRequest","backup","format","BACKUP_DATA_FORMAT_DUMP","get","headers","HTTP_HEADER_ACCEPT","CONTENT_TYPE_APPLICATION_OCTET_STREAM","query","QUERY_PARAM_FMT","BACKUP_DATA_FORMAT_SQL","undefined","json","stream","uri","PATH_BACKUP","useLeader","load","data","post","body","HTTP_HEADER_CONTENT_TYPE","CONTENT_TYPE_TEXT_PLAIN","PATH_LOAD","exports","default"],"sources":["../../../es6/api/backup/index.js"],"sourcesContent":["/**\n * Backup api client to perform RQLite back and load operations\n * @module api/backup\n * @see https://rqlite.io/docs/guides/backup/\n */\nimport HttpRequest from '../../http-request'\nimport {\n CONTENT_TYPE_APPLICATION_OCTET_STREAM,\n CONTENT_TYPE_TEXT_PLAIN,\n} from '../../http-request/content-types'\nimport {\n HTTP_HEADER_ACCEPT,\n HTTP_HEADER_CONTENT_TYPE,\n} from '../../http-request/http-headers'\nimport { PATH_BACKUP, PATH_LOAD } from '../paths'\nimport { BACKUP_DATA_FORMAT_DUMP, BACKUP_DATA_FORMAT_SQL } from '../backup-formats'\nimport { QUERY_PARAM_FMT } from '../query-params'\n\nexport { PATH_LOAD, PATH_BACKUP } from '../paths'\nexport { BACKUP_DATA_FORMAT_SQL, BACKUP_DATA_FORMAT_DUMP } from '../backup-formats'\n\n/**\n * Backup api client to perform RQLite back up and load operations\n */\nexport default class BackupApiClient extends HttpRequest {\n /**\n * Perform a SQL dump backup from the RQLite server\n * @param {String} [format=BACKUP_DATA_FORMAT_DUMP] The backup data format\n * @returns {Promise<*>} The response stream\n * @see https://rqlite.io/docs/guides/backup/\n * @see module:api/backup-formats\n */\n async backup (format = BACKUP_DATA_FORMAT_DUMP) {\n return super.get({\n headers: {\n // Always sends application/octet-stream from the server in RQLite v4.x\n [HTTP_HEADER_ACCEPT]: CONTENT_TYPE_APPLICATION_OCTET_STREAM,\n },\n query: {\n [QUERY_PARAM_FMT]: format === BACKUP_DATA_FORMAT_SQL ? format : undefined,\n },\n json: false,\n stream: true,\n uri: PATH_BACKUP,\n useLeader: true,\n })\n }\n\n /**\n * Perform a SQL restore by sending data the RQLite server\n * @param {Buffer|String} data The data to be loaded\n * @param {String} [format=BACKUP_DATA_FORMAT_SQL] The backup data format\n * @returns {Promise<*>} The response stream\n * @see https://rqlite.io/docs/guides/backup/\n * @see module:api/backup-formats\n */\n async load (data, format = BACKUP_DATA_FORMAT_SQL) {\n return super.post({\n body: data,\n headers: {\n [HTTP_HEADER_CONTENT_TYPE]: format === BACKUP_DATA_FORMAT_SQL\n ? CONTENT_TYPE_TEXT_PLAIN\n : CONTENT_TYPE_APPLICATION_OCTET_STREAM,\n },\n json: false,\n stream: true,\n uri: PATH_LOAD,\n useLeader: true,\n })\n }\n}\n"],"mappings":";;;;;AAKA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;;;;AAIA,IAAAE,YAAA,GAAAF,OAAA;;;;AAIA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA,oBAAiD,CAhBjD;AACA;AACA;AACA;AACA;AAiBA;AACA;AACA;AACe,MAAMM,eAAe,SAASC,oBAAW,CAAC;EACvD;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,MAAMA,CAAEC,MAAM,GAAGC,sCAAuB,EAAE;IAC9C,OAAO,KAAK,CAACC,GAAG,CAAC;MACfC,OAAO,EAAE;QACP;QACA,CAACC,+BAAkB,GAAGC;MACxB,CAAC;MACDC,KAAK,EAAE;QACL,CAACC,4BAAe,GAAGP,MAAM,KAAKQ,qCAAsB,GAAGR,MAAM,GAAGS;MAClE,CAAC;MACDC,IAAI,EAAE,KAAK;MACXC,MAAM,EAAE,IAAI;MACZC,GAAG,EAAEC,kBAAW;MAChBC,SAAS,EAAE;IACb,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,IAAIA,CAAEC,IAAI,EAAEhB,MAAM,GAAGQ,qCAAsB,EAAE;IACjD,OAAO,KAAK,CAACS,IAAI,CAAC;MAChBC,IAAI,EAAEF,IAAI;MACVb,OAAO,EAAE;QACP,CAACgB,qCAAwB,GAAGnB,MAAM,KAAKQ,qCAAsB;QACzDY,qCAAuB;QACvBf;MACN,CAAC;MACDK,IAAI,EAAE,KAAK;MACXC,MAAM,EAAE,IAAI;MACZC,GAAG,EAAES,gBAAS;MACdP,SAAS,EAAE;IACb,CAAC,CAAC;EACJ;AACF,CAACQ,OAAA,CAAAC,OAAA,GAAA1B,eAAA","ignoreList":[]}
@@ -1,45 +0,0 @@
1
- "use strict";var _chai = require("chai");
2
- var _backupNock = require("../../test/backups/backup-nock");
3
- var _restoreNock = require("../../test/backups/restore-nock");
4
- var _ = _interopRequireWildcard(require("."));var cache;function _interopRequireWildcard(e, t) {if (!t && e && e.__esModule) return e;var r,c,a = Object.defineProperty,n = { __proto__: null, default: e };if (Object(e) !== e) return n;if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) {if (cache.has(e)) return cache.get(e);cache.set(e, n);}for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]);return n;}
5
-
6
- const HOST = 'http://www.rqlite.com:4001';
7
-
8
- /**
9
- * Capture the stream data and resolve a promise with the parsed JSON
10
- */
11
- function handleRequestStreamAsPromise(request) {
12
- return new Promise((resolve, reject) => {
13
- let result = Buffer.from('');
14
- request.
15
- on('data', (data) => {
16
- result = Buffer.concat([result, data]);
17
- }).
18
- on('end', () => resolve(result)).
19
- on('error', reject);
20
- });
21
- }
22
-
23
- describe('api backup', () => {
24
- describe('backupApiClient.backup()', () => {
25
- it(`should call ${HOST}${_.PATH_BACKUP} endpoint using HTTP GET`, async () => {
26
- const backupApiClient = new _.default(HOST);
27
- const scope = (0, _backupNock.backupSuccess)({ url: HOST, path: _.PATH_BACKUP });
28
- const request = await backupApiClient.backup();
29
- const result = await handleRequestStreamAsPromise(request);
30
- _chai.assert.isTrue(scope.isDone(), 'http request captured by nock');
31
- _chai.assert.equal(result, _backupNock.BACKUP_SUCCESS_RESPONSE);
32
- });
33
- });
34
- describe('backupApiClient.load()', () => {
35
- it(`should call ${HOST}${_.PATH_LOAD} endpoint using HTTP POST`, async () => {
36
- const backupApiClient = new _.default(HOST);
37
- const scope = (0, _restoreNock.restoreSuccess)({ url: HOST, path: _.PATH_LOAD, body: _backupNock.BACKUP_SUCCESS_RESPONSE });
38
- const request = await backupApiClient.load(_backupNock.BACKUP_SUCCESS_RESPONSE);
39
- const result = await handleRequestStreamAsPromise(request);
40
- _chai.assert.isTrue(scope.isDone(), 'http request captured by nock');
41
- _chai.assert.deepEqual(JSON.parse(result.toString()), _restoreNock.RESTORE_SUCCESS_RESPONSE);
42
- });
43
- });
44
- });
45
- //# sourceMappingURL=test.unit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.unit.js","names":["_chai","require","_backupNock","_restoreNock","_","_interopRequireWildcard","cache","e","t","__esModule","r","c","a","Object","defineProperty","n","__proto__","default","WeakMap","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","HOST","handleRequestStreamAsPromise","request","Promise","resolve","reject","result","Buffer","from","on","data","concat","describe","it","PATH_BACKUP","backupApiClient","BackupApiClient","scope","backupSuccess","url","path","backup","assert","isTrue","isDone","equal","BACKUP_SUCCESS_RESPONSE","PATH_LOAD","restoreSuccess","body","load","deepEqual","JSON","parse","toString","RESTORE_SUCCESS_RESPONSE"],"sources":["../../../es6/api/backup/test.unit.js"],"sourcesContent":["import { assert } from 'chai'\nimport { backupSuccess, BACKUP_SUCCESS_RESPONSE } from '../../test/backups/backup-nock'\nimport { restoreSuccess, RESTORE_SUCCESS_RESPONSE } from '../../test/backups/restore-nock'\nimport BackupApiClient, { PATH_BACKUP, PATH_LOAD } from '.'\n\nconst HOST = 'http://www.rqlite.com:4001'\n\n/**\n * Capture the stream data and resolve a promise with the parsed JSON\n */\nfunction handleRequestStreamAsPromise (request) {\n return new Promise((resolve, reject) => {\n let result = Buffer.from('')\n request\n .on('data', (data) => {\n result = Buffer.concat([result, data])\n })\n .on('end', () => resolve(result))\n .on('error', reject)\n })\n}\n\ndescribe('api backup', () => {\n describe('backupApiClient.backup()', () => {\n it(`should call ${HOST}${PATH_BACKUP} endpoint using HTTP GET`, async () => {\n const backupApiClient = new BackupApiClient(HOST)\n const scope = backupSuccess({ url: HOST, path: PATH_BACKUP })\n const request = await backupApiClient.backup()\n const result = await handleRequestStreamAsPromise(request)\n assert.isTrue(scope.isDone(), 'http request captured by nock')\n assert.equal(result, BACKUP_SUCCESS_RESPONSE)\n })\n })\n describe('backupApiClient.load()', () => {\n it(`should call ${HOST}${PATH_LOAD} endpoint using HTTP POST`, async () => {\n const backupApiClient = new BackupApiClient(HOST)\n const scope = restoreSuccess({ url: HOST, path: PATH_LOAD, body: BACKUP_SUCCESS_RESPONSE })\n const request = await backupApiClient.load(BACKUP_SUCCESS_RESPONSE)\n const result = await handleRequestStreamAsPromise(request)\n assert.isTrue(scope.isDone(), 'http request captured by nock')\n assert.deepEqual(JSON.parse(result.toString()), RESTORE_SUCCESS_RESPONSE)\n })\n })\n})\n"],"mappings":"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","ignoreList":[]}
@@ -1,16 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.BACKUP_DATA_FORMAT_SQL = exports.BACKUP_DATA_FORMAT_DUMP = void 0; /**
2
- * RQLite backup data format constants
3
- * @module api/backup-formats
4
- * @see https://rqlite.io/docs/guides/backup/
5
- */
6
-
7
- /**
8
- * Use plain SQL dump as the back up format
9
- */
10
- const BACKUP_DATA_FORMAT_SQL = exports.BACKUP_DATA_FORMAT_SQL = 'sql';
11
-
12
- /**
13
- * Use sqlite3 dump as the back up format (default binary backup)
14
- */
15
- const BACKUP_DATA_FORMAT_DUMP = exports.BACKUP_DATA_FORMAT_DUMP = 'dump';
16
- //# sourceMappingURL=backup-formats.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backup-formats.js","names":["BACKUP_DATA_FORMAT_SQL","exports","BACKUP_DATA_FORMAT_DUMP"],"sources":["../../es6/api/backup-formats.js"],"sourcesContent":["/**\n * RQLite backup data format constants\n * @module api/backup-formats\n * @see https://rqlite.io/docs/guides/backup/\n */\n\n/**\n * Use plain SQL dump as the back up format\n */\nexport const BACKUP_DATA_FORMAT_SQL = 'sql'\n\n/**\n * Use sqlite3 dump as the back up format (default binary backup)\n */\nexport const BACKUP_DATA_FORMAT_DUMP = 'dump'\n"],"mappings":"sJAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACO,MAAMA,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG,KAAK;;AAE3C;AACA;AACA;AACO,MAAME,uBAAuB,GAAAD,OAAA,CAAAC,uBAAA,GAAG,MAAM","ignoreList":[]}
@@ -1,105 +0,0 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.createQuery = createQuery;exports.default = void 0;
2
-
3
-
4
-
5
-
6
- var _httpRequest = _interopRequireDefault(require("../../http-request"));
7
- var _httpMethods = require("../../http-request/http-methods");
8
- var _queryParams = require("../query-params"); /**
9
- * Base API client for RQLite which abstracts the HTTP calls
10
- * @module api/client
11
- * @see https://rqlite.io/docs/api/api/
12
- */
13
-
14
-
15
-
16
-
17
- /**
18
- * RQLite API query-string / request options for data endpoints
19
- * @typedef {Object} ApiClientRequestOptions
20
- * @property {Boolean} [useLeader] Prefer the leader host
21
- * @property {String} [level] Consistency level
22
- * @property {Boolean} [pretty] Pretty-print JSON
23
- * @property {Boolean} [timings] Include timings
24
- * @property {Boolean} [atomic] Transaction (RQLite v5+)
25
- * @property {Boolean} [transaction] Transaction (RQLite v4)
26
- * @property {Boolean} [raw] Return raw HTTP response
27
- */
28
-
29
- /**
30
- * Create the base HTTP query options from RQLite API options
31
- * @param {ApiClientRequestOptions} [options={}] The RQLite API options
32
- * @returns {Object} The HTTP query
33
- * @see https://rqlite.io/docs/api/api/
34
- * @see module:api/query-params
35
- */
36
- function createQuery(options = {}) {
37
- const { level, pretty, timings, atomic, transaction } = options;
38
-
39
- // Remove all undefined values
40
- const query = {
41
- [_queryParams.QUERY_PARAM_LEVEL]: level,
42
- [_queryParams.QUERY_PARAM_PRETTY]: pretty,
43
- [_queryParams.QUERY_PARAM_TIMINGS]: timings,
44
- [_queryParams.QUERY_PARAM_ATOMIC]: atomic,
45
- [_queryParams.QUERY_PARAM_TRANSACTION]: transaction
46
- };
47
- return Object.entries(query).reduce((acc, entry) => {
48
- const [key, val] = entry;
49
- // Only take defined values
50
- if (typeof val !== 'undefined') {
51
- acc[key] = val;
52
- }
53
- return acc;
54
- }, {});
55
- }
56
-
57
- /**
58
- * Base API client for RQLite which abstracts the HTTP calls
59
- * from the user
60
- */
61
- class ApiClient extends _httpRequest.default {
62
- /**
63
- * Perform a RQLite data API get request
64
- * @param {String} path The path for the request i.e. /db/query
65
- * @param {String} sql The SQL query
66
- * @param {ApiClientRequestOptions} [options={}] RQLite API options
67
- * @returns {Promise<{status: Number, body: *}>}
68
- * @see https://rqlite.io/docs/api/api/
69
- */
70
- async get(path, sql, options = {}) {
71
- const { useLeader } = options;
72
- if (!path) {
73
- throw new Error('The path argument is required');
74
- }
75
- return super.get({
76
- useLeader,
77
- uri: path,
78
- httpMethod: _httpMethods.HTTP_METHOD_GET,
79
- query: { ...createQuery(options), [_queryParams.QUERY_PARAM_Q]: sql }
80
- });
81
- }
82
-
83
- /**
84
- * Perform a RQLite data API post request
85
- * @param {String} path The path for the request i.e. /db/query
86
- * @param {String|String[]} sql The SQL query or queries
87
- * @param {ApiClientRequestOptions} [options={}] RQLite API options
88
- * @returns {Promise<{status: Number, body: *}>}
89
- * @see https://rqlite.io/docs/api/api/
90
- */
91
- async post(path, sql, options = {}) {
92
- const { useLeader } = options;
93
- if (!path) {
94
- throw new Error('The path argument is required');
95
- }
96
- return super.post({
97
- useLeader,
98
- uri: path,
99
- httpMethod: _httpMethods.HTTP_METHOD_POST,
100
- query: createQuery(options),
101
- body: Array.isArray(sql) ? sql : [sql]
102
- });
103
- }
104
- }exports.default = ApiClient;
105
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_httpRequest","_interopRequireDefault","require","_httpMethods","_queryParams","createQuery","options","level","pretty","timings","atomic","transaction","query","QUERY_PARAM_LEVEL","QUERY_PARAM_PRETTY","QUERY_PARAM_TIMINGS","QUERY_PARAM_ATOMIC","QUERY_PARAM_TRANSACTION","Object","entries","reduce","acc","entry","key","val","ApiClient","HttpRequest","get","path","sql","useLeader","Error","uri","httpMethod","HTTP_METHOD_GET","QUERY_PARAM_Q","post","HTTP_METHOD_POST","body","Array","isArray","exports","default"],"sources":["../../../es6/api/client/index.js"],"sourcesContent":["/**\n * Base API client for RQLite which abstracts the HTTP calls\n * @module api/client\n * @see https://rqlite.io/docs/api/api/\n */\nimport HttpRequest from '../../http-request'\nimport { HTTP_METHOD_GET, HTTP_METHOD_POST } from '../../http-request/http-methods'\nimport {\n QUERY_PARAM_ATOMIC,\n QUERY_PARAM_LEVEL,\n QUERY_PARAM_PRETTY,\n QUERY_PARAM_Q,\n QUERY_PARAM_TIMINGS,\n QUERY_PARAM_TRANSACTION,\n} from '../query-params'\n\n/**\n * RQLite API query-string / request options for data endpoints\n * @typedef {Object} ApiClientRequestOptions\n * @property {Boolean} [useLeader] Prefer the leader host\n * @property {String} [level] Consistency level\n * @property {Boolean} [pretty] Pretty-print JSON\n * @property {Boolean} [timings] Include timings\n * @property {Boolean} [atomic] Transaction (RQLite v5+)\n * @property {Boolean} [transaction] Transaction (RQLite v4)\n * @property {Boolean} [raw] Return raw HTTP response\n */\n\n/**\n * Create the base HTTP query options from RQLite API options\n * @param {ApiClientRequestOptions} [options={}] The RQLite API options\n * @returns {Object} The HTTP query\n * @see https://rqlite.io/docs/api/api/\n * @see module:api/query-params\n */\nexport function createQuery (options = {}) {\n const { level, pretty, timings, atomic, transaction } = options\n\n // Remove all undefined values\n const query = {\n [QUERY_PARAM_LEVEL]: level,\n [QUERY_PARAM_PRETTY]: pretty,\n [QUERY_PARAM_TIMINGS]: timings,\n [QUERY_PARAM_ATOMIC]: atomic,\n [QUERY_PARAM_TRANSACTION]: transaction,\n }\n return Object.entries(query).reduce((acc, entry) => {\n const [key, val] = entry\n // Only take defined values\n if (typeof val !== 'undefined') {\n acc[key] = val\n }\n return acc\n }, {})\n}\n\n/**\n * Base API client for RQLite which abstracts the HTTP calls\n * from the user\n */\nexport default class ApiClient extends HttpRequest {\n /**\n * Perform a RQLite data API get request\n * @param {String} path The path for the request i.e. /db/query\n * @param {String} sql The SQL query\n * @param {ApiClientRequestOptions} [options={}] RQLite API options\n * @returns {Promise<{status: Number, body: *}>}\n * @see https://rqlite.io/docs/api/api/\n */\n async get (path, sql, options = {}) {\n const { useLeader } = options\n if (!path) {\n throw new Error('The path argument is required')\n }\n return super.get({\n useLeader,\n uri: path,\n httpMethod: HTTP_METHOD_GET,\n query: { ...createQuery(options), [QUERY_PARAM_Q]: sql },\n })\n }\n\n /**\n * Perform a RQLite data API post request\n * @param {String} path The path for the request i.e. /db/query\n * @param {String|String[]} sql The SQL query or queries\n * @param {ApiClientRequestOptions} [options={}] RQLite API options\n * @returns {Promise<{status: Number, body: *}>}\n * @see https://rqlite.io/docs/api/api/\n */\n async post (path, sql, options = {}) {\n const { useLeader } = options\n if (!path) {\n throw new Error('The path argument is required')\n }\n return super.post({\n useLeader,\n uri: path,\n httpMethod: HTTP_METHOD_POST,\n query: createQuery(options),\n body: Array.isArray(sql) ? sql : [sql],\n })\n }\n}\n"],"mappings":";;;;;AAKA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA,oBAOwB,CAdxB;AACA;AACA;AACA;AACA;;;;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,WAAWA,CAAEC,OAAO,GAAG,CAAC,CAAC,EAAE;EACzC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAEC,WAAW,CAAC,CAAC,GAAGL,OAAO;;EAE/D;EACA,MAAMM,KAAK,GAAG;IACZ,CAACC,8BAAiB,GAAGN,KAAK;IAC1B,CAACO,+BAAkB,GAAGN,MAAM;IAC5B,CAACO,gCAAmB,GAAGN,OAAO;IAC9B,CAACO,+BAAkB,GAAGN,MAAM;IAC5B,CAACO,oCAAuB,GAAGN;EAC7B,CAAC;EACD,OAAOO,MAAM,CAACC,OAAO,CAACP,KAAK,CAAC,CAACQ,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;IAClD,MAAM,CAACC,GAAG,EAAEC,GAAG,CAAC,GAAGF,KAAK;IACxB;IACA,IAAI,OAAOE,GAAG,KAAK,WAAW,EAAE;MAC9BH,GAAG,CAACE,GAAG,CAAC,GAAGC,GAAG;IAChB;IACA,OAAOH,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACR;;AAEA;AACA;AACA;AACA;AACe,MAAMI,SAAS,SAASC,oBAAW,CAAC;EACjD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,GAAGA,CAAEC,IAAI,EAAEC,GAAG,EAAEvB,OAAO,GAAG,CAAC,CAAC,EAAE;IAClC,MAAM,EAAEwB,SAAS,CAAC,CAAC,GAAGxB,OAAO;IAC7B,IAAI,CAACsB,IAAI,EAAE;MACT,MAAM,IAAIG,KAAK,CAAC,+BAA+B,CAAC;IAClD;IACA,OAAO,KAAK,CAACJ,GAAG,CAAC;MACfG,SAAS;MACTE,GAAG,EAAEJ,IAAI;MACTK,UAAU,EAAEC,4BAAe;MAC3BtB,KAAK,EAAE,EAAE,GAAGP,WAAW,CAACC,OAAO,CAAC,EAAE,CAAC6B,0BAAa,GAAGN,GAAG,CAAC;IACzD,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMO,IAAIA,CAAER,IAAI,EAAEC,GAAG,EAAEvB,OAAO,GAAG,CAAC,CAAC,EAAE;IACnC,MAAM,EAAEwB,SAAS,CAAC,CAAC,GAAGxB,OAAO;IAC7B,IAAI,CAACsB,IAAI,EAAE;MACT,MAAM,IAAIG,KAAK,CAAC,+BAA+B,CAAC;IAClD;IACA,OAAO,KAAK,CAACK,IAAI,CAAC;MAChBN,SAAS;MACTE,GAAG,EAAEJ,IAAI;MACTK,UAAU,EAAEI,6BAAgB;MAC5BzB,KAAK,EAAEP,WAAW,CAACC,OAAO,CAAC;MAC3BgC,IAAI,EAAEC,KAAK,CAACC,OAAO,CAACX,GAAG,CAAC,GAAGA,GAAG,GAAG,CAACA,GAAG;IACvC,CAAC,CAAC;EACJ;AACF,CAACY,OAAA,CAAAC,OAAA,GAAAjB,SAAA","ignoreList":[]}
@@ -1,53 +0,0 @@
1
- "use strict";var _chai = require("chai");
2
- var _data = require("../data");
3
- var _apiDataQueryNock = require("../../test/api-data-query-nock");
4
- var _apiDataExecuteNock = require("../../test/api-data-execute-nock");
5
- var _ = _interopRequireWildcard(require("."));var cache;function _interopRequireWildcard(e, t) {if (!t && e && e.__esModule) return e;var r,c,a = Object.defineProperty,n = { __proto__: null, default: e };if (Object(e) !== e) return n;if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) {if (cache.has(e)) return cache.get(e);cache.set(e, n);}for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]);return n;}
6
-
7
- const HOST = 'http://www.rqlite.com:4001';
8
-
9
- describe('api client', () => {
10
- describe('Function: createQuery()', () => {
11
- it('it should create the httpOptions using standard request options', () => {
12
- const options = {
13
- atomic: true,
14
- level: 'strong',
15
- pretty: true,
16
- timings: true,
17
- transaction: true
18
- };
19
- const expected = {
20
- atomic: true,
21
- level: 'strong',
22
- pretty: true,
23
- timings: true,
24
- transaction: true
25
- };
26
- const result = (0, _.createQuery)(options);
27
- _chai.assert.deepEqual(result, expected);
28
- });
29
- });
30
- describe('Function: post()', () => {
31
- it(`should call ${HOST}${_data.PATH_EXECUTE} endpoint with a request body using HTTP POST when using insert`, async () => {
32
- const apiClient = new _.default(HOST);
33
- const sql = 'INSERT INTO foo(name) VALUES("fiona")';
34
- const scope = (0, _apiDataExecuteNock.executeSuccess)({ url: HOST, path: _data.PATH_EXECUTE, body: [sql] });
35
- const res = await apiClient.post(_data.PATH_EXECUTE, sql);
36
- _chai.assert.isTrue(scope.isDone(), 'http request captured by nock');
37
- // eslint-disable-next-line no-underscore-dangle
38
- _chai.assert.deepEqual(res.body, _apiDataExecuteNock.EXECUTE_SUCCESS_RESPONSE);
39
- });
40
- });
41
- describe('Function: get()', () => {
42
- it(`should call ${HOST}${_data.PATH_QUERY} endpoint with a query using HTTP GET when using select`, async () => {
43
- const apiClient = new _.default(HOST);
44
- const sql = 'SELECT * FROM foo';
45
- const query = { q: sql };
46
- const scope = (0, _apiDataQueryNock.querySuccess)({ url: HOST, path: _data.PATH_QUERY, query });
47
- const res = await apiClient.get(_data.PATH_QUERY, sql);
48
- _chai.assert.isTrue(scope.isDone(), 'http request captured by nock');
49
- _chai.assert.deepEqual(res.body, _apiDataQueryNock.QUERY_SUCCESS_RESPONSE);
50
- });
51
- });
52
- });
53
- //# sourceMappingURL=test.unit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.unit.js","names":["_chai","require","_data","_apiDataQueryNock","_apiDataExecuteNock","_","_interopRequireWildcard","cache","e","t","__esModule","r","c","a","Object","defineProperty","n","__proto__","default","WeakMap","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","HOST","describe","it","options","atomic","level","pretty","timings","transaction","expected","result","createQuery","assert","deepEqual","PATH_EXECUTE","apiClient","ApiClient","sql","scope","executeSuccess","url","path","body","res","post","isTrue","isDone","EXECUTE_SUCCESS_RESPONSE","PATH_QUERY","query","q","querySuccess","QUERY_SUCCESS_RESPONSE"],"sources":["../../../es6/api/client/test.unit.js"],"sourcesContent":["import { assert } from 'chai'\nimport { PATH_QUERY, PATH_EXECUTE } from '../data'\nimport { querySuccess, QUERY_SUCCESS_RESPONSE } from '../../test/api-data-query-nock'\nimport { executeSuccess, EXECUTE_SUCCESS_RESPONSE } from '../../test/api-data-execute-nock'\nimport ApiClient, { createQuery } from '.'\n\nconst HOST = 'http://www.rqlite.com:4001'\n\ndescribe('api client', () => {\n describe('Function: createQuery()', () => {\n it('it should create the httpOptions using standard request options', () => {\n const options = {\n atomic: true,\n level: 'strong',\n pretty: true,\n timings: true,\n transaction: true,\n }\n const expected = {\n atomic: true,\n level: 'strong',\n pretty: true,\n timings: true,\n transaction: true,\n }\n const result = createQuery(options)\n assert.deepEqual(result, expected)\n })\n })\n describe('Function: post()', () => {\n it(`should call ${HOST}${PATH_EXECUTE} endpoint with a request body using HTTP POST when using insert`, async () => {\n const apiClient = new ApiClient(HOST)\n const sql = 'INSERT INTO foo(name) VALUES(\"fiona\")'\n const scope = executeSuccess({ url: HOST, path: PATH_EXECUTE, body: [sql] })\n const res = await apiClient.post(PATH_EXECUTE, sql)\n assert.isTrue(scope.isDone(), 'http request captured by nock')\n // eslint-disable-next-line no-underscore-dangle\n assert.deepEqual(res.body, EXECUTE_SUCCESS_RESPONSE)\n })\n })\n describe('Function: get()', () => {\n it(`should call ${HOST}${PATH_QUERY} endpoint with a query using HTTP GET when using select`, async () => {\n const apiClient = new ApiClient(HOST)\n const sql = 'SELECT * FROM foo'\n const query = { q: sql }\n const scope = querySuccess({ url: HOST, path: PATH_QUERY, query })\n const res = await apiClient.get(PATH_QUERY, sql)\n assert.isTrue(scope.isDone(), 'http request captured by nock')\n assert.deepEqual(res.body, QUERY_SUCCESS_RESPONSE)\n })\n })\n})\n"],"mappings":"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","ignoreList":[]}
@@ -1,30 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.CONSISTENCY_LEVEL_WEAK = exports.CONSISTENCY_LEVEL_STRONG = exports.CONSISTENCY_LEVEL_NONE = exports.CONSISTENCY_LEVEL_LINEARIZABLE = void 0; /**
2
- * RQLite read consistency level constants
3
- * @module api/consistency-levels
4
- * @see https://rqlite.io/docs/api/read-consistency/
5
- */
6
-
7
- /**
8
- * Read query consistency level none which means
9
- * any node can respond
10
- */
11
- const CONSISTENCY_LEVEL_NONE = exports.CONSISTENCY_LEVEL_NONE = 'none';
12
-
13
- /**
14
- * Read query consistency strong which must come from
15
- * the leader node
16
- */
17
- const CONSISTENCY_LEVEL_STRONG = exports.CONSISTENCY_LEVEL_STRONG = 'strong';
18
-
19
- /**
20
- * Read query consistency linearizable which must come from
21
- * the leader node
22
- */
23
- const CONSISTENCY_LEVEL_LINEARIZABLE = exports.CONSISTENCY_LEVEL_LINEARIZABLE = 'linearizable';
24
-
25
- /**
26
- * Read query consistency weak (default) which must come from
27
- * the leader node
28
- */
29
- const CONSISTENCY_LEVEL_WEAK = exports.CONSISTENCY_LEVEL_WEAK = 'weak';
30
- //# sourceMappingURL=consistency-levels.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consistency-levels.js","names":["CONSISTENCY_LEVEL_NONE","exports","CONSISTENCY_LEVEL_STRONG","CONSISTENCY_LEVEL_LINEARIZABLE","CONSISTENCY_LEVEL_WEAK"],"sources":["../../es6/api/consistency-levels.js"],"sourcesContent":["/**\n * RQLite read consistency level constants\n * @module api/consistency-levels\n * @see https://rqlite.io/docs/api/read-consistency/\n */\n\n/**\n * Read query consistency level none which means\n * any node can respond\n */\nexport const CONSISTENCY_LEVEL_NONE = 'none'\n\n/**\n * Read query consistency strong which must come from\n * the leader node\n */\nexport const CONSISTENCY_LEVEL_STRONG = 'strong'\n\n/**\n * Read query consistency linearizable which must come from\n * the leader node\n */\nexport const CONSISTENCY_LEVEL_LINEARIZABLE = 'linearizable'\n\n/**\n * Read query consistency weak (default) which must come from\n * the leader node\n */\nexport const CONSISTENCY_LEVEL_WEAK = 'weak'\n"],"mappings":"iOAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO,MAAMA,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG,MAAM;;AAE5C;AACA;AACA;AACA;AACO,MAAME,wBAAwB,GAAAD,OAAA,CAAAC,wBAAA,GAAG,QAAQ;;AAEhD;AACA;AACA;AACA;AACO,MAAMC,8BAA8B,GAAAF,OAAA,CAAAE,8BAAA,GAAG,cAAc;;AAE5D;AACA;AACA;AACA;AACO,MAAMC,sBAAsB,GAAAH,OAAA,CAAAG,sBAAA,GAAG,MAAM","ignoreList":[]}
@@ -1,108 +0,0 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });Object.defineProperty(exports, "CONSISTENCY_LEVEL_LINEARIZABLE", { enumerable: true, get: function () {return _consistencyLevels.CONSISTENCY_LEVEL_LINEARIZABLE;} });Object.defineProperty(exports, "CONSISTENCY_LEVEL_NONE", { enumerable: true, get: function () {return _consistencyLevels.CONSISTENCY_LEVEL_NONE;} });Object.defineProperty(exports, "CONSISTENCY_LEVEL_STRONG", { enumerable: true, get: function () {return _consistencyLevels.CONSISTENCY_LEVEL_STRONG;} });Object.defineProperty(exports, "CONSISTENCY_LEVEL_WEAK", { enumerable: true, get: function () {return _consistencyLevels.CONSISTENCY_LEVEL_WEAK;} });Object.defineProperty(exports, "PATH_EXECUTE", { enumerable: true, get: function () {return _paths.PATH_EXECUTE;} });Object.defineProperty(exports, "PATH_QUERY", { enumerable: true, get: function () {return _paths.PATH_QUERY;} });exports.default = void 0;
2
-
3
-
4
-
5
-
6
-
7
-
8
- var _client = _interopRequireDefault(require("../client"));
9
- var _results = require("../results");
10
- var _paths = require("../paths");
11
- var _consistencyLevels = require("../consistency-levels"); /**
12
- * Data api client to perform RQLite data operations such
13
- * as query and execute
14
- * @module api/data
15
- * @see https://rqlite.io/docs/api/api/
16
- * @see https://rqlite.io/docs/api/read-consistency/
17
- */
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
- /**
26
- * @typedef {import('../client').ApiClientRequestOptions} ApiClientRequestOptions
27
- */
28
-
29
- /**
30
- * Data request base options
31
- * @typedef {Object} DataRequestBaseOptions
32
- * @property {Boolean} [raw] If true return the raw http response from
33
- * RQLite response
34
- */
35
-
36
- /**
37
- * Data query request options
38
- * @typedef {ApiClientRequestOptions & DataRequestBaseOptions} QueryRequestOptions
39
- */
40
-
41
- /**
42
- * Data execute request options
43
- * @typedef {ApiClientRequestOptions & DataRequestBaseOptions} ExecuteRequestOptions
44
- */
45
-
46
- /**
47
- * Handle an RQLite data API response
48
- * @param {{status: Number, body: Object}} response The HTTP response
49
- * @param {DataRequestBaseOptions} [options={}] RQLite api options
50
- * @returns {DataResults|{status: Number, body: Object}}
51
- */
52
- function handleResponse(response, options = {}) {
53
- const { raw } = options;
54
- const { body } = response;
55
- if (raw) {
56
- return response;
57
- }
58
- return new _results.DataResults(body);
59
- }
60
-
61
- /**
62
- * Data api client to perform RQLite queries
63
- */
64
- class DataApiClient extends _client.default {
65
- /**
66
- * Send an RQLite query API request to the RQLite server
67
- * @param {String|String[]} sql The SQL string to execute on the server
68
- * @param {QueryRequestOptions} [options={}] RQLite api options
69
- * @returns {Promise<DataResults|{status: Number, body: Object}>}
70
- * @see https://rqlite.io/docs/api/api/
71
- * @see https://rqlite.io/docs/api/read-consistency/
72
- * @see module:api/consistency-levels
73
- */
74
- async query(sql, options = {}) {
75
- const { level } = options;
76
- let { useLeader } = options;
77
- // Weak and strong consistency will be redirect to the master anyway
78
- // so skip the redirect HTTP response and got right to the master
79
- if (level !== _consistencyLevels.CONSISTENCY_LEVEL_NONE) {
80
- useLeader = true;
81
- }
82
- let response;
83
- if (Array.isArray(sql)) {
84
- response = await super.post(_paths.PATH_QUERY, sql, { ...options, useLeader });
85
- } else {
86
- response = await super.get(_paths.PATH_QUERY, sql, { ...options, useLeader });
87
- }
88
- // If round robin is true try and balance selects across hosts when
89
- // the master node is not queried directly
90
- if (!useLeader) {
91
- this.setNextActiveHostIndex();
92
- }
93
- return handleResponse(response, options);
94
- }
95
-
96
- /**
97
- * Send an RQLite execute API request to the RQLite server
98
- * @param {String|String[]} sql The SQL string to execute on the server
99
- * @param {ExecuteRequestOptions} [options={}] RQLite execute api options
100
- * @returns {Promise<DataResults|{status: Number, body: Object}>}
101
- * @see https://rqlite.io/docs/api/api/
102
- */
103
- async execute(sql, options = {}) {
104
- const response = await super.post(_paths.PATH_EXECUTE, sql, options);
105
- return handleResponse(response, options);
106
- }
107
- }exports.default = DataApiClient;
108
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_client","_interopRequireDefault","require","_results","_paths","_consistencyLevels","handleResponse","response","options","raw","body","DataResults","DataApiClient","ApiClient","query","sql","level","useLeader","CONSISTENCY_LEVEL_NONE","Array","isArray","post","PATH_QUERY","get","setNextActiveHostIndex","execute","PATH_EXECUTE","exports","default"],"sources":["../../../es6/api/data/index.js"],"sourcesContent":["/**\n * Data api client to perform RQLite data operations such\n * as query and execute\n * @module api/data\n * @see https://rqlite.io/docs/api/api/\n * @see https://rqlite.io/docs/api/read-consistency/\n */\nimport ApiClient from '../client'\nimport { DataResults } from '../results'\nimport { PATH_EXECUTE, PATH_QUERY } from '../paths'\nimport { CONSISTENCY_LEVEL_NONE } from '../consistency-levels'\n\nexport {\n PATH_QUERY,\n PATH_EXECUTE,\n} from '../paths'\n\nexport {\n CONSISTENCY_LEVEL_NONE,\n CONSISTENCY_LEVEL_STRONG,\n CONSISTENCY_LEVEL_LINEARIZABLE,\n CONSISTENCY_LEVEL_WEAK,\n} from '../consistency-levels'\n\n/**\n * @typedef {import('../client').ApiClientRequestOptions} ApiClientRequestOptions\n */\n\n/**\n * Data request base options\n * @typedef {Object} DataRequestBaseOptions\n * @property {Boolean} [raw] If true return the raw http response from\n * RQLite response\n */\n\n/**\n * Data query request options\n * @typedef {ApiClientRequestOptions & DataRequestBaseOptions} QueryRequestOptions\n */\n\n/**\n * Data execute request options\n * @typedef {ApiClientRequestOptions & DataRequestBaseOptions} ExecuteRequestOptions\n */\n\n/**\n * Handle an RQLite data API response\n * @param {{status: Number, body: Object}} response The HTTP response\n * @param {DataRequestBaseOptions} [options={}] RQLite api options\n * @returns {DataResults|{status: Number, body: Object}}\n */\nfunction handleResponse (response, options = {}) {\n const { raw } = options\n const { body } = response\n if (raw) {\n return response\n }\n return new DataResults(body)\n}\n\n/**\n * Data api client to perform RQLite queries\n */\nexport default class DataApiClient extends ApiClient {\n /**\n * Send an RQLite query API request to the RQLite server\n * @param {String|String[]} sql The SQL string to execute on the server\n * @param {QueryRequestOptions} [options={}] RQLite api options\n * @returns {Promise<DataResults|{status: Number, body: Object}>}\n * @see https://rqlite.io/docs/api/api/\n * @see https://rqlite.io/docs/api/read-consistency/\n * @see module:api/consistency-levels\n */\n async query (sql, options = {}) {\n const { level } = options\n let { useLeader } = options\n // Weak and strong consistency will be redirect to the master anyway\n // so skip the redirect HTTP response and got right to the master\n if (level !== CONSISTENCY_LEVEL_NONE) {\n useLeader = true\n }\n let response\n if (Array.isArray(sql)) {\n response = await super.post(PATH_QUERY, sql, { ...options, useLeader })\n } else {\n response = await super.get(PATH_QUERY, sql, { ...options, useLeader })\n }\n // If round robin is true try and balance selects across hosts when\n // the master node is not queried directly\n if (!useLeader) {\n this.setNextActiveHostIndex()\n }\n return handleResponse(response, options)\n }\n\n /**\n * Send an RQLite execute API request to the RQLite server\n * @param {String|String[]} sql The SQL string to execute on the server\n * @param {ExecuteRequestOptions} [options={}] RQLite execute api options\n * @returns {Promise<DataResults|{status: Number, body: Object}>}\n * @see https://rqlite.io/docs/api/api/\n */\n async execute (sql, options = {}) {\n const response = await super.post(PATH_EXECUTE, sql, options)\n return handleResponse(response, options)\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA,0BAA8D,CAV9D;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AAkBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,cAAcA,CAAEC,QAAQ,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAE;EAC/C,MAAM,EAAEC,GAAG,CAAC,CAAC,GAAGD,OAAO;EACvB,MAAM,EAAEE,IAAI,CAAC,CAAC,GAAGH,QAAQ;EACzB,IAAIE,GAAG,EAAE;IACP,OAAOF,QAAQ;EACjB;EACA,OAAO,IAAII,oBAAW,CAACD,IAAI,CAAC;AAC9B;;AAEA;AACA;AACA;AACe,MAAME,aAAa,SAASC,eAAS,CAAC;EACnD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,KAAKA,CAAEC,GAAG,EAAEP,OAAO,GAAG,CAAC,CAAC,EAAE;IAC9B,MAAM,EAAEQ,KAAK,CAAC,CAAC,GAAGR,OAAO;IACzB,IAAI,EAAES,SAAS,CAAC,CAAC,GAAGT,OAAO;IAC3B;IACA;IACA,IAAIQ,KAAK,KAAKE,yCAAsB,EAAE;MACpCD,SAAS,GAAG,IAAI;IAClB;IACA,IAAIV,QAAQ;IACZ,IAAIY,KAAK,CAACC,OAAO,CAACL,GAAG,CAAC,EAAE;MACtBR,QAAQ,GAAG,MAAM,KAAK,CAACc,IAAI,CAACC,iBAAU,EAAEP,GAAG,EAAE,EAAE,GAAGP,OAAO,EAAES,SAAS,CAAC,CAAC,CAAC;IACzE,CAAC,MAAM;MACLV,QAAQ,GAAG,MAAM,KAAK,CAACgB,GAAG,CAACD,iBAAU,EAAEP,GAAG,EAAE,EAAE,GAAGP,OAAO,EAAES,SAAS,CAAC,CAAC,CAAC;IACxE;IACA;IACA;IACA,IAAI,CAACA,SAAS,EAAE;MACd,IAAI,CAACO,sBAAsB,CAAC,CAAC;IAC/B;IACA,OAAOlB,cAAc,CAACC,QAAQ,EAAEC,OAAO,CAAC;EAC1C;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMiB,OAAOA,CAAEV,GAAG,EAAEP,OAAO,GAAG,CAAC,CAAC,EAAE;IAChC,MAAMD,QAAQ,GAAG,MAAM,KAAK,CAACc,IAAI,CAACK,mBAAY,EAAEX,GAAG,EAAEP,OAAO,CAAC;IAC7D,OAAOF,cAAc,CAACC,QAAQ,EAAEC,OAAO,CAAC;EAC1C;AACF,CAACmB,OAAA,CAAAC,OAAA,GAAAhB,aAAA","ignoreList":[]}