inibase 1.0.0-rc.99 → 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.
- package/README.md +118 -23
- package/dist/file.d.ts +3 -11
- package/dist/file.js +195 -95
- package/dist/index.d.ts +36 -23
- package/dist/index.js +625 -470
- package/dist/utils.js +11 -10
- package/dist/utils.server.d.ts +17 -2
- package/dist/utils.server.js +44 -6
- package/package.json +12 -8
package/dist/index.d.ts
CHANGED
|
@@ -12,8 +12,9 @@ export type Field = {
|
|
|
12
12
|
type: FieldType | FieldType[];
|
|
13
13
|
required?: boolean;
|
|
14
14
|
table?: string;
|
|
15
|
-
unique?: boolean;
|
|
15
|
+
unique?: boolean | number | string;
|
|
16
16
|
children?: FieldType | FieldType[] | Schema;
|
|
17
|
+
regex?: string;
|
|
17
18
|
};
|
|
18
19
|
export type Schema = Field[];
|
|
19
20
|
export interface Options {
|
|
@@ -49,18 +50,20 @@ declare global {
|
|
|
49
50
|
entries<T extends object>(o: T): Entries<T>;
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
|
-
export type ErrorCodes = "FIELD_UNIQUE" | "FIELD_REQUIRED" | "NO_SCHEMA" | "
|
|
53
|
+
export type ErrorCodes = "FIELD_UNIQUE" | "FIELD_REQUIRED" | "NO_SCHEMA" | "TABLE_EMPTY" | "INVALID_ID" | "INVALID_TYPE" | "INVALID_PARAMETERS" | "NO_ENV" | "TABLE_EXISTS" | "TABLE_NOT_EXISTS" | "INVALID_REGEX_MATCH";
|
|
53
54
|
export type ErrorLang = "en";
|
|
54
55
|
export default class Inibase {
|
|
55
56
|
pageInfo: Record<string, pageInfo>;
|
|
56
57
|
salt: Buffer;
|
|
57
58
|
private databasePath;
|
|
58
|
-
private tables;
|
|
59
59
|
private fileExtension;
|
|
60
|
-
private
|
|
60
|
+
private tablesMap;
|
|
61
|
+
private uniqueMap;
|
|
61
62
|
private totalItems;
|
|
62
63
|
constructor(database: string, mainFolder?: string);
|
|
63
|
-
private
|
|
64
|
+
private static errorMessages;
|
|
65
|
+
createError(name: ErrorCodes, variable?: string | number | (string | number)[], language?: ErrorLang): Error;
|
|
66
|
+
clear(): void;
|
|
64
67
|
private getFileExtension;
|
|
65
68
|
private _schemaToIdsPath;
|
|
66
69
|
/**
|
|
@@ -72,7 +75,6 @@ export default class Inibase {
|
|
|
72
75
|
*/
|
|
73
76
|
createTable(tableName: string, schema?: Schema, config?: Config): Promise<void>;
|
|
74
77
|
private replaceStringInFile;
|
|
75
|
-
private replaceStringInSchemas;
|
|
76
78
|
/**
|
|
77
79
|
* Update table schema or config
|
|
78
80
|
*
|
|
@@ -89,9 +91,10 @@ export default class Inibase {
|
|
|
89
91
|
* @param {string} tableName
|
|
90
92
|
* @return {*} {Promise<TableObject>}
|
|
91
93
|
*/
|
|
92
|
-
getTable(tableName: string): Promise<TableObject>;
|
|
94
|
+
getTable(tableName: string, encodeIDs?: boolean): Promise<TableObject>;
|
|
93
95
|
getTableSchema(tableName: string, encodeIDs?: boolean): Promise<Schema | undefined>;
|
|
94
96
|
private throwErrorIfTableEmpty;
|
|
97
|
+
private _validateData;
|
|
95
98
|
private validateData;
|
|
96
99
|
private cleanObject;
|
|
97
100
|
private formatField;
|
|
@@ -101,8 +104,17 @@ export default class Inibase {
|
|
|
101
104
|
private _combineObjectsToArray;
|
|
102
105
|
private _CombineData;
|
|
103
106
|
private joinPathesContents;
|
|
104
|
-
private
|
|
105
|
-
private
|
|
107
|
+
private _processSchemaDataHelper;
|
|
108
|
+
private processSchemaData;
|
|
109
|
+
private isSimpleField;
|
|
110
|
+
private processSimpleField;
|
|
111
|
+
private isArrayField;
|
|
112
|
+
private processArrayField;
|
|
113
|
+
private isObjectField;
|
|
114
|
+
private processObjectField;
|
|
115
|
+
private isTableField;
|
|
116
|
+
private processTableField;
|
|
117
|
+
private _setNestedKey;
|
|
106
118
|
private applyCriteria;
|
|
107
119
|
private _filterSchemaByColumns;
|
|
108
120
|
/**
|
|
@@ -121,36 +133,37 @@ export default class Inibase {
|
|
|
121
133
|
* @param {boolean} [onlyLinesNumbers]
|
|
122
134
|
* @return {*} {(Promise<Data | number | (Data | number)[] | null>)}
|
|
123
135
|
*/
|
|
124
|
-
get(tableName: string, where: string | number | (string | number)[] | Criteria | undefined, options: Options | undefined, onlyOne: true, onlyLinesNumbers?: false): Promise<Data | null>;
|
|
125
|
-
get(tableName: string, where: string | number, options?: Options, onlyOne?: boolean, onlyLinesNumbers?: false): Promise<Data | null>;
|
|
126
|
-
get(tableName: string, where?: string | number | (string | number)[] | Criteria, options?: Options, onlyOne?: boolean, onlyLinesNumbers?: false): Promise<Data[] | null>;
|
|
127
|
-
get(tableName: string, where: string | number | (string | number)[] | Criteria | undefined, options: Options | undefined, onlyOne: false | undefined, onlyLinesNumbers: true): Promise<number[] | null>;
|
|
128
|
-
get(tableName: string, where: string | number | (string | number)[] | Criteria | undefined, options: Options | undefined, onlyOne: true, onlyLinesNumbers: true): Promise<number | null>;
|
|
136
|
+
get<TData extends Record<string, any> & Partial<Data>>(tableName: string, where: string | number | (string | number)[] | Criteria | undefined, options: Options | undefined, onlyOne: true, onlyLinesNumbers?: false): Promise<(Data & TData) | null>;
|
|
137
|
+
get<TData extends Record<string, any> & Partial<Data>>(tableName: string, where: string | number, options?: Options, onlyOne?: boolean, onlyLinesNumbers?: false): Promise<(Data & TData) | null>;
|
|
138
|
+
get<TData extends Record<string, any> & Partial<Data>>(tableName: string, where?: string | number | (string | number)[] | Criteria, options?: Options, onlyOne?: boolean, onlyLinesNumbers?: false): Promise<(Data & TData)[] | null>;
|
|
139
|
+
get<TData extends Record<string, any> & Partial<Data>>(tableName: string, where: string | number | (string | number)[] | Criteria | undefined, options: Options | undefined, onlyOne: false | undefined, onlyLinesNumbers: true): Promise<number[] | null>;
|
|
140
|
+
get<TData extends Record<string, any> & Partial<Data>>(tableName: string, where: string | number | (string | number)[] | Criteria | undefined, options: Options | undefined, onlyOne: true, onlyLinesNumbers: true): Promise<number | null>;
|
|
129
141
|
/**
|
|
130
142
|
* Create new item(s) in a table
|
|
131
143
|
*
|
|
132
144
|
* @param {string} tableName
|
|
133
|
-
* @param {(Data | Data[])} data Can be array of objects or a single object
|
|
145
|
+
* @param {((Data & TData) | (Data & TData)[])} data Can be array of objects or a single object
|
|
134
146
|
* @param {Options} [options] Pagination options, useful when the returnPostedData param is true
|
|
135
147
|
* @param {boolean} [returnPostedData] By default function returns void, if you want to get the posted data, set this param to true
|
|
136
148
|
* @return {*} {Promise<Data | Data[] | null | void>}
|
|
137
149
|
*/
|
|
138
|
-
post(tableName: string, data: Data | Data[], options?: Options, returnPostedData?: boolean): Promise<void>;
|
|
139
|
-
post(tableName: string, data: Data, options: Options | undefined, returnPostedData: true): Promise<Data | null>;
|
|
140
|
-
post(tableName: string, data: Data[], options: Options | undefined, returnPostedData: true): Promise<Data[] | null>;
|
|
150
|
+
post<TData extends Record<string, any> & Partial<Data>>(tableName: string, data: (Data & TData) | (Data & TData)[], options?: Options, returnPostedData?: boolean): Promise<void>;
|
|
151
|
+
post<TData extends Record<string, any> & Partial<Data>>(tableName: string, data: Data & TData, options: Options | undefined, returnPostedData: true): Promise<(Data & TData) | null>;
|
|
152
|
+
post<TData extends Record<string, any> & Partial<Data>>(tableName: string, data: (Data & TData)[], options: Options | undefined, returnPostedData: true): Promise<(Data & TData)[] | null>;
|
|
141
153
|
/**
|
|
142
154
|
* Update item(s) in a table
|
|
143
155
|
*
|
|
144
156
|
* @param {string} tableName
|
|
145
|
-
* @param {(Data | Data[])} data
|
|
157
|
+
* @param {(Data & TData) | (Data & TData[])} data
|
|
146
158
|
* @param {(number | string | (number | string)[] | Criteria)} [where]
|
|
147
159
|
* @param {Options} [options]
|
|
148
|
-
* @param {
|
|
160
|
+
* @param {boolean} [returnUpdatedData]
|
|
149
161
|
* @return {*} {Promise<Data | Data[] | null | undefined | void>}
|
|
150
162
|
*/
|
|
151
|
-
put(tableName: string, data
|
|
152
|
-
put(tableName: string, data: Data, where: number | string | (number | string)[] | Criteria | undefined, options: Options | undefined, returnUpdatedData: true): Promise<Data | null>;
|
|
153
|
-
put(tableName: string, data: Data[], where: number | string | (number | string)[] | Criteria | undefined, options: Options | undefined, returnUpdatedData: true): Promise<Data[] | null>;
|
|
163
|
+
put<TData extends Record<string, any> & Partial<Data>>(tableName: string, data?: (Data & TData) | (Data & TData)[], where?: number | string | (number | string)[] | Criteria | undefined, options?: Options | undefined, returnUpdatedData?: false): Promise<void>;
|
|
164
|
+
put<TData extends Record<string, any> & Partial<Data>>(tableName: string, data: Data & TData, where: number | string | (number | string)[] | Criteria | undefined, options: Options | undefined, returnUpdatedData: true | boolean): Promise<(Data & TData) | null>;
|
|
165
|
+
put<TData extends Record<string, any> & Partial<Data>>(tableName: string, data: (Data & TData)[], where: number | string | (number | string)[] | Criteria | undefined, options: Options | undefined, returnUpdatedData: true | boolean): Promise<(Data & TData)[] | null>;
|
|
166
|
+
put<TData extends Record<string, any> & Partial<Data>>(tableName: string, data: (Data & TData) | (Data & TData)[], where: number | string | (number | string)[] | Criteria | undefined, options: Options | undefined, returnUpdatedData: true | boolean): Promise<(Data & TData) | (Data & TData)[] | null>;
|
|
154
167
|
/**
|
|
155
168
|
* Delete item(s) in a table
|
|
156
169
|
*
|