json-fs-query 1.0.5 → 1.1.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 (94) hide show
  1. package/browser/jsonFsQuery.js +520 -363
  2. package/browser/jsonFsQuery.min.js +1 -1
  3. package/dist/data/introspect/create.js +46 -46
  4. package/dist/data/introspect/definitions/field.js +35 -35
  5. package/dist/data/introspect/definitions/key.js +52 -52
  6. package/dist/data/introspect/definitions/keyReference.js +19 -19
  7. package/dist/data/introspect/definitions/record.js +31 -31
  8. package/dist/data/introspect/describe.js +14 -14
  9. package/dist/data/introspect/drop.js +36 -36
  10. package/dist/data/introspect/index.js +29 -29
  11. package/dist/data/introspect/policies/foreignKeyExists.js +5 -1
  12. package/dist/data/introspect/policies/foreignKeyExists.min.js +1 -1
  13. package/dist/data/introspect/policies/hasDependents.js +3 -1
  14. package/dist/data/introspect/policies/hasDependents.min.js +1 -1
  15. package/dist/data/introspect/policies/keyGenerate.js +16 -16
  16. package/dist/data/introspect/policies/keyUnique.js +5 -1
  17. package/dist/data/introspect/policies/keyUnique.min.js +1 -1
  18. package/dist/data/introspect/policies/typeCheck.js +56 -56
  19. package/dist/data/introspect/policies/typeEnum.js +13 -13
  20. package/dist/data/introspect/policies/useDefault.js +12 -12
  21. package/dist/data/queries/deleteEntity.js +2 -1
  22. package/dist/data/queries/deleteEntity.min.js +1 -1
  23. package/dist/data/queries/groupBy.js +21 -21
  24. package/dist/data/queries/insertEntity.js +2 -1
  25. package/dist/data/queries/insertEntity.min.js +1 -1
  26. package/dist/data/queries/joinEntity.js +31 -31
  27. package/dist/data/queries/limitOffset.js +20 -20
  28. package/dist/data/queries/mergeJoins.js +18 -18
  29. package/dist/data/queries/parser.js +29 -29
  30. package/dist/data/queries/query.js +17 -17
  31. package/dist/data/queries/readEntity.js +13 -13
  32. package/dist/data/queries/selectFields.js +35 -35
  33. package/dist/data/queries/sortBy.js +3 -0
  34. package/dist/data/queries/updateEntity.js +14 -10
  35. package/dist/data/queries/updateEntity.min.js +1 -1
  36. package/dist/data/queries/where.d.ts +7 -6
  37. package/dist/data/queries/where.js +18 -6
  38. package/dist/data/queries/where.min.js +1 -1
  39. package/dist/data/utilities/compareAs.d.ts +20 -0
  40. package/dist/data/utilities/compareAs.js +58 -0
  41. package/dist/data/utilities/compareAs.min.js +1 -0
  42. package/dist/data/utilities/computeKeyValue.js +25 -25
  43. package/dist/data/utilities/config.js +44 -44
  44. package/dist/data/utilities/deregisterRecord.js +33 -33
  45. package/dist/data/utilities/fieldType.d.ts +16 -0
  46. package/dist/data/utilities/fieldType.js +23 -0
  47. package/dist/data/utilities/fieldType.min.js +1 -0
  48. package/dist/data/utilities/getConditionIndexedList.js +2 -1
  49. package/dist/data/utilities/getConditionIndexedList.min.js +1 -1
  50. package/dist/data/utilities/getJoinIndexedList.js +75 -75
  51. package/dist/data/utilities/getMatchingIndexes.js +27 -27
  52. package/dist/data/utilities/matchIndexedJoins.js +3 -1
  53. package/dist/data/utilities/matchIndexedJoins.min.js +1 -1
  54. package/dist/data/utilities/mergeJoin.js +5 -1
  55. package/dist/data/utilities/mergeJoin.min.js +1 -1
  56. package/dist/data/utilities/parsers/findCommand.js +24 -24
  57. package/dist/data/utilities/parsers/findConditions.d.ts +15 -14
  58. package/dist/data/utilities/parsers/findConditions.js +27 -27
  59. package/dist/data/utilities/parsers/findGroupBy.js +21 -21
  60. package/dist/data/utilities/parsers/findInsertValues.js +33 -33
  61. package/dist/data/utilities/parsers/findJoinClauses.js +26 -26
  62. package/dist/data/utilities/parsers/findJoinEntity.js +21 -21
  63. package/dist/data/utilities/parsers/findLimit.js +21 -21
  64. package/dist/data/utilities/parsers/findMergeJoins.js +25 -25
  65. package/dist/data/utilities/parsers/findOffset.js +21 -21
  66. package/dist/data/utilities/parsers/findSelects.js +29 -29
  67. package/dist/data/utilities/parsers/findSortClauses.js +29 -29
  68. package/dist/data/utilities/parsers/findUpdateValues.js +33 -33
  69. package/dist/data/utilities/parsers/isEntityProperty.js +7 -7
  70. package/dist/data/utilities/parsers/parseLiteralValue.js +33 -33
  71. package/dist/data/utilities/parsers/parseQuery.js +50 -50
  72. package/dist/data/utilities/parsers/removeFromQuery.js +7 -7
  73. package/dist/data/utilities/parsers/splitEntityProperty.js +22 -22
  74. package/dist/data/utilities/parsers/splitQueries.js +10 -10
  75. package/dist/data/utilities/reconcileJoin.js +25 -25
  76. package/dist/data/utilities/reconcileJoins.js +25 -25
  77. package/dist/data/utilities/registerRecord.js +66 -66
  78. package/dist/data/utilities/removeFromIndex.d.ts +14 -13
  79. package/dist/data/utilities/removeFromIndex.js +4 -2
  80. package/dist/data/utilities/removeFromIndex.min.js +1 -1
  81. package/dist/data/utilities/restrictIndexedList.js +44 -44
  82. package/dist/data/utilities/retrieveFile.js +27 -27
  83. package/dist/data/utilities/retrieveIndexes.js +23 -23
  84. package/dist/data/utilities/retrieveRecord.js +8 -8
  85. package/dist/data/utilities/retrieveRecords.js +20 -20
  86. package/dist/data/utilities/runQuery.js +26 -0
  87. package/dist/data/utilities/runQuery.min.js +1 -1
  88. package/dist/data/utilities/updateIndex.d.ts +17 -16
  89. package/dist/data/utilities/updateIndex.js +4 -2
  90. package/dist/data/utilities/updateIndex.min.js +1 -1
  91. package/dist/data/utilities/useJoinClause.js +8 -2
  92. package/dist/data/utilities/useJoinClause.min.js +1 -1
  93. package/dist/index.js +41 -41
  94. package/package.json +14 -5
@@ -10,6 +10,8 @@ var _readEntity = require("../queries/readEntity");
10
10
  var _where = require("../queries/where");
11
11
  var _splitEntityProperty = require("./parsers/splitEntityProperty");
12
12
  var _siFunciona = _interopRequireDefault(require("si-funciona"));
13
+ var _retrieveRecord = require("./retrieveRecord");
14
+ var _fieldType = require("./fieldType");
13
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
16
  const useJoinClause = async ({
15
17
  propertyA = null,
@@ -36,15 +38,19 @@ const useJoinClause = async ({
36
38
  if (!Object.prototype.hasOwnProperty.call(filterJoins, entityB)) {
37
39
  filterJoins[entityB] = _siFunciona.default.cloneObject(dataSets[entityB]);
38
40
  }
41
+ const typeA = (0, _fieldType.fieldType)(await (0, _retrieveRecord.retrieveRecord)(entityA), propA);
42
+ const typeB = (0, _fieldType.fieldType)(await (0, _retrieveRecord.retrieveRecord)(entityB), propB);
39
43
  filterJoins[entityA] = filterJoins[entityB].reduce((dataA, dataB) => _siFunciona.default.mergeArrays(dataA, (0, _where.where)(filterJoins[entityA], {
40
44
  property: propA,
41
45
  comparator,
42
- value: dataB[propB]
46
+ value: dataB[propB],
47
+ type: typeA
43
48
  })), []);
44
49
  filterJoins[entityB] = filterJoins[entityA].reduce((dataB, dataA) => _siFunciona.default.mergeArrays(dataB, (0, _where.where)(filterJoins[entityB], {
45
50
  property: propB,
46
51
  comparator,
47
- value: dataA[propA]
52
+ value: dataA[propA],
53
+ type: typeB
48
54
  })), []);
49
55
  return filterJoins;
50
56
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useJoinClause=void 0,require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.reduce.js");var _readEntity=require("../queries/readEntity"),_where=require("../queries/where"),_splitEntityProperty=require("./parsers/splitEntityProperty"),_siFunciona=_interopRequireDefault(require("si-funciona"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const useJoinClause=async({propertyA:e=null,comparator:r="=",propertyB:t=null}={},o={},i={})=>{const{entity:a,property:n}=(0,_splitEntityProperty.splitEntityProperty)(e),{entity:s,property:u}=(0,_splitEntityProperty.splitEntityProperty)(t);return Object.prototype.hasOwnProperty.call(o,a)||(o=await(0,_readEntity.readEntity)(a,o)),Object.prototype.hasOwnProperty.call(o,s)||(o=await(0,_readEntity.readEntity)(s,o)),Object.prototype.hasOwnProperty.call(i,a)||(i[a]=_siFunciona.default.cloneObject(o[a])),Object.prototype.hasOwnProperty.call(i,s)||(i[s]=_siFunciona.default.cloneObject(o[s])),i[a]=i[s].reduce(((e,t)=>_siFunciona.default.mergeArrays(e,(0,_where.where)(i[a],{property:n,comparator:r,value:t[u]}))),[]),i[s]=i[a].reduce(((e,t)=>_siFunciona.default.mergeArrays(e,(0,_where.where)(i[s],{property:u,comparator:r,value:t[n]}))),[]),i};exports.useJoinClause=useJoinClause;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useJoinClause=void 0,require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.reduce.js");var _readEntity=require("../queries/readEntity"),_where=require("../queries/where"),_splitEntityProperty=require("./parsers/splitEntityProperty"),_siFunciona=_interopRequireDefault(require("si-funciona")),_retrieveRecord=require("./retrieveRecord"),_fieldType=require("./fieldType");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const useJoinClause=async({propertyA:e=null,comparator:r="=",propertyB:t=null}={},i={},o={})=>{const{entity:a,property:p}=(0,_splitEntityProperty.splitEntityProperty)(e),{entity:n,property:s}=(0,_splitEntityProperty.splitEntityProperty)(t);Object.prototype.hasOwnProperty.call(i,a)||(i=await(0,_readEntity.readEntity)(a,i)),Object.prototype.hasOwnProperty.call(i,n)||(i=await(0,_readEntity.readEntity)(n,i)),Object.prototype.hasOwnProperty.call(o,a)||(o[a]=_siFunciona.default.cloneObject(i[a])),Object.prototype.hasOwnProperty.call(o,n)||(o[n]=_siFunciona.default.cloneObject(i[n]));const u=(0,_fieldType.fieldType)(await(0,_retrieveRecord.retrieveRecord)(a),p),y=(0,_fieldType.fieldType)(await(0,_retrieveRecord.retrieveRecord)(n),s);return o[a]=o[n].reduce(((e,t)=>_siFunciona.default.mergeArrays(e,(0,_where.where)(o[a],{property:p,comparator:r,value:t[s],type:u}))),[]),o[n]=o[a].reduce(((e,t)=>_siFunciona.default.mergeArrays(e,(0,_where.where)(o[n],{property:s,comparator:r,value:t[p],type:y}))),[]),o};exports.useJoinClause=useJoinClause;
package/dist/index.js CHANGED
@@ -1,42 +1,42 @@
1
- "use strict";
2
-
3
- require("core-js/modules/esnext.async-iterator.constructor.js");
4
- require("core-js/modules/esnext.async-iterator.drop.js");
5
- require("core-js/modules/esnext.iterator.constructor.js");
6
- require("core-js/modules/esnext.iterator.drop.js");
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- Object.defineProperty(exports, "configure", {
11
- enumerable: true,
12
- get: function () {
13
- return _config.configure;
14
- }
15
- });
16
- Object.defineProperty(exports, "create", {
17
- enumerable: true,
18
- get: function () {
19
- return _introspect.create;
20
- }
21
- });
22
- Object.defineProperty(exports, "describe", {
23
- enumerable: true,
24
- get: function () {
25
- return _introspect.describe;
26
- }
27
- });
28
- Object.defineProperty(exports, "drop", {
29
- enumerable: true,
30
- get: function () {
31
- return _introspect.drop;
32
- }
33
- });
34
- Object.defineProperty(exports, "query", {
35
- enumerable: true,
36
- get: function () {
37
- return _query.query;
38
- }
39
- });
40
- var _query = require("./data/queries/query");
41
- var _introspect = require("./data/introspect");
1
+ "use strict";
2
+
3
+ require("core-js/modules/esnext.async-iterator.constructor.js");
4
+ require("core-js/modules/esnext.async-iterator.drop.js");
5
+ require("core-js/modules/esnext.iterator.constructor.js");
6
+ require("core-js/modules/esnext.iterator.drop.js");
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ Object.defineProperty(exports, "configure", {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _config.configure;
14
+ }
15
+ });
16
+ Object.defineProperty(exports, "create", {
17
+ enumerable: true,
18
+ get: function () {
19
+ return _introspect.create;
20
+ }
21
+ });
22
+ Object.defineProperty(exports, "describe", {
23
+ enumerable: true,
24
+ get: function () {
25
+ return _introspect.describe;
26
+ }
27
+ });
28
+ Object.defineProperty(exports, "drop", {
29
+ enumerable: true,
30
+ get: function () {
31
+ return _introspect.drop;
32
+ }
33
+ });
34
+ Object.defineProperty(exports, "query", {
35
+ enumerable: true,
36
+ get: function () {
37
+ return _query.query;
38
+ }
39
+ });
40
+ var _query = require("./data/queries/query");
41
+ var _introspect = require("./data/introspect");
42
42
  var _config = require("./data/utilities/config");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "json-fs-query",
3
- "version": "1.0.5",
3
+ "version": "1.1.0",
4
4
  "description": "Use json files to manage and read data.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -14,6 +14,9 @@
14
14
  "build": "gulp build",
15
15
  "dev": "gulp",
16
16
  "docs": "gulp docs",
17
+ "publish:bundle": "gulp copyFiles",
18
+ "release": "release-it",
19
+ "release:dry-run": "release-it --dry-run",
17
20
  "sass": "gulp sass",
18
21
  "test": "gulp testFull",
19
22
  "typecheck": "tsc --noEmit -p tsconfig.json",
@@ -39,13 +42,19 @@
39
42
  "homepage": "https://github.com/jheagle/json-file-db#readme",
40
43
  "devDependencies": {
41
44
  "gulp": "^5.0.1",
42
- "js-build-tools": "^6.1.0",
43
- "test-filesystem": "^2.0.0",
45
+ "js-build-tools": "^6.3.0",
46
+ "release-it": "^21.1.1",
47
+ "test-filesystem": "^2.0.2",
44
48
  "typedoc": "^0.28.20"
45
49
  },
46
50
  "dependencies": {
47
51
  "browser-or-node": "^3.0.0",
48
- "core-js": "^3.50.0",
49
- "si-funciona": "^2.7.3"
52
+ "core-js": "^3.51.0",
53
+ "si-funciona": "^2.8.0"
54
+ },
55
+ "standard": {
56
+ "env": [
57
+ "jest"
58
+ ]
50
59
  }
51
60
  }