@decaf-ts/core 0.7.67 → 0.7.69

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,6 +1,7 @@
1
1
  import { Model } from "@decaf-ts/decorator-validation";
2
2
  import { ContextOf } from "./types";
3
3
  import { Repo } from "../repository/Repository";
4
+ import { ContextualArgs } from "../utils/index";
4
5
  /**
5
6
  * @description Handler function that sets a timestamp property to the current timestamp.
6
7
  * @summary Updates a model property with the current timestamp from the repository context.
@@ -19,6 +20,9 @@ import { Repo } from "../repository/Repository";
19
20
  export declare function uuidCreateUpdateHandler<M extends Model<boolean>, R extends Repo<M>>(this: R, context: ContextOf<R>, data: UUIDMetadata, key: keyof M, model: M): Promise<void>;
20
21
  export type UUIDMetadata = {
21
22
  update: boolean;
23
+ seed?: string | (<M extends Model>(model: M, ...args: ContextualArgs<any>) => string);
22
24
  args?: any[];
23
25
  };
24
- export declare function uuid(update?: boolean, ...args: any[]): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
26
+ export declare function uuid(...args: any[]): (target: any, propertyKey?: any) => void;
27
+ export declare function uuid(update: boolean, ...args: any[]): (target: any, propertyKey?: any) => void;
28
+ export declare function uuid(seed: string | (<M extends Model>(model: M, ...args: ContextualArgs<any>) => string), ...args: any[]): (target: any, propertyKey?: any) => void;
@@ -23,12 +23,21 @@ export async function uuidCreateUpdateHandler(context, data, key, model) {
23
23
  typeof model[key] !== "undefined") {
24
24
  return;
25
25
  }
26
- model[key] = UUID.instance.generate(...(data.args || []));
26
+ // eslint-disable-next-line prefer-const
27
+ let { seed, args } = data;
28
+ if (seed && typeof seed === "function") {
29
+ seed = seed(model, ...(args || []), context);
30
+ }
31
+ model[key] = UUID.instance.generate(seed);
27
32
  }
28
- export function uuid(update = false, ...args) {
33
+ export function uuid(update = false, seed, ...args) {
34
+ if (typeof update === "function") {
35
+ seed = update;
36
+ update = false;
37
+ }
29
38
  const decorationKey = PersistenceKeys.UUID;
30
- function uuid(update, ...args) {
31
- const meta = { update: update, args: args };
39
+ function uuid(update, seed, ...args) {
40
+ const meta = { update: update, seed: seed, args: args };
32
41
  const decorators = [
33
42
  required(),
34
43
  generated(PersistenceKeys.UUID),
@@ -43,7 +52,7 @@ export function uuid(update = false, ...args) {
43
52
  return Decoration.for(decorationKey)
44
53
  .define({
45
54
  decorator: uuid,
46
- args: [update, ...args],
55
+ args: [update, seed, ...args],
47
56
  })
48
57
  .apply();
49
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/persistence/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,uBAAoB;AAC9C,OAAO,EAAS,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAE,IAAI,EAAE,wBAAqB;AAEpC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAK3C,OAAqB,EACrB,IAAkB,EAClB,GAAY,EACZ,KAAQ;IAER,IACE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACtC,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,EACjC,CAAC;QACD,OAAO;IACT,CAAC;IACA,KAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC;AAMD,MAAM,UAAU,IAAI,CAAC,SAAkB,KAAK,EAAE,GAAG,IAAW;IAC1D,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC;IAE3C,SAAS,IAAI,CAAC,MAAe,EAAE,GAAG,IAAW;QAC3C,MAAM,IAAI,GAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC1D,MAAM,UAAU,GAAU;YACxB,QAAQ,EAAE;YACV,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC;YAC/B,QAAQ,CAAC,uBAAuB,EAAE,IAAI,CAAC;SACxC,CAAC;QACF,IAAI,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC;SACjC,MAAM,CAAC;QACN,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;KACxB,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/persistence/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,uBAAoB;AAC9C,OAAO,EAAS,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAE,IAAI,EAAE,wBAAqB;AAGpC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAK3C,OAAqB,EACrB,IAAkB,EAClB,GAAY,EACZ,KAAQ;IAER,IACE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACtC,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,EACjC,CAAC;QACD,OAAO;IACT,CAAC;IAED,wCAAwC;IACxC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IACA,KAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAoBD,MAAM,UAAU,IAAI,CAClB,SAMmB,KAAK,EACxB,IAEyE,EACzE,GAAG,IAAW;IAEd,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,IAAI,GAAG,MAAM,CAAC;QACd,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC;IAE3C,SAAS,IAAI,CACX,MAAe,EACf,IAAyC,EACzC,GAAG,IAAW;QAEd,MAAM,IAAI,GAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACtE,MAAM,UAAU,GAAU;YACxB,QAAQ,EAAE;YACV,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC;YAC/B,QAAQ,CAAC,uBAAuB,EAAE,IAAI,CAAC;SACxC,CAAC;QACF,IAAI,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC;SACjC,MAAM,CAAC;QACN,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;KAC9B,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC"}
@@ -1,14 +1,14 @@
1
1
  export interface Generator<OUT extends string | number = string> {
2
- generate(prev?: OUT): OUT;
2
+ generate(prev?: OUT): OUT | Promise<OUT>;
3
3
  }
4
4
  export declare class UUID implements Generator {
5
5
  private static _instance;
6
- generate(prev?: string): string;
6
+ generate(prev?: string): string | Promise<string>;
7
7
  static get instance(): UUID;
8
8
  }
9
9
  export declare class Serial implements Generator {
10
10
  private static _instance;
11
11
  private count;
12
- generate(prev?: string): string;
12
+ generate(prev?: string): string | Promise<string>;
13
13
  static get instance(): Serial;
14
14
  }
@@ -1,6 +1,7 @@
1
1
  export * from "./Dispatch";
2
2
  export * from "./constants";
3
3
  export * from "./Context";
4
+ export * from "./decorators";
4
5
  export * from "./errors";
5
6
  export * from "./generators";
6
7
  export * from "./event-filters";
@@ -2,6 +2,7 @@
2
2
  export * from "./Dispatch.js";
3
3
  export * from "./constants.js";
4
4
  export * from "./Context.js";
5
+ export * from "./decorators.js";
5
6
  export * from "./errors.js";
6
7
  export * from "./generators.js";
7
8
  export * from "./event-filters.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/persistence/index.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,8BAA2B;AAC3B,+BAA4B;AAC5B,6BAA0B;AAC1B,4BAAyB;AACzB,gCAA6B;AAC7B,mCAAgC;AAChC,qCAAkC;AAClC,8BAA2B;AAC3B,2BAAwB;AACxB,6BAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/persistence/index.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,8BAA2B;AAC3B,+BAA4B;AAC5B,6BAA0B;AAC1B,gCAA6B;AAC7B,4BAAyB;AACzB,gCAA6B;AAC7B,mCAAgC;AAChC,qCAAkC;AAClC,8BAA2B;AAC3B,2BAAwB;AACxB,6BAA0B"}
package/lib/index.cjs CHANGED
@@ -47,7 +47,7 @@ __exportStar(require("./persistence/index.cjs"), exports);
47
47
  * @const VERSION
48
48
  * @memberOf module:core
49
49
  */
50
- exports.VERSION = "0.7.66";
50
+ exports.VERSION = "0.7.68";
51
51
  /**
52
52
  * @description Stores the current package version
53
53
  * @summary A constant representing the version of the core package
package/lib/index.d.ts CHANGED
@@ -20,7 +20,7 @@ export * from "./persistence";
20
20
  * @const VERSION
21
21
  * @memberOf module:core
22
22
  */
23
- export declare const VERSION = "0.7.66";
23
+ export declare const VERSION = "0.7.68";
24
24
  /**
25
25
  * @description Stores the current package version
26
26
  * @summary A constant representing the version of the core package
@@ -1,3 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unRegistration = unRegistration;
4
+ function unRegistration(observable, observer) {
5
+ return () => observable.unObserve(observer);
6
+ }
3
7
  //# sourceMappingURL=Observable.js.map
@@ -1,4 +1,5 @@
1
1
  import { Observer } from "./Observer";
2
+ export declare function unRegistration(observable: Observable, observer: Observer): () => void;
2
3
  /**
3
4
  * @description Interface for objects that can be observed
4
5
  * @summary Defines a contract for objects that implement the Observer pattern, allowing them to register observers,
@@ -1 +1 @@
1
- {"version":3,"file":"Observable.js","sourceRoot":"","sources":["../../src/interfaces/Observable.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Observable.js","sourceRoot":"","sources":["../../src/interfaces/Observable.ts"],"names":[],"mappings":";;AAEA,wCAEC;AAFD,SAAgB,cAAc,CAAC,UAAsB,EAAE,QAAkB;IACvE,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC"}
@@ -129,7 +129,7 @@ class Sequence extends ContextualLoggedClass_1.ContextualLoggedClass {
129
129
  throw e;
130
130
  }
131
131
  };
132
- const incrementSerial = (base) => {
132
+ const incrementSerial = async (base) => {
133
133
  switch (typeName) {
134
134
  case Number.name:
135
135
  return this.parse(base) + toIncrementBy;
@@ -138,14 +138,14 @@ class Sequence extends ContextualLoggedClass_1.ContextualLoggedClass {
138
138
  case String.name:
139
139
  return this.parse(base);
140
140
  case "serial":
141
- return generators_1.Serial.instance.generate(base);
141
+ return await Promise.resolve(generators_1.Serial.instance.generate(base));
142
142
  default:
143
143
  throw new db_decorators_1.InternalError("Should never happen");
144
144
  }
145
145
  };
146
146
  if (typeName === "uuid") {
147
147
  while (true) {
148
- const next = generators_1.UUID.instance.generate(currentValue);
148
+ const next = await Promise.resolve(generators_1.UUID.instance.generate(currentValue));
149
149
  try {
150
150
  const result = await performUpsert(next);
151
151
  log.debug(`Sequence uuid increment ${name} current=${currentValue} next=${next}`);
@@ -158,7 +158,7 @@ class Sequence extends ContextualLoggedClass_1.ContextualLoggedClass {
158
158
  }
159
159
  }
160
160
  }
161
- const next = incrementSerial(currentValue);
161
+ const next = await incrementSerial(currentValue);
162
162
  const seq = await performUpsert(next);
163
163
  log.debug(`Sequence.increment ${name} current=${currentValue} next=${next}`);
164
164
  return seq.current;
@@ -1 +1 @@
1
- {"version":3,"file":"Sequence.js","sourceRoot":"","sources":["../../src/persistence/Sequence.ts"],"names":[],"mappings":";;;AAAA,yEAAuD;AAKvD,yCAA4C;AAE5C,2DAKiC;AACjC,gFAKwC;AACxC,2CAAoC;AACpC,+DAA4D;AAC5D,gEAAuD;AACvD,iDAA4C;AAE5C,iFAA+D;AAG/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAa,QAEX,SAAQ,6CAA0B;aAER,SAAI,GAAG,IAAI,oCAAS,EAAE,CAAC;IAEjD;;;OAGG;IACH,YACqB,OAAwB,EACxB,OAAU,EAC7B,YAAiC,EAAE;QAEnC,KAAK,EAAE,CAAC;QAJW,YAAO,GAAP,OAAO,CAAiB;QACxB,YAAO,GAAP,OAAO,CAAG;QAI7B,IAAI,CAAC,IAAI,GAAG,uBAAU,CAAC,QAAQ,CAAC,6BAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACpE,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CACX,GAAG,IAA6B;QAEhC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,6BAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAkB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAc,EAAE,GAAG,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAA0B,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,6BAAa,EAAE,CAAC;gBAC/B,GAAG,CAAC,KAAK,CACP,4BAA4B,IAAI,yBAAyB,SAAS,EAAE,CACrE,CAAC;gBACF,IAAI,OAAO,SAAS,KAAK,WAAW;oBAClC,MAAM,IAAI,6BAAa,CACrB,2DAA2D,CAC5D,CAAC;gBACJ,IAAI,CAAC;oBACH,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,MAAM,IAAI,6BAAa,CACrB,8CAA8C,SAAS,KAAK,CAAC,EAAE,CAChE,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,IAAI,6BAAa,CACrB,iDAAiD,IAAI,KAAK,CAAC,EAAE,CAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACO,KAAK,CAAC,SAAS,CACvB,KAAyB,EACzB,OAAqB;QAErB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACvE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACjD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,6BAAa,CAAC,2BAA2B,CAAC,CAAC;QAEhE,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YACtC,MAAM,aAAa,GAAG,KAAK,IAAI,WAAW,CAAC;YAC3C,IAAI,aAAa,GAAG,WAAW,KAAK,CAAC;gBACnC,MAAM,IAAI,6BAAa,CACrB,iEAAiE,WAAW,EAAE,CAC/E,CAAC;YACJ,MAAM,QAAQ,GACZ,OAAO,IAAI,KAAK,UAAU,IAAK,IAAY,EAAE,IAAI;gBAC/C,CAAC,CAAE,IAAY,CAAC,IAAI;gBACpB,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAE7C,MAAM,aAAa,GAAG,KAAK,EACzB,IAA8B,EACN,EAAE;gBAC1B,IAAI,CAAC;oBACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAC3B,IAAI,6BAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAC9C,GAAG,CACJ,CAAC;gBACJ,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,YAAY,6BAAa,EAAE,CAAC;wBAC/B,GAAG,CAAC,KAAK,CACP,mBAAmB,IAAI,YAAY,YAAmB,SAAS,IAAW,EAAE,CAC7E,CAAC;wBACF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACrB,IAAI,6BAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAC9C,GAAG,CACJ,CAAC;oBACJ,CAAC;oBACD,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,eAAe,GAAG,CACtB,IAA8B,EACJ,EAAE;gBAC5B,QAAQ,QAAQ,EAAE,CAAC;oBACjB,KAAK,MAAM,CAAC,IAAI;wBACd,OAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,GAAG,aAAa,CAAC;oBACtD,KAAK,MAAM,CAAC,IAAI;wBACd,OAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;oBAC9D,KAAK,MAAM,CAAC,IAAI;wBACd,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC1B,KAAK,QAAQ;wBACX,OAAO,mBAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAc,CAAC,CAAC;oBAClD;wBACE,MAAM,IAAI,6BAAa,CAAC,qBAAqB,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,OAAO,IAAI,EAAE,CAAC;oBACZ,MAAM,IAAI,GAAG,iBAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAsB,CAAC,CAAC;oBAC5D,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;wBACzC,GAAG,CAAC,KAAK,CACP,2BAA2B,IAAI,YAAY,YAAmB,SAAS,IAAW,EAAE,CACrF,CAAC;wBACF,OAAO,MAAM,CAAC,OAAmC,CAAC;oBACpD,CAAC;oBAAC,OAAO,CAAU,EAAE,CAAC;wBACpB,IAAI,CAAC,YAAY,6BAAa;4BAAE,SAAS;wBACzC,MAAM,CAAC,CAAC;oBACV,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;YACtC,GAAG,CAAC,KAAK,CACP,sBAAsB,IAAI,YAAY,YAAmB,SAAS,IAAW,EAAE,CAChF,CAAC;YACF,OAAO,GAAG,CAAC,OAAmC,CAAC;QACjD,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CACR,GAAG,IAA6B;QAEhC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,6BAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CACvE,IAAI,CAAC,IAAI,CACV,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CACT,KAAa,EACb,GAAG,IAA6B;QAEhC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CACnB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,6BAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CACpD,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAElB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;YAChE,MAAM,IAAI,yBAAgB,CAAE,yCAAyC;YACnE,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,+CAA+C,CACzE,CAAC;QAEJ,MAAM,QAAQ,GACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU;YACtC,IAAI,CAAC,OAAO,CAAC,IAAY,EAAE,IAAI;YAC9B,CAAC,CAAE,IAAI,CAAC,OAAO,CAAC,IAAY,CAAC,IAAI;YACjC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAExB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,IAAI,CAAC,OAAO,CAAC,WAAqB,CACzB,CAAC;QACZ,MAAM,IAAI,GAA6B,MAAM,IAAI,CAAC,SAAS,CACxD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,GAAG,WAAW,EAC3C,GAAG,CACJ,CAAC;QACF,IAAI,KAAK,GAAiC,EAAE,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAE,IAAe,GAAG,WAAW,GAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAY,CAAC,CAAC;QACzE,CAAC;QAED,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAExB,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,KAAK,QAAQ;YAC3D,MAAM,IAAI,6BAAa,CAAC,yBAAyB,CAAC,CAAC;QAErD,GAAG,CAAC,KAAK,CAAC,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEnD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,KAAK,CAAC,KAA+B;QAC7C,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAuCkB,MAAM,CAIvB,IAA8D,EAC9D,SAAiB,EACjB,cAAuB,KAAK;QAc5B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAChC,CAAC,6BAAa,EAAE,GAAG,IAAI,CAAQ,EAC/B,SAAS,EACT,WAAkB,CAaf,CAAC;QACN,SAAS,UAAU,CAAC,GAAqC;YACvD,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,8BAA8B;YACnD,OAAO,GAAU,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,CAAC,GAAG,YAAY,OAAO,CAAC;YAAE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;QACtD,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAkB,KAAyB;QAClD,OAAO,4BAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CACf,IAAyB,EACzB,KAA+B;QAE/B,MAAM,QAAQ,GACZ,OAAO,IAAI,KAAK,UAAU,IAAK,IAAY,EAAE,IAAI;YAC/C,CAAC,CAAE,IAAY,CAAC,IAAI;YACpB,CAAC,CAAC,IAAI,CAAC;QACX,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ;oBAC9B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACjB,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;wBACzB,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,KAAK,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC3C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,KAAK,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC3C,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1B,KAAK,SAAS,CAAC;YACf,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ;gBACX,OAAO,KAAK,CAAC;YACf;gBACE,MAAM,IAAI,yBAAgB,CACxB,8BAA8B,IAAI,gBAAgB,IAAI,EAAE,CACzD,CAAC;QACN,CAAC;IACH,CAAC;;AA3VH,4BA4VC;AAED,iBAAO,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"Sequence.js","sourceRoot":"","sources":["../../src/persistence/Sequence.ts"],"names":[],"mappings":"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"}
@@ -27,12 +27,21 @@ async function uuidCreateUpdateHandler(context, data, key, model) {
27
27
  typeof model[key] !== "undefined") {
28
28
  return;
29
29
  }
30
- model[key] = generators_1.UUID.instance.generate(...(data.args || []));
30
+ // eslint-disable-next-line prefer-const
31
+ let { seed, args } = data;
32
+ if (seed && typeof seed === "function") {
33
+ seed = seed(model, ...(args || []), context);
34
+ }
35
+ model[key] = generators_1.UUID.instance.generate(seed);
31
36
  }
32
- function uuid(update = false, ...args) {
37
+ function uuid(update = false, seed, ...args) {
38
+ if (typeof update === "function") {
39
+ seed = update;
40
+ update = false;
41
+ }
33
42
  const decorationKey = constants_1.PersistenceKeys.UUID;
34
- function uuid(update, ...args) {
35
- const meta = { update: update, args: args };
43
+ function uuid(update, seed, ...args) {
44
+ const meta = { update: update, seed: seed, args: args };
36
45
  const decorators = [
37
46
  (0, decorator_validation_1.required)(),
38
47
  (0, db_decorators_1.generated)(constants_1.PersistenceKeys.UUID),
@@ -47,7 +56,7 @@ function uuid(update = false, ...args) {
47
56
  return decoration_1.Decoration.for(decorationKey)
48
57
  .define({
49
58
  decorator: uuid,
50
- args: [update, ...args],
59
+ args: [update, seed, ...args],
51
60
  })
52
61
  .apply();
53
62
  }
@@ -1,6 +1,7 @@
1
1
  import { Model } from "@decaf-ts/decorator-validation";
2
2
  import { ContextOf } from "./types";
3
3
  import { Repo } from "../repository/Repository";
4
+ import { ContextualArgs } from "../utils/index";
4
5
  /**
5
6
  * @description Handler function that sets a timestamp property to the current timestamp.
6
7
  * @summary Updates a model property with the current timestamp from the repository context.
@@ -19,6 +20,9 @@ import { Repo } from "../repository/Repository";
19
20
  export declare function uuidCreateUpdateHandler<M extends Model<boolean>, R extends Repo<M>>(this: R, context: ContextOf<R>, data: UUIDMetadata, key: keyof M, model: M): Promise<void>;
20
21
  export type UUIDMetadata = {
21
22
  update: boolean;
23
+ seed?: string | (<M extends Model>(model: M, ...args: ContextualArgs<any>) => string);
22
24
  args?: any[];
23
25
  };
24
- export declare function uuid(update?: boolean, ...args: any[]): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
26
+ export declare function uuid(...args: any[]): (target: any, propertyKey?: any) => void;
27
+ export declare function uuid(update: boolean, ...args: any[]): (target: any, propertyKey?: any) => void;
28
+ export declare function uuid(seed: string | (<M extends Model>(model: M, ...args: ContextualArgs<any>) => string), ...args: any[]): (target: any, propertyKey?: any) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/persistence/decorators.ts"],"names":[],"mappings":";;AA4BA,0DAiBC;AAMD,oBAqBC;AAxED,+CAA8C;AAC9C,yEAAiE;AACjE,2DAKiC;AACjC,qDAAyD;AAGzD,iDAAoC;AAEpC;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,uBAAuB,CAK3C,OAAqB,EACrB,IAAkB,EAClB,GAAY,EACZ,KAAQ;IAER,IACE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACtC,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,EACjC,CAAC;QACD,OAAO;IACT,CAAC;IACA,KAAa,CAAC,GAAG,CAAC,GAAG,iBAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC;AAMD,SAAgB,IAAI,CAAC,SAAkB,KAAK,EAAE,GAAG,IAAW;IAC1D,MAAM,aAAa,GAAG,2BAAe,CAAC,IAAI,CAAC;IAE3C,SAAS,IAAI,CAAC,MAAe,EAAE,GAAG,IAAW;QAC3C,MAAM,IAAI,GAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC1D,MAAM,UAAU,GAAU;YACxB,IAAA,+BAAQ,GAAE;YACV,IAAA,yBAAS,EAAC,2BAAe,CAAC,IAAI,CAAC;YAC/B,IAAA,wBAAQ,EAAC,uBAAuB,EAAE,IAAI,CAAC;SACxC,CAAC;QACF,IAAI,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,IAAA,wBAAQ,EAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,IAAA,wBAAQ,GAAE,CAAC,CAAC;QACzC,OAAO,IAAA,kBAAK,EAAC,GAAG,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,uBAAU,CAAC,GAAG,CAAC,aAAa,CAAC;SACjC,MAAM,CAAC;QACN,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;KACxB,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/persistence/decorators.ts"],"names":[],"mappings":";;AA6BA,0DAuBC;AAoBD,oBA0CC;AAlHD,+CAA8C;AAC9C,yEAAiE;AACjE,2DAKiC;AACjC,qDAAyD;AAGzD,iDAAoC;AAGpC;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,uBAAuB,CAK3C,OAAqB,EACrB,IAAkB,EAClB,GAAY,EACZ,KAAQ;IAER,IACE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACtC,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,EACjC,CAAC;QACD,OAAO;IACT,CAAC;IAED,wCAAwC;IACxC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IACA,KAAa,CAAC,GAAG,CAAC,GAAG,iBAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAoBD,SAAgB,IAAI,CAClB,SAMmB,KAAK,EACxB,IAEyE,EACzE,GAAG,IAAW;IAEd,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,IAAI,GAAG,MAAM,CAAC;QACd,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,aAAa,GAAG,2BAAe,CAAC,IAAI,CAAC;IAE3C,SAAS,IAAI,CACX,MAAe,EACf,IAAyC,EACzC,GAAG,IAAW;QAEd,MAAM,IAAI,GAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACtE,MAAM,UAAU,GAAU;YACxB,IAAA,+BAAQ,GAAE;YACV,IAAA,yBAAS,EAAC,2BAAe,CAAC,IAAI,CAAC;YAC/B,IAAA,wBAAQ,EAAC,uBAAuB,EAAE,IAAI,CAAC;SACxC,CAAC;QACF,IAAI,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,IAAA,wBAAQ,EAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,IAAA,wBAAQ,GAAE,CAAC,CAAC;QACzC,OAAO,IAAA,kBAAK,EAAC,GAAG,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,uBAAU,CAAC,GAAG,CAAC,aAAa,CAAC;SACjC,MAAM,CAAC;QACN,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;KAC9B,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC"}
@@ -1,14 +1,14 @@
1
1
  export interface Generator<OUT extends string | number = string> {
2
- generate(prev?: OUT): OUT;
2
+ generate(prev?: OUT): OUT | Promise<OUT>;
3
3
  }
4
4
  export declare class UUID implements Generator {
5
5
  private static _instance;
6
- generate(prev?: string): string;
6
+ generate(prev?: string): string | Promise<string>;
7
7
  static get instance(): UUID;
8
8
  }
9
9
  export declare class Serial implements Generator {
10
10
  private static _instance;
11
11
  private count;
12
- generate(prev?: string): string;
12
+ generate(prev?: string): string | Promise<string>;
13
13
  static get instance(): Serial;
14
14
  }
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  __exportStar(require("./Dispatch.cjs"), exports);
19
19
  __exportStar(require("./constants.cjs"), exports);
20
20
  __exportStar(require("./Context.cjs"), exports);
21
+ __exportStar(require("./decorators.cjs"), exports);
21
22
  __exportStar(require("./errors.cjs"), exports);
22
23
  __exportStar(require("./generators.cjs"), exports);
23
24
  __exportStar(require("./event-filters.cjs"), exports);
@@ -1,6 +1,7 @@
1
1
  export * from "./Dispatch";
2
2
  export * from "./constants";
3
3
  export * from "./Context";
4
+ export * from "./decorators";
4
5
  export * from "./errors";
5
6
  export * from "./generators";
6
7
  export * from "./event-filters";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2BAA2B;AAC3B,iDAA2B;AAC3B,kDAA4B;AAC5B,gDAA0B;AAC1B,+CAAyB;AACzB,mDAA6B;AAC7B,sDAAgC;AAChC,wDAAkC;AAClC,iDAA2B;AAC3B,8CAAwB;AACxB,gDAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2BAA2B;AAC3B,iDAA2B;AAC3B,kDAA4B;AAC5B,gDAA0B;AAC1B,mDAA6B;AAC7B,+CAAyB;AACzB,mDAA6B;AAC7B,sDAAgC;AAChC,wDAAkC;AAClC,iDAA2B;AAC3B,8CAAwB;AACxB,gDAA0B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/core",
3
- "version": "0.7.67",
3
+ "version": "0.7.69",
4
4
  "description": "Core persistence module for the decaf framework",
5
5
  "type": "module",
6
6
  "exports": {