axiodb 1.2.11 → 1.3.2
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/lib/Operation/CRUD Operation/Reader.operation.d.ts +1 -1
- package/lib/Operation/CRUD Operation/Reader.operation.js +11 -6
- package/lib/Operation/CRUD Operation/Reader.operation.js.map +1 -1
- package/lib/Operation/Collection/collection.operation.d.ts +3 -3
- package/lib/Operation/Database/database.operation.js +0 -1
- package/lib/Operation/Database/database.operation.js.map +1 -1
- package/lib/Operation/Indexation.operation.d.ts +9 -0
- package/lib/Operation/Indexation.operation.js +12 -2
- package/lib/Operation/Indexation.operation.js.map +1 -1
- package/lib/utils/HashMapSearch.utils.d.ts +20 -0
- package/lib/utils/HashMapSearch.utils.js +62 -0
- package/lib/utils/HashMapSearch.utils.js.map +1 -0
- package/package.json +1 -1
|
@@ -27,7 +27,7 @@ export default class Reader {
|
|
|
27
27
|
* Reads the data from a file.
|
|
28
28
|
* @returns {Promise<any>} A promise that resolves with the response of the read operation.
|
|
29
29
|
*/
|
|
30
|
-
|
|
30
|
+
exec(): Promise<SuccessInterface | ErrorInterface>;
|
|
31
31
|
/**
|
|
32
32
|
* set limit to the query
|
|
33
33
|
* @param {number} limit - The limit to be set.
|
|
@@ -15,11 +15,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
16
16
|
// import FileManager from "../../Storage/FileManager";
|
|
17
17
|
const FolderManager_1 = __importDefault(require("../../Storage/FolderManager"));
|
|
18
|
+
// Import All helpers
|
|
18
19
|
const response_helper_1 = __importDefault(require("../../Helper/response.helper"));
|
|
19
|
-
// import { General } from "../../config/Keys/Keys";
|
|
20
20
|
const Converter_helper_1 = __importDefault(require("../../Helper/Converter.helper"));
|
|
21
21
|
const FileManager_1 = __importDefault(require("../../Storage/FileManager"));
|
|
22
22
|
const Crypto_helper_1 = require("../../Helper/Crypto.helper");
|
|
23
|
+
// Import All Utility
|
|
24
|
+
const HashMapSearch_utils_1 = __importDefault(require("../../utils/HashMapSearch.utils"));
|
|
23
25
|
/**
|
|
24
26
|
* Class representing a read operation.
|
|
25
27
|
*/
|
|
@@ -51,13 +53,16 @@ class Reader {
|
|
|
51
53
|
* Reads the data from a file.
|
|
52
54
|
* @returns {Promise<any>} A promise that resolves with the response of the read operation.
|
|
53
55
|
*/
|
|
54
|
-
|
|
56
|
+
exec() {
|
|
55
57
|
return __awaiter(this, void 0, void 0, function* () {
|
|
56
58
|
try {
|
|
57
59
|
const ReadResponse = yield this.LoadAllBufferRawData();
|
|
58
60
|
if ("data" in ReadResponse) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
// Search the data from the AllData using HashMapSearch Searcher
|
|
62
|
+
const HashMapSearcher = new HashMapSearch_utils_1.default(ReadResponse.data);
|
|
63
|
+
const SearchedData = yield HashMapSearcher.find(this.baseQuery);
|
|
64
|
+
// console.log("FinedData", FinedData);
|
|
65
|
+
return new response_helper_1.default().Success(SearchedData);
|
|
61
66
|
}
|
|
62
67
|
return new response_helper_1.default().Error("Failed to read data");
|
|
63
68
|
}
|
|
@@ -127,9 +132,9 @@ class Reader {
|
|
|
127
132
|
if ("data" in ReadFileResponse) {
|
|
128
133
|
if (this.isEncrypted === true && this.cryptoInstance) {
|
|
129
134
|
// Decrypt the data if crypto is enabled
|
|
130
|
-
const
|
|
135
|
+
const ContentResponse = yield this.cryptoInstance.decrypt(this.Converter.ToObject(ReadFileResponse.data));
|
|
131
136
|
// Store all Decrypted Data in AllData
|
|
132
|
-
this.AllData.push(this.Converter.ToObject(
|
|
137
|
+
this.AllData.push(this.Converter.ToObject(ContentResponse));
|
|
133
138
|
}
|
|
134
139
|
else {
|
|
135
140
|
this.AllData.push(this.Converter.ToObject(ReadFileResponse.data));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reader.operation.js","sourceRoot":"","sources":["../../../source/Operation/CRUD Operation/Reader.operation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uDAAuD;AACvD,uDAAuD;AACvD,gFAAwD;
|
|
1
|
+
{"version":3,"file":"Reader.operation.js","sourceRoot":"","sources":["../../../source/Operation/CRUD Operation/Reader.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,9 @@ import { CryptoHelper } from "../../Helper/Crypto.helper";
|
|
|
5
5
|
* Represents a collection inside a database.
|
|
6
6
|
*/
|
|
7
7
|
export default class Collection {
|
|
8
|
-
name
|
|
9
|
-
path
|
|
10
|
-
createdAt
|
|
8
|
+
private readonly name;
|
|
9
|
+
private readonly path;
|
|
10
|
+
private createdAt;
|
|
11
11
|
updatedAt: string;
|
|
12
12
|
private schema;
|
|
13
13
|
private isEncrypted;
|
|
@@ -47,7 +47,6 @@ class Database {
|
|
|
47
47
|
const collectionPath = path_1.default.join(this.path, collectionName);
|
|
48
48
|
// If the collection does not exist, create it
|
|
49
49
|
if (collectionExists.statusCode !== outers_1.StatusCodes.OK) {
|
|
50
|
-
console.log(`Creating Collection: ${collectionName}`);
|
|
51
50
|
yield this.folderManager.CreateDirectory(collectionPath);
|
|
52
51
|
console.log(`Collection Created: ${collectionPath}`);
|
|
53
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.operation.js","sourceRoot":"","sources":["../../../source/Operation/Database/database.operation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uDAAuD;AACvD,8FAA4D;AAC5D,4EAAoD;AACpD,gFAAwD;AACxD,gDAAwB;AAExB,qBAAqB;AACrB,8DAA0D;AAC1D,mFAA0D;AAC1D,mCAAqC;AAOrC;;GAEG;AACH,MAAqB,QAAQ;IAO3B,YAAY,IAAY,EAAE,IAAY;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAW,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,IAAI,yBAAc,EAAE,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACU,gBAAgB;6DAC3B,cAAsB,EACtB,MAAoB,EACpB,SAAkB,KAAK,EACvB,GAAwB;YAExB,yCAAyC;YACzC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAC/D,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CACrC,CAAC;YACF,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAE5D,8CAA8C;YAC9C,IAAI,gBAAgB,CAAC,UAAU,KAAK,oBAAW,CAAC,EAAE,EAAE,CAAC;gBACnD,
|
|
1
|
+
{"version":3,"file":"database.operation.js","sourceRoot":"","sources":["../../../source/Operation/Database/database.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,15 @@ export declare class AxioDB {
|
|
|
13
13
|
private Converter;
|
|
14
14
|
private ResponseHelper;
|
|
15
15
|
constructor(RootName?: string);
|
|
16
|
+
/**
|
|
17
|
+
* Initializes the root directory for the AxioDB.
|
|
18
|
+
*
|
|
19
|
+
* This method sets the `currentPATH` to include the `RootName` and checks if the AxioDB folder exists.
|
|
20
|
+
* If the folder does not exist, it attempts to create it. If the creation fails, an error is thrown.
|
|
21
|
+
*
|
|
22
|
+
* @throws {Error} If the AxioDB folder cannot be created.
|
|
23
|
+
* @returns {Promise<void>} A promise that resolves when the initialization is complete.
|
|
24
|
+
*/
|
|
16
25
|
private initializeRoot;
|
|
17
26
|
/**
|
|
18
27
|
* Creates a new database folder and updates the metadata file.
|
|
@@ -40,14 +40,21 @@ class AxioDB {
|
|
|
40
40
|
this.ResponseHelper = new response_helper_1.default(); // Initialize the ResponseHelper class
|
|
41
41
|
this.initializeRoot(); // Ensure root initialization
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Initializes the root directory for the AxioDB.
|
|
45
|
+
*
|
|
46
|
+
* This method sets the `currentPATH` to include the `RootName` and checks if the AxioDB folder exists.
|
|
47
|
+
* If the folder does not exist, it attempts to create it. If the creation fails, an error is thrown.
|
|
48
|
+
*
|
|
49
|
+
* @throws {Error} If the AxioDB folder cannot be created.
|
|
50
|
+
* @returns {Promise<void>} A promise that resolves when the initialization is complete.
|
|
51
|
+
*/
|
|
43
52
|
initializeRoot() {
|
|
44
53
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
54
|
this.currentPATH = path_1.default.join(this.currentPATH, this.RootName); // Correctly set the path
|
|
46
|
-
console.log(`Checking if ${this.RootName} root exists at: ${this.currentPATH}`);
|
|
47
55
|
// Check if the AxioDB folder exists
|
|
48
56
|
const exists = yield this.folderManager.DirectoryExists(this.currentPATH);
|
|
49
57
|
if (exists.statusCode !== outers_1.StatusCodes.OK) {
|
|
50
|
-
console.log("AxioDB folder not found. Creating...");
|
|
51
58
|
const Dir_Status = yield this.folderManager.CreateDirectory(this.currentPATH);
|
|
52
59
|
if (Dir_Status.statusCode !== outers_1.StatusCodes.OK) {
|
|
53
60
|
throw new Error(`Failed to create AxioDB folder: ${Dir_Status.statusCode}`);
|
|
@@ -105,6 +112,9 @@ class AxioDB {
|
|
|
105
112
|
};
|
|
106
113
|
return this.ResponseHelper.Success(FinalDatabaseInfo);
|
|
107
114
|
}
|
|
115
|
+
else {
|
|
116
|
+
return this.ResponseHelper.Error("Failed to get database info");
|
|
117
|
+
}
|
|
108
118
|
});
|
|
109
119
|
}
|
|
110
120
|
// Delete Database
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Indexation.operation.js","sourceRoot":"","sources":["../../source/Operation/Indexation.operation.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;;;;;;;;;;AAEvD,mBAAmB;AACnB,yEAAiD;AACjD,6EAAqD;AACrD,8CAA8C;AAC9C,gDAAwB;AACxB,uFAAqD;AACrD,kDAAkD;AAElD,iBAAiB;AACjB,kFAAmD;AACnD,mCAAqC;AACrC,gFAAuD;AASvD;;;;GAIG;AACH,MAAa,MAAM;IAQjB,YAAY,QAAiB;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,cAAO,CAAC,SAAS,CAAC,CAAC,oBAAoB;QACnE,IAAI,CAAC,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB;QAC1D,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAW,EAAE,CAAC,CAAC,mCAAmC;QACzE,IAAI,CAAC,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC,CAAC,qCAAqC;QAC/E,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAS,EAAE,CAAC,CAAC,iCAAiC;QACnE,IAAI,CAAC,cAAc,GAAG,IAAI,yBAAc,EAAE,CAAC,CAAC,sCAAsC;QAClF,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,6BAA6B;IACtD,CAAC;
|
|
1
|
+
{"version":3,"file":"Indexation.operation.js","sourceRoot":"","sources":["../../source/Operation/Indexation.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export default class HashmapSearch {
|
|
2
|
+
private indexMap;
|
|
3
|
+
private data;
|
|
4
|
+
constructor(arr: any[]);
|
|
5
|
+
/**
|
|
6
|
+
* Finds and returns an array of items that match the given query.
|
|
7
|
+
*
|
|
8
|
+
* @param query - An object where the keys are the fields to search by and the values are the values to match.
|
|
9
|
+
* @returns A promise that resolves to an array of items that match the query.
|
|
10
|
+
*
|
|
11
|
+
* The function works by creating a set of result indexes that match the query.
|
|
12
|
+
* It iterates over each key in the query, constructs a map key, and retrieves the indexes from the indexMap.
|
|
13
|
+
* If resultIndexes is null, it initializes it with the current indexes.
|
|
14
|
+
* Otherwise, it performs an intersection to refine the results.
|
|
15
|
+
* Finally, it maps the result indexes to the corresponding items in the data array and returns them.
|
|
16
|
+
*/
|
|
17
|
+
find(query: {
|
|
18
|
+
[x: string]: any;
|
|
19
|
+
}): Promise<any[]>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
13
|
+
class HashmapSearch {
|
|
14
|
+
constructor(arr) {
|
|
15
|
+
this.indexMap = new Map();
|
|
16
|
+
this.data = arr;
|
|
17
|
+
// Build index for each field in objects
|
|
18
|
+
arr.forEach((obj, idx) => {
|
|
19
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
20
|
+
const mapKey = `${key}:${value}`;
|
|
21
|
+
if (!this.indexMap.has(mapKey)) {
|
|
22
|
+
this.indexMap.set(mapKey, []);
|
|
23
|
+
}
|
|
24
|
+
this.indexMap.get(mapKey).push(idx);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Finds and returns an array of items that match the given query.
|
|
30
|
+
*
|
|
31
|
+
* @param query - An object where the keys are the fields to search by and the values are the values to match.
|
|
32
|
+
* @returns A promise that resolves to an array of items that match the query.
|
|
33
|
+
*
|
|
34
|
+
* The function works by creating a set of result indexes that match the query.
|
|
35
|
+
* It iterates over each key in the query, constructs a map key, and retrieves the indexes from the indexMap.
|
|
36
|
+
* If resultIndexes is null, it initializes it with the current indexes.
|
|
37
|
+
* Otherwise, it performs an intersection to refine the results.
|
|
38
|
+
* Finally, it maps the result indexes to the corresponding items in the data array and returns them.
|
|
39
|
+
*/
|
|
40
|
+
find(query) {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
const keys = Object.keys(query);
|
|
43
|
+
if (keys.length === 0)
|
|
44
|
+
return [];
|
|
45
|
+
let resultIndexes = null;
|
|
46
|
+
for (const key of keys) {
|
|
47
|
+
const mapKey = `${key}:${query[key]}`;
|
|
48
|
+
const indexes = this.indexMap.get(mapKey) || [];
|
|
49
|
+
if (resultIndexes === null) {
|
|
50
|
+
resultIndexes = new Set(indexes);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
// Perform intersection to refine results
|
|
54
|
+
resultIndexes = new Set([...resultIndexes].filter((i) => indexes.includes(i)));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return resultIndexes ? [...resultIndexes].map((i) => this.data[i]) : [];
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.default = HashmapSearch;
|
|
62
|
+
//# sourceMappingURL=HashMapSearch.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HashMapSearch.utils.js","sourceRoot":"","sources":["../../source/utils/HashMapSearch.utils.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uDAAuD;AACvD,MAAqB,aAAa;IAIhC,YAAY,GAAU;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAEhB,wCAAwC;QACxC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAChC,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACU,IAAI,CAAC,KAA2B;;YAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAEjC,IAAI,aAAa,GAAuB,IAAI,CAAC;YAE7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAEhD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;oBAC3B,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,yCAAyC;oBACzC,aAAa,GAAG,IAAI,GAAG,CACrB,CAAC,GAAG,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,CAAC;KAAA;CACF;AAtDD,gCAsDC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "axiodb",
|
|
3
|
-
"version": "1.2
|
|
3
|
+
"version": "1.3.2",
|
|
4
4
|
"description": "A fast, lightweight, and scalable open-source DBMS for modern apps. Supports JSON-based data storage, simple APIs, and secure data management. Ideal for projects needing efficient and flexible database solutions.",
|
|
5
5
|
"main": "./lib/config/DB.js",
|
|
6
6
|
"types": "./lib/config/DB.d.ts",
|