@wxn0brp/db-core 0.11.0 → 0.11.1-alpha.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/dist/db/valthera.d.ts +20 -1
- package/dist/db/valthera.js +4 -2
- package/dist/types/arg.d.ts +2 -2
- package/dist/types/query.d.ts +43 -11
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/db/valthera.d.ts
CHANGED
|
@@ -13,11 +13,30 @@ import { ValtheraCompatible } from "../types/valthera.js";
|
|
|
13
13
|
export declare class ValtheraClass implements ValtheraCompatible {
|
|
14
14
|
dbAction: ActionsBase;
|
|
15
15
|
executor: ExecutorInterface;
|
|
16
|
-
|
|
16
|
+
emitter: VEE<{
|
|
17
17
|
[K in keyof ValtheraCompatible]: (query: VQuery, result: Awaited<ReturnType<ValtheraCompatible[K]>>) => void;
|
|
18
18
|
} & {
|
|
19
19
|
"*": (name: keyof ValtheraCompatible, query: VQuery, result: any) => void;
|
|
20
20
|
}>;
|
|
21
|
+
/** @deprecated typo */
|
|
22
|
+
emiter: VEE<{
|
|
23
|
+
c: (query: VQuery, result: Collection<unknown>) => void;
|
|
24
|
+
getCollections: (query: VQuery, result: string[]) => void;
|
|
25
|
+
ensureCollection: (query: VQuery, result: boolean) => void;
|
|
26
|
+
issetCollection: (query: VQuery, result: boolean) => void;
|
|
27
|
+
add: (query: VQuery, result: unknown) => void;
|
|
28
|
+
find: (query: VQuery, result: unknown[]) => void;
|
|
29
|
+
findOne: (query: VQuery, result: unknown) => void;
|
|
30
|
+
update: (query: VQuery, result: unknown[]) => void;
|
|
31
|
+
updateOne: (query: VQuery, result: unknown) => void;
|
|
32
|
+
remove: (query: VQuery, result: unknown[]) => void;
|
|
33
|
+
removeOne: (query: VQuery, result: unknown) => void;
|
|
34
|
+
removeCollection: (query: VQuery, result: boolean) => void;
|
|
35
|
+
updateOneOrAdd: (query: VQuery, result: VQueryT.UpdateOneOrAddResult<unknown>) => void;
|
|
36
|
+
toggleOne: (query: VQuery, result: VQueryT.ToggleOneResult<unknown>) => void;
|
|
37
|
+
} & {
|
|
38
|
+
"*": (name: keyof ValtheraCompatible, query: VQuery, result: any) => void;
|
|
39
|
+
}>;
|
|
21
40
|
version: string;
|
|
22
41
|
constructor(options: DbOpts);
|
|
23
42
|
init(...args: any[]): Promise<any>;
|
package/dist/db/valthera.js
CHANGED
|
@@ -9,7 +9,9 @@ import { version } from "../version.js";
|
|
|
9
9
|
export class ValtheraClass {
|
|
10
10
|
dbAction;
|
|
11
11
|
executor;
|
|
12
|
-
|
|
12
|
+
emitter = new VEE();
|
|
13
|
+
/** @deprecated typo */
|
|
14
|
+
emiter = this.emitter;
|
|
13
15
|
version = version;
|
|
14
16
|
constructor(options) {
|
|
15
17
|
this.dbAction = options.dbAction;
|
|
@@ -31,7 +33,7 @@ export class ValtheraClass {
|
|
|
31
33
|
async execute(name, query) {
|
|
32
34
|
await this.init();
|
|
33
35
|
const result = await this.executor.addOp(this.dbAction[name].bind(this.dbAction), query, typeof query === "string" ? query : query.collection);
|
|
34
|
-
this.
|
|
36
|
+
this.emitter.emit(name, query, result);
|
|
35
37
|
return result;
|
|
36
38
|
}
|
|
37
39
|
/**
|
package/dist/types/arg.d.ts
CHANGED
|
@@ -7,5 +7,5 @@ export type Arg<T = any> = {
|
|
|
7
7
|
} & Record<string, any>;
|
|
8
8
|
export type SearchFunc<T = any> = (data: T, context: VContext) => boolean;
|
|
9
9
|
export type UpdaterFunc<T = any> = (data: T, context: VContext) => Data | void;
|
|
10
|
-
export type Search<T = any> = SearchOptions<T> | SearchFunc<T>;
|
|
11
|
-
export type Updater<T = any> = UpdaterArg<T> | UpdaterFunc<T>;
|
|
10
|
+
export type Search<T = any, AllowFn extends boolean = true> = AllowFn extends true ? SearchOptions<T> | SearchFunc<T> : SearchOptions<T>;
|
|
11
|
+
export type Updater<T = any, AllowFn extends boolean = true> = AllowFn extends true ? UpdaterArg<T> | UpdaterFunc<T> : UpdaterArg<T>;
|
package/dist/types/query.d.ts
CHANGED
|
@@ -13,28 +13,60 @@ import { VContext } from "./types.js";
|
|
|
13
13
|
*/
|
|
14
14
|
export interface VQuery_Control {
|
|
15
15
|
}
|
|
16
|
-
export interface VQuery<T = Data> {
|
|
16
|
+
export interface VQuery<T = Data, AllowFn extends boolean = true> {
|
|
17
17
|
/** logic path, dir or file, depends on context */
|
|
18
18
|
collection?: string;
|
|
19
|
-
search?: Search<T>;
|
|
19
|
+
search?: Search<T, AllowFn>;
|
|
20
20
|
context?: VContext;
|
|
21
21
|
dbFindOpts?: DbFindOpts<T>;
|
|
22
22
|
findOpts?: FindOpts<T>;
|
|
23
23
|
data?: Arg<T>;
|
|
24
24
|
id_gen?: boolean;
|
|
25
25
|
add_arg?: Arg<T>;
|
|
26
|
-
updater?: Updater<T>;
|
|
26
|
+
updater?: Updater<T, AllowFn>;
|
|
27
27
|
control?: VQuery_Control;
|
|
28
28
|
}
|
|
29
29
|
export declare namespace VQueryT {
|
|
30
|
-
type QueryBase<T = Data> =
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
type
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
type QueryBase<T = Data> = {
|
|
31
|
+
collection: string;
|
|
32
|
+
control?: VQuery_Control;
|
|
33
|
+
};
|
|
34
|
+
type Add<T = Data> = QueryBase<T> & {
|
|
35
|
+
data: Arg<T>;
|
|
36
|
+
id_gen?: boolean;
|
|
37
|
+
};
|
|
38
|
+
type Find<T = Data, AllowFn extends boolean = true> = QueryBase<T> & {
|
|
39
|
+
search?: Search<T, AllowFn>;
|
|
40
|
+
findOpts?: FindOpts<T>;
|
|
41
|
+
dbFindOpts?: DbFindOpts<T>;
|
|
42
|
+
context?: VContext;
|
|
43
|
+
};
|
|
44
|
+
type FindOne<T = Data, AllowFn extends boolean = true> = QueryBase<T> & {
|
|
45
|
+
search: Search<T, AllowFn>;
|
|
46
|
+
findOpts?: FindOpts<T>;
|
|
47
|
+
context?: VContext;
|
|
48
|
+
};
|
|
49
|
+
type Update<T = Data, AllowFn extends boolean = true> = QueryBase<T> & {
|
|
50
|
+
search: Search<T, AllowFn>;
|
|
51
|
+
updater: Updater<T, AllowFn>;
|
|
52
|
+
context?: VContext;
|
|
53
|
+
};
|
|
54
|
+
type Remove<T = Data, AllowFn extends boolean = true> = QueryBase<T> & {
|
|
55
|
+
search: Search<T, AllowFn>;
|
|
56
|
+
context?: VContext;
|
|
57
|
+
};
|
|
58
|
+
type UpdateOneOrAdd<T = Data, AllowFn extends boolean = true> = QueryBase<T> & {
|
|
59
|
+
search: Search<T, AllowFn>;
|
|
60
|
+
updater: Updater<T, AllowFn>;
|
|
61
|
+
add_arg?: Arg<T>;
|
|
62
|
+
id_gen?: boolean;
|
|
63
|
+
context?: VContext;
|
|
64
|
+
};
|
|
65
|
+
type ToggleOne<T = Data, AllowFn extends boolean = true> = QueryBase<T> & {
|
|
66
|
+
search: Search<T, AllowFn>;
|
|
67
|
+
data: Arg<T>;
|
|
68
|
+
context?: VContext;
|
|
69
|
+
};
|
|
38
70
|
interface UpdateOneOrAddResult<T> {
|
|
39
71
|
data: T;
|
|
40
72
|
type: "added" | "updated";
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = "0.11.0";
|
|
1
|
+
export const version = "0.11.1-alpha.0";
|