@wxn0brp/db-core 0.3.2 → 0.4.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.
@@ -1,5 +1,5 @@
1
1
  import { CustomActionsBase } from "../base/custom.js";
2
- import CollectionManager from "../helpers/CollectionManager.js";
2
+ import { CollectionManager } from "../helpers/collectionManager.js";
3
3
  import Data from "../types/data.js";
4
4
  import { VQuery } from "../types/query.js";
5
5
  import ValtheraClass from "./valthera.js";
@@ -1,6 +1,6 @@
1
1
  import { VEE } from "@wxn0brp/event-emitter";
2
2
  import ActionsBase from "../base/actions.js";
3
- import CollectionManager from "../helpers/CollectionManager.js";
3
+ import { CollectionManager } from "../helpers/collectionManager.js";
4
4
  import executorC from "../helpers/executor.js";
5
5
  import { Arg, Search, Updater } from "../types/arg.js";
6
6
  import Data from "../types/data.js";
@@ -1,6 +1,6 @@
1
1
  import { VEE } from "@wxn0brp/event-emitter";
2
2
  import ActionsBase from "../base/actions.js";
3
- import CollectionManager from "../helpers/CollectionManager.js";
3
+ import { CollectionManager } from "../helpers/collectionManager.js";
4
4
  import executorC from "../helpers/executor.js";
5
5
  import { version } from "../version.js";
6
6
  /**
@@ -0,0 +1,46 @@
1
+ import { Arg, Search, Updater } from "../types/arg.js";
2
+ import { DbFindOpts, FindOpts } from "../types/options.js";
3
+ import { VContext } from "../types/types.js";
4
+ import Data from "../types/data.js";
5
+ import { UpdateOneOrAdd, ValtheraCompatible } from "../types/valthera.js";
6
+ export declare class CollectionManager<D = Data> {
7
+ private db;
8
+ private collection;
9
+ constructor(db: ValtheraCompatible, collection: string);
10
+ /**
11
+ * Add data to a database.
12
+ */
13
+ add(data: Arg<D>, id_gen?: boolean): Promise<D>;
14
+ /**
15
+ * Find data in a database.
16
+ */
17
+ find(search?: Search<D>, options?: DbFindOpts<D>, findOpts?: FindOpts<D>, context?: VContext): Promise<D[]>;
18
+ /**
19
+ * Find one data entry in a database.
20
+ */
21
+ findOne(search?: Search<D>, findOpts?: FindOpts<D>, context?: VContext): Promise<D>;
22
+ /**
23
+ * Update data in a database.
24
+ */
25
+ update(search: Search<D>, updater: Updater<D>, context?: VContext): Promise<boolean>;
26
+ /**
27
+ * Update one data entry in a database.
28
+ */
29
+ updateOne(search: Search<D>, updater: Updater<D>, context?: VContext): Promise<boolean>;
30
+ /**
31
+ * Remove data from a database.
32
+ */
33
+ remove(search: Search<D>, context?: VContext): Promise<boolean>;
34
+ /**
35
+ * Remove one data entry from a database.
36
+ */
37
+ removeOne(search: Search<D>, context?: VContext): Promise<boolean>;
38
+ /**
39
+ * Asynchronously updates one entry in a database or adds a new one if it doesn't exist.
40
+ */
41
+ updateOneOrAdd(search: Search<D>, updater: Updater<D>, { add_arg, context, id_gen }?: UpdateOneOrAdd<D>): Promise<boolean>;
42
+ /**
43
+ * Asynchronously removes one entry in a database or adds a new one if it doesn't exist. Usage e.g. for toggling a flag.
44
+ */
45
+ toggleOne(search: Search<D>, data?: Arg<D>, context?: VContext): Promise<boolean>;
46
+ }
@@ -1,4 +1,4 @@
1
- class CollectionManager {
1
+ export class CollectionManager {
2
2
  db;
3
3
  collection;
4
4
  constructor(db, collection) {
@@ -60,4 +60,3 @@ class CollectionManager {
60
60
  return await this.db.toggleOne(this.collection, search, data, context);
61
61
  }
62
62
  }
63
- export default CollectionManager;
@@ -1,4 +1,4 @@
1
- import CollectionManager from "./CollectionManager.js";
1
+ import { CollectionManager } from "./collectionManager.js";
2
2
  import Data from "../types/data.js";
3
3
  import { ValtheraCompatible } from "../types/valthera.js";
4
4
  export declare function forgeValthera<T extends string>(target: ValtheraCompatible): ValtheraCompatible & { [K in T]: CollectionManager; };
@@ -1,4 +1,4 @@
1
- import CollectionManager from "./CollectionManager.js";
1
+ import { CollectionManager } from "./collectionManager.js";
2
2
  export function forgeValthera(target) {
3
3
  return new Proxy(target, {
4
4
  get(target, prop, receiver) {
@@ -1,4 +1,4 @@
1
- import Id from "../types/Id.js";
1
+ import { Id } from "../types/Id.js";
2
2
  /**
3
3
  * Generates a unique random identifier based on time and parts.
4
4
  *
@@ -1,3 +1,2 @@
1
1
  type Id = string;
2
- export default Id;
3
- export { Id };
2
+ export type { Id };
@@ -1,8 +1,7 @@
1
- import CollectionManager from "../helpers/CollectionManager.js";
1
+ import { CollectionManager } from "../helpers/collectionManager.js";
2
2
  import { Arg, Search, Updater } from "./arg.js";
3
3
  import Data from "./data.js";
4
4
  import { DbFindOpts, FindOpts } from "./options.js";
5
- import { VQuery } from "./query.js";
6
5
  import { VContext } from "./types.js";
7
6
  export interface ValtheraCompatible {
8
7
  c(collection: string): CollectionManager;
@@ -25,19 +24,3 @@ export interface UpdateOneOrAdd<T> {
25
24
  id_gen?: boolean;
26
25
  context?: VContext;
27
26
  }
28
- export interface ValtheraCompatibleInternal {
29
- c(config: VQuery): CollectionManager;
30
- getCollections(): Promise<string[]>;
31
- ensureCollection(config: VQuery): Promise<boolean>;
32
- issetCollection(config: VQuery): Promise<boolean>;
33
- add<T = Data>(config: VQuery): Promise<T>;
34
- find<T = Data>(config: VQuery): Promise<T[]>;
35
- findOne<T = Data>(config: VQuery): Promise<T | null>;
36
- update(config: VQuery): Promise<boolean>;
37
- updateOne(config: VQuery): Promise<boolean>;
38
- remove(config: VQuery): Promise<boolean>;
39
- removeOne(config: VQuery): Promise<boolean>;
40
- removeCollection(config: VQuery): Promise<boolean>;
41
- updateOneOrAdd(config: VQuery): Promise<boolean>;
42
- toggleOne(config: VQuery): Promise<boolean>;
43
- }
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const version = "0.3.2";
1
+ export const version = "0.4.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wxn0brp/db-core",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "types": "dist/index.d.ts",
5
5
  "main": "dist/index.js",
6
6
  "author": "wxn0brP",
@@ -1,47 +0,0 @@
1
- import { Arg, Search, Updater } from "../types/arg.js";
2
- import { DbFindOpts, FindOpts } from "../types/options.js";
3
- import { VContext } from "../types/types.js";
4
- import Data from "../types/data.js";
5
- import { UpdateOneOrAdd, ValtheraCompatible } from "../types/valthera.js";
6
- declare class CollectionManager<D = Data> {
7
- private db;
8
- private collection;
9
- constructor(db: ValtheraCompatible, collection: string);
10
- /**
11
- * Add data to a database.
12
- */
13
- add<T = Data>(data: Arg<T & D>, id_gen?: boolean): Promise<T>;
14
- /**
15
- * Find data in a database.
16
- */
17
- find<T = Data>(search?: Search<T & D>, options?: DbFindOpts<T & D>, findOpts?: FindOpts<T & D>, context?: VContext): Promise<T[]>;
18
- /**
19
- * Find one data entry in a database.
20
- */
21
- findOne<T = Data>(search?: Search<T & D>, findOpts?: FindOpts<T & D>, context?: VContext): Promise<T>;
22
- /**
23
- * Update data in a database.
24
- */
25
- update<T = Data>(search: Search<T & D>, updater: Updater<T & D>, context?: VContext): Promise<boolean>;
26
- /**
27
- * Update one data entry in a database.
28
- */
29
- updateOne<T = Data>(search: Search<T & D>, updater: Updater<T & D>, context?: VContext): Promise<boolean>;
30
- /**
31
- * Remove data from a database.
32
- */
33
- remove<T = Data>(search: Search<T & D>, context?: VContext): Promise<boolean>;
34
- /**
35
- * Remove one data entry from a database.
36
- */
37
- removeOne<T = Data>(search: Search<T & D>, context?: VContext): Promise<boolean>;
38
- /**
39
- * Asynchronously updates one entry in a database or adds a new one if it doesn't exist.
40
- */
41
- updateOneOrAdd<T = Data>(search: Search<T & D>, updater: Updater<T & D>, { add_arg, context, id_gen }?: UpdateOneOrAdd<T & D>): Promise<boolean>;
42
- /**
43
- * Asynchronously removes one entry in a database or adds a new one if it doesn't exist. Usage e.g. for toggling a flag.
44
- */
45
- toggleOne<T = Data>(search: Search<T & D>, data?: Arg<T & D>, context?: VContext): Promise<boolean>;
46
- }
47
- export default CollectionManager;