axiodb 3.31.117 → 4.32.115
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 +16 -17
- package/lib/Services/CRUD Operation/Create.operation.js +1 -1
- package/lib/Services/CRUD Operation/Create.operation.js.map +1 -1
- package/lib/Services/CRUD Operation/Delete.operation.js +17 -12
- package/lib/Services/CRUD Operation/Delete.operation.js.map +1 -1
- package/lib/Services/CRUD Operation/Reader.operation.js +27 -14
- package/lib/Services/CRUD Operation/Reader.operation.js.map +1 -1
- package/lib/Services/CRUD Operation/Update.operation.d.ts +1 -3
- package/lib/Services/CRUD Operation/Update.operation.js +20 -68
- package/lib/Services/CRUD Operation/Update.operation.js.map +1 -1
- package/lib/Services/Collection/collection.operation.d.ts +23 -3
- package/lib/Services/Collection/collection.operation.js +34 -22
- package/lib/Services/Collection/collection.operation.js.map +1 -1
- package/lib/Services/Database/database.operation.d.ts +27 -3
- package/lib/Services/Database/database.operation.js +55 -11
- package/lib/Services/Database/database.operation.js.map +1 -1
- package/lib/Services/Index/Index.service.d.ts +125 -0
- package/lib/Services/Index/Index.service.js +231 -0
- package/lib/Services/Index/Index.service.js.map +1 -0
- package/lib/Services/Index/InsertIndex.service.d.ts +34 -0
- package/lib/Services/Index/InsertIndex.service.js +79 -0
- package/lib/Services/Index/InsertIndex.service.js.map +1 -0
- package/lib/Services/Index/ReadIndex.service.d.ts +44 -0
- package/lib/Services/Index/ReadIndex.service.js +81 -0
- package/lib/Services/Index/ReadIndex.service.js.map +1 -0
- package/lib/config/DB.d.ts +1 -29
- package/lib/config/DB.js +1 -7
- package/lib/config/DB.js.map +1 -1
- package/lib/config/Interfaces/Operation/database.operation.interface.d.ts +0 -2
- package/lib/utility/BufferLoaderWithWorker.utils.js +28 -7
- package/lib/utility/BufferLoaderWithWorker.utils.js.map +1 -1
- package/lib/utility/Searcher.utils.js +1 -1
- package/package.json +1 -1
- package/lib/Schema/DataTypes.models.d.ts +0 -26
- package/lib/Schema/DataTypes.models.js +0 -36
- package/lib/Schema/DataTypes.models.js.map +0 -1
- package/lib/Schema/validator.models.d.ts +0 -10
- package/lib/Schema/validator.models.js +0 -51
- package/lib/Schema/validator.models.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BufferLoaderWithWorker.utils.js","sourceRoot":"","sources":["../../source/utility/BufferLoaderWithWorker.utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAeA,
|
|
1
|
+
{"version":3,"file":"BufferLoaderWithWorker.utils.js","sourceRoot":"","sources":["../../source/utility/BufferLoaderWithWorker.utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAeA,mCAkEC;AAjFD,uDAAuD;AACvD,mDAAwC;AACxC,gDAAyB;AACzB,4CAAoB;AAEpB;;;;;;;;;GASG;AACH,SAA8B,gBAAgB;yDAC5C,aAAuB,EACvB,aAAiC,EACjC,IAAY,EACZ,WAAoB,EACpB,aAAa,GAAG,KAAK;QAErB,MAAM,UAAU,GAAW,cAAK,CAAC,OAAO,CACtC,SAAS,EACT,gBAAgB,EAChB,6BAA6B,CAC9B,CAAC;QACF,MAAM,KAAK,GAAqB,EAAE,CAAC;QAEnC,iDAAiD;QACjD,IAAI,aAAa,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CACR,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG,IAAI,uBAAM,CAAC,UAAU,EAAE;oBACpC,UAAU,EAAE;wBACV,KAAK,EAAE,aAAa;wBACpB,aAAa,EAAE,aAAa;wBAC5B,IAAI,EAAE,IAAI;wBACV,WAAW,EAAE,WAAW;wBACxB,aAAa,EAAE,aAAa;qBAC7B;iBACF,CAAC,CAAC;gBAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC9B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC3B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACzB,IAAI,IAAI,KAAK,CAAC;wBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxE,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,sDAAsD;YACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1E,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,YAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,YAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;gBACvI,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAElD,KAAK,CAAC,IAAI,CACR,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC9B,MAAM,MAAM,GAAG,IAAI,uBAAM,CAAC,UAAU,EAAE;wBACpC,UAAU,EAAE;4BACV,KAAK,EAAE,SAAS;4BAChB,aAAa,EAAE,aAAa;4BAC5B,IAAI,EAAE,IAAI;4BACV,WAAW,EAAE,WAAW;4BACxB,aAAa,EAAE,aAAa;yBAC7B;qBACF,CAAC,CAAC;oBAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBAC9B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAC3B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;wBACzB,IAAI,IAAI,KAAK,CAAC;4BAAE,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,CAAC;oBACxE,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;CAAA"}
|
|
@@ -48,7 +48,7 @@ class Searcher {
|
|
|
48
48
|
find(query_1, additionalFiled_1) {
|
|
49
49
|
return __awaiter(this, arguments, void 0, function* (query, additionalFiled, findOne = false) {
|
|
50
50
|
// For small datasets or findOne, linear search is faster (avoid worker overhead)
|
|
51
|
-
if (this.data.length <
|
|
51
|
+
if (this.data.length < 5000 || findOne) {
|
|
52
52
|
const result = [];
|
|
53
53
|
for (let i = 0; i < this.data.length; i++) {
|
|
54
54
|
const rawItem = this.data[i];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "axiodb",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.32.115",
|
|
4
4
|
"description": "The Pure JavaScript Alternative to SQLite. Embedded NoSQL database for Node.js with MongoDB-style queries, zero native dependencies, built-in InMemoryCache, and web GUI. Perfect for desktop apps, CLI tools, and embedded systems. No compilation, no platform issues—pure JavaScript from npm install to production.",
|
|
5
5
|
"main": "./lib/config/DB.js",
|
|
6
6
|
"types": "./lib/config/DB.d.ts",
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import Joi from "joi";
|
|
2
|
-
export declare const SchemaTypes: {
|
|
3
|
-
string: <TSchema = string>() => Joi.StringSchema<TSchema>;
|
|
4
|
-
number: <TSchema = number>() => Joi.NumberSchema<TSchema>;
|
|
5
|
-
boolean: <TSchema = boolean>() => Joi.BooleanSchema<TSchema>;
|
|
6
|
-
object: <TSchema = any, isStrict = false, T = TSchema>(schema?: Joi.SchemaMap<T, isStrict>) => Joi.ObjectSchema<TSchema>;
|
|
7
|
-
array: <TSchema = any[]>() => Joi.ArraySchema<TSchema>;
|
|
8
|
-
date: <TSchema = Date>() => Joi.DateSchema<TSchema>;
|
|
9
|
-
binary: <TSchema = Buffer<ArrayBufferLike>>() => Joi.BinarySchema<TSchema>;
|
|
10
|
-
func: <TSchema = Function>() => Joi.FunctionSchema<TSchema>;
|
|
11
|
-
ref: (key: string, options?: Joi.ReferenceOptions) => Joi.Reference;
|
|
12
|
-
any: <TSchema = any>() => Joi.AnySchema<TSchema>;
|
|
13
|
-
alphanum: () => Joi.StringSchema<string>;
|
|
14
|
-
email: (options?: Joi.EmailOptions) => Joi.StringSchema<string>;
|
|
15
|
-
guid: (options?: Joi.GuidOptions) => Joi.StringSchema<string>;
|
|
16
|
-
ip: (options?: Joi.IpOptions) => Joi.StringSchema<string>;
|
|
17
|
-
uri: (options?: Joi.UriOptions) => Joi.StringSchema<string>;
|
|
18
|
-
max: (limit: number | Joi.Reference) => Joi.NumberSchema<number>;
|
|
19
|
-
min: (limit: number | Joi.Reference) => Joi.NumberSchema<number>;
|
|
20
|
-
length: (limit: number | Joi.Reference) => Joi.StringSchema<string>;
|
|
21
|
-
pattern: (regex: RegExp) => Joi.StringSchema<string>;
|
|
22
|
-
required: () => Joi.Schema<any>;
|
|
23
|
-
optional: () => Joi.Schema<any>;
|
|
24
|
-
allow: (values: any[]) => Joi.Schema<any>;
|
|
25
|
-
valid: (values: any[]) => Joi.Schema<any>;
|
|
26
|
-
};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.SchemaTypes = void 0;
|
|
7
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
8
|
-
const joi_1 = __importDefault(require("joi"));
|
|
9
|
-
// Create an object to hold all Joi types under the name SchemaTypes
|
|
10
|
-
exports.SchemaTypes = {
|
|
11
|
-
string: joi_1.default.string,
|
|
12
|
-
number: joi_1.default.number,
|
|
13
|
-
boolean: joi_1.default.boolean,
|
|
14
|
-
object: joi_1.default.object,
|
|
15
|
-
array: joi_1.default.array,
|
|
16
|
-
date: joi_1.default.date,
|
|
17
|
-
binary: joi_1.default.binary,
|
|
18
|
-
func: joi_1.default.func,
|
|
19
|
-
ref: joi_1.default.ref,
|
|
20
|
-
any: joi_1.default.any,
|
|
21
|
-
// Add additional types from Joi if needed
|
|
22
|
-
alphanum: joi_1.default.string().alphanum,
|
|
23
|
-
email: joi_1.default.string().email,
|
|
24
|
-
guid: joi_1.default.string().guid,
|
|
25
|
-
ip: joi_1.default.string().ip,
|
|
26
|
-
uri: joi_1.default.string().uri,
|
|
27
|
-
max: (limit) => joi_1.default.number().max(limit),
|
|
28
|
-
min: (limit) => joi_1.default.number().min(limit),
|
|
29
|
-
length: (limit) => joi_1.default.string().length(limit),
|
|
30
|
-
pattern: (regex) => joi_1.default.string().pattern(regex),
|
|
31
|
-
required: () => joi_1.default.required(),
|
|
32
|
-
optional: () => joi_1.default.optional(),
|
|
33
|
-
allow: (values) => joi_1.default.allow(values),
|
|
34
|
-
valid: (values) => joi_1.default.valid(values),
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=DataTypes.models.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DataTypes.models.js","sourceRoot":"","sources":["../../source/Schema/DataTypes.models.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAuD;AACvD,8CAAsB;AAEtB,oEAAoE;AACvD,QAAA,WAAW,GAAG;IACzB,MAAM,EAAE,aAAG,CAAC,MAAM;IAClB,MAAM,EAAE,aAAG,CAAC,MAAM;IAClB,OAAO,EAAE,aAAG,CAAC,OAAO;IACpB,MAAM,EAAE,aAAG,CAAC,MAAM;IAClB,KAAK,EAAE,aAAG,CAAC,KAAK;IAChB,IAAI,EAAE,aAAG,CAAC,IAAI;IACd,MAAM,EAAE,aAAG,CAAC,MAAM;IAClB,IAAI,EAAE,aAAG,CAAC,IAAI;IACd,GAAG,EAAE,aAAG,CAAC,GAAG;IACZ,GAAG,EAAE,aAAG,CAAC,GAAG;IACZ,0CAA0C;IAC1C,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ;IAC/B,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK;IACzB,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI;IACvB,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,EAAE;IACnB,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG;IACrB,GAAG,EAAE,CAAC,KAA6B,EAAE,EAAE,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;IAC/D,GAAG,EAAE,CAAC,KAA6B,EAAE,EAAE,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;IAC/D,MAAM,EAAE,CAAC,KAA6B,EAAE,EAAE,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;IACrE,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACvD,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAG,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAG,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC,MAAa,EAAE,EAAE,CAAC,aAAG,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC,MAAa,EAAE,EAAE,CAAC,aAAG,CAAC,KAAK,CAAC,MAAM,CAAC;CAC5C,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Schema } from "joi";
|
|
2
|
-
/**
|
|
3
|
-
* Validates the provided data against the given Joi schema.
|
|
4
|
-
*
|
|
5
|
-
* @param dataSchema - The Joi schema to validate against.
|
|
6
|
-
* @param data - The data to be validated.
|
|
7
|
-
* @param isUpdate - A boolean flag to indicate if the data is being validated for an update operation.
|
|
8
|
-
* @returns A promise that resolves with the validated data if validation is successful, or rejects with a validation error.
|
|
9
|
-
*/
|
|
10
|
-
export default function schemaValidate(dataSchema: Schema, data: any, isUpdate?: boolean): Promise<any>;
|
|
@@ -1,51 +0,0 @@
|
|
|
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
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.default = schemaValidate;
|
|
16
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
17
|
-
const joi_1 = __importDefault(require("joi")); // Ensure to import Joi correctly
|
|
18
|
-
/**
|
|
19
|
-
* Validates the provided data against the given Joi schema.
|
|
20
|
-
*
|
|
21
|
-
* @param dataSchema - The Joi schema to validate against.
|
|
22
|
-
* @param data - The data to be validated.
|
|
23
|
-
* @param isUpdate - A boolean flag to indicate if the data is being validated for an update operation.
|
|
24
|
-
* @returns A promise that resolves with the validated data if validation is successful, or rejects with a validation error.
|
|
25
|
-
*/
|
|
26
|
-
function schemaValidate(dataSchema_1, data_1) {
|
|
27
|
-
return __awaiter(this, arguments, void 0, function* (dataSchema, data, isUpdate = false) {
|
|
28
|
-
if (isUpdate == true) {
|
|
29
|
-
// For update operations, we allow partial data
|
|
30
|
-
try {
|
|
31
|
-
// Use Joi.object() correctly to wrap the schema and validate data.
|
|
32
|
-
const joiSchema = joi_1.default.object(dataSchema).unknown(true); // Converts the provided schema to a Joi object schema
|
|
33
|
-
return yield joiSchema.validateAsync(data); // Validate the actual data against the schema
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
return error;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
// For create operations, we require all data fields
|
|
41
|
-
try {
|
|
42
|
-
const joiSchema = joi_1.default.object(dataSchema); // Wrap the schema with Joi.object() for proper validation
|
|
43
|
-
return yield joiSchema.validateAsync(data); // Validate the actual data against the schema
|
|
44
|
-
}
|
|
45
|
-
catch (error) {
|
|
46
|
-
return error;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=validator.models.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validator.models.js","sourceRoot":"","sources":["../../source/Schema/validator.models.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAWA,iCAuBC;AAlCD,uDAAuD;AACvD,8CAAkC,CAAC,iCAAiC;AAEpE;;;;;;;GAOG;AACH,SAA8B,cAAc;yDAC1C,UAAkB,EAClB,IAAS,EACT,QAAQ,GAAG,KAAK;QAEhB,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,+CAA+C;YAC/C,IAAI,CAAC;gBACH,mEAAmE;gBACnE,MAAM,SAAS,GAAG,aAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,sDAAsD;gBAC9G,OAAO,MAAM,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,8CAA8C;YAC5F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;aAAM,CAAC;YACN,oDAAoD;YACpD,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,aAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,0DAA0D;gBACpG,OAAO,MAAM,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,8CAA8C;YAC5F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;CAAA"}
|