@decaf-ts/core 0.7.67 → 0.7.68

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
  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.67";
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.67";
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"}
@@ -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"}
@@ -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.68",
4
4
  "description": "Core persistence module for the decaf framework",
5
5
  "type": "module",
6
6
  "exports": {