json-fs-query 1.0.5 → 1.0.6
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/browser/jsonFsQuery.js +2 -2
- package/browser/jsonFsQuery.min.js +1 -1
- package/dist/data/introspect/create.js +46 -46
- package/dist/data/introspect/definitions/field.js +35 -35
- package/dist/data/introspect/definitions/key.js +52 -52
- package/dist/data/introspect/definitions/keyReference.js +19 -19
- package/dist/data/introspect/definitions/record.js +31 -31
- package/dist/data/introspect/describe.js +14 -14
- package/dist/data/introspect/drop.js +36 -36
- package/dist/data/introspect/index.js +29 -29
- package/dist/data/introspect/policies/foreignKeyExists.js +24 -24
- package/dist/data/introspect/policies/hasDependents.js +51 -51
- package/dist/data/introspect/policies/keyGenerate.js +16 -16
- package/dist/data/introspect/policies/keyUnique.js +30 -30
- package/dist/data/introspect/policies/typeCheck.js +56 -56
- package/dist/data/introspect/policies/typeEnum.js +13 -13
- package/dist/data/introspect/policies/useDefault.js +12 -12
- package/dist/data/queries/deleteEntity.js +99 -99
- package/dist/data/queries/groupBy.js +21 -21
- package/dist/data/queries/insertEntity.js +116 -116
- package/dist/data/queries/joinEntity.js +31 -31
- package/dist/data/queries/limitOffset.js +20 -20
- package/dist/data/queries/mergeJoins.js +18 -18
- package/dist/data/queries/parser.js +29 -29
- package/dist/data/queries/query.js +17 -17
- package/dist/data/queries/readEntity.js +13 -13
- package/dist/data/queries/selectFields.js +35 -35
- package/dist/data/queries/sortBy.js +24 -24
- package/dist/data/queries/updateEntity.js +189 -189
- package/dist/data/queries/where.js +55 -55
- package/dist/data/utilities/computeKeyValue.js +25 -25
- package/dist/data/utilities/config.js +44 -44
- package/dist/data/utilities/deregisterRecord.js +33 -33
- package/dist/data/utilities/getConditionIndexedList.js +46 -46
- package/dist/data/utilities/getJoinIndexedList.js +75 -75
- package/dist/data/utilities/getMatchingIndexes.js +27 -27
- package/dist/data/utilities/matchIndexedJoins.js +60 -60
- package/dist/data/utilities/mergeJoin.js +43 -43
- package/dist/data/utilities/parsers/findCommand.js +24 -24
- package/dist/data/utilities/parsers/findConditions.js +27 -27
- package/dist/data/utilities/parsers/findGroupBy.js +21 -21
- package/dist/data/utilities/parsers/findInsertValues.js +33 -33
- package/dist/data/utilities/parsers/findJoinClauses.js +26 -26
- package/dist/data/utilities/parsers/findJoinEntity.js +21 -21
- package/dist/data/utilities/parsers/findLimit.js +21 -21
- package/dist/data/utilities/parsers/findMergeJoins.js +25 -25
- package/dist/data/utilities/parsers/findOffset.js +21 -21
- package/dist/data/utilities/parsers/findSelects.js +29 -29
- package/dist/data/utilities/parsers/findSortClauses.js +29 -29
- package/dist/data/utilities/parsers/findUpdateValues.js +33 -33
- package/dist/data/utilities/parsers/isEntityProperty.js +7 -7
- package/dist/data/utilities/parsers/parseLiteralValue.js +33 -33
- package/dist/data/utilities/parsers/parseQuery.js +50 -50
- package/dist/data/utilities/parsers/removeFromQuery.js +7 -7
- package/dist/data/utilities/parsers/splitEntityProperty.js +22 -22
- package/dist/data/utilities/parsers/splitQueries.js +10 -10
- package/dist/data/utilities/reconcileJoin.js +25 -25
- package/dist/data/utilities/reconcileJoins.js +25 -25
- package/dist/data/utilities/registerRecord.js +66 -66
- package/dist/data/utilities/removeFromIndex.js +43 -43
- package/dist/data/utilities/restrictIndexedList.js +44 -44
- package/dist/data/utilities/retrieveFile.js +27 -27
- package/dist/data/utilities/retrieveIndexes.js +23 -23
- package/dist/data/utilities/retrieveRecord.js +8 -8
- package/dist/data/utilities/retrieveRecords.js +20 -20
- package/dist/data/utilities/runQuery.js +86 -86
- package/dist/data/utilities/updateIndex.js +55 -55
- package/dist/data/utilities/useJoinClause.js +50 -50
- package/dist/index.js +41 -41
- package/package.json +9 -5
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.create = void 0;
|
|
7
|
-
require("core-js/modules/es.json.stringify.js");
|
|
8
|
-
var _record = require("./definitions/record");
|
|
9
|
-
var _registerRecord = require("../utilities/registerRecord");
|
|
10
|
-
var _config = require("../utilities/config");
|
|
11
|
-
/**
|
|
12
|
-
* Create a new record.
|
|
13
|
-
* @param recordName
|
|
14
|
-
* @param definition
|
|
15
|
-
* @param keys
|
|
16
|
-
*/
|
|
17
|
-
const create = async (recordName, definition = [], keys = []) => {
|
|
18
|
-
const {
|
|
19
|
-
writeFile,
|
|
20
|
-
mkdir
|
|
21
|
-
} = require('fs/promises');
|
|
22
|
-
const {
|
|
23
|
-
existsSync
|
|
24
|
-
} = require('fs');
|
|
25
|
-
const databasePath = (0, _config.getSetting)('databasePath', 'database/');
|
|
26
|
-
if (recordName === '__RECORDS') {
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
29
|
-
if (existsSync(`${databasePath}${recordName}.json`)) {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
await mkdir(databasePath, {
|
|
33
|
-
recursive: true
|
|
34
|
-
});
|
|
35
|
-
const recordContent = (0, _record.record)({
|
|
36
|
-
path: recordName,
|
|
37
|
-
definition,
|
|
38
|
-
keys
|
|
39
|
-
});
|
|
40
|
-
await writeFile(`${databasePath}${recordName}.json`, JSON.stringify(recordContent, null, 2));
|
|
41
|
-
await mkdir(`${databasePath}${recordName}`, {
|
|
42
|
-
recursive: true
|
|
43
|
-
});
|
|
44
|
-
await (0, _registerRecord.registerRecord)(recordName);
|
|
45
|
-
return recordContent;
|
|
46
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.create = void 0;
|
|
7
|
+
require("core-js/modules/es.json.stringify.js");
|
|
8
|
+
var _record = require("./definitions/record");
|
|
9
|
+
var _registerRecord = require("../utilities/registerRecord");
|
|
10
|
+
var _config = require("../utilities/config");
|
|
11
|
+
/**
|
|
12
|
+
* Create a new record.
|
|
13
|
+
* @param recordName
|
|
14
|
+
* @param definition
|
|
15
|
+
* @param keys
|
|
16
|
+
*/
|
|
17
|
+
const create = async (recordName, definition = [], keys = []) => {
|
|
18
|
+
const {
|
|
19
|
+
writeFile,
|
|
20
|
+
mkdir
|
|
21
|
+
} = require('fs/promises');
|
|
22
|
+
const {
|
|
23
|
+
existsSync
|
|
24
|
+
} = require('fs');
|
|
25
|
+
const databasePath = (0, _config.getSetting)('databasePath', 'database/');
|
|
26
|
+
if (recordName === '__RECORDS') {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
if (existsSync(`${databasePath}${recordName}.json`)) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
await mkdir(databasePath, {
|
|
33
|
+
recursive: true
|
|
34
|
+
});
|
|
35
|
+
const recordContent = (0, _record.record)({
|
|
36
|
+
path: recordName,
|
|
37
|
+
definition,
|
|
38
|
+
keys
|
|
39
|
+
});
|
|
40
|
+
await writeFile(`${databasePath}${recordName}.json`, JSON.stringify(recordContent, null, 2));
|
|
41
|
+
await mkdir(`${databasePath}${recordName}`, {
|
|
42
|
+
recursive: true
|
|
43
|
+
});
|
|
44
|
+
await (0, _registerRecord.registerRecord)(recordName);
|
|
45
|
+
return recordContent;
|
|
46
|
+
};
|
|
47
47
|
exports.create = create;
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.field = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* Generate a field for a record.
|
|
9
|
-
* @param properties
|
|
10
|
-
* @param properties.name
|
|
11
|
-
* @param properties.type
|
|
12
|
-
* @param properties.optional
|
|
13
|
-
* @param properties.useDefault
|
|
14
|
-
* @param properties.defaultValue
|
|
15
|
-
* @param properties.autoGenerate
|
|
16
|
-
*/
|
|
17
|
-
const field = ({
|
|
18
|
-
name = '',
|
|
19
|
-
type = 'string',
|
|
20
|
-
optional = false,
|
|
21
|
-
useDefault = false,
|
|
22
|
-
defaultValue = '',
|
|
23
|
-
autoGenerate = false
|
|
24
|
-
} = {}) => {
|
|
25
|
-
const returnField = {
|
|
26
|
-
name,
|
|
27
|
-
type,
|
|
28
|
-
optional,
|
|
29
|
-
autoGenerate
|
|
30
|
-
};
|
|
31
|
-
if (useDefault) {
|
|
32
|
-
returnField['default'] = defaultValue;
|
|
33
|
-
}
|
|
34
|
-
return returnField;
|
|
35
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.field = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Generate a field for a record.
|
|
9
|
+
* @param properties
|
|
10
|
+
* @param properties.name
|
|
11
|
+
* @param properties.type
|
|
12
|
+
* @param properties.optional
|
|
13
|
+
* @param properties.useDefault
|
|
14
|
+
* @param properties.defaultValue
|
|
15
|
+
* @param properties.autoGenerate
|
|
16
|
+
*/
|
|
17
|
+
const field = ({
|
|
18
|
+
name = '',
|
|
19
|
+
type = 'string',
|
|
20
|
+
optional = false,
|
|
21
|
+
useDefault = false,
|
|
22
|
+
defaultValue = '',
|
|
23
|
+
autoGenerate = false
|
|
24
|
+
} = {}) => {
|
|
25
|
+
const returnField = {
|
|
26
|
+
name,
|
|
27
|
+
type,
|
|
28
|
+
optional,
|
|
29
|
+
autoGenerate
|
|
30
|
+
};
|
|
31
|
+
if (useDefault) {
|
|
32
|
+
returnField['default'] = defaultValue;
|
|
33
|
+
}
|
|
34
|
+
return returnField;
|
|
35
|
+
};
|
|
36
36
|
exports.field = field;
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.key = void 0;
|
|
7
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
8
|
-
require("core-js/modules/esnext.iterator.map.js");
|
|
9
|
-
var _keyReference = require("./keyReference");
|
|
10
|
-
/**
|
|
11
|
-
* Create a field key.
|
|
12
|
-
* @param properties
|
|
13
|
-
* @param properties.type
|
|
14
|
-
* @param properties.fields
|
|
15
|
-
* @param properties.lookup
|
|
16
|
-
* @param properties.references
|
|
17
|
-
*/
|
|
18
|
-
const key = ({
|
|
19
|
-
type = 'index',
|
|
20
|
-
fields = [],
|
|
21
|
-
lookup = '',
|
|
22
|
-
references = []
|
|
23
|
-
} = {}) => {
|
|
24
|
-
switch (type) {
|
|
25
|
-
case 'primary':
|
|
26
|
-
case 'index':
|
|
27
|
-
case 'unique':
|
|
28
|
-
references = [];
|
|
29
|
-
break;
|
|
30
|
-
case 'multi':
|
|
31
|
-
if (fields.length < 2) {
|
|
32
|
-
throw new Error('Multi key indicated with less than two fields');
|
|
33
|
-
}
|
|
34
|
-
break;
|
|
35
|
-
case 'foreign':
|
|
36
|
-
if (references.length < 1) {
|
|
37
|
-
throw new Error('Foreign key must have one reference to an external record');
|
|
38
|
-
}
|
|
39
|
-
break;
|
|
40
|
-
default:
|
|
41
|
-
throw new Error('Unrecognized key type; must be index, primary, unique, multi, or foreign');
|
|
42
|
-
}
|
|
43
|
-
const keyDefinition = {
|
|
44
|
-
type,
|
|
45
|
-
fields,
|
|
46
|
-
lookup
|
|
47
|
-
};
|
|
48
|
-
if (typeof references !== 'undefined' && references.length > 0) {
|
|
49
|
-
keyDefinition['references'] = references.map(_keyReference.keyReference);
|
|
50
|
-
}
|
|
51
|
-
return keyDefinition;
|
|
52
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.key = void 0;
|
|
7
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
8
|
+
require("core-js/modules/esnext.iterator.map.js");
|
|
9
|
+
var _keyReference = require("./keyReference");
|
|
10
|
+
/**
|
|
11
|
+
* Create a field key.
|
|
12
|
+
* @param properties
|
|
13
|
+
* @param properties.type
|
|
14
|
+
* @param properties.fields
|
|
15
|
+
* @param properties.lookup
|
|
16
|
+
* @param properties.references
|
|
17
|
+
*/
|
|
18
|
+
const key = ({
|
|
19
|
+
type = 'index',
|
|
20
|
+
fields = [],
|
|
21
|
+
lookup = '',
|
|
22
|
+
references = []
|
|
23
|
+
} = {}) => {
|
|
24
|
+
switch (type) {
|
|
25
|
+
case 'primary':
|
|
26
|
+
case 'index':
|
|
27
|
+
case 'unique':
|
|
28
|
+
references = [];
|
|
29
|
+
break;
|
|
30
|
+
case 'multi':
|
|
31
|
+
if (fields.length < 2) {
|
|
32
|
+
throw new Error('Multi key indicated with less than two fields');
|
|
33
|
+
}
|
|
34
|
+
break;
|
|
35
|
+
case 'foreign':
|
|
36
|
+
if (references.length < 1) {
|
|
37
|
+
throw new Error('Foreign key must have one reference to an external record');
|
|
38
|
+
}
|
|
39
|
+
break;
|
|
40
|
+
default:
|
|
41
|
+
throw new Error('Unrecognized key type; must be index, primary, unique, multi, or foreign');
|
|
42
|
+
}
|
|
43
|
+
const keyDefinition = {
|
|
44
|
+
type,
|
|
45
|
+
fields,
|
|
46
|
+
lookup
|
|
47
|
+
};
|
|
48
|
+
if (typeof references !== 'undefined' && references.length > 0) {
|
|
49
|
+
keyDefinition['references'] = references.map(_keyReference.keyReference);
|
|
50
|
+
}
|
|
51
|
+
return keyDefinition;
|
|
52
|
+
};
|
|
53
53
|
exports.key = key;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.keyReference = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* Create a reference to a remote (foreign; existing on another record) key.
|
|
9
|
-
* @param properties
|
|
10
|
-
* @param properties.fields
|
|
11
|
-
* @param properties.lookup
|
|
12
|
-
*/
|
|
13
|
-
const keyReference = ({
|
|
14
|
-
fields = [],
|
|
15
|
-
lookup = ''
|
|
16
|
-
} = {}) => ({
|
|
17
|
-
fields,
|
|
18
|
-
lookup
|
|
19
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.keyReference = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Create a reference to a remote (foreign; existing on another record) key.
|
|
9
|
+
* @param properties
|
|
10
|
+
* @param properties.fields
|
|
11
|
+
* @param properties.lookup
|
|
12
|
+
*/
|
|
13
|
+
const keyReference = ({
|
|
14
|
+
fields = [],
|
|
15
|
+
lookup = ''
|
|
16
|
+
} = {}) => ({
|
|
17
|
+
fields,
|
|
18
|
+
lookup
|
|
19
|
+
});
|
|
20
20
|
exports.keyReference = keyReference;
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.record = void 0;
|
|
7
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
8
|
-
require("core-js/modules/esnext.iterator.map.js");
|
|
9
|
-
var _field = require("./field");
|
|
10
|
-
var _key = require("./key");
|
|
11
|
-
/**
|
|
12
|
-
*
|
|
13
|
-
* @param properties
|
|
14
|
-
* @param properties.path
|
|
15
|
-
* @param properties.definition
|
|
16
|
-
* @param properties.keys
|
|
17
|
-
* @param properties.entries
|
|
18
|
-
*/
|
|
19
|
-
const record = ({
|
|
20
|
-
path = '',
|
|
21
|
-
definition = [],
|
|
22
|
-
keys = [],
|
|
23
|
-
entries = []
|
|
24
|
-
} = {}) => {
|
|
25
|
-
return {
|
|
26
|
-
path,
|
|
27
|
-
definition: definition.map(_field.field),
|
|
28
|
-
keys: keys.map(_key.key),
|
|
29
|
-
entries
|
|
30
|
-
};
|
|
31
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.record = void 0;
|
|
7
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
8
|
+
require("core-js/modules/esnext.iterator.map.js");
|
|
9
|
+
var _field = require("./field");
|
|
10
|
+
var _key = require("./key");
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param properties
|
|
14
|
+
* @param properties.path
|
|
15
|
+
* @param properties.definition
|
|
16
|
+
* @param properties.keys
|
|
17
|
+
* @param properties.entries
|
|
18
|
+
*/
|
|
19
|
+
const record = ({
|
|
20
|
+
path = '',
|
|
21
|
+
definition = [],
|
|
22
|
+
keys = [],
|
|
23
|
+
entries = []
|
|
24
|
+
} = {}) => {
|
|
25
|
+
return {
|
|
26
|
+
path,
|
|
27
|
+
definition: definition.map(_field.field),
|
|
28
|
+
keys: keys.map(_key.key),
|
|
29
|
+
entries
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
32
|
exports.record = record;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.describe = void 0;
|
|
7
|
-
var _retrieveFile = require("../utilities/retrieveFile");
|
|
8
|
-
const describe = async (record = '__RECORDS') => {
|
|
9
|
-
const recordFile = await (0, _retrieveFile.retrieveFile)(`${record}.json`);
|
|
10
|
-
if (record === '__RECORDS') {
|
|
11
|
-
return recordFile.entries;
|
|
12
|
-
}
|
|
13
|
-
return recordFile.definition;
|
|
14
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.describe = void 0;
|
|
7
|
+
var _retrieveFile = require("../utilities/retrieveFile");
|
|
8
|
+
const describe = async (record = '__RECORDS') => {
|
|
9
|
+
const recordFile = await (0, _retrieveFile.retrieveFile)(`${record}.json`);
|
|
10
|
+
if (record === '__RECORDS') {
|
|
11
|
+
return recordFile.entries;
|
|
12
|
+
}
|
|
13
|
+
return recordFile.definition;
|
|
14
|
+
};
|
|
15
15
|
exports.describe = describe;
|
|
@@ -1,37 +1,37 @@
|
|
|
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
|
-
exports.drop = void 0;
|
|
11
|
-
var _retrieveFile = require("../utilities/retrieveFile");
|
|
12
|
-
var _deregisterRecord = require("../utilities/deregisterRecord");
|
|
13
|
-
var _config = require("../utilities/config");
|
|
14
|
-
const {
|
|
15
|
-
rm
|
|
16
|
-
} = require('fs/promises');
|
|
17
|
-
const drop = async record => {
|
|
18
|
-
const databasePath = (0, _config.getSetting)('databasePath', 'database/');
|
|
19
|
-
if (record === '__RECORDS') {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
const recordFile = await (0, _retrieveFile.retrieveFile)(`${record}.json`);
|
|
23
|
-
for (const file of recordFile.entries) {
|
|
24
|
-
await rm(`${databasePath}${recordFile.path}/${file}`);
|
|
25
|
-
}
|
|
26
|
-
await rm(`${databasePath}${recordFile.path}`, {
|
|
27
|
-
recursive: true,
|
|
28
|
-
force: true
|
|
29
|
-
});
|
|
30
|
-
await rm(`${databasePath}__indexes/${recordFile.path}`, {
|
|
31
|
-
recursive: true,
|
|
32
|
-
force: true
|
|
33
|
-
});
|
|
34
|
-
await rm(`${databasePath}${record}.json`);
|
|
35
|
-
await (0, _deregisterRecord.deregisterRecord)(record);
|
|
36
|
-
};
|
|
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
|
+
exports.drop = void 0;
|
|
11
|
+
var _retrieveFile = require("../utilities/retrieveFile");
|
|
12
|
+
var _deregisterRecord = require("../utilities/deregisterRecord");
|
|
13
|
+
var _config = require("../utilities/config");
|
|
14
|
+
const {
|
|
15
|
+
rm
|
|
16
|
+
} = require('fs/promises');
|
|
17
|
+
const drop = async record => {
|
|
18
|
+
const databasePath = (0, _config.getSetting)('databasePath', 'database/');
|
|
19
|
+
if (record === '__RECORDS') {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
const recordFile = await (0, _retrieveFile.retrieveFile)(`${record}.json`);
|
|
23
|
+
for (const file of recordFile.entries) {
|
|
24
|
+
await rm(`${databasePath}${recordFile.path}/${file}`);
|
|
25
|
+
}
|
|
26
|
+
await rm(`${databasePath}${recordFile.path}`, {
|
|
27
|
+
recursive: true,
|
|
28
|
+
force: true
|
|
29
|
+
});
|
|
30
|
+
await rm(`${databasePath}__indexes/${recordFile.path}`, {
|
|
31
|
+
recursive: true,
|
|
32
|
+
force: true
|
|
33
|
+
});
|
|
34
|
+
await rm(`${databasePath}${record}.json`);
|
|
35
|
+
await (0, _deregisterRecord.deregisterRecord)(record);
|
|
36
|
+
};
|
|
37
37
|
exports.drop = drop;
|
|
@@ -1,30 +1,30 @@
|
|
|
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, "create", {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function () {
|
|
13
|
-
return _create.create;
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
Object.defineProperty(exports, "describe", {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: function () {
|
|
19
|
-
return _describe.describe;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
Object.defineProperty(exports, "drop", {
|
|
23
|
-
enumerable: true,
|
|
24
|
-
get: function () {
|
|
25
|
-
return _drop.drop;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
var _create = require("./create");
|
|
29
|
-
var _drop = require("./drop");
|
|
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, "create", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _create.create;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
Object.defineProperty(exports, "describe", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () {
|
|
19
|
+
return _describe.describe;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
Object.defineProperty(exports, "drop", {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () {
|
|
25
|
+
return _drop.drop;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
var _create = require("./create");
|
|
29
|
+
var _drop = require("./drop");
|
|
30
30
|
var _describe = require("./describe");
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.foreignKeyExists = void 0;
|
|
7
|
-
var _retrieveRecords = require("../../utilities/retrieveRecords");
|
|
8
|
-
var _where = require("../../queries/where");
|
|
9
|
-
/**
|
|
10
|
-
* Check whether any record in the referenced entity has the given property set to the given
|
|
11
|
-
* value - the mirror image of keyUnique(), which checks that no record already has a value.
|
|
12
|
-
* @param entity
|
|
13
|
-
* @param property
|
|
14
|
-
* @param value
|
|
15
|
-
*/
|
|
16
|
-
const foreignKeyExists = async (entity, property, value) => {
|
|
17
|
-
const records = await (0, _retrieveRecords.retrieveRecords)(entity);
|
|
18
|
-
const found = (0, _where.where)(records, {
|
|
19
|
-
property,
|
|
20
|
-
comparator: '=',
|
|
21
|
-
value
|
|
22
|
-
});
|
|
23
|
-
return found.length > 0;
|
|
24
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.foreignKeyExists = void 0;
|
|
7
|
+
var _retrieveRecords = require("../../utilities/retrieveRecords");
|
|
8
|
+
var _where = require("../../queries/where");
|
|
9
|
+
/**
|
|
10
|
+
* Check whether any record in the referenced entity has the given property set to the given
|
|
11
|
+
* value - the mirror image of keyUnique(), which checks that no record already has a value.
|
|
12
|
+
* @param entity
|
|
13
|
+
* @param property
|
|
14
|
+
* @param value
|
|
15
|
+
*/
|
|
16
|
+
const foreignKeyExists = async (entity, property, value) => {
|
|
17
|
+
const records = await (0, _retrieveRecords.retrieveRecords)(entity);
|
|
18
|
+
const found = (0, _where.where)(records, {
|
|
19
|
+
property,
|
|
20
|
+
comparator: '=',
|
|
21
|
+
value
|
|
22
|
+
});
|
|
23
|
+
return found.length > 0;
|
|
24
|
+
};
|
|
25
25
|
exports.foreignKeyExists = foreignKeyExists;
|