json-fs-query 3.1.4 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +257 -15
- package/browser/jsonFsQuery.js +3884 -5057
- package/browser/jsonFsQuery.min.js +1 -1
- package/dist/data/introspect/alter.d.ts +12 -0
- package/dist/data/introspect/alter.js +304 -0
- package/dist/data/introspect/alter.min.js +1 -0
- package/dist/data/introspect/create.d.ts +10 -0
- package/dist/data/introspect/create.js +9 -23
- package/dist/data/introspect/create.min.js +1 -1
- package/dist/data/introspect/drop.js +7 -15
- package/dist/data/introspect/drop.min.js +1 -1
- package/dist/data/introspect/formatDatabase.d.ts +17 -0
- package/dist/data/introspect/formatDatabase.js +56 -0
- package/dist/data/introspect/formatDatabase.min.js +1 -0
- package/dist/data/introspect/index.d.ts +9 -0
- package/dist/data/introspect/index.js +18 -5
- package/dist/data/introspect/index.min.js +1 -1
- package/dist/data/introspect/packDatabase.d.ts +27 -0
- package/dist/data/introspect/packDatabase.js +113 -0
- package/dist/data/introspect/packDatabase.min.js +1 -0
- package/dist/data/introspect/policies/foreignKeyExists.d.ts +2 -0
- package/dist/data/introspect/policies/foreignKeyExists.js +9 -3
- package/dist/data/introspect/policies/foreignKeyExists.min.js +1 -1
- package/dist/data/introspect/policies/hasDependents.d.ts +3 -3
- package/dist/data/introspect/policies/hasDependents.js +11 -3
- package/dist/data/introspect/policies/hasDependents.min.js +1 -1
- package/dist/data/introspect/policies/keyUnique.d.ts +3 -0
- package/dist/data/introspect/policies/keyUnique.js +10 -0
- package/dist/data/introspect/policies/keyUnique.min.js +1 -1
- package/dist/data/queries/databaseStatements.d.ts +31 -0
- package/dist/data/queries/databaseStatements.js +97 -0
- package/dist/data/queries/databaseStatements.min.js +1 -0
- package/dist/data/queries/deleteEntity.js +35 -19
- package/dist/data/queries/deleteEntity.min.js +1 -1
- package/dist/data/queries/insertEntity.d.ts +8 -0
- package/dist/data/queries/insertEntity.js +340 -43
- package/dist/data/queries/insertEntity.min.js +1 -1
- package/dist/data/queries/joinEntity.d.ts +15 -0
- package/dist/data/queries/joinEntity.js +91 -15
- package/dist/data/queries/joinEntity.min.js +1 -1
- package/dist/data/queries/query.d.ts +2 -1
- package/dist/data/queries/query.js +5 -2
- package/dist/data/queries/query.min.js +1 -1
- package/dist/data/queries/selectFields.d.ts +5 -4
- package/dist/data/queries/selectFields.js +25 -11
- package/dist/data/queries/selectFields.min.js +1 -1
- package/dist/data/queries/updateEntity.js +54 -15
- package/dist/data/queries/updateEntity.min.js +1 -1
- package/dist/data/storage/databases.d.ts +32 -0
- package/dist/data/storage/databases.js +93 -0
- package/dist/data/storage/databases.min.js +1 -0
- package/dist/data/storage/fileExists.d.ts +7 -0
- package/dist/data/storage/fileExists.js +25 -0
- package/dist/data/storage/fileExists.min.js +1 -0
- package/dist/data/storage/index.d.ts +19 -0
- package/dist/data/storage/index.js +124 -0
- package/dist/data/storage/index.min.js +1 -0
- package/dist/data/storage/listFiles.d.ts +8 -0
- package/dist/data/storage/listFiles.js +52 -0
- package/dist/data/storage/listFiles.min.js +1 -0
- package/dist/data/storage/makeDirectory.d.ts +7 -0
- package/dist/data/storage/makeDirectory.js +24 -0
- package/dist/data/storage/makeDirectory.min.js +1 -0
- package/dist/data/storage/nodeFiles.d.ts +6 -0
- package/dist/data/storage/nodeFiles.js +12 -0
- package/dist/data/storage/nodeFiles.min.js +1 -0
- package/dist/data/storage/readCache.d.ts +37 -0
- package/dist/data/storage/readCache.js +117 -0
- package/dist/data/storage/readCache.min.js +1 -0
- package/dist/data/storage/readJson.d.ts +16 -0
- package/dist/data/storage/readJson.js +38 -0
- package/dist/data/storage/readJson.min.js +1 -0
- package/dist/data/storage/removeDirectory.d.ts +8 -0
- package/dist/data/storage/removeDirectory.js +30 -0
- package/dist/data/storage/removeDirectory.min.js +1 -0
- package/dist/data/storage/removeFile.d.ts +8 -0
- package/dist/data/storage/removeFile.js +31 -0
- package/dist/data/storage/removeFile.min.js +1 -0
- package/dist/data/storage/storagePath.d.ts +11 -0
- package/dist/data/storage/storagePath.js +25 -0
- package/dist/data/storage/storagePath.min.js +1 -0
- package/dist/data/storage/writeJson.d.ts +17 -0
- package/dist/data/storage/writeJson.js +37 -0
- package/dist/data/storage/writeJson.min.js +1 -0
- package/dist/data/storage/writeSet.d.ts +64 -0
- package/dist/data/storage/writeSet.js +306 -0
- package/dist/data/storage/writeSet.min.js +1 -0
- package/dist/data/utilities/compareAs.d.ts +1 -0
- package/dist/data/utilities/compareAs.js +2 -2
- package/dist/data/utilities/compareAs.min.js +1 -1
- package/dist/data/utilities/config.d.ts +37 -0
- package/dist/data/utilities/config.js +77 -5
- package/dist/data/utilities/config.min.js +1 -1
- package/dist/data/utilities/databaseLock.d.ts +7 -0
- package/dist/data/utilities/databaseLock.js +19 -4
- package/dist/data/utilities/databaseLock.min.js +1 -1
- package/dist/data/utilities/deregisterRecord.js +4 -10
- package/dist/data/utilities/deregisterRecord.min.js +1 -1
- package/dist/data/utilities/getConditionIndexedList.js +3 -4
- package/dist/data/utilities/getConditionIndexedList.min.js +1 -1
- package/dist/data/utilities/indexBuffer.d.ts +35 -0
- package/dist/data/utilities/indexBuffer.js +139 -0
- package/dist/data/utilities/indexBuffer.min.js +1 -0
- package/dist/data/utilities/indexHas.d.ts +13 -0
- package/dist/data/utilities/indexHas.js +48 -0
- package/dist/data/utilities/indexHas.min.js +1 -0
- package/dist/data/utilities/joinBases.d.ts +29 -0
- package/dist/data/utilities/joinBases.js +128 -0
- package/dist/data/utilities/joinBases.min.js +1 -0
- package/dist/data/utilities/joinKey.d.ts +17 -0
- package/dist/data/utilities/joinKey.js +31 -0
- package/dist/data/utilities/joinKey.min.js +1 -0
- package/dist/data/utilities/keyIndexFiles.d.ts +16 -0
- package/dist/data/utilities/keyIndexFiles.js +60 -0
- package/dist/data/utilities/keyIndexFiles.min.js +1 -0
- package/dist/data/utilities/knownFields.d.ts +26 -0
- package/dist/data/utilities/knownFields.js +128 -0
- package/dist/data/utilities/knownFields.min.js +1 -0
- package/dist/data/utilities/packedTable.d.ts +34 -0
- package/dist/data/utilities/packedTable.js +60 -0
- package/dist/data/utilities/packedTable.min.js +1 -0
- package/dist/data/utilities/parsers/findInsertValues.d.ts +3 -3
- package/dist/data/utilities/parsers/findInsertValues.js +28 -12
- package/dist/data/utilities/parsers/findInsertValues.min.js +1 -1
- package/dist/data/utilities/parsers/maskStrings.js +11 -2
- package/dist/data/utilities/parsers/maskStrings.min.js +1 -1
- package/dist/data/utilities/parsers/parseAlter.d.ts +33 -0
- package/dist/data/utilities/parsers/parseAlter.js +84 -0
- package/dist/data/utilities/parsers/parseAlter.min.js +1 -0
- package/dist/data/utilities/parsers/parseCreate.d.ts +14 -0
- package/dist/data/utilities/parsers/parseCreate.js +13 -5
- package/dist/data/utilities/parsers/parseCreate.min.js +1 -1
- package/dist/data/utilities/parsers/parseDatabaseStatement.d.ts +17 -0
- package/dist/data/utilities/parsers/parseDatabaseStatement.js +82 -0
- package/dist/data/utilities/parsers/parseDatabaseStatement.min.js +1 -0
- package/dist/data/utilities/parsers/parseQuery.d.ts +3 -0
- package/dist/data/utilities/parsers/parseQuery.js +24 -0
- package/dist/data/utilities/parsers/parseQuery.min.js +1 -1
- package/dist/data/utilities/parsers/startsQuery.js +1 -1
- package/dist/data/utilities/parsers/startsQuery.min.js +1 -1
- package/dist/data/utilities/recordExists.js +2 -7
- package/dist/data/utilities/recordExists.min.js +1 -1
- package/dist/data/utilities/registerRecord.js +4 -10
- package/dist/data/utilities/registerRecord.min.js +1 -1
- package/dist/data/utilities/removeFromIndex.js +4 -10
- package/dist/data/utilities/removeFromIndex.min.js +1 -1
- package/dist/data/utilities/retrieveFile.d.ts +5 -0
- package/dist/data/utilities/retrieveFile.js +7 -16
- package/dist/data/utilities/retrieveFile.min.js +1 -1
- package/dist/data/utilities/retrieveFiles.d.ts +15 -0
- package/dist/data/utilities/retrieveFiles.js +48 -0
- package/dist/data/utilities/retrieveFiles.min.js +1 -0
- package/dist/data/utilities/retrieveRecord.d.ts +6 -0
- package/dist/data/utilities/retrieveRecord.js +24 -1
- package/dist/data/utilities/retrieveRecord.min.js +1 -1
- package/dist/data/utilities/retrieveRecords.d.ts +22 -0
- package/dist/data/utilities/retrieveRecords.js +60 -10
- package/dist/data/utilities/retrieveRecords.min.js +1 -1
- package/dist/data/utilities/rowLookup.d.ts +38 -0
- package/dist/data/utilities/rowLookup.js +99 -0
- package/dist/data/utilities/rowLookup.min.js +1 -0
- package/dist/data/utilities/runQuery.js +28 -4
- package/dist/data/utilities/runQuery.min.js +1 -1
- package/dist/data/utilities/semiJoin.d.ts +27 -0
- package/dist/data/utilities/semiJoin.js +97 -0
- package/dist/data/utilities/semiJoin.min.js +1 -0
- package/dist/data/utilities/updateIndex.js +5 -14
- package/dist/data/utilities/updateIndex.min.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +24 -0
- package/dist/index.min.js +1 -1
- package/package.json +10 -4
- package/dist/data/utilities/getJoinIndexedList.d.ts +0 -3
- package/dist/data/utilities/getJoinIndexedList.js +0 -76
- package/dist/data/utilities/getJoinIndexedList.min.js +0 -1
- package/dist/data/utilities/getMatchingIndexes.d.ts +0 -2
- package/dist/data/utilities/getMatchingIndexes.js +0 -28
- package/dist/data/utilities/getMatchingIndexes.min.js +0 -1
- package/dist/data/utilities/matchIndexedJoins.d.ts +0 -2
- package/dist/data/utilities/matchIndexedJoins.js +0 -63
- package/dist/data/utilities/matchIndexedJoins.min.js +0 -1
- package/dist/data/utilities/restrictIndexedList.d.ts +0 -2
- package/dist/data/utilities/restrictIndexedList.js +0 -45
- package/dist/data/utilities/restrictIndexedList.min.js +0 -1
- package/dist/data/utilities/useJoinClause.d.ts +0 -6
- package/dist/data/utilities/useJoinClause.js +0 -57
- package/dist/data/utilities/useJoinClause.min.js +0 -1
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getMatchingIndexes = void 0;
|
|
7
|
-
var _retrieveIndexes = require("./retrieveIndexes");
|
|
8
|
-
var _isSingleFieldKey = require("./isSingleFieldKey");
|
|
9
|
-
const getMatchingIndexes = async (entity, property, recordData, clause, dataSet, indexed, cb = null) => {
|
|
10
|
-
let isIndexed = false;
|
|
11
|
-
for (const key of recordData[entity].keys) {
|
|
12
|
-
if ((0, _isSingleFieldKey.isSingleFieldKey)(key, property)) {
|
|
13
|
-
dataSet[entity] = [];
|
|
14
|
-
if (!Object.prototype.hasOwnProperty.call(indexed, entity)) {
|
|
15
|
-
indexed[entity] = {};
|
|
16
|
-
}
|
|
17
|
-
if (!Object.prototype.hasOwnProperty.call(indexed[entity], property)) {
|
|
18
|
-
indexed[entity][property] = (await (0, _retrieveIndexes.retrieveIndexes)(entity, [property], recordData))[property];
|
|
19
|
-
}
|
|
20
|
-
if (typeof cb === 'function') {
|
|
21
|
-
await cb(entity, property, recordData, clause, dataSet, indexed);
|
|
22
|
-
}
|
|
23
|
-
isIndexed = true;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return isIndexed;
|
|
27
|
-
};
|
|
28
|
-
exports.getMatchingIndexes = getMatchingIndexes;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMatchingIndexes=void 0;var _retrieveIndexes=require("./retrieveIndexes"),_isSingleFieldKey=require("./isSingleFieldKey");const getMatchingIndexes=async(e,t,i,r,n,s,o=null)=>{let l=!1;for(const a of i[e].keys)(0,_isSingleFieldKey.isSingleFieldKey)(a,t)&&(n[e]=[],Object.prototype.hasOwnProperty.call(s,e)||(s[e]={}),Object.prototype.hasOwnProperty.call(s[e],t)||(s[e][t]=(await(0,_retrieveIndexes.retrieveIndexes)(e,[t],i))[t]),"function"==typeof o&&await o(e,t,i,r,n,s),l=!0);return l};exports.getMatchingIndexes=getMatchingIndexes;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.matchIndexedJoins = void 0;
|
|
7
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
8
|
-
require("core-js/modules/esnext.iterator.reduce.js");
|
|
9
|
-
var _siFunciona = _interopRequireDefault(require("si-funciona"));
|
|
10
|
-
var _where = require("../queries/where");
|
|
11
|
-
var _retrieveFile = require("./retrieveFile");
|
|
12
|
-
var _splitEntityProperty = require("./parsers/splitEntityProperty");
|
|
13
|
-
var _fieldType = require("./fieldType");
|
|
14
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
-
const matchIndexedJoins = (entity, indexedClone, dataSets) => async (focusEntity, property, recordData, joinClause, filterJoins, indexed) => {
|
|
16
|
-
const {
|
|
17
|
-
entity: entityA,
|
|
18
|
-
property: propertyA
|
|
19
|
-
} = (0, _splitEntityProperty.splitEntityProperty)(joinClause.propertyA);
|
|
20
|
-
const {
|
|
21
|
-
entity: entityB,
|
|
22
|
-
property: propertyB
|
|
23
|
-
} = (0, _splitEntityProperty.splitEntityProperty)(joinClause.propertyB);
|
|
24
|
-
const properties = [{
|
|
25
|
-
entityFirst: entityA,
|
|
26
|
-
propertyFirst: propertyA,
|
|
27
|
-
entitySecond: entityB,
|
|
28
|
-
propertySecond: propertyB
|
|
29
|
-
}, {
|
|
30
|
-
entityFirst: entityB,
|
|
31
|
-
propertyFirst: propertyB,
|
|
32
|
-
entitySecond: entityA,
|
|
33
|
-
propertySecond: propertyA
|
|
34
|
-
}];
|
|
35
|
-
for (const checkProp of properties) {
|
|
36
|
-
if (!Object.prototype.hasOwnProperty.call(indexedClone, checkProp.entitySecond)) {
|
|
37
|
-
indexedClone[checkProp.entitySecond] = _siFunciona.default.cloneObject(indexed[checkProp.entitySecond]);
|
|
38
|
-
}
|
|
39
|
-
const matchedRecords = indexedClone[checkProp.entitySecond][checkProp.propertySecond].reduce((dataA, dataB) => _siFunciona.default.mergeArrays(dataA, (0, _where.where)(indexedClone[checkProp.entityFirst][checkProp.propertyFirst], {
|
|
40
|
-
property: 'value',
|
|
41
|
-
comparator: joinClause.comparator,
|
|
42
|
-
value: dataB.value,
|
|
43
|
-
type: (0, _fieldType.fieldType)(recordData[checkProp.entityFirst], checkProp.propertyFirst)
|
|
44
|
-
})), []);
|
|
45
|
-
const skipPush = checkProp.entityFirst === entity;
|
|
46
|
-
if (!Object.prototype.hasOwnProperty.call(dataSets, checkProp.entityFirst)) {
|
|
47
|
-
dataSets[checkProp.entityFirst] = [];
|
|
48
|
-
}
|
|
49
|
-
for (const matchedRecord of matchedRecords) {
|
|
50
|
-
for (const file of matchedRecord.record) {
|
|
51
|
-
let entityRecord = file;
|
|
52
|
-
if (typeof file === 'string') {
|
|
53
|
-
entityRecord = await (0, _retrieveFile.retrieveFile)(`${checkProp.entityFirst}/${file}`);
|
|
54
|
-
}
|
|
55
|
-
if (!skipPush) {
|
|
56
|
-
dataSets[checkProp.entityFirst].push(entityRecord);
|
|
57
|
-
}
|
|
58
|
-
filterJoins[checkProp.entityFirst].push(entityRecord);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
exports.matchIndexedJoins = matchIndexedJoins;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.matchIndexedJoins=void 0,require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.reduce.js");var _siFunciona=_interopRequireDefault(require("si-funciona")),_where=require("../queries/where"),_retrieveFile=require("./retrieveFile"),_splitEntityProperty=require("./parsers/splitEntityProperty"),_fieldType=require("./fieldType");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const matchIndexedJoins=(e,t,r)=>async(i,o,n,s,p,y)=>{const{entity:c,property:u}=(0,_splitEntityProperty.splitEntityProperty)(s.propertyA),{entity:a,property:d}=(0,_splitEntityProperty.splitEntityProperty)(s.propertyB),l=[{entityFirst:c,propertyFirst:u,entitySecond:a,propertySecond:d},{entityFirst:a,propertyFirst:d,entitySecond:c,propertySecond:u}];for(const i of l){Object.prototype.hasOwnProperty.call(t,i.entitySecond)||(t[i.entitySecond]=_siFunciona.default.cloneObject(y[i.entitySecond]));const o=t[i.entitySecond][i.propertySecond].reduce(((e,r)=>_siFunciona.default.mergeArrays(e,(0,_where.where)(t[i.entityFirst][i.propertyFirst],{property:"value",comparator:s.comparator,value:r.value,type:(0,_fieldType.fieldType)(n[i.entityFirst],i.propertyFirst)}))),[]),c=i.entityFirst===e;Object.prototype.hasOwnProperty.call(r,i.entityFirst)||(r[i.entityFirst]=[]);for(const e of o)for(const t of e.record){let e=t;"string"==typeof t&&(e=await(0,_retrieveFile.retrieveFile)(`${i.entityFirst}/${t}`)),c||r[i.entityFirst].push(e),p[i.entityFirst].push(e)}}};exports.matchIndexedJoins=matchIndexedJoins;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.restrictIndexedList = void 0;
|
|
7
|
-
var _splitEntityProperty = require("./parsers/splitEntityProperty");
|
|
8
|
-
const restrictIndexedList = (joinClause, filterJoins, indexedClone) => {
|
|
9
|
-
const {
|
|
10
|
-
entity: entityA,
|
|
11
|
-
property: propertyA
|
|
12
|
-
} = (0, _splitEntityProperty.splitEntityProperty)(joinClause.propertyA);
|
|
13
|
-
const {
|
|
14
|
-
entity: entityB,
|
|
15
|
-
property: propertyB
|
|
16
|
-
} = (0, _splitEntityProperty.splitEntityProperty)(joinClause.propertyB);
|
|
17
|
-
if (Object.prototype.hasOwnProperty.call(filterJoins, entityA)) {
|
|
18
|
-
const existingEntities = filterJoins[entityA];
|
|
19
|
-
if (!Object.prototype.hasOwnProperty.call(indexedClone, entityA)) {
|
|
20
|
-
indexedClone[entityA] = {};
|
|
21
|
-
}
|
|
22
|
-
if (!Object.prototype.hasOwnProperty.call(indexedClone[entityA], propertyA)) {
|
|
23
|
-
indexedClone[entityA][propertyA] = {};
|
|
24
|
-
}
|
|
25
|
-
indexedClone[entityA][propertyA] = [{
|
|
26
|
-
value: existingEntities[0][propertyA],
|
|
27
|
-
record: existingEntities
|
|
28
|
-
}];
|
|
29
|
-
}
|
|
30
|
-
if (Object.prototype.hasOwnProperty.call(filterJoins, entityB)) {
|
|
31
|
-
const existingEntities = filterJoins[entityB];
|
|
32
|
-
if (!Object.prototype.hasOwnProperty.call(indexedClone, entityB)) {
|
|
33
|
-
indexedClone[entityB] = {};
|
|
34
|
-
}
|
|
35
|
-
if (!Object.prototype.hasOwnProperty.call(indexedClone[entityB], propertyB)) {
|
|
36
|
-
indexedClone[entityB][propertyB] = {};
|
|
37
|
-
}
|
|
38
|
-
indexedClone[entityB][propertyB] = [{
|
|
39
|
-
value: existingEntities[0][propertyB],
|
|
40
|
-
record: existingEntities
|
|
41
|
-
}];
|
|
42
|
-
}
|
|
43
|
-
return indexedClone;
|
|
44
|
-
};
|
|
45
|
-
exports.restrictIndexedList = restrictIndexedList;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.restrictIndexedList=void 0;var _splitEntityProperty=require("./parsers/splitEntityProperty");const restrictIndexedList=(t,r,e)=>{const{entity:p,property:o}=(0,_splitEntityProperty.splitEntityProperty)(t.propertyA),{entity:s,property:y}=(0,_splitEntityProperty.splitEntityProperty)(t.propertyB);if(Object.prototype.hasOwnProperty.call(r,p)){const t=r[p];Object.prototype.hasOwnProperty.call(e,p)||(e[p]={}),Object.prototype.hasOwnProperty.call(e[p],o)||(e[p][o]={}),e[p][o]=[{value:t[0][o],record:t}]}if(Object.prototype.hasOwnProperty.call(r,s)){const t=r[s];Object.prototype.hasOwnProperty.call(e,s)||(e[s]={}),Object.prototype.hasOwnProperty.call(e[s],y)||(e[s][y]={}),e[s][y]=[{value:t[0][y],record:t}]}return e};exports.restrictIndexedList=restrictIndexedList;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useJoinClause = void 0;
|
|
7
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
8
|
-
require("core-js/modules/esnext.iterator.reduce.js");
|
|
9
|
-
var _readEntity = require("../queries/readEntity");
|
|
10
|
-
var _where = require("../queries/where");
|
|
11
|
-
var _splitEntityProperty = require("./parsers/splitEntityProperty");
|
|
12
|
-
var _siFunciona = _interopRequireDefault(require("si-funciona"));
|
|
13
|
-
var _retrieveRecord = require("./retrieveRecord");
|
|
14
|
-
var _fieldType = require("./fieldType");
|
|
15
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
-
const useJoinClause = async ({
|
|
17
|
-
propertyA = null,
|
|
18
|
-
comparator = '=',
|
|
19
|
-
propertyB = null
|
|
20
|
-
} = {}, dataSets = {}, filterJoins = {}) => {
|
|
21
|
-
const {
|
|
22
|
-
entity: entityA,
|
|
23
|
-
property: propA
|
|
24
|
-
} = (0, _splitEntityProperty.splitEntityProperty)(propertyA);
|
|
25
|
-
const {
|
|
26
|
-
entity: entityB,
|
|
27
|
-
property: propB
|
|
28
|
-
} = (0, _splitEntityProperty.splitEntityProperty)(propertyB);
|
|
29
|
-
if (!Object.prototype.hasOwnProperty.call(dataSets, entityA)) {
|
|
30
|
-
dataSets = await (0, _readEntity.readEntity)(entityA, dataSets);
|
|
31
|
-
}
|
|
32
|
-
if (!Object.prototype.hasOwnProperty.call(dataSets, entityB)) {
|
|
33
|
-
dataSets = await (0, _readEntity.readEntity)(entityB, dataSets);
|
|
34
|
-
}
|
|
35
|
-
if (!Object.prototype.hasOwnProperty.call(filterJoins, entityA)) {
|
|
36
|
-
filterJoins[entityA] = _siFunciona.default.cloneObject(dataSets[entityA]);
|
|
37
|
-
}
|
|
38
|
-
if (!Object.prototype.hasOwnProperty.call(filterJoins, entityB)) {
|
|
39
|
-
filterJoins[entityB] = _siFunciona.default.cloneObject(dataSets[entityB]);
|
|
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);
|
|
43
|
-
filterJoins[entityA] = filterJoins[entityB].reduce((dataA, dataB) => _siFunciona.default.mergeArrays(dataA, (0, _where.where)(filterJoins[entityA], {
|
|
44
|
-
property: propA,
|
|
45
|
-
comparator,
|
|
46
|
-
value: dataB[propB],
|
|
47
|
-
type: typeA
|
|
48
|
-
})), []);
|
|
49
|
-
filterJoins[entityB] = filterJoins[entityA].reduce((dataB, dataA) => _siFunciona.default.mergeArrays(dataB, (0, _where.where)(filterJoins[entityB], {
|
|
50
|
-
property: propB,
|
|
51
|
-
comparator,
|
|
52
|
-
value: dataA[propA],
|
|
53
|
-
type: typeB
|
|
54
|
-
})), []);
|
|
55
|
-
return filterJoins;
|
|
56
|
-
};
|
|
57
|
-
exports.useJoinClause = useJoinClause;
|
|
@@ -1 +0,0 @@
|
|
|
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;
|