json-fs-query 1.0.3 → 1.0.5

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 (139) hide show
  1. package/browser/jsonFsQuery.js +10158 -27743
  2. package/browser/jsonFsQuery.min.js +1 -1
  3. package/dist/data/introspect/create.d.ts +10 -10
  4. package/dist/data/introspect/create.js +21 -21
  5. package/dist/data/introspect/definitions/field.d.ts +27 -27
  6. package/dist/data/introspect/definitions/field.js +9 -9
  7. package/dist/data/introspect/definitions/key.d.ts +25 -25
  8. package/dist/data/introspect/definitions/key.js +19 -19
  9. package/dist/data/introspect/definitions/keyReference.d.ts +17 -17
  10. package/dist/data/introspect/definitions/keyReference.js +6 -6
  11. package/dist/data/introspect/definitions/record.d.ts +25 -25
  12. package/dist/data/introspect/definitions/record.js +11 -11
  13. package/dist/data/introspect/describe.js +10 -10
  14. package/dist/data/introspect/drop.js +22 -22
  15. package/dist/data/introspect/index.d.ts +7 -7
  16. package/dist/data/introspect/index.js +19 -19
  17. package/dist/data/introspect/policies/foreignKeyExists.d.ts +8 -8
  18. package/dist/data/introspect/policies/foreignKeyExists.js +11 -11
  19. package/dist/data/introspect/policies/hasDependents.d.ts +12 -12
  20. package/dist/data/introspect/policies/hasDependents.js +21 -21
  21. package/dist/data/introspect/policies/keyGenerate.d.ts +1 -1
  22. package/dist/data/introspect/policies/keyGenerate.js +12 -12
  23. package/dist/data/introspect/policies/keyUnique.d.ts +9 -9
  24. package/dist/data/introspect/policies/keyUnique.js +12 -12
  25. package/dist/data/introspect/policies/typeCheck.d.ts +11 -11
  26. package/dist/data/introspect/policies/typeCheck.js +23 -23
  27. package/dist/data/introspect/policies/typeEnum.d.ts +1 -1
  28. package/dist/data/introspect/policies/typeEnum.js +14 -14
  29. package/dist/data/introspect/policies/useDefault.d.ts +1 -1
  30. package/dist/data/introspect/policies/useDefault.js +13 -13
  31. package/dist/data/queries/deleteEntity.d.ts +1 -1
  32. package/dist/data/queries/deleteEntity.js +57 -57
  33. package/dist/data/queries/groupBy.d.ts +1 -1
  34. package/dist/data/queries/groupBy.js +14 -14
  35. package/dist/data/queries/insertEntity.d.ts +1 -1
  36. package/dist/data/queries/insertEntity.js +56 -56
  37. package/dist/data/queries/joinEntity.d.ts +1 -1
  38. package/dist/data/queries/joinEntity.js +18 -18
  39. package/dist/data/queries/joinEntity.min.js +1 -1
  40. package/dist/data/queries/limitOffset.d.ts +7 -7
  41. package/dist/data/queries/limitOffset.js +10 -10
  42. package/dist/data/queries/mergeJoins.d.ts +1 -1
  43. package/dist/data/queries/mergeJoins.js +12 -12
  44. package/dist/data/queries/mergeJoins.min.js +1 -1
  45. package/dist/data/queries/parser.d.ts +1 -1
  46. package/dist/data/queries/parser.js +30 -30
  47. package/dist/data/queries/parser.min.js +1 -1
  48. package/dist/data/queries/query.d.ts +1 -1
  49. package/dist/data/queries/query.js +13 -13
  50. package/dist/data/queries/query.min.js +1 -1
  51. package/dist/data/queries/readEntity.js +9 -9
  52. package/dist/data/queries/selectFields.d.ts +9 -9
  53. package/dist/data/queries/selectFields.js +17 -17
  54. package/dist/data/queries/sortBy.d.ts +1 -1
  55. package/dist/data/queries/sortBy.js +25 -25
  56. package/dist/data/queries/sortBy.min.js +1 -1
  57. package/dist/data/queries/updateEntity.d.ts +1 -1
  58. package/dist/data/queries/updateEntity.js +74 -74
  59. package/dist/data/queries/where.d.ts +6 -6
  60. package/dist/data/queries/where.js +29 -29
  61. package/dist/data/utilities/computeKeyValue.d.ts +12 -12
  62. package/dist/data/utilities/computeKeyValue.js +11 -11
  63. package/dist/data/utilities/config.d.ts +27 -27
  64. package/dist/data/utilities/config.js +12 -12
  65. package/dist/data/utilities/deregisterRecord.d.ts +7 -7
  66. package/dist/data/utilities/deregisterRecord.js +20 -20
  67. package/dist/data/utilities/getConditionIndexedList.js +27 -27
  68. package/dist/data/utilities/getConditionIndexedList.min.js +1 -1
  69. package/dist/data/utilities/getJoinIndexedList.js +45 -38
  70. package/dist/data/utilities/getJoinIndexedList.min.js +1 -1
  71. package/dist/data/utilities/getMatchingIndexes.js +15 -15
  72. package/dist/data/utilities/getMatchingIndexes.min.js +1 -1
  73. package/dist/data/utilities/matchIndexedJoins.js +24 -24
  74. package/dist/data/utilities/matchIndexedJoins.min.js +1 -1
  75. package/dist/data/utilities/mergeJoin.js +23 -23
  76. package/dist/data/utilities/mergeJoin.min.js +1 -1
  77. package/dist/data/utilities/parsers/findCommand.d.ts +9 -9
  78. package/dist/data/utilities/parsers/findCommand.js +15 -15
  79. package/dist/data/utilities/parsers/findConditions.d.ts +14 -14
  80. package/dist/data/utilities/parsers/findConditions.js +14 -14
  81. package/dist/data/utilities/parsers/findConditions.min.js +1 -1
  82. package/dist/data/utilities/parsers/findGroupBy.d.ts +8 -8
  83. package/dist/data/utilities/parsers/findGroupBy.js +12 -12
  84. package/dist/data/utilities/parsers/findInsertValues.d.ts +12 -12
  85. package/dist/data/utilities/parsers/findInsertValues.js +19 -19
  86. package/dist/data/utilities/parsers/findJoinClauses.d.ts +12 -12
  87. package/dist/data/utilities/parsers/findJoinClauses.js +13 -13
  88. package/dist/data/utilities/parsers/findJoinClauses.min.js +1 -1
  89. package/dist/data/utilities/parsers/findJoinEntity.d.ts +8 -8
  90. package/dist/data/utilities/parsers/findJoinEntity.js +12 -12
  91. package/dist/data/utilities/parsers/findLimit.d.ts +8 -8
  92. package/dist/data/utilities/parsers/findLimit.js +12 -12
  93. package/dist/data/utilities/parsers/findMergeJoins.d.ts +11 -11
  94. package/dist/data/utilities/parsers/findMergeJoins.js +13 -13
  95. package/dist/data/utilities/parsers/findMergeJoins.min.js +1 -1
  96. package/dist/data/utilities/parsers/findOffset.d.ts +8 -8
  97. package/dist/data/utilities/parsers/findOffset.js +12 -12
  98. package/dist/data/utilities/parsers/findSelects.d.ts +11 -11
  99. package/dist/data/utilities/parsers/findSelects.js +15 -15
  100. package/dist/data/utilities/parsers/findSelects.min.js +1 -1
  101. package/dist/data/utilities/parsers/findSortClauses.d.ts +11 -11
  102. package/dist/data/utilities/parsers/findSortClauses.js +15 -15
  103. package/dist/data/utilities/parsers/findSortClauses.min.js +1 -1
  104. package/dist/data/utilities/parsers/findUpdateValues.d.ts +14 -14
  105. package/dist/data/utilities/parsers/findUpdateValues.js +17 -17
  106. package/dist/data/utilities/parsers/isEntityProperty.js +8 -8
  107. package/dist/data/utilities/parsers/parseLiteralValue.d.ts +11 -11
  108. package/dist/data/utilities/parsers/parseLiteralValue.js +12 -12
  109. package/dist/data/utilities/parsers/parseQuery.d.ts +32 -32
  110. package/dist/data/utilities/parsers/parseQuery.js +25 -25
  111. package/dist/data/utilities/parsers/parseQuery.min.js +1 -1
  112. package/dist/data/utilities/parsers/removeFromQuery.js +8 -8
  113. package/dist/data/utilities/parsers/splitEntityProperty.js +23 -23
  114. package/dist/data/utilities/parsers/splitQueries.js +11 -11
  115. package/dist/data/utilities/reconcileJoin.js +14 -14
  116. package/dist/data/utilities/reconcileJoins.js +13 -13
  117. package/dist/data/utilities/reconcileJoins.min.js +1 -1
  118. package/dist/data/utilities/registerRecord.d.ts +7 -7
  119. package/dist/data/utilities/registerRecord.js +20 -20
  120. package/dist/data/utilities/removeFromIndex.d.ts +13 -13
  121. package/dist/data/utilities/removeFromIndex.js +24 -26
  122. package/dist/data/utilities/restrictIndexedList.js +18 -18
  123. package/dist/data/utilities/retrieveFile.js +19 -19
  124. package/dist/data/utilities/retrieveFile.min.js +1 -1
  125. package/dist/data/utilities/retrieveIndexes.d.ts +1 -1
  126. package/dist/data/utilities/retrieveIndexes.js +13 -13
  127. package/dist/data/utilities/retrieveIndexes.min.js +1 -1
  128. package/dist/data/utilities/retrieveRecord.js +7 -7
  129. package/dist/data/utilities/retrieveRecords.js +14 -14
  130. package/dist/data/utilities/retrieveRecords.min.js +1 -1
  131. package/dist/data/utilities/runQuery.d.ts +1 -1
  132. package/dist/data/utilities/runQuery.js +49 -49
  133. package/dist/data/utilities/updateIndex.d.ts +16 -16
  134. package/dist/data/utilities/updateIndex.js +25 -25
  135. package/dist/data/utilities/useJoinClause.d.ts +5 -5
  136. package/dist/data/utilities/useJoinClause.js +22 -22
  137. package/dist/index.d.ts +4 -4
  138. package/dist/index.js +25 -25
  139. package/package.json +4 -4
@@ -1,26 +1,26 @@
1
- 'use strict'
1
+ "use strict";
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
3
+ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- })
6
- exports.insertEntity = void 0
7
- require('core-js/modules/es.json.stringify.js')
8
- require('core-js/modules/esnext.iterator.constructor.js')
9
- require('core-js/modules/esnext.iterator.find.js')
10
- require('core-js/modules/esnext.iterator.map.js')
11
- const _retrieveRecord = require('../utilities/retrieveRecord')
12
- const _updateIndex = require('../utilities/updateIndex')
13
- const _keyGenerate = require('../introspect/policies/keyGenerate')
14
- const _keyUnique = require('../introspect/policies/keyUnique')
15
- const _useDefault = require('../introspect/policies/useDefault')
16
- const _typeCheck = require('../introspect/policies/typeCheck')
17
- const _foreignKeyExists = require('../introspect/policies/foreignKeyExists')
18
- const _splitEntityProperty = require('../utilities/parsers/splitEntityProperty')
19
- const _computeKeyValue = require('../utilities/computeKeyValue')
20
- const _config = require('../utilities/config')
5
+ });
6
+ exports.insertEntity = void 0;
7
+ require("core-js/modules/es.json.stringify.js");
8
+ require("core-js/modules/esnext.iterator.constructor.js");
9
+ require("core-js/modules/esnext.iterator.find.js");
10
+ require("core-js/modules/esnext.iterator.map.js");
11
+ var _retrieveRecord = require("../utilities/retrieveRecord");
12
+ var _updateIndex = require("../utilities/updateIndex");
13
+ var _keyGenerate = require("../introspect/policies/keyGenerate");
14
+ var _keyUnique = require("../introspect/policies/keyUnique");
15
+ var _useDefault = require("../introspect/policies/useDefault");
16
+ var _typeCheck = require("../introspect/policies/typeCheck");
17
+ var _foreignKeyExists = require("../introspect/policies/foreignKeyExists");
18
+ var _splitEntityProperty = require("../utilities/parsers/splitEntityProperty");
19
+ var _computeKeyValue = require("../utilities/computeKeyValue");
20
+ var _config = require("../utilities/config");
21
21
  const {
22
22
  writeFile
23
- } = require('fs/promises')
23
+ } = require('fs/promises');
24
24
  /**
25
25
  * Build one entity's stored values from the raw input values, generating any autoGenerate
26
26
  * fields and applying field defaults, then throw if a required field still has no value.
@@ -29,24 +29,24 @@ const {
29
29
  * @param rowValues
30
30
  */
31
31
  const buildEntityValues = async (entity, record, rowValues = {}) => {
32
- const entityValues = {}
32
+ const entityValues = {};
33
33
  for (const field of record.definition) {
34
- let value = rowValues[field.name]
34
+ let value = rowValues[field.name];
35
35
  if (field.autoGenerate) {
36
- value = await (0, _keyGenerate.keyGenerate)(entity, [field.name])
36
+ value = await (0, _keyGenerate.keyGenerate)(entity, [field.name]);
37
37
  } else if (Object.prototype.hasOwnProperty.call(field, 'default')) {
38
- value = (0, _useDefault.useDefault)(field.default, value)
38
+ value = (0, _useDefault.useDefault)(field['default'], value);
39
39
  }
40
40
  if (typeof value === 'undefined') {
41
41
  if (!field.optional) {
42
- throw new Error(`Missing required field "${field.name}" for ${entity}`)
42
+ throw new Error(`Missing required field "${field.name}" for ${entity}`);
43
43
  }
44
- continue
44
+ continue;
45
45
  }
46
- entityValues[field.name] = (0, _typeCheck.typeCheck)(field.type, value)
46
+ entityValues[field.name] = (0, _typeCheck.typeCheck)(field.type, value);
47
47
  }
48
- return entityValues
49
- }
48
+ return entityValues;
49
+ };
50
50
  /**
51
51
  * Reject the insert if it collides with an existing primary or unique key value - a single field,
52
52
  * or a composite of several for a multi-field key.
@@ -57,15 +57,15 @@ const buildEntityValues = async (entity, record, rowValues = {}) => {
57
57
  const assertUnique = async (entity, record, entityValues) => {
58
58
  for (const key of record.keys) {
59
59
  if (key.type !== 'primary' && key.type !== 'unique') {
60
- continue
60
+ continue;
61
61
  }
62
- const checkKeys = key.fields.map(field => entityValues[field])
63
- const isUnique = await (0, _keyUnique.keyUnique)(entity, key.fields, checkKeys)
62
+ const checkKeys = key.fields.map(field => entityValues[field]);
63
+ const isUnique = await (0, _keyUnique.keyUnique)(entity, key.fields, checkKeys);
64
64
  if (!isUnique) {
65
- throw new Error(`Duplicate value for ${key.type} key "${key.fields.join(', ')}" on ${entity}`)
65
+ throw new Error(`Duplicate value for ${key.type} key "${key.fields.join(', ')}" on ${entity}`);
66
66
  }
67
67
  }
68
- }
68
+ };
69
69
  /**
70
70
  * Reject the insert if a single-field foreign key's value doesn't exist in the record it
71
71
  * references.
@@ -76,42 +76,42 @@ const assertUnique = async (entity, record, entityValues) => {
76
76
  const assertForeignKeys = async (entity, record, entityValues) => {
77
77
  for (const key of record.keys) {
78
78
  if (key.type !== 'foreign' || key.fields.length !== 1 || !key.references || key.references.length !== 1) {
79
- continue
79
+ continue;
80
80
  }
81
- const field = key.fields[0]
81
+ const field = key.fields[0];
82
82
  if (!Object.prototype.hasOwnProperty.call(entityValues, field)) {
83
- continue
83
+ continue;
84
84
  }
85
85
  const {
86
86
  entity: refEntity,
87
87
  property: refProperty
88
- } = (0, _splitEntityProperty.splitEntityProperty)(key.references[0].fields[0])
89
- const exists = await (0, _foreignKeyExists.foreignKeyExists)(refEntity, refProperty, entityValues[field])
88
+ } = (0, _splitEntityProperty.splitEntityProperty)(key.references[0].fields[0]);
89
+ const exists = await (0, _foreignKeyExists.foreignKeyExists)(refEntity, refProperty, entityValues[field]);
90
90
  if (!exists) {
91
- throw new Error(`Foreign key "${field}" on ${entity} references a nonexistent ${refEntity}.${refProperty} = ${entityValues[field]}`)
91
+ throw new Error(`Foreign key "${field}" on ${entity} references a nonexistent ${refEntity}.${refProperty} = ${entityValues[field]}`);
92
92
  }
93
93
  }
94
- }
94
+ };
95
95
  const insertEntity = async (entity = '', values = [], dataSet = {}) => {
96
- const databasePath = (0, _config.getSetting)('databasePath', 'database/')
97
- const record = await (0, _retrieveRecord.retrieveRecord)(entity)
98
- const primaryKey = record.keys.find(key => key.type === 'primary' && key.fields.length === 1)
96
+ const databasePath = (0, _config.getSetting)('databasePath', 'database/');
97
+ const record = await (0, _retrieveRecord.retrieveRecord)(entity);
98
+ const primaryKey = record.keys.find(key => key.type === 'primary' && key.fields.length === 1);
99
99
  if (!Object.prototype.hasOwnProperty.call(dataSet, entity)) {
100
- dataSet[entity] = []
100
+ dataSet[entity] = [];
101
101
  }
102
102
  for (const rowValues of values) {
103
- const entityValues = await buildEntityValues(entity, record, rowValues)
104
- await assertUnique(entity, record, entityValues)
105
- await assertForeignKeys(entity, record, entityValues)
106
- const fileName = `${primaryKey ? entityValues[primaryKey.fields[0]] : crypto.randomUUID()}.json`
107
- await writeFile(`${databasePath}${record.path}/${fileName}`, JSON.stringify(entityValues, null, 2))
108
- record.entries.push(fileName)
109
- await writeFile(`${databasePath}${record.path}.json`, JSON.stringify(record, null, 2))
103
+ const entityValues = await buildEntityValues(entity, record, rowValues);
104
+ await assertUnique(entity, record, entityValues);
105
+ await assertForeignKeys(entity, record, entityValues);
106
+ const fileName = `${primaryKey ? entityValues[primaryKey.fields[0]] : crypto.randomUUID()}.json`;
107
+ await writeFile(`${databasePath}${record.path}/${fileName}`, JSON.stringify(entityValues, null, 2));
108
+ record.entries.push(fileName);
109
+ await writeFile(`${databasePath}${record.path}.json`, JSON.stringify(record, null, 2));
110
110
  for (const key of record.keys) {
111
- await (0, _updateIndex.updateIndex)(record.path, key, (0, _computeKeyValue.computeKeyValue)(key.fields, entityValues), fileName)
111
+ await (0, _updateIndex.updateIndex)(record.path, key, (0, _computeKeyValue.computeKeyValue)(key.fields, entityValues), fileName);
112
112
  }
113
- dataSet[entity].push(entityValues)
113
+ dataSet[entity].push(entityValues);
114
114
  }
115
- return dataSet
116
- }
117
- exports.insertEntity = insertEntity
115
+ return dataSet;
116
+ };
117
+ exports.insertEntity = insertEntity;
@@ -1,2 +1,2 @@
1
- export declare const joinEntity: (entity: any, joinEntity: any, dataSets?: {}, joinClauses?: any[], entityAlreadyResolved?: boolean) => Promise<{}>;
1
+ export declare const joinEntity: (entity: any, joinEntity: any, dataSets?: {}, joinClauses?: any[], entityAlreadyResolved?: boolean) => Promise<{}>;
2
2
  //# sourceMappingURL=joinEntity.d.ts.map
@@ -1,32 +1,32 @@
1
- 'use strict'
1
+ "use strict";
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
3
+ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- })
6
- exports.joinEntity = void 0
7
- const _siFunciona = _interopRequireDefault(require('si-funciona'))
8
- const _readEntity = require('./readEntity')
9
- const _useJoinClause = require('../utilities/useJoinClause')
10
- function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
5
+ });
6
+ exports.joinEntity = void 0;
7
+ var _siFunciona = _interopRequireDefault(require("si-funciona"));
8
+ var _readEntity = require("./readEntity");
9
+ var _useJoinClause = require("../utilities/useJoinClause");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
11
  const joinEntity = async (entity, joinEntity, dataSets = {}, joinClauses = [], entityAlreadyResolved = false) => {
12
12
  // Same ambiguity readEntity() always has (can't tell "never loaded" from "loaded, zero rows
13
13
  // matched") - runQuery already resolved entity's rows via an indexed condition in that second
14
14
  // case, so entityAlreadyResolved tells this call not to reload and silently discard that result.
15
15
  if (!entityAlreadyResolved) {
16
- dataSets = await (0, _readEntity.readEntity)(entity, dataSets)
16
+ dataSets = await (0, _readEntity.readEntity)(entity, dataSets);
17
17
  }
18
18
  if (!joinClauses.length) {
19
- return dataSets
19
+ return dataSets;
20
20
  }
21
- dataSets = await (0, _readEntity.readEntity)(joinEntity, dataSets)
21
+ dataSets = await (0, _readEntity.readEntity)(joinEntity, dataSets);
22
22
  for (const anEntity in dataSets[entity]) {
23
- let filterJoins = _siFunciona.default.cloneObject(dataSets)
24
- filterJoins[entity] = [dataSets[entity][anEntity]]
23
+ let filterJoins = _siFunciona.default.cloneObject(dataSets);
24
+ filterJoins[entity] = [dataSets[entity][anEntity]];
25
25
  for (const joinClause of joinClauses) {
26
- filterJoins = await (0, _useJoinClause.useJoinClause)(joinClause, dataSets, filterJoins)
26
+ filterJoins = await (0, _useJoinClause.useJoinClause)(joinClause, dataSets, filterJoins);
27
27
  }
28
- dataSets[entity][anEntity][joinEntity] = filterJoins[joinEntity]
28
+ dataSets[entity][anEntity][joinEntity] = filterJoins[joinEntity];
29
29
  }
30
- return dataSets
31
- }
32
- exports.joinEntity = joinEntity
30
+ return dataSets;
31
+ };
32
+ exports.joinEntity = joinEntity;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.joinEntity=void 0;var _siFunciona=_interopRequireDefault(require("si-funciona")),_readEntity=require("./readEntity"),_useJoinClause=require("../utilities/useJoinClause");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const joinEntity=async(e,t,i={},n=[],r=!1)=>{if(r||(i=await(0,_readEntity.readEntity)(e,i)),!n.length)return i;i=await(0,_readEntity.readEntity)(t,i);for(const r in i[e]){let u=_siFunciona.default.cloneObject(i);u[e]=[i[e][r]];for(let e of n)u=await(0,_useJoinClause.useJoinClause)(e,i,u);i[e][r][t]=u[t]}return i};exports.joinEntity=joinEntity;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.joinEntity=void 0;var _siFunciona=_interopRequireDefault(require("si-funciona")),_readEntity=require("./readEntity"),_useJoinClause=require("../utilities/useJoinClause");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const joinEntity=async(e,t,i={},n=[],r=!1)=>{if(r||(i=await(0,_readEntity.readEntity)(e,i)),!n.length)return i;i=await(0,_readEntity.readEntity)(t,i);for(const r in i[e]){let u=_siFunciona.default.cloneObject(i);u[e]=[i[e][r]];for(const e of n)u=await(0,_useJoinClause.useJoinClause)(e,i,u);i[e][r][t]=u[t]}return i};exports.joinEntity=joinEntity;
@@ -1,8 +1,8 @@
1
- /**
2
- * Slice a dataSet down to at most `limit` rows, starting after the first `offset` of them.
3
- * @param dataSet
4
- * @param offset
5
- * @param limit
6
- */
7
- export declare const limitOffset: (dataSet: Object[], offset: number | undefined, limit: number | undefined) => Object[];
1
+ /**
2
+ * Slice a dataSet down to at most `limit` rows, starting after the first `offset` of them.
3
+ * @param dataSet
4
+ * @param offset
5
+ * @param limit
6
+ */
7
+ export declare const limitOffset: (dataSet: Object[], offset: number | undefined, limit: number | undefined) => Object[];
8
8
  //# sourceMappingURL=limitOffset.d.ts.map
@@ -1,9 +1,9 @@
1
- 'use strict'
1
+ "use strict";
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
3
+ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- })
6
- exports.limitOffset = void 0
5
+ });
6
+ exports.limitOffset = void 0;
7
7
  /**
8
8
  * Slice a dataSet down to at most `limit` rows, starting after the first `offset` of them.
9
9
  * @param dataSet
@@ -12,10 +12,10 @@ exports.limitOffset = void 0
12
12
  */
13
13
  const limitOffset = (dataSet = [], offset, limit) => {
14
14
  if (typeof offset === 'undefined' && typeof limit === 'undefined') {
15
- return dataSet
15
+ return dataSet;
16
16
  }
17
- const start = offset ?? 0
18
- const end = typeof limit === 'number' ? start + limit : undefined
19
- return dataSet.slice(start, end)
20
- }
21
- exports.limitOffset = limitOffset
17
+ const start = offset ?? 0;
18
+ const end = typeof limit === 'number' ? start + limit : undefined;
19
+ return dataSet.slice(start, end);
20
+ };
21
+ exports.limitOffset = limitOffset;
@@ -1,2 +1,2 @@
1
- export declare const mergeJoins: (dataSet?: {}, merges?: any[]) => Promise<{}>;
1
+ export declare const mergeJoins: (dataSet?: {}, merges?: any[]) => Promise<{}>;
2
2
  //# sourceMappingURL=mergeJoins.d.ts.map
@@ -1,19 +1,19 @@
1
- 'use strict'
1
+ "use strict";
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
3
+ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- })
6
- exports.mergeJoins = void 0
7
- const _mergeJoin = require('../utilities/mergeJoin')
8
- const _reconcileJoins = require('../utilities/reconcileJoins')
5
+ });
6
+ exports.mergeJoins = void 0;
7
+ var _mergeJoin = require("../utilities/mergeJoin");
8
+ var _reconcileJoins = require("../utilities/reconcileJoins");
9
9
  const mergeJoins = async (dataSet = {}, merges = []) => {
10
10
  if (!merges.length) {
11
- return dataSet
11
+ return dataSet;
12
12
  }
13
13
  for (const merge of merges) {
14
- dataSet = await (0, _mergeJoin.mergeJoin)(merge.propertyA, merge.propertyB, dataSet)
15
- dataSet = (0, _reconcileJoins.reconcileJoins)(merge.propertyA, merge.propertyB, dataSet)
14
+ dataSet = await (0, _mergeJoin.mergeJoin)(merge.propertyA, merge.propertyB, dataSet);
15
+ dataSet = (0, _reconcileJoins.reconcileJoins)(merge.propertyA, merge.propertyB, dataSet);
16
16
  }
17
- return dataSet
18
- }
19
- exports.mergeJoins = mergeJoins
17
+ return dataSet;
18
+ };
19
+ exports.mergeJoins = mergeJoins;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.mergeJoins=void 0;var _mergeJoin=require("../utilities/mergeJoin"),_reconcileJoins=require("../utilities/reconcileJoins");const mergeJoins=async(e={},r=[])=>{if(!r.length)return e;for(let i of r)e=await(0,_mergeJoin.mergeJoin)(i.propertyA,i.propertyB,e),e=(0,_reconcileJoins.reconcileJoins)(i.propertyA,i.propertyB,e);return e};exports.mergeJoins=mergeJoins;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.mergeJoins=void 0;var _mergeJoin=require("../utilities/mergeJoin"),_reconcileJoins=require("../utilities/reconcileJoins");const mergeJoins=async(e={},r=[])=>{if(!r.length)return e;for(const o of r)e=await(0,_mergeJoin.mergeJoin)(o.propertyA,o.propertyB,e),e=(0,_reconcileJoins.reconcileJoins)(o.propertyA,o.propertyB,e);return e};exports.mergeJoins=mergeJoins;
@@ -1,2 +1,2 @@
1
- export declare const parser: (queries?: string) => any[];
1
+ export declare const parser: (queries?: string) => any[];
2
2
  //# sourceMappingURL=parser.d.ts.map
@@ -1,30 +1,30 @@
1
- 'use strict'
2
-
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- })
6
- exports.parser = void 0
7
- const _splitQueries = require('../utilities/parsers/splitQueries')
8
- const _parseQuery = require('../utilities/parsers/parseQuery')
9
- const parser = (queries = '') => {
10
- const queryArray = (0, _splitQueries.splitQueries)(queries)
11
- const parsedQueries = []
12
- let mergeQuery = ''
13
- for (const query of queryArray) {
14
- mergeQuery = mergeQuery ? `${mergeQuery}${query}` : query
15
- let parsedQuery = {}
16
- try {
17
- parsedQuery = (0, _parseQuery.parseQuery)(mergeQuery)
18
- mergeQuery = ''
19
- } catch (e) {
20
- // attempt to combine queries to fix bad splits
21
- continue
22
- }
23
- parsedQueries.push(parsedQuery)
24
- }
25
- if (mergeQuery) {
26
- throw new Error(`Failed to interpret: ${mergeQuery}`)
27
- }
28
- return parsedQueries
29
- }
30
- exports.parser = parser
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parser = void 0;
7
+ var _splitQueries = require("../utilities/parsers/splitQueries");
8
+ var _parseQuery = require("../utilities/parsers/parseQuery");
9
+ const parser = (queries = '') => {
10
+ const queryArray = (0, _splitQueries.splitQueries)(queries);
11
+ const parsedQueries = [];
12
+ let mergeQuery = '';
13
+ for (const query of queryArray) {
14
+ mergeQuery = mergeQuery ? `${mergeQuery}${query}` : query;
15
+ let parsedQuery = {};
16
+ try {
17
+ parsedQuery = (0, _parseQuery.parseQuery)(mergeQuery);
18
+ mergeQuery = '';
19
+ } catch (e) {
20
+ // attempt to combine queries to fix bad splits
21
+ continue;
22
+ }
23
+ parsedQueries.push(parsedQuery);
24
+ }
25
+ if (mergeQuery) {
26
+ throw new Error(`Failed to interpret: ${mergeQuery}`);
27
+ }
28
+ return parsedQueries;
29
+ };
30
+ exports.parser = parser;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.parser=void 0;var _splitQueries=require("../utilities/parsers/splitQueries"),_parseQuery=require("../utilities/parsers/parseQuery");const parser=(e="")=>{const r=(0,_splitQueries.splitQueries)(e),s=[];let t="";for(let e of r){t=t?`${t}${e}`:e;let r={};try{r=(0,_parseQuery.parseQuery)(t),t=""}catch(e){continue}s.push(r)}if(t)throw new Error(`Failed to interpret: ${t}`);return s};exports.parser=parser;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.parser=void 0;var _splitQueries=require("../utilities/parsers/splitQueries"),_parseQuery=require("../utilities/parsers/parseQuery");const parser=(e="")=>{const r=(0,_splitQueries.splitQueries)(e),s=[];let t="";for(const e of r){t=t?`${t}${e}`:e;let r={};try{r=(0,_parseQuery.parseQuery)(t),t=""}catch(e){continue}s.push(r)}if(t)throw new Error(`Failed to interpret: ${t}`);return s};exports.parser=parser;
@@ -1,2 +1,2 @@
1
- export declare const query: (queryString?: string) => Promise<any[]>;
1
+ export declare const query: (queryString?: string) => Promise<any[]>;
2
2
  //# sourceMappingURL=query.d.ts.map
@@ -1,18 +1,18 @@
1
- 'use strict'
1
+ "use strict";
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
3
+ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- })
6
- exports.query = void 0
7
- const _parser = require('./parser')
8
- const _runQuery = require('../utilities/runQuery')
5
+ });
6
+ exports.query = void 0;
7
+ var _parser = require("./parser");
8
+ var _runQuery = require("../utilities/runQuery");
9
9
  const query = async (queryString = '') => {
10
- const parsedQueries = (0, _parser.parser)(queryString)
11
- const queryResults = []
10
+ const parsedQueries = (0, _parser.parser)(queryString);
11
+ const queryResults = [];
12
12
  for (const parsed of parsedQueries) {
13
- const dataSet = await (0, _runQuery.runQuery)(parsed)
14
- queryResults.push(dataSet[parsed.entity])
13
+ const dataSet = await (0, _runQuery.runQuery)(parsed);
14
+ queryResults.push(dataSet[parsed.entity]);
15
15
  }
16
- return queryResults
17
- }
18
- exports.query = query
16
+ return queryResults;
17
+ };
18
+ exports.query = query;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.query=void 0;var _parser=require("./parser"),_runQuery=require("../utilities/runQuery");const query=async(r="")=>{const e=(0,_parser.parser)(r),u=[];for(let r of e){const e=await(0,_runQuery.runQuery)(r);u.push(e[r.entity])}return u};exports.query=query;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.query=void 0;var _parser=require("./parser"),_runQuery=require("../utilities/runQuery");const query=async(r="")=>{const e=(0,_parser.parser)(r),u=[];for(const r of e){const e=await(0,_runQuery.runQuery)(r);u.push(e[r.entity])}return u};exports.query=query;
@@ -1,14 +1,14 @@
1
- 'use strict'
1
+ "use strict";
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
3
+ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- })
6
- exports.readEntity = void 0
7
- const _retrieveRecords = require('../utilities/retrieveRecords')
5
+ });
6
+ exports.readEntity = void 0;
7
+ var _retrieveRecords = require("../utilities/retrieveRecords");
8
8
  const readEntity = async (entity = '', dataSet = {}) => {
9
9
  if (!Object.prototype.hasOwnProperty.call(dataSet, entity) || !dataSet[entity].length) {
10
- dataSet[entity] = await (0, _retrieveRecords.retrieveRecords)(entity)
10
+ dataSet[entity] = await (0, _retrieveRecords.retrieveRecords)(entity);
11
11
  }
12
- return dataSet
13
- }
14
- exports.readEntity = readEntity
12
+ return dataSet;
13
+ };
14
+ exports.readEntity = readEntity;
@@ -1,10 +1,10 @@
1
- import { ParsedSelect } from '../utilities/parsers/findSelects';
2
- /**
3
- * Shape each row down to only the selected properties (aliased, when given). dataSet is either a plain array of
4
- * rows, or (once groupBy has run) a plain object keyed by group value, each value an array of rows - both are
5
- * shaped the same way, row by row.
6
- * @param dataSet
7
- * @param selectClauses
8
- */
9
- export declare const selectFields: (dataSet?: Object[] | Object, selectClauses?: ParsedSelect[]) => Object[] | Object;
1
+ import { ParsedSelect } from '../utilities/parsers/findSelects';
2
+ /**
3
+ * Shape each row down to only the selected properties (aliased, when given). dataSet is either a plain array of
4
+ * rows, or (once groupBy has run) a plain object keyed by group value, each value an array of rows - both are
5
+ * shaped the same way, row by row.
6
+ * @param dataSet
7
+ * @param selectClauses
8
+ */
9
+ export declare const selectFields: (dataSet?: Object[] | Object, selectClauses?: ParsedSelect[]) => Object[] | Object;
10
10
  //# sourceMappingURL=selectFields.d.ts.map
@@ -1,19 +1,19 @@
1
- 'use strict'
1
+ "use strict";
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
3
+ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- })
6
- exports.selectFields = void 0
7
- require('core-js/modules/esnext.iterator.constructor.js')
8
- require('core-js/modules/esnext.iterator.map.js')
9
- require('core-js/modules/esnext.iterator.reduce.js')
5
+ });
6
+ exports.selectFields = void 0;
7
+ require("core-js/modules/esnext.iterator.constructor.js");
8
+ require("core-js/modules/esnext.iterator.map.js");
9
+ require("core-js/modules/esnext.iterator.reduce.js");
10
10
  const shapeRow = (row, selectClauses) => selectClauses.reduce((shaped, {
11
11
  property,
12
12
  alias
13
13
  }) => {
14
- shaped[alias || property] = row[property]
15
- return shaped
16
- }, {})
14
+ shaped[alias || property] = row[property];
15
+ return shaped;
16
+ }, {});
17
17
  /**
18
18
  * Shape each row down to only the selected properties (aliased, when given). dataSet is either a plain array of
19
19
  * rows, or (once groupBy has run) a plain object keyed by group value, each value an array of rows - both are
@@ -23,14 +23,14 @@ const shapeRow = (row, selectClauses) => selectClauses.reduce((shaped, {
23
23
  */
24
24
  const selectFields = (dataSet = [], selectClauses = []) => {
25
25
  if (!selectClauses.length) {
26
- return dataSet
26
+ return dataSet;
27
27
  }
28
28
  if (Array.isArray(dataSet)) {
29
- return dataSet.map(row => shapeRow(row, selectClauses))
29
+ return dataSet.map(row => shapeRow(row, selectClauses));
30
30
  }
31
31
  return Object.keys(dataSet).reduce((shaped, key) => {
32
- shaped[key] = dataSet[key].map(row => shapeRow(row, selectClauses))
33
- return shaped
34
- }, {})
35
- }
36
- exports.selectFields = selectFields
32
+ shaped[key] = dataSet[key].map(row => shapeRow(row, selectClauses));
33
+ return shaped;
34
+ }, {});
35
+ };
36
+ exports.selectFields = selectFields;
@@ -1,2 +1,2 @@
1
- export declare const sortBy: (dataSet?: any[], sortClauses?: any[]) => any[];
1
+ export declare const sortBy: (dataSet?: any[], sortClauses?: any[]) => any[];
2
2
  //# sourceMappingURL=sortBy.d.ts.map
@@ -1,25 +1,25 @@
1
- 'use strict'
2
-
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- })
6
- exports.sortBy = void 0
7
- const sortBy = (dataSet = [], sortClauses = []) => {
8
- if (!sortClauses.length) {
9
- return dataSet
10
- }
11
- dataSet.sort((a, b) => {
12
- for (const sortClause of sortClauses) {
13
- const property = sortClause.property
14
- const direction = sortClause.direction
15
- if (a[property] == b[property]) {
16
- continue
17
- }
18
- const result = a[property] < b[property] ? -1 : 1
19
- return direction === 'asc' ? result : result * -1
20
- }
21
- return 0
22
- })
23
- return dataSet
24
- }
25
- exports.sortBy = sortBy
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.sortBy = void 0;
7
+ const sortBy = (dataSet = [], sortClauses = []) => {
8
+ if (!sortClauses.length) {
9
+ return dataSet;
10
+ }
11
+ dataSet.sort((a, b) => {
12
+ for (const sortClause of sortClauses) {
13
+ const property = sortClause.property;
14
+ const direction = sortClause.direction;
15
+ if (a[property] == b[property]) {
16
+ continue;
17
+ }
18
+ const result = a[property] < b[property] ? -1 : 1;
19
+ return direction === 'asc' ? result : result * -1;
20
+ }
21
+ return 0;
22
+ });
23
+ return dataSet;
24
+ };
25
+ exports.sortBy = sortBy;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.sortBy=void 0;const sortBy=(t=[],o=[])=>o.length?(t.sort(((t,r)=>{for(let e of o){const o=e.property,s=e.direction;if(t[o]==r[o])continue;const n=t[o]<r[o]?-1:1;return"asc"===s?n:-1*n}return 0})),t):t;exports.sortBy=sortBy;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.sortBy=void 0;const sortBy=(t=[],o=[])=>o.length?(t.sort(((t,r)=>{for(const e of o){const o=e.property,s=e.direction;if(t[o]==r[o])continue;const n=t[o]<r[o]?-1:1;return"asc"===s?n:-1*n}return 0})),t):t;exports.sortBy=sortBy;
@@ -1,2 +1,2 @@
1
- export declare const updateEntity: (entity?: string, values?: Object, dataSet?: Object) => Promise<Object>;
1
+ export declare const updateEntity: (entity?: string, values?: Object, dataSet?: Object) => Promise<Object>;
2
2
  //# sourceMappingURL=updateEntity.d.ts.map