@akanjs/document 0.9.57 → 0.9.58-canary.1

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.
@@ -200,6 +200,9 @@ const databaseModelOf = (database, model, redis, meili) => {
200
200
  async [`load${className}Many`](ids) {
201
201
  return await this.__loader.loadMany(ids);
202
202
  }
203
+ async clone(data) {
204
+ return await new this.__model({ ...data, _id: data.id }).save();
205
+ }
203
206
  async [`create${className}`](data) {
204
207
  return await new this.__model(data).save();
205
208
  }
@@ -182,6 +182,9 @@ const databaseModelOf = (database, model, redis, meili) => {
182
182
  async [`load${className}Many`](ids) {
183
183
  return await this.__loader.loadMany(ids);
184
184
  }
185
+ async clone(data) {
186
+ return await new this.__model({ ...data, _id: data.id }).save();
187
+ }
185
188
  async [`create${className}`](data) {
186
189
  return await new this.__model(data).save();
187
190
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akanjs/document",
3
- "version": "0.9.57",
3
+ "version": "0.9.58-canary.1",
4
4
  "sourceType": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
package/src/database.d.ts CHANGED
@@ -88,6 +88,9 @@ type DatabaseModelWithQuerySort<T extends string, Input, Doc, Obj, Insight, Quer
88
88
  __exists(query: _QueryOfDoc): Promise<string | null>;
89
89
  __count(query: _QueryOfDoc): Promise<number>;
90
90
  __insight(query: _QueryOfDoc): Promise<Insight>;
91
+ clone(data: _DataInput & {
92
+ id: string;
93
+ }): Promise<Doc>;
91
94
  listenPre: (type: SaveEventType, listener: (doc: Doc, type: CRUDEventType) => PromiseOrObject<void>) => () => void;
92
95
  listenPost: (type: SaveEventType, listener: (doc: Doc, type: CRUDEventType) => PromiseOrObject<void>) => () => void;
93
96
  } & {
@@ -39,7 +39,7 @@ export type SchemaOf<Mdl, Doc> = Schema<null, Mdl, Doc, undefined, null, Mdl>;
39
39
  export interface BaseMiddleware {
40
40
  onSchema: (schema: SchemaOf<any, any>) => void;
41
41
  }
42
- export declare const into: <Doc, Filter extends FilterInstance, T extends string, Input, Full, Light, Insight, AddDbModels extends Type[], _CapitalizedT extends string, _Default, _DefaultInput, _DefaultState, _DefaultStateInput, _DefaultInsight, _PurifiedInput, _Doc, _DocInput, _QueryOfDoc, _Query = ExtractQuery<Filter>, _Sort = keyof Filter["sort"], _DatabaseModel = DatabaseModel<T, _DocInput, Doc, Full, Insight, Filter, _CapitalizedT, _QueryOfDoc, _Query, _Sort>, _LoaderBuilder extends LoaderBuilder<_Doc> = LoaderBuilder<_Doc>>(docRef: Type<Doc>, filterRef: Type<Filter>, cnst: ConstantModel<T, Input, Full, Light, Insight, _CapitalizedT, _Default, _DefaultInput, _DefaultState, _DefaultStateInput, _DefaultInsight, _PurifiedInput, _Doc, _DocInput, _QueryOfDoc>, loaderBuilder: _LoaderBuilder, ...addMdls: AddDbModels) => Type<MergeAllActionTypes<AddDbModels, keyof _DatabaseModel & string> & _DatabaseModel & ExtractLoaderInfoObject<ReturnType<_LoaderBuilder>>>;
42
+ export declare const into: <Doc, Filter extends FilterInstance, T extends string, Input, Obj, Full, Light, Insight, AddDbModels extends Type[], _CapitalizedT extends string, _Default, _DefaultInput, _DefaultState, _DefaultStateInput, _DefaultInsight, _PurifiedInput, _Doc, _DocInput, _QueryOfDoc, _Query = ExtractQuery<Filter>, _Sort = keyof Filter["sort"], _DatabaseModel = DatabaseModel<T, _DocInput, Doc, Full, Insight, Filter, _CapitalizedT, _QueryOfDoc, _Query, _Sort>, _LoaderBuilder extends LoaderBuilder<_Doc> = LoaderBuilder<_Doc>>(docRef: Type<Doc>, filterRef: Type<Filter>, cnst: ConstantModel<T, Input, Obj, Full, Light, Insight, _CapitalizedT, _Default, _DefaultInput, _DefaultState, _DefaultStateInput, _DefaultInsight, _PurifiedInput, _Doc, _DocInput, _QueryOfDoc>, loaderBuilder: _LoaderBuilder, ...addMdls: AddDbModels) => Type<MergeAllActionTypes<AddDbModels, keyof _DatabaseModel & string> & _DatabaseModel & ExtractLoaderInfoObject<ReturnType<_LoaderBuilder>>>;
43
43
  export declare const by: <Model, AddDbModels extends Type[], _DocModel = Model extends BaseObject ? Doc<Model> : DocumentModel<Model>>(modelRef: Type<Model>, ...addRefs: AddDbModels) => Type<MergeAllActionTypes<AddDbModels, keyof _DocModel & string> & _DocModel>;
44
44
  export declare const beyond: <DbModel, Doc>(model: Type<DbModel>, doc: Type<Doc>) => {
45
45
  new (): {