rqlite-js 2.5.6 → 2.6.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 (86) hide show
  1. package/README.md +174 -155
  2. package/lib/api/backup/index.js +47 -47
  3. package/lib/api/backup/index.js.map +1 -1
  4. package/lib/api/backup/test.unit.js +45 -0
  5. package/lib/api/backup/test.unit.js.map +1 -0
  6. package/lib/api/backup-formats.js +16 -0
  7. package/lib/api/backup-formats.js.map +1 -0
  8. package/lib/api/client/index.js +63 -42
  9. package/lib/api/client/index.js.map +1 -1
  10. package/lib/api/client/test.unit.js +53 -0
  11. package/lib/api/client/test.unit.js.map +1 -0
  12. package/lib/api/consistency-levels.js +30 -0
  13. package/lib/api/consistency-levels.js.map +1 -0
  14. package/lib/api/data/index.js +53 -69
  15. package/lib/api/data/index.js.map +1 -1
  16. package/lib/api/data/test.unit.js +98 -0
  17. package/lib/api/data/test.unit.js.map +1 -0
  18. package/lib/api/paths.js +33 -0
  19. package/lib/api/paths.js.map +1 -0
  20. package/lib/api/query-params.js +43 -0
  21. package/lib/api/query-params.js.map +1 -0
  22. package/lib/api/results/data-result-error.js +39 -10
  23. package/lib/api/results/data-result-error.js.map +1 -1
  24. package/lib/api/results/data-result.js +57 -51
  25. package/lib/api/results/data-result.js.map +1 -1
  26. package/lib/api/results/data-results.js +50 -30
  27. package/lib/api/results/data-results.js.map +1 -1
  28. package/lib/api/results/index.js +1 -1
  29. package/lib/api/results/index.js.map +1 -1
  30. package/lib/api/results/result-fields.js +47 -0
  31. package/lib/api/results/result-fields.js.map +1 -0
  32. package/lib/api/results/test.unit.js +238 -0
  33. package/lib/api/results/test.unit.js.map +1 -0
  34. package/lib/api/status/index.js +40 -28
  35. package/lib/api/status/index.js.map +1 -1
  36. package/lib/api/status/test.unit.js +57 -0
  37. package/lib/api/status/test.unit.js.map +1 -0
  38. package/lib/http-request/auth-keys.js +15 -0
  39. package/lib/http-request/auth-keys.js.map +1 -0
  40. package/lib/http-request/content-types.js +4 -4
  41. package/lib/http-request/content-types.js.map +1 -1
  42. package/lib/http-request/errors.js.map +1 -1
  43. package/lib/http-request/http-headers.js +20 -0
  44. package/lib/http-request/http-headers.js.map +1 -0
  45. package/lib/http-request/http-methods.js +13 -13
  46. package/lib/http-request/http-methods.js.map +1 -1
  47. package/lib/http-request/index.js +295 -275
  48. package/lib/http-request/index.js.map +1 -1
  49. package/lib/http-request/retryable.js +6 -6
  50. package/lib/http-request/retryable.js.map +1 -1
  51. package/lib/http-request/test.unit.js +560 -0
  52. package/lib/http-request/test.unit.js.map +1 -0
  53. package/lib/index.js +31 -6
  54. package/lib/index.js.map +1 -1
  55. package/lib/test/api-data-execute-nock.js +142 -0
  56. package/lib/test/api-data-execute-nock.js.map +1 -0
  57. package/lib/test/api-data-query-nock.js +210 -0
  58. package/lib/test/api-data-query-nock.js.map +1 -0
  59. package/lib/test/backups/backup-nock.js +29 -0
  60. package/lib/test/backups/backup-nock.js.map +1 -0
  61. package/lib/test/backups/restore-nock.js +30 -0
  62. package/lib/test/backups/restore-nock.js.map +1 -0
  63. package/lib/test/env.js +15 -0
  64. package/lib/test/env.js.map +1 -0
  65. package/lib/test/unit/index.unit.js +27 -0
  66. package/lib/test/unit/index.unit.js.map +1 -0
  67. package/lib/test.integration.js +238 -0
  68. package/lib/test.integration.js.map +1 -0
  69. package/package.json +39 -27
  70. package/.eslintrc +0 -20
  71. package/.travis.yml +0 -24
  72. package/es6/api/backup/index.js +0 -71
  73. package/es6/api/client/index.js +0 -83
  74. package/es6/api/data/index.js +0 -123
  75. package/es6/api/results/data-result-error.js +0 -32
  76. package/es6/api/results/data-result.js +0 -134
  77. package/es6/api/results/data-results.js +0 -121
  78. package/es6/api/results/index.js +0 -7
  79. package/es6/api/status/index.js +0 -54
  80. package/es6/http-request/content-types.js +0 -4
  81. package/es6/http-request/errors.js +0 -16
  82. package/es6/http-request/http-methods.js +0 -39
  83. package/es6/http-request/index.js +0 -743
  84. package/es6/http-request/retryable.js +0 -41
  85. package/es6/index.js +0 -13
  86. package/jsconfig.json +0 -18
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.unit.js","names":["_chai","require","_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","PATH_QUERY","dataApiClient","DataApiClient","sql","level","apiQuery","q","scope","querySuccess","url","path","query","res","raw","assert","isTrue","isDone","deepEqual","QUERY_SUCCESS_RESPONSE","body","queryMultipleSuccess","QUERY_MULTIPLE_SUCCESS_RESPONSE","PATH_EXECUTE","executeSuccess","execute","EXECUTE_SUCCESS_RESPONSE"],"sources":["../../../es6/api/data/test.unit.js"],"sourcesContent":["import { assert } from 'chai'\nimport {\n querySuccess,\n QUERY_SUCCESS_RESPONSE,\n queryMultipleSuccess,\n QUERY_MULTIPLE_SUCCESS_RESPONSE,\n} from '../../test/api-data-query-nock'\nimport { executeSuccess, EXECUTE_SUCCESS_RESPONSE } from '../../test/api-data-execute-nock'\nimport DataApiClient, { PATH_QUERY, PATH_EXECUTE } from '.'\n\nconst HOST = 'http://www.rqlite.com:4001'\n\ndescribe('api data', () => {\n describe('DataApiclient.query()', () => {\n it(`should call ${HOST}${PATH_QUERY} endpoint with a query using HTTP GET and include a level query`, async () => {\n const dataApiClient = new DataApiClient(HOST)\n const sql = 'SELECT * FROM foo'\n const level = 'strong'\n const apiQuery = { q: sql, level }\n const scope = querySuccess({ url: HOST, path: PATH_QUERY, query: apiQuery })\n const res = await dataApiClient.query(sql, { level, raw: true })\n assert.isTrue(scope.isDone(), 'http request captured by nock')\n assert.deepEqual(QUERY_SUCCESS_RESPONSE, res.body)\n })\n it(`should call ${HOST}${PATH_QUERY} endpoint with a query using HTTP POST if sql is an array`, async () => {\n const dataApiClient = new DataApiClient(HOST)\n const sql = ['SELECT * FROM foo', 'SELECT * FROM bar']\n const level = 'weak'\n const apiQuery = { level }\n const scope = queryMultipleSuccess({\n url: HOST, path: PATH_QUERY, query: apiQuery, body: sql,\n })\n const res = await dataApiClient.query(sql, { level, raw: true })\n assert.isTrue(scope.isDone(), 'http request captured by nock')\n assert.deepEqual(QUERY_MULTIPLE_SUCCESS_RESPONSE, res.body)\n })\n it(`should call ${HOST}${PATH_QUERY} endpoint with a query using HTTP GET when using select`, async () => {\n const dataApiClient = new DataApiClient(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 dataApiClient.query(sql, { raw: true })\n assert.isTrue(scope.isDone(), 'http request captured by nock')\n assert.deepEqual(QUERY_SUCCESS_RESPONSE, res.body)\n })\n })\n describe('DataApiclient.execute()', () => {\n it(`should call ${HOST}${PATH_EXECUTE} endpoint with a query using HTTP POST`, async () => {\n const dataApiClient = new DataApiClient(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 dataApiClient.execute(sql, { raw: true })\n assert.isTrue(scope.isDone(), 'http request captured by nock')\n assert.deepEqual(res.body, EXECUTE_SUCCESS_RESPONSE)\n })\n it(`should call ${HOST}${PATH_EXECUTE} endpoint with a request body using HTTP POST when performing an insert`, async () => {\n const dataApiClient = new DataApiClient(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 dataApiClient.execute(sql, { raw: true })\n assert.isTrue(scope.isDone(), 'http request captured by nock')\n assert.deepEqual(EXECUTE_SUCCESS_RESPONSE, res.body)\n })\n it(`should call ${HOST}${PATH_EXECUTE} endpoint with a request body using HTTP POST when performing an update`, async () => {\n const dataApiClient = new DataApiClient(HOST)\n const sql = 'UPDATE foo SET name=\"fionaTest\" WHERE name=\"fiona\"'\n const scope = executeSuccess({ url: HOST, path: PATH_EXECUTE, body: [sql] })\n const res = await dataApiClient.execute(sql, { raw: true })\n assert.isTrue(scope.isDone(), 'http request captured by nock')\n assert.deepEqual(EXECUTE_SUCCESS_RESPONSE, res.body)\n })\n it(`should call ${HOST}${PATH_EXECUTE} endpoint with a request body using HTTP POST when performing a delete`, async () => {\n const dataApiClient = new DataApiClient(HOST)\n const sql = 'DELETE FROM foo WHERE name=\"fiona\"'\n const scope = executeSuccess({ url: HOST, path: PATH_EXECUTE, body: [sql] })\n const res = await dataApiClient.execute(sql, { raw: true })\n assert.isTrue(scope.isDone(), 'http request captured by nock')\n assert.deepEqual(EXECUTE_SUCCESS_RESPONSE, res.body)\n })\n it(`should call ${HOST}${PATH_EXECUTE} endpoint with a request body using HTTP POST when performing a create table`, async () => {\n const dataApiClient = new DataApiClient(HOST)\n const sql = 'CREATE TABLE foo (id integer not null primary key, name text)'\n const scope = executeSuccess({ url: HOST, path: PATH_EXECUTE, body: [sql] })\n const res = await dataApiClient.execute(sql, { raw: true })\n assert.isTrue(scope.isDone(), 'http request captured by nock')\n assert.deepEqual(EXECUTE_SUCCESS_RESPONSE, res.body)\n })\n it(`should call ${HOST}${PATH_EXECUTE} endpoint with a request body using HTTP POST when performing a drop table`, async () => {\n const dataApiClient = new DataApiClient(HOST)\n const sql = 'DROP TABLE foo'\n const scope = executeSuccess({ url: HOST, path: PATH_EXECUTE, body: [sql] })\n const res = await dataApiClient.execute(sql, { raw: true })\n assert.isTrue(scope.isDone(), 'http request captured by nock')\n assert.deepEqual(EXECUTE_SUCCESS_RESPONSE, res.body)\n })\n })\n})\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.PATH_STATUS = exports.PATH_QUERY = exports.PATH_LOAD = exports.PATH_EXECUTE = exports.PATH_BACKUP = void 0; /**
2
+ * RQLite HTTP API path constants
3
+ * @module api/paths
4
+ * @see https://rqlite.io/docs/api/api/
5
+ * @see https://rqlite.io/docs/guides/backup/
6
+ * @see https://rqlite.io/docs/guides/monitoring-rqlite/
7
+ */
8
+
9
+ /**
10
+ * The RQLite query api path
11
+ */
12
+ const PATH_QUERY = exports.PATH_QUERY = '/db/query';
13
+
14
+ /**
15
+ * The RQLite execute api path
16
+ */
17
+ const PATH_EXECUTE = exports.PATH_EXECUTE = '/db/execute';
18
+
19
+ /**
20
+ * The RQLite load api path
21
+ */
22
+ const PATH_LOAD = exports.PATH_LOAD = '/db/load';
23
+
24
+ /**
25
+ * The RQLite backup api path
26
+ */
27
+ const PATH_BACKUP = exports.PATH_BACKUP = '/db/backup';
28
+
29
+ /**
30
+ * The RQLite status api path
31
+ */
32
+ const PATH_STATUS = exports.PATH_STATUS = '/status';
33
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","names":["PATH_QUERY","exports","PATH_EXECUTE","PATH_LOAD","PATH_BACKUP","PATH_STATUS"],"sources":["../../es6/api/paths.js"],"sourcesContent":["/**\n * RQLite HTTP API path constants\n * @module api/paths\n * @see https://rqlite.io/docs/api/api/\n * @see https://rqlite.io/docs/guides/backup/\n * @see https://rqlite.io/docs/guides/monitoring-rqlite/\n */\n\n/**\n * The RQLite query api path\n */\nexport const PATH_QUERY = '/db/query'\n\n/**\n * The RQLite execute api path\n */\nexport const PATH_EXECUTE = '/db/execute'\n\n/**\n * The RQLite load api path\n */\nexport const PATH_LOAD = '/db/load'\n\n/**\n * The RQLite backup api path\n */\nexport const PATH_BACKUP = '/db/backup'\n\n/**\n * The RQLite status api path\n */\nexport const PATH_STATUS = '/status'\n"],"mappings":"+LAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACO,MAAMA,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,WAAW;;AAErC;AACA;AACA;AACO,MAAME,YAAY,GAAAD,OAAA,CAAAC,YAAA,GAAG,aAAa;;AAEzC;AACA;AACA;AACO,MAAMC,SAAS,GAAAF,OAAA,CAAAE,SAAA,GAAG,UAAU;;AAEnC;AACA;AACA;AACO,MAAMC,WAAW,GAAAH,OAAA,CAAAG,WAAA,GAAG,YAAY;;AAEvC;AACA;AACA;AACO,MAAMC,WAAW,GAAAJ,OAAA,CAAAI,WAAA,GAAG,SAAS","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.QUERY_PARAM_TRANSACTION = exports.QUERY_PARAM_TIMINGS = exports.QUERY_PARAM_Q = exports.QUERY_PARAM_PRETTY = exports.QUERY_PARAM_LEVEL = exports.QUERY_PARAM_FMT = exports.QUERY_PARAM_ATOMIC = void 0; /**
2
+ * RQLite HTTP query parameter name constants
3
+ * @module api/query-params
4
+ * @see https://rqlite.io/docs/api/api/
5
+ * @see https://rqlite.io/docs/api/read-consistency/
6
+ * @see https://rqlite.io/docs/guides/backup/
7
+ */
8
+
9
+ /**
10
+ * Read consistency level query parameter
11
+ */
12
+ const QUERY_PARAM_LEVEL = exports.QUERY_PARAM_LEVEL = 'level';
13
+
14
+ /**
15
+ * Pretty-print JSON response query parameter
16
+ */
17
+ const QUERY_PARAM_PRETTY = exports.QUERY_PARAM_PRETTY = 'pretty';
18
+
19
+ /**
20
+ * Include timings in the response query parameter
21
+ */
22
+ const QUERY_PARAM_TIMINGS = exports.QUERY_PARAM_TIMINGS = 'timings';
23
+
24
+ /**
25
+ * Atomic (transaction) query parameter for RQLite v5+
26
+ */
27
+ const QUERY_PARAM_ATOMIC = exports.QUERY_PARAM_ATOMIC = 'atomic';
28
+
29
+ /**
30
+ * Legacy transaction query parameter for RQLite v4 and lower
31
+ */
32
+ const QUERY_PARAM_TRANSACTION = exports.QUERY_PARAM_TRANSACTION = 'transaction';
33
+
34
+ /**
35
+ * SQL statement query parameter for GET requests
36
+ */
37
+ const QUERY_PARAM_Q = exports.QUERY_PARAM_Q = 'q';
38
+
39
+ /**
40
+ * Backup format query parameter
41
+ */
42
+ const QUERY_PARAM_FMT = exports.QUERY_PARAM_FMT = 'fmt';
43
+ //# sourceMappingURL=query-params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-params.js","names":["QUERY_PARAM_LEVEL","exports","QUERY_PARAM_PRETTY","QUERY_PARAM_TIMINGS","QUERY_PARAM_ATOMIC","QUERY_PARAM_TRANSACTION","QUERY_PARAM_Q","QUERY_PARAM_FMT"],"sources":["../../es6/api/query-params.js"],"sourcesContent":["/**\n * RQLite HTTP query parameter name constants\n * @module api/query-params\n * @see https://rqlite.io/docs/api/api/\n * @see https://rqlite.io/docs/api/read-consistency/\n * @see https://rqlite.io/docs/guides/backup/\n */\n\n/**\n * Read consistency level query parameter\n */\nexport const QUERY_PARAM_LEVEL = 'level'\n\n/**\n * Pretty-print JSON response query parameter\n */\nexport const QUERY_PARAM_PRETTY = 'pretty'\n\n/**\n * Include timings in the response query parameter\n */\nexport const QUERY_PARAM_TIMINGS = 'timings'\n\n/**\n * Atomic (transaction) query parameter for RQLite v5+\n */\nexport const QUERY_PARAM_ATOMIC = 'atomic'\n\n/**\n * Legacy transaction query parameter for RQLite v4 and lower\n */\nexport const QUERY_PARAM_TRANSACTION = 'transaction'\n\n/**\n * SQL statement query parameter for GET requests\n */\nexport const QUERY_PARAM_Q = 'q'\n\n/**\n * Backup format query parameter\n */\nexport const QUERY_PARAM_FMT = 'fmt'\n"],"mappings":"2RAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACO,MAAMA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,OAAO;;AAExC;AACA;AACA;AACO,MAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAG,QAAQ;;AAE1C;AACA;AACA;AACO,MAAMC,mBAAmB,GAAAF,OAAA,CAAAE,mBAAA,GAAG,SAAS;;AAE5C;AACA;AACA;AACO,MAAMC,kBAAkB,GAAAH,OAAA,CAAAG,kBAAA,GAAG,QAAQ;;AAE1C;AACA;AACA;AACO,MAAMC,uBAAuB,GAAAJ,OAAA,CAAAI,uBAAA,GAAG,aAAa;;AAEpD;AACA;AACA;AACO,MAAMC,aAAa,GAAAL,OAAA,CAAAK,aAAA,GAAG,GAAG;;AAEhC;AACA;AACA;AACO,MAAMC,eAAe,GAAAN,OAAA,CAAAM,eAAA,GAAG,KAAK","ignoreList":[]}
@@ -1,17 +1,42 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; /**
2
- * Class for handling RQLite data api result error
3
- * @module api/results/data-results
4
- */
1
+ "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;
2
+
3
+
4
+
5
5
 
6
- /**
6
+ var _resultFields = require("./result-fields"); /**
7
+ * Class for handling RQLite data api result error
8
+ * @module api/results/data-result-error
9
+ * @see https://rqlite.io/docs/api/api/
10
+ */ /**
7
11
  * A class that represents one data error result from an RQLite query or execute
8
12
  * API call
9
- */
10
- class DataResultError extends Error {
11
- constructor(...args) {
12
- super(...args);
13
+ * @see https://rqlite.io/docs/api/api/
14
+ */class DataResultError extends Error {/**
15
+ * Structured error object from rqlite v10+ when present
16
+ * @type {Object|undefined}
17
+ */
18
+ errorV2;
19
+
20
+ /**
21
+ * @param {String} message The error message (legacy `error` field)
22
+ * @param {Object} [errorV2] Optional structured `error_v2` payload from rqlite v10+
23
+ */
24
+ constructor(message, errorV2) {
25
+ super(message);
13
26
  this.name = this.constructor.name;
14
27
  this.code = this.constructor.name;
28
+ if (errorV2) {
29
+ this.errorV2 = errorV2;
30
+ }
31
+ }
32
+
33
+ /**
34
+ * Get the structured error_v2 object when present
35
+ * @returns {Object|undefined}
36
+ * @see https://rqlite.io/docs/api/api/
37
+ */
38
+ getErrorV2() {
39
+ return this.errorV2;
15
40
  }
16
41
 
17
42
  /**
@@ -19,7 +44,11 @@ class DataResultError extends Error {
19
44
  * @returns {Object} The data as an object
20
45
  */
21
46
  toObject() {
22
- return { error: this.message };
47
+ const obj = { [_resultFields.RESULT_FIELD_ERROR]: this.message };
48
+ if (this.errorV2) {
49
+ obj[_resultFields.RESULT_FIELD_ERROR_V2] = this.errorV2;
50
+ }
51
+ return obj;
23
52
  }
24
53
 
25
54
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"data-result-error.js","names":["DataResultError","Error","constructor","args","name","code","toObject","error","message","toString","JSON","stringify","exports","default","module"],"sources":["../../../es6/api/results/data-result-error.js"],"sourcesContent":["/**\n * Class for handling RQLite data api result error\n * @module api/results/data-results\n */\n\n/**\n * A class that represents one data error result from an RQLite query or execute\n * API call\n */\nexport default class DataResultError extends Error {\n constructor (...args) {\n super(...args)\n this.name = this.constructor.name\n this.code = this.constructor.name\n }\n\n /**\n * Get the result data error as plain object\n * @returns {Object} The data as an object\n */\n toObject () {\n return { error: this.message }\n }\n\n /**\n * Convert the result data error to a JSON string\n * @returns {String} The JSON string for the data object\n */\n toString () {\n return JSON.stringify(this.toObject())\n }\n}\n"],"mappings":"qGAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACe,MAAMA,eAAe,SAASC,KAAK,CAAC;EACjDC,WAAWA,CAAE,GAAGC,IAAI,EAAE;IACpB,KAAK,CAAC,GAAGA,IAAI,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,IAAI,CAACF,WAAW,CAACE,IAAI;IACjC,IAAI,CAACC,IAAI,GAAG,IAAI,CAACH,WAAW,CAACE,IAAI;EACnC;;EAEA;AACF;AACA;AACA;EACEE,QAAQA,CAAA,EAAI;IACV,OAAO,EAAEC,KAAK,EAAE,IAAI,CAACC,OAAO,CAAC,CAAC;EAChC;;EAEA;AACF;AACA;AACA;EACEC,QAAQA,CAAA,EAAI;IACV,OAAOC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACL,QAAQ,CAAC,CAAC,CAAC;EACxC;AACF,CAACM,OAAA,CAAAC,OAAA,GAAAb,eAAA,CAAAc,MAAA,CAAAF,OAAA,GAAAA,OAAA,CAAAC,OAAA"}
1
+ {"version":3,"file":"data-result-error.js","names":["_resultFields","require","DataResultError","Error","errorV2","constructor","message","name","code","getErrorV2","toObject","obj","RESULT_FIELD_ERROR","RESULT_FIELD_ERROR_V2","toString","JSON","stringify","exports","default","module"],"sources":["../../../es6/api/results/data-result-error.js"],"sourcesContent":["/**\n * Class for handling RQLite data api result error\n * @module api/results/data-result-error\n * @see https://rqlite.io/docs/api/api/\n */\nimport { RESULT_FIELD_ERROR, RESULT_FIELD_ERROR_V2 } from './result-fields'\n\n/**\n * A class that represents one data error result from an RQLite query or execute\n * API call\n * @see https://rqlite.io/docs/api/api/\n */\nexport default class DataResultError extends Error {\n /**\n * Structured error object from rqlite v10+ when present\n * @type {Object|undefined}\n */\n errorV2\n\n /**\n * @param {String} message The error message (legacy `error` field)\n * @param {Object} [errorV2] Optional structured `error_v2` payload from rqlite v10+\n */\n constructor (message, errorV2) {\n super(message)\n this.name = this.constructor.name\n this.code = this.constructor.name\n if (errorV2) {\n this.errorV2 = errorV2\n }\n }\n\n /**\n * Get the structured error_v2 object when present\n * @returns {Object|undefined}\n * @see https://rqlite.io/docs/api/api/\n */\n getErrorV2 () {\n return this.errorV2\n }\n\n /**\n * Get the result data error as plain object\n * @returns {Object} The data as an object\n */\n toObject () {\n const obj = { [RESULT_FIELD_ERROR]: this.message }\n if (this.errorV2) {\n obj[RESULT_FIELD_ERROR_V2] = this.errorV2\n }\n return obj\n }\n\n /**\n * Convert the result data error to a JSON string\n * @returns {String} The JSON string for the data object\n */\n toString () {\n return JSON.stringify(this.toObject())\n }\n}\n"],"mappings":";;;;;AAKA,IAAAA,aAAA,GAAAC,OAAA,oBAA2E,CAL3E;AACA;AACA;AACA;AACA,GAJA,CAOA;AACA;AACA;AACA;AACA,GACe,MAAMC,eAAe,SAASC,KAAK,CAAC,CACjD;AACF;AACA;AACA;EACEC,OAAO;;EAEP;AACF;AACA;AACA;EACEC,WAAWA,CAAEC,OAAO,EAAEF,OAAO,EAAE;IAC7B,KAAK,CAACE,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,IAAI,CAACF,WAAW,CAACE,IAAI;IACjC,IAAI,CAACC,IAAI,GAAG,IAAI,CAACH,WAAW,CAACE,IAAI;IACjC,IAAIH,OAAO,EAAE;MACX,IAAI,CAACA,OAAO,GAAGA,OAAO;IACxB;EACF;;EAEA;AACF;AACA;AACA;AACA;EACEK,UAAUA,CAAA,EAAI;IACZ,OAAO,IAAI,CAACL,OAAO;EACrB;;EAEA;AACF;AACA;AACA;EACEM,QAAQA,CAAA,EAAI;IACV,MAAMC,GAAG,GAAG,EAAE,CAACC,gCAAkB,GAAG,IAAI,CAACN,OAAO,CAAC,CAAC;IAClD,IAAI,IAAI,CAACF,OAAO,EAAE;MAChBO,GAAG,CAACE,mCAAqB,CAAC,GAAG,IAAI,CAACT,OAAO;IAC3C;IACA,OAAOO,GAAG;EACZ;;EAEA;AACF;AACA;AACA;EACEG,QAAQA,CAAA,EAAI;IACV,OAAOC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACN,QAAQ,CAAC,CAAC,CAAC;EACxC;AACF,CAACO,OAAA,CAAAC,OAAA,GAAAhB,eAAAiB,CAAA,OAAAF,OAAA,GAAAA,OAAA,CAAAC,OAAA","ignoreList":[]}
@@ -1,74 +1,80 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); /**
1
+ "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;
2
+
3
+
4
+
5
+
6
+
7
+ var _resultFields = require("./result-fields"); /**
2
8
  * Class for handling single RQLite data api result
3
9
  * @module api/results/data-result
10
+ * @see https://rqlite.io/docs/api/api/
11
+ * @see module:api/results/result-fields
4
12
  */
5
13
 
14
+
6
15
  /**
7
16
  * A class that represents one data result from an RQLite query or execute
8
17
  * API call
18
+ * @see https://rqlite.io/docs/api/api/
9
19
  */
10
20
  class DataResult {
21
+ /**
22
+ * The time the results query took to complete
23
+ * @type {Number}
24
+ */
25
+ time = 0.0;
11
26
 
27
+ /**
28
+ * The last insert id
29
+ * @type {Number|undefined}
30
+ */
31
+ lastInsertId;
12
32
 
33
+ /**
34
+ * The rows affected
35
+ * @type {Number}
36
+ */
37
+ rowsAffected = 0;
13
38
 
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
39
+ /**
40
+ * An object after the columns and values are mapped from
41
+ * an RQLite response
42
+ * @type {Object}
43
+ */
44
+ data = {};
40
45
 
41
46
  /**
42
47
  * The data result constructor
43
- * @param {Array} result An API response individual result
44
- * @param {Array} [valuesIndex] The index to get the values from the result
48
+ * @param {Object} result An API response individual result
49
+ * @param {Number} [valuesIndex] The index to get the values from the result
45
50
  */
46
- constructor(result, valuesIndex) {/**
47
- * The time the results query took to complete
48
- * @type {Number}
49
- */(0, _defineProperty2.default)(this, "time", 0.0); /**
50
- * The last insert id
51
- * @type {Number}
52
- */(0, _defineProperty2.default)(this, "lastInsertId", void 0); /**
53
- * The rows affected
54
- * @type {Number}
55
- */(0, _defineProperty2.default)(this, "rowsAffected", 0); /**
56
- * An array of DataResult and/or DataResultError instances
57
- * @type {Array<DataResult|DataResultError>}
58
- */(0, _defineProperty2.default)(this, "results", []); /**
59
- * An object after the columns and values are mapped from
60
- * an RQLite response
61
- */(0, _defineProperty2.default)(this, "data", {});if (typeof result !== 'object') {throw new Error('The result argument is required to be an object');}if (typeof valuesIndex !== 'undefined' && !Number.isFinite(valuesIndex)) {throw new Error('The valuesIndex argument is required to be a finite number when provided');}this.time = parseFloat(result.time || 0.0);this.rowsAffected = parseInt(result.rows_affected || 0, 10);this.lastInsertId = result.last_insert_id; // Map the values array to an object where columns are the properties
62
- if (Number.isFinite(valuesIndex)) {const columns = result.columns;const resultValues = result.values[valuesIndex];if (resultValues) {this.data = resultValues.reduce((acc, val, i) => {const col = columns[i];
63
- acc[col] = val;
64
- return acc;
65
- }, {});
51
+ constructor(result, valuesIndex) {
52
+ if (typeof result !== 'object') {
53
+ throw new Error('The result argument is required to be an object');
54
+ }
55
+ if (typeof valuesIndex !== 'undefined' && !Number.isFinite(valuesIndex)) {
56
+ throw new Error('The valuesIndex argument is required to be a finite number when provided');
57
+ }
58
+ this.time = parseFloat(result[_resultFields.RESULT_FIELD_TIME] || 0.0);
59
+ this.rowsAffected = parseInt(result[_resultFields.RESULT_FIELD_ROWS_AFFECTED] || 0, 10);
60
+ this.lastInsertId = result[_resultFields.RESULT_FIELD_LAST_INSERT_ID];
61
+ // Map the values array to an object where columns are the properties
62
+ if (Number.isFinite(valuesIndex)) {
63
+ const columns = result[_resultFields.RESULT_FIELD_COLUMNS];
64
+ const resultValues = result[_resultFields.RESULT_FIELD_VALUES][valuesIndex];
65
+ if (resultValues) {
66
+ this.data = resultValues.reduce((acc, val, i) => {
67
+ const col = columns[i];
68
+ acc[col] = val;
69
+ return acc;
70
+ }, {});
66
71
  }
67
72
  }
68
73
  }
69
74
 
70
75
  /**
71
76
  * Return the value a property or undefined if it does not exist
77
+ * @param {String} property The property name
72
78
  * @returns {*} The value of the property or undefined
73
79
  */
74
80
  get(property) {
@@ -93,7 +99,7 @@ class DataResult {
93
99
 
94
100
  /**
95
101
  * Get the row affected
96
- * @returns {Number|undefined}
102
+ * @returns {Number}
97
103
  */
98
104
  getRowsAffected() {
99
105
  return this.rowsAffected;
@@ -110,7 +116,7 @@ class DataResult {
110
116
 
111
117
  /**
112
118
  * Map the data values to an array
113
- * @returns {Array}
119
+ * @returns {Array<*>}
114
120
  */
115
121
  toArray() {
116
122
  return Object.values(this.data);
@@ -1 +1 @@
1
- {"version":3,"file":"data-result.js","names":["DataResult","constructor","result","valuesIndex","_defineProperty2","default","Error","Number","isFinite","time","parseFloat","rowsAffected","parseInt","rows_affected","lastInsertId","last_insert_id","columns","resultValues","values","data","reduce","acc","val","i","col","get","property","getTime","getLastInsertId","getRowsAffected","toObject","JSON","parse","stringify","toArray","Object","toColumnsArray","keys","toString","exports","module"],"sources":["../../../es6/api/results/data-result.js"],"sourcesContent":["/**\n * Class for handling single RQLite data api result\n * @module api/results/data-result\n */\n\n/**\n * A class that represents one data result from an RQLite query or execute\n * API call\n */\nexport default class DataResult {\n /**\n * The time the results query took to complete\n * @type {Number}\n */\n time = 0.0\n\n /**\n * The last insert id\n * @type {Number}\n */\n lastInsertId\n\n /**\n * The rows affected\n * @type {Number}\n */\n rowsAffected = 0\n\n /**\n * An array of DataResult and/or DataResultError instances\n * @type {Array<DataResult|DataResultError>}\n */\n results = []\n\n /**\n * An object after the columns and values are mapped from\n * an RQLite response\n */\n data = {}\n\n /**\n * The data result constructor\n * @param {Array} result An API response individual result\n * @param {Array} [valuesIndex] The index to get the values from the result\n */\n constructor (result, valuesIndex) {\n if (typeof result !== 'object') {\n throw new Error('The result argument is required to be an object')\n }\n if (typeof valuesIndex !== 'undefined' && !Number.isFinite(valuesIndex)) {\n throw new Error('The valuesIndex argument is required to be a finite number when provided')\n }\n this.time = parseFloat(result.time || 0.0)\n this.rowsAffected = parseInt(result.rows_affected || 0, 10)\n this.lastInsertId = result.last_insert_id\n // Map the values array to an object where columns are the properties\n if (Number.isFinite(valuesIndex)) {\n const { columns } = result\n const resultValues = result.values[valuesIndex]\n if (resultValues) {\n this.data = resultValues.reduce((acc, val, i) => {\n const col = columns[i]\n acc[col] = val\n return acc\n }, {})\n }\n }\n }\n\n /**\n * Return the value a property or undefined if it does not exist\n * @returns {*} The value of the property or undefined\n */\n get (property) {\n return this.data[property]\n }\n\n /**\n * Get the time the result took\n * @returns {Number} The time the query took\n */\n getTime () {\n return this.time\n }\n\n /**\n * Get the last insert id\n * @returns {Number|undefined}\n */\n getLastInsertId () {\n return this.lastInsertId\n }\n\n /**\n * Get the row affected\n * @returns {Number|undefined}\n */\n getRowsAffected () {\n return this.rowsAffected\n }\n\n /**\n * Get the result data as plain object\n * @returns {Object} The data as an object\n */\n toObject () {\n // Clone deep\n return JSON.parse(JSON.stringify(this.data))\n }\n\n /**\n * Map the data values to an array\n * @returns {Array}\n */\n toArray () {\n return Object.values(this.data)\n }\n\n /**\n * Map the data properites to an array\n * @returns {String[]}\n */\n toColumnsArray () {\n return Object.keys(this.data)\n }\n\n /**\n * Convert the result data to a JSON string\n * @returns {String} The JSON string for the data object\n */\n toString () {\n return JSON.stringify(this.data)\n }\n}\n"],"mappings":"0RAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACe,MAAMA,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+B9B;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAAEC,MAAM,EAAEC,WAAW,EAAE,CAnClC;AACF;AACA;AACA,OAHE,IAAAC,gBAAA,CAAAC,OAAA,gBAIO,GAAG,GAEV;AACF;AACA;AACA,OAHE,IAAAD,gBAAA,CAAAC,OAAA,iCAMA;AACF;AACA;AACA,OAHE,IAAAD,gBAAA,CAAAC,OAAA,wBAIe,CAAC,GAEhB;AACF;AACA;AACA,OAHE,IAAAD,gBAAA,CAAAC,OAAA,mBAIU,EAAE,GAEZ;AACF;AACA;AACA,OAHE,IAAAD,gBAAA,CAAAC,OAAA,gBAIO,CAAC,CAAC,EAQP,IAAI,OAAOH,MAAM,KAAK,QAAQ,EAAE,CAC9B,MAAM,IAAII,KAAK,CAAC,iDAAiD,CAAC,CACpE,CACA,IAAI,OAAOH,WAAW,KAAK,WAAW,IAAI,CAACI,MAAM,CAACC,QAAQ,CAACL,WAAW,CAAC,EAAE,CACvE,MAAM,IAAIG,KAAK,CAAC,0EAA0E,CAAC,CAC7F,CACA,IAAI,CAACG,IAAI,GAAGC,UAAU,CAACR,MAAM,CAACO,IAAI,IAAI,GAAG,CAAC,CAC1C,IAAI,CAACE,YAAY,GAAGC,QAAQ,CAACV,MAAM,CAACW,aAAa,IAAI,CAAC,EAAE,EAAE,CAAC,CAC3D,IAAI,CAACC,YAAY,GAAGZ,MAAM,CAACa,cAAc,EACzC;IACA,IAAIR,MAAM,CAACC,QAAQ,CAACL,WAAW,CAAC,EAAE,CAChC,MAAQa,OAAO,GAAKd,MAAM,CAAlBc,OAAO,CACf,MAAMC,YAAY,GAAGf,MAAM,CAACgB,MAAM,CAACf,WAAW,CAAC,CAC/C,IAAIc,YAAY,EAAE,CAChB,IAAI,CAACE,IAAI,GAAGF,YAAY,CAACG,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,EAAEC,CAAC,KAAK,CAC/C,MAAMC,GAAG,GAAGR,OAAO,CAACO,CAAC,CAAC;YACtBF,GAAG,CAACG,GAAG,CAAC,GAAGF,GAAG;YACd,OAAOD,GAAG;UACZ,CAAC,EAAE,CAAC,CAAC,CAAC;MACR;IACF;EACF;;EAEA;AACF;AACA;AACA;EACEI,GAAGA,CAAEC,QAAQ,EAAE;IACb,OAAO,IAAI,CAACP,IAAI,CAACO,QAAQ,CAAC;EAC5B;;EAEA;AACF;AACA;AACA;EACEC,OAAOA,CAAA,EAAI;IACT,OAAO,IAAI,CAAClB,IAAI;EAClB;;EAEA;AACF;AACA;AACA;EACEmB,eAAeA,CAAA,EAAI;IACjB,OAAO,IAAI,CAACd,YAAY;EAC1B;;EAEA;AACF;AACA;AACA;EACEe,eAAeA,CAAA,EAAI;IACjB,OAAO,IAAI,CAAClB,YAAY;EAC1B;;EAEA;AACF;AACA;AACA;EACEmB,QAAQA,CAAA,EAAI;IACV;IACA,OAAOC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAAC,IAAI,CAACd,IAAI,CAAC,CAAC;EAC9C;;EAEA;AACF;AACA;AACA;EACEe,OAAOA,CAAA,EAAI;IACT,OAAOC,MAAM,CAACjB,MAAM,CAAC,IAAI,CAACC,IAAI,CAAC;EACjC;;EAEA;AACF;AACA;AACA;EACEiB,cAAcA,CAAA,EAAI;IAChB,OAAOD,MAAM,CAACE,IAAI,CAAC,IAAI,CAAClB,IAAI,CAAC;EAC/B;;EAEA;AACF;AACA;AACA;EACEmB,QAAQA,CAAA,EAAI;IACV,OAAOP,IAAI,CAACE,SAAS,CAAC,IAAI,CAACd,IAAI,CAAC;EAClC;AACF,CAACoB,OAAA,CAAAlC,OAAA,GAAAL,UAAA,CAAAwC,MAAA,CAAAD,OAAA,GAAAA,OAAA,CAAAlC,OAAA"}
1
+ {"version":3,"file":"data-result.js","names":["_resultFields","require","DataResult","time","lastInsertId","rowsAffected","data","constructor","result","valuesIndex","Error","Number","isFinite","parseFloat","RESULT_FIELD_TIME","parseInt","RESULT_FIELD_ROWS_AFFECTED","RESULT_FIELD_LAST_INSERT_ID","columns","RESULT_FIELD_COLUMNS","resultValues","RESULT_FIELD_VALUES","reduce","acc","val","i","col","get","property","getTime","getLastInsertId","getRowsAffected","toObject","JSON","parse","stringify","toArray","Object","values","toColumnsArray","keys","toString","exports","default","module"],"sources":["../../../es6/api/results/data-result.js"],"sourcesContent":["/**\n * Class for handling single RQLite data api result\n * @module api/results/data-result\n * @see https://rqlite.io/docs/api/api/\n * @see module:api/results/result-fields\n */\nimport {\n RESULT_FIELD_COLUMNS,\n RESULT_FIELD_LAST_INSERT_ID,\n RESULT_FIELD_ROWS_AFFECTED,\n RESULT_FIELD_TIME,\n RESULT_FIELD_VALUES,\n} from './result-fields'\n\n/**\n * A class that represents one data result from an RQLite query or execute\n * API call\n * @see https://rqlite.io/docs/api/api/\n */\nexport default class DataResult {\n /**\n * The time the results query took to complete\n * @type {Number}\n */\n time = 0.0\n\n /**\n * The last insert id\n * @type {Number|undefined}\n */\n lastInsertId\n\n /**\n * The rows affected\n * @type {Number}\n */\n rowsAffected = 0\n\n /**\n * An object after the columns and values are mapped from\n * an RQLite response\n * @type {Object}\n */\n data = {}\n\n /**\n * The data result constructor\n * @param {Object} result An API response individual result\n * @param {Number} [valuesIndex] The index to get the values from the result\n */\n constructor (result, valuesIndex) {\n if (typeof result !== 'object') {\n throw new Error('The result argument is required to be an object')\n }\n if (typeof valuesIndex !== 'undefined' && !Number.isFinite(valuesIndex)) {\n throw new Error('The valuesIndex argument is required to be a finite number when provided')\n }\n this.time = parseFloat(result[RESULT_FIELD_TIME] || 0.0)\n this.rowsAffected = parseInt(result[RESULT_FIELD_ROWS_AFFECTED] || 0, 10)\n this.lastInsertId = result[RESULT_FIELD_LAST_INSERT_ID]\n // Map the values array to an object where columns are the properties\n if (Number.isFinite(valuesIndex)) {\n const columns = result[RESULT_FIELD_COLUMNS]\n const resultValues = result[RESULT_FIELD_VALUES][valuesIndex]\n if (resultValues) {\n this.data = resultValues.reduce((acc, val, i) => {\n const col = columns[i]\n acc[col] = val\n return acc\n }, {})\n }\n }\n }\n\n /**\n * Return the value a property or undefined if it does not exist\n * @param {String} property The property name\n * @returns {*} The value of the property or undefined\n */\n get (property) {\n return this.data[property]\n }\n\n /**\n * Get the time the result took\n * @returns {Number} The time the query took\n */\n getTime () {\n return this.time\n }\n\n /**\n * Get the last insert id\n * @returns {Number|undefined}\n */\n getLastInsertId () {\n return this.lastInsertId\n }\n\n /**\n * Get the row affected\n * @returns {Number}\n */\n getRowsAffected () {\n return this.rowsAffected\n }\n\n /**\n * Get the result data as plain object\n * @returns {Object} The data as an object\n */\n toObject () {\n // Clone deep\n return JSON.parse(JSON.stringify(this.data))\n }\n\n /**\n * Map the data values to an array\n * @returns {Array<*>}\n */\n toArray () {\n return Object.values(this.data)\n }\n\n /**\n * Map the data properites to an array\n * @returns {String[]}\n */\n toColumnsArray () {\n return Object.keys(this.data)\n }\n\n /**\n * Convert the result data to a JSON string\n * @returns {String} The JSON string for the data object\n */\n toString () {\n return JSON.stringify(this.data)\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,56 +1,75 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;
2
+
3
+
2
4
 
3
5
 
4
6
 
5
7
  var _dataResult = _interopRequireDefault(require("./data-result"));
6
- var _dataResultError = _interopRequireDefault(require("./data-result-error")); /**
8
+ var _dataResultError = _interopRequireDefault(require("./data-result-error"));
9
+ var _resultFields = require("./result-fields"); /**
7
10
  * Class for handling many RQLite data api results
8
11
  * @module api/results/data-results
9
- */ /**
10
- * A class to manage a list of results from an RQLite query or execute API response
11
- */class DataResults {
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
12
+ * @see https://rqlite.io/docs/api/api/
13
+ * @see module:api/results/result-fields
14
+ */
20
15
 
21
16
 
17
+ /**
18
+ * @typedef {Object} RqliteResultRow
19
+ * @property {String} [error] Legacy error message
20
+ * @property {Object} [error_v2] Structured error from rqlite v10+
21
+ * @property {Array<*>} [values] Query row values
22
+ */
22
23
 
24
+ /**
25
+ * A class to manage a list of results from an RQLite query or execute API response
26
+ * @see https://rqlite.io/docs/api/api/
27
+ */
28
+ class DataResults {
29
+ /**
30
+ * The time the results took to return from the
31
+ * RQLite api
32
+ * @type {Number}
33
+ */
34
+ time = 0.0;
23
35
 
36
+ /**
37
+ * The results which is an empty array to start
38
+ * @type {Array<DataResult|DataResultError>}
39
+ */
40
+ results = [];
24
41
 
25
42
  /**
26
43
  * The data result list constructor
27
44
  * @param {Object} data The data object sent from a RQLite API response
28
- * @param {Number} data.time The time the API response took to complete
29
- * @param {Object[{error:String,values:Object}]} data.results The results array
45
+ * @param {Number} [data.time] The time the API response took to complete
46
+ * @param {RqliteResultRow[]} data.results The results array
30
47
  */
31
- constructor(data) {/**
32
- * The time the results took to return from the
33
- * RQLite api
34
- * @type {Number}
35
- */(0, _defineProperty2.default)(this, "time", 0.0); /**
36
- * The results which is an empty arry to start
37
- * @type {DataResult[]}
38
- */(0, _defineProperty2.default)(this, "results", []);this.setApiData(data);} /**
48
+ constructor(data) {
49
+ this.setApiData(data);
50
+ }
51
+
52
+ /**
39
53
  * Set the api as results
40
54
  * @param {Object} data Api data
41
- */setApiData(data) {if (typeof data !== 'object') {throw new Error('The data argument is required to be an object');
55
+ */
56
+ setApiData(data) {
57
+ if (typeof data !== 'object') {
58
+ throw new Error('The data argument is required to be an object');
42
59
  }
43
- if (!data.results) {
60
+ if (!data[_resultFields.RESULT_FIELD_RESULTS]) {
44
61
  throw new Error('The data object is required to have a results property');
45
62
  }
46
- this.time = parseFloat(data.time || 0.0);
47
- const _data$results = data.results,results = _data$results === void 0 ? [] : _data$results;
63
+ this.time = parseFloat(data[_resultFields.RESULT_FIELD_TIME] || 0.0);
64
+ const results = data[_resultFields.RESULT_FIELD_RESULTS] || [];
48
65
  this.results = results.reduce((acc, result) => {
49
66
  // If there is an error property this is an error
50
- if (typeof result === 'object' && result.error) {
51
- return acc.concat(new _dataResultError.default(result.error));
67
+ if (typeof result === 'object' && result[_resultFields.RESULT_FIELD_ERROR]) {
68
+ return acc.concat(
69
+ new _dataResultError.default(result[_resultFields.RESULT_FIELD_ERROR], result[_resultFields.RESULT_FIELD_ERROR_V2])
70
+ );
52
71
  }
53
- const vals = result.values;
72
+ const vals = result[_resultFields.RESULT_FIELD_VALUES];
54
73
  // We don't have values so this is a single result row
55
74
  if (!vals) {
56
75
  return acc.concat(new _dataResult.default(result));
@@ -87,6 +106,7 @@ var _dataResultError = _interopRequireDefault(require("./data-result-error")); /
87
106
 
88
107
  /**
89
108
  * Return one result at a specific index or undefined it it does not exist
109
+ * @param {Number} index The result index
90
110
  * @returns {DataResult|DataResultError|undefined}
91
111
  */
92
112
  get(index) {
@@ -1 +1 @@
1
- {"version":3,"file":"data-results.js","names":["_dataResult","_interopRequireDefault","require","_dataResultError","DataResults","constructor","data","_defineProperty2","default","setApiData","Error","results","time","parseFloat","_data$results","reduce","acc","result","error","concat","DataResultError","vals","values","DataResult","dataResults","map","_v","valuesIndex","hasError","getFirstError","find","v","getTime","get","index","getResults","toArray","toObject","toString","list","JSON","stringify","exports","module"],"sources":["../../../es6/api/results/data-results.js"],"sourcesContent":["/**\n * Class for handling many RQLite data api results\n * @module api/results/data-results\n */\nimport DataResult from './data-result'\nimport DataResultError from './data-result-error'\n\n/**\n * A class to manage a list of results from an RQLite query or execute API response\n */\nexport default class DataResults {\n /**\n * The time the results took to return from the\n * RQLite api\n * @type {Number}\n */\n time = 0.0\n\n /**\n * The results which is an empty arry to start\n * @type {DataResult[]}\n */\n results = []\n\n /**\n * The data result list constructor\n * @param {Object} data The data object sent from a RQLite API response\n * @param {Number} data.time The time the API response took to complete\n * @param {Object[{error:String,values:Object}]} data.results The results array\n */\n constructor (data) {\n this.setApiData(data)\n }\n\n /**\n * Set the api as results\n * @param {Object} data Api data\n */\n setApiData (data) {\n if (typeof data !== 'object') {\n throw new Error('The data argument is required to be an object')\n }\n if (!data.results) {\n throw new Error('The data object is required to have a results property')\n }\n this.time = parseFloat(data.time || 0.0)\n const { results = [] } = data\n this.results = results.reduce((acc, result) => {\n // If there is an error property this is an error\n if (typeof result === 'object' && result.error) {\n return acc.concat(new DataResultError(result.error))\n }\n const { values: vals } = result\n // We don't have values so this is a single result row\n if (!vals) {\n return acc.concat(new DataResult(result))\n }\n // Map the values to DataResult instances\n const dataResults = vals.map((_v, valuesIndex) => new DataResult(result, valuesIndex))\n return acc.concat(dataResults)\n }, [])\n }\n\n /**\n * Returns true if an instance of DataResultError exists in the results\n * @returns {Boolean} True if a DataResultError instance exists\n */\n hasError () {\n return !!this.getFirstError()\n }\n\n /**\n * Get the first error that occured\n * @returns {DataResultError|undefined}\n */\n getFirstError () {\n return this.results.find((v) => v instanceof DataResultError)\n }\n\n /**\n * Get the time the results took\n * @returns {Number} The time the query took\n */\n getTime () {\n return this.time\n }\n\n /**\n * Return one result at a specific index or undefined it it does not exist\n * @returns {DataResult|DataResultError|undefined}\n */\n get (index) {\n return this.results[index]\n }\n\n /**\n * Return the results array\n * @returns {Array<DataResult|DataResultError>}\n */\n getResults () {\n return this.results\n }\n\n /**\n * Get the result data list as array of plain objects\n * @returns {Object[]} The data as an array or objects\n */\n toArray () {\n return this.results.map((result) => result.toObject())\n }\n\n /**\n * Convert the result data list to a JSON string that is an\n * array of objects\n * @returns {String} A JSON string\n */\n toString () {\n const list = this.results.map((result) => result.toObject())\n return JSON.stringify(list)\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"data-results.js","names":["_dataResult","_interopRequireDefault","require","_dataResultError","_resultFields","DataResults","time","results","constructor","data","setApiData","Error","RESULT_FIELD_RESULTS","parseFloat","RESULT_FIELD_TIME","reduce","acc","result","RESULT_FIELD_ERROR","concat","DataResultError","RESULT_FIELD_ERROR_V2","vals","RESULT_FIELD_VALUES","DataResult","dataResults","map","_v","valuesIndex","hasError","getFirstError","find","v","getTime","get","index","getResults","toArray","toObject","toString","list","JSON","stringify","exports","default","module"],"sources":["../../../es6/api/results/data-results.js"],"sourcesContent":["/**\n * Class for handling many RQLite data api results\n * @module api/results/data-results\n * @see https://rqlite.io/docs/api/api/\n * @see module:api/results/result-fields\n */\nimport DataResult from './data-result'\nimport DataResultError from './data-result-error'\nimport {\n RESULT_FIELD_ERROR,\n RESULT_FIELD_ERROR_V2,\n RESULT_FIELD_RESULTS,\n RESULT_FIELD_TIME,\n RESULT_FIELD_VALUES,\n} from './result-fields'\n\n/**\n * @typedef {Object} RqliteResultRow\n * @property {String} [error] Legacy error message\n * @property {Object} [error_v2] Structured error from rqlite v10+\n * @property {Array<*>} [values] Query row values\n */\n\n/**\n * A class to manage a list of results from an RQLite query or execute API response\n * @see https://rqlite.io/docs/api/api/\n */\nexport default class DataResults {\n /**\n * The time the results took to return from the\n * RQLite api\n * @type {Number}\n */\n time = 0.0\n\n /**\n * The results which is an empty array to start\n * @type {Array<DataResult|DataResultError>}\n */\n results = []\n\n /**\n * The data result list constructor\n * @param {Object} data The data object sent from a RQLite API response\n * @param {Number} [data.time] The time the API response took to complete\n * @param {RqliteResultRow[]} data.results The results array\n */\n constructor (data) {\n this.setApiData(data)\n }\n\n /**\n * Set the api as results\n * @param {Object} data Api data\n */\n setApiData (data) {\n if (typeof data !== 'object') {\n throw new Error('The data argument is required to be an object')\n }\n if (!data[RESULT_FIELD_RESULTS]) {\n throw new Error('The data object is required to have a results property')\n }\n this.time = parseFloat(data[RESULT_FIELD_TIME] || 0.0)\n const results = data[RESULT_FIELD_RESULTS] || []\n this.results = results.reduce((acc, result) => {\n // If there is an error property this is an error\n if (typeof result === 'object' && result[RESULT_FIELD_ERROR]) {\n return acc.concat(\n new DataResultError(result[RESULT_FIELD_ERROR], result[RESULT_FIELD_ERROR_V2]),\n )\n }\n const vals = result[RESULT_FIELD_VALUES]\n // We don't have values so this is a single result row\n if (!vals) {\n return acc.concat(new DataResult(result))\n }\n // Map the values to DataResult instances\n const dataResults = vals.map((_v, valuesIndex) => new DataResult(result, valuesIndex))\n return acc.concat(dataResults)\n }, [])\n }\n\n /**\n * Returns true if an instance of DataResultError exists in the results\n * @returns {Boolean} True if a DataResultError instance exists\n */\n hasError () {\n return !!this.getFirstError()\n }\n\n /**\n * Get the first error that occured\n * @returns {DataResultError|undefined}\n */\n getFirstError () {\n return this.results.find((v) => v instanceof DataResultError)\n }\n\n /**\n * Get the time the results took\n * @returns {Number} The time the query took\n */\n getTime () {\n return this.time\n }\n\n /**\n * Return one result at a specific index or undefined it it does not exist\n * @param {Number} index The result index\n * @returns {DataResult|DataResultError|undefined}\n */\n get (index) {\n return this.results[index]\n }\n\n /**\n * Return the results array\n * @returns {Array<DataResult|DataResultError>}\n */\n getResults () {\n return this.results\n }\n\n /**\n * Get the result data list as array of plain objects\n * @returns {Object[]} The data as an array or objects\n */\n toArray () {\n return this.results.map((result) => result.toObject())\n }\n\n /**\n * Convert the result data list to a JSON string that is an\n * array of objects\n * @returns {String} A JSON string\n */\n toString () {\n const list = this.results.map((result) => result.toObject())\n return JSON.stringify(list)\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });Object.defineProperty(exports, "DataResult", { enumerable: true, get: function get() {return _dataResult.default;} });Object.defineProperty(exports, "DataResultError", { enumerable: true, get: function get() {return _dataResultError.default;} });Object.defineProperty(exports, "DataResults", { enumerable: true, get: function get() {return _dataResults.default;} });
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });Object.defineProperty(exports, "DataResult", { enumerable: true, get: function () {return _dataResult.default;} });Object.defineProperty(exports, "DataResultError", { enumerable: true, get: function () {return _dataResultError.default;} });Object.defineProperty(exports, "DataResults", { enumerable: true, get: function () {return _dataResults.default;} });
2
2
 
3
3
 
4
4
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_dataResult","_interopRequireDefault","require","_dataResultError","_dataResults"],"sources":["../../../es6/api/results/index.js"],"sourcesContent":["/**\n * Features for handle RQLite data api responses for success and errors\n * @module api/results\n */\nexport { default as DataResult } from './data-result'\nexport { default as DataResultError } from './data-result-error'\nexport { default as DataResults } from './data-results'\n"],"mappings":";;;;AAIA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAH,sBAAA,CAAAC,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_dataResult","_interopRequireDefault","require","_dataResultError","_dataResults"],"sources":["../../../es6/api/results/index.js"],"sourcesContent":["/**\n * Features for handle RQLite data api responses for success and errors\n * @module api/results\n */\nexport { default as DataResult } from './data-result'\nexport { default as DataResultError } from './data-result-error'\nexport { default as DataResults } from './data-results'\n"],"mappings":";;;;AAIA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAH,sBAAA,CAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.RESULT_FIELD_VALUES = exports.RESULT_FIELD_TIME = exports.RESULT_FIELD_ROWS_AFFECTED = exports.RESULT_FIELD_RESULTS = exports.RESULT_FIELD_LAST_INSERT_ID = exports.RESULT_FIELD_ERROR_V2 = exports.RESULT_FIELD_ERROR = exports.RESULT_FIELD_COLUMNS = void 0; /**
2
+ * RQLite JSON response field name constants
3
+ * @module api/results/result-fields
4
+ * @see https://rqlite.io/docs/api/api/
5
+ */
6
+
7
+ /**
8
+ * Wall-clock time field on a result or response
9
+ */
10
+ const RESULT_FIELD_TIME = exports.RESULT_FIELD_TIME = 'time';
11
+
12
+ /**
13
+ * Rows affected field on an execute result
14
+ */
15
+ const RESULT_FIELD_ROWS_AFFECTED = exports.RESULT_FIELD_ROWS_AFFECTED = 'rows_affected';
16
+
17
+ /**
18
+ * Last insert id field on an execute result
19
+ */
20
+ const RESULT_FIELD_LAST_INSERT_ID = exports.RESULT_FIELD_LAST_INSERT_ID = 'last_insert_id';
21
+
22
+ /**
23
+ * Column names field on a query result
24
+ */
25
+ const RESULT_FIELD_COLUMNS = exports.RESULT_FIELD_COLUMNS = 'columns';
26
+
27
+ /**
28
+ * Row values field on a query result
29
+ */
30
+ const RESULT_FIELD_VALUES = exports.RESULT_FIELD_VALUES = 'values';
31
+
32
+ /**
33
+ * Error message field on a result
34
+ */
35
+ const RESULT_FIELD_ERROR = exports.RESULT_FIELD_ERROR = 'error';
36
+
37
+ /**
38
+ * Structured error object field (rqlite v10+)
39
+ * @see https://rqlite.io/docs/api/api/
40
+ */
41
+ const RESULT_FIELD_ERROR_V2 = exports.RESULT_FIELD_ERROR_V2 = 'error_v2';
42
+
43
+ /**
44
+ * Top-level results array field on an API response body
45
+ */
46
+ const RESULT_FIELD_RESULTS = exports.RESULT_FIELD_RESULTS = 'results';
47
+ //# sourceMappingURL=result-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-fields.js","names":["RESULT_FIELD_TIME","exports","RESULT_FIELD_ROWS_AFFECTED","RESULT_FIELD_LAST_INSERT_ID","RESULT_FIELD_COLUMNS","RESULT_FIELD_VALUES","RESULT_FIELD_ERROR","RESULT_FIELD_ERROR_V2","RESULT_FIELD_RESULTS"],"sources":["../../../es6/api/results/result-fields.js"],"sourcesContent":["/**\n * RQLite JSON response field name constants\n * @module api/results/result-fields\n * @see https://rqlite.io/docs/api/api/\n */\n\n/**\n * Wall-clock time field on a result or response\n */\nexport const RESULT_FIELD_TIME = 'time'\n\n/**\n * Rows affected field on an execute result\n */\nexport const RESULT_FIELD_ROWS_AFFECTED = 'rows_affected'\n\n/**\n * Last insert id field on an execute result\n */\nexport const RESULT_FIELD_LAST_INSERT_ID = 'last_insert_id'\n\n/**\n * Column names field on a query result\n */\nexport const RESULT_FIELD_COLUMNS = 'columns'\n\n/**\n * Row values field on a query result\n */\nexport const RESULT_FIELD_VALUES = 'values'\n\n/**\n * Error message field on a result\n */\nexport const RESULT_FIELD_ERROR = 'error'\n\n/**\n * Structured error object field (rqlite v10+)\n * @see https://rqlite.io/docs/api/api/\n */\nexport const RESULT_FIELD_ERROR_V2 = 'error_v2'\n\n/**\n * Top-level results array field on an API response body\n */\nexport const RESULT_FIELD_RESULTS = 'results'\n"],"mappings":"mVAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACO,MAAMA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,MAAM;;AAEvC;AACA;AACA;AACO,MAAME,0BAA0B,GAAAD,OAAA,CAAAC,0BAAA,GAAG,eAAe;;AAEzD;AACA;AACA;AACO,MAAMC,2BAA2B,GAAAF,OAAA,CAAAE,2BAAA,GAAG,gBAAgB;;AAE3D;AACA;AACA;AACO,MAAMC,oBAAoB,GAAAH,OAAA,CAAAG,oBAAA,GAAG,SAAS;;AAE7C;AACA;AACA;AACO,MAAMC,mBAAmB,GAAAJ,OAAA,CAAAI,mBAAA,GAAG,QAAQ;;AAE3C;AACA;AACA;AACO,MAAMC,kBAAkB,GAAAL,OAAA,CAAAK,kBAAA,GAAG,OAAO;;AAEzC;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAAAN,OAAA,CAAAM,qBAAA,GAAG,UAAU;;AAE/C;AACA;AACA;AACO,MAAMC,oBAAoB,GAAAP,OAAA,CAAAO,oBAAA,GAAG,SAAS","ignoreList":[]}