@decaf-ts/core 0.5.20 → 0.5.21
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/LICENSE.md +13 -16
- package/README.md +1 -1
- package/dist/core.cjs +12 -10
- package/dist/core.esm.cjs +12 -10
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/repository/decorators.d.ts +1 -1
- package/lib/esm/repository/decorators.js +11 -9
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/repository/decorators.cjs +11 -9
- package/lib/repository/decorators.d.ts +1 -1
- package/package.json +3 -2
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
@@ -23,5 +23,5 @@ export * from "./persistence/index.js";
|
|
23
23
|
* @const VERSION
|
24
24
|
* @memberOf module:core
|
25
25
|
*/
|
26
|
-
export const VERSION = "0.5.
|
26
|
+
export const VERSION = "0.5.21";
|
27
27
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDhCQUFxQjtBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUQsa0ZBQWtGO0FBQ2xGLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7QUFFbkQsb0NBQTJCO0FBQzNCLHNDQUE2QjtBQUM3QixpQ0FBd0I7QUFDeEIsaUNBQXdCO0FBQ3hCLHNDQUE2QjtBQUM3QixpQ0FBd0I7QUFDeEIseUJBQXlCO0FBQ3pCLHVDQUE4QjtBQUU5Qjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgY29yZVxuICogQGRlc2NyaXB0aW9uIENvcmUgbW9kdWxlIGZvciB0aGUgRGVjYWYgVHlwZVNjcmlwdCBmcmFtZXdvcmtcbiAqIEBzdW1tYXJ5IFRoaXMgbW9kdWxlIHByb3ZpZGVzIHRoZSBmb3VuZGF0aW9uYWwgY29tcG9uZW50cyBvZiB0aGUgRGVjYWYgZnJhbWV3b3JrLCBpbmNsdWRpbmcgaWRlbnRpdHkgbWFuYWdlbWVudCwgXG4gKiBtb2RlbCBkZWZpbml0aW9ucywgcmVwb3NpdG9yeSBwYXR0ZXJucywgcGVyc2lzdGVuY2UgbGF5ZXIsIHF1ZXJ5IGJ1aWxkaW5nLCBhbmQgdXRpbGl0eSBmdW5jdGlvbnMuXG4gKiBJdCBleHBvcnRzIGZ1bmN0aW9uYWxpdHkgZnJvbSB2YXJpb3VzIHN1Ym1vZHVsZXMgYW5kIHNldHMgdXAgdGhlIGluamVjdGFibGUgcmVnaXN0cnkgZm9yIHJlcG9zaXRvcnkgZGVjb3JhdG9ycy5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlc1JlZ2lzdHJ5IH0gZnJvbSBcIi4vcmVwb3NpdG9yeVwiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2luamVjdGFibGUtZGVjb3JhdG9yc1wiO1xuXG4vLyBvdmVycmlkZXMgdGhlIHByZXZpb3VzIEluamVjdGFibGVzIHJlZ2lzdHJ5IHRvIGVuYWJsZSB0aGUgQHJlcG9zaXRvcnkgZGVjb3JhdG9yXG5JbmplY3RhYmxlcy5zZXRSZWdpc3RyeShuZXcgSW5qZWN0YWJsZXNSZWdpc3RyeSgpKTtcblxuZXhwb3J0ICogZnJvbSBcIi4vaWRlbnRpdHlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ludGVyZmFjZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9xdWVyeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVwb3NpdG9yeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcbi8vbGVmdCB0byBsYXN0IG9uIHB1cnBvc2VcbmV4cG9ydCAqIGZyb20gXCIuL3BlcnNpc3RlbmNlXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFN0b3JlcyB0aGUgY3VycmVudCBwYWNrYWdlIHZlcnNpb25cbiAqIEBzdW1tYXJ5IEEgY29uc3RhbnQgcmVwcmVzZW50aW5nIHRoZSB2ZXJzaW9uIG9mIHRoZSBjb3JlIHBhY2thZ2VcbiAqIEBjb25zdCBWRVJTSU9OXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmNvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBcIiMjVkVSU0lPTiMjXCI7XG4iXX0=
|
@@ -4,7 +4,7 @@ import { Constructor, Model } from "@decaf-ts/decorator-validation";
|
|
4
4
|
* @summary Creates and registers a repository for a model class. Can be used as both a property decorator and a class decorator.
|
5
5
|
* @template T - The model type that extends Model.
|
6
6
|
* @param {Constructor<T>} model - The constructor of the model class.
|
7
|
-
* @param {string} [
|
7
|
+
* @param {string} [flavour] - the required adapter's flavour/alias. If not provided, it will be retrieved from the model metadata..
|
8
8
|
* @return {any} - The decorator function.
|
9
9
|
* @function repository
|
10
10
|
* @mermaid
|
@@ -9,7 +9,7 @@ import { Adapter, PersistenceKeys } from "./../persistence/index.js";
|
|
9
9
|
* @summary Creates and registers a repository for a model class. Can be used as both a property decorator and a class decorator.
|
10
10
|
* @template T - The model type that extends Model.
|
11
11
|
* @param {Constructor<T>} model - The constructor of the model class.
|
12
|
-
* @param {string} [
|
12
|
+
* @param {string} [flavour] - the required adapter's flavour/alias. If not provided, it will be retrieved from the model metadata..
|
13
13
|
* @return {any} - The decorator function.
|
14
14
|
* @function repository
|
15
15
|
* @mermaid
|
@@ -41,14 +41,16 @@ export function repository(model, flavour) {
|
|
41
41
|
flavour ||
|
42
42
|
Reflect.getMetadata(Adapter.key(PersistenceKeys.ADAPTER), original);
|
43
43
|
Repository.register(model[ModelKeys.ANCHOR] || model, original, flavour);
|
44
|
-
return injectable(model[ModelKeys.ANCHOR] || model,
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
44
|
+
return injectable(model[ModelKeys.ANCHOR] || model, {
|
45
|
+
callback: (instance) => {
|
46
|
+
Object.defineProperty(instance, DBKeys.CLASS, {
|
47
|
+
enumerable: false,
|
48
|
+
configurable: false,
|
49
|
+
writable: false,
|
50
|
+
value: model,
|
51
|
+
});
|
52
|
+
},
|
51
53
|
})(original);
|
52
54
|
});
|
53
55
|
}
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXBvc2l0b3J5L2RlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFlLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBc0IsU0FBUyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSx3QkFBcUI7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsa0NBQXVCO0FBRTFEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQ3hCLEtBQXFCLEVBQ3JCLE9BQWdCO0lBRWhCLE9BQU8sQ0FBQyxDQUFDLFFBQWEsRUFBRSxXQUFpQixFQUFFLEVBQUU7UUFDM0MsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQTRCLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FDbkUsUUFBUSxFQUNSLFdBQVcsQ0FDWixDQUFDO1FBQ0osQ0FBQztRQUVELFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEUsT0FBTztZQUNMLE9BQU87Z0JBQ1AsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN0RSxVQUFVLENBQUMsUUFBUSxDQUNqQixLQUFLLENBQUMsU0FBUyxDQUFDLE1BQTRCLENBQUMsSUFBSSxLQUFLLEVBQ3RELFFBQVEsRUFDUixPQUFPLENBQ1IsQ0FBQztRQUNGLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBNEIsQ0FBQyxJQUFJLEtBQUssRUFBRTtZQUN4RSxRQUFRLEVBQUUsQ0FBQyxRQUF3QixFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUU7b0JBQzVDLFVBQVUsRUFBRSxLQUFLO29CQUNqQixZQUFZLEVBQUUsS0FBSztvQkFDbkIsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsS0FBSyxFQUFFLEtBQUs7aUJBQ2IsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUNGLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNmLENBQUMsQ0FBUSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgaW5qZWN0YWJsZSB9IGZyb20gXCJAZGVjYWYtdHMvaW5qZWN0YWJsZS1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBEQktleXMsIElSZXBvc2l0b3J5IH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBtZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvcmVmbGVjdGlvblwiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IsIE1vZGVsLCBNb2RlbEtleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBSZXBvc2l0b3J5IH0gZnJvbSBcIi4vUmVwb3NpdG9yeVwiO1xuaW1wb3J0IHsgQWRhcHRlciwgUGVyc2lzdGVuY2VLZXlzIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFJlcG9zaXRvcnkgZGVjb3JhdG9yIGZvciBtb2RlbCBjbGFzc2VzLlxuICogQHN1bW1hcnkgQ3JlYXRlcyBhbmQgcmVnaXN0ZXJzIGEgcmVwb3NpdG9yeSBmb3IgYSBtb2RlbCBjbGFzcy4gQ2FuIGJlIHVzZWQgYXMgYm90aCBhIHByb3BlcnR5IGRlY29yYXRvciBhbmQgYSBjbGFzcyBkZWNvcmF0b3IuXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSBtb2RlbCB0eXBlIHRoYXQgZXh0ZW5kcyBNb2RlbC5cbiAqIEBwYXJhbSB7Q29uc3RydWN0b3I8VD59IG1vZGVsIC0gVGhlIGNvbnN0cnVjdG9yIG9mIHRoZSBtb2RlbCBjbGFzcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbZmxhdm91cl0gLSB0aGUgcmVxdWlyZWQgYWRhcHRlcidzIGZsYXZvdXIvYWxpYXMuIElmIG5vdCBwcm92aWRlZCwgaXQgd2lsbCBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgbW9kZWwgbWV0YWRhdGEuLlxuICogQHJldHVybiB7YW55fSAtIFRoZSBkZWNvcmF0b3IgZnVuY3Rpb24uXG4gKiBAZnVuY3Rpb24gcmVwb3NpdG9yeVxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBDIGFzIENsaWVudCBDb2RlXG4gKiAgIHBhcnRpY2lwYW50IEQgYXMgRGVjb3JhdG9yXG4gKiAgIHBhcnRpY2lwYW50IFIgYXMgUmVwb3NpdG9yeVxuICogICBwYXJ0aWNpcGFudCBNIGFzIE1ldGFkYXRhXG4gKlxuICogICBDLT4+RDogQXBwbHkgQHJlcG9zaXRvcnkoTW9kZWwpXG4gKiAgIGFsdCBQcm9wZXJ0eSBEZWNvcmF0b3JcbiAqICAgICBELT4+RDogQ2hlY2sgaWYgcHJvcGVydHlLZXkgZXhpc3RzXG4gKiAgICAgRC0+PitDOiBSZXR1cm4gaW5qZWN0KG5hbWUpIGRlY29yYXRvclxuICogICBlbHNlIENsYXNzIERlY29yYXRvclxuICogICAgIEQtPj5NOiBTZXQgcmVwb3NpdG9yeSBtZXRhZGF0YSBvbiBtb2RlbFxuICogICAgIEQtPj5SOiBSZWdpc3RlciBtb2RlbCB3aXRoIFJlcG9zaXRvcnlcbiAqICAgICBELT4+K0M6IFJldHVybiBpbmplY3RhYmxlIGRlY29yYXRvciB3aXRoIGNvbmZpZ1xuICogICAgIEMtPj5DOiBEZWZpbmUgREJLZXlzLkNMQVNTIHByb3BlcnR5XG4gKiAgIGVuZFxuICogQGNhdGVnb3J5IERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcG9zaXRvcnk8VCBleHRlbmRzIE1vZGVsPihcbiAgbW9kZWw6IENvbnN0cnVjdG9yPFQ+LFxuICBmbGF2b3VyPzogc3RyaW5nXG4pOiBhbnkge1xuICByZXR1cm4gKChvcmlnaW5hbDogYW55LCBwcm9wZXJ0eUtleT86IGFueSkgPT4ge1xuICAgIGlmIChwcm9wZXJ0eUtleSkge1xuICAgICAgcmV0dXJuIGluamVjdChtb2RlbFtNb2RlbEtleXMuQU5DSE9SIGFzIGtleW9mIHR5cGVvZiBtb2RlbF0gfHwgbW9kZWwpKFxuICAgICAgICBvcmlnaW5hbCxcbiAgICAgICAgcHJvcGVydHlLZXlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbWV0YWRhdGEoUmVwb3NpdG9yeS5rZXkoREJLZXlzLlJFUE9TSVRPUlkpLCBvcmlnaW5hbC5uYW1lKShtb2RlbCk7XG4gICAgZmxhdm91ciA9XG4gICAgICBmbGF2b3VyIHx8XG4gICAgICBSZWZsZWN0LmdldE1ldGFkYXRhKEFkYXB0ZXIua2V5KFBlcnNpc3RlbmNlS2V5cy5BREFQVEVSKSwgb3JpZ2luYWwpO1xuICAgIFJlcG9zaXRvcnkucmVnaXN0ZXIoXG4gICAgICBtb2RlbFtNb2RlbEtleXMuQU5DSE9SIGFzIGtleW9mIHR5cGVvZiBtb2RlbF0gfHwgbW9kZWwsXG4gICAgICBvcmlnaW5hbCxcbiAgICAgIGZsYXZvdXJcbiAgICApO1xuICAgIHJldHVybiBpbmplY3RhYmxlKG1vZGVsW01vZGVsS2V5cy5BTkNIT1IgYXMga2V5b2YgdHlwZW9mIG1vZGVsXSB8fCBtb2RlbCwge1xuICAgICAgY2FsbGJhY2s6IChpbnN0YW5jZTogSVJlcG9zaXRvcnk8VD4pID0+IHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGluc3RhbmNlLCBEQktleXMuQ0xBU1MsIHtcbiAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgICB2YWx1ZTogbW9kZWwsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KShvcmlnaW5hbCk7XG4gIH0pIGFzIGFueTtcbn1cbiJdfQ==
|
package/lib/index.cjs
CHANGED
@@ -40,5 +40,5 @@ __exportStar(require("./persistence/index.cjs"), exports);
|
|
40
40
|
* @const VERSION
|
41
41
|
* @memberOf module:core
|
42
42
|
*/
|
43
|
-
exports.VERSION = "0.5.
|
43
|
+
exports.VERSION = "0.5.21";
|
44
44
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCx1REFBbUQ7QUFDbkQsMkVBQThEO0FBRTlELGtGQUFrRjtBQUNsRixtQ0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLGdDQUFtQixFQUFFLENBQUMsQ0FBQztBQUVuRCx1REFBMkI7QUFDM0IseURBQTZCO0FBQzdCLG9EQUF3QjtBQUN4QixvREFBd0I7QUFDeEIseURBQTZCO0FBQzdCLG9EQUF3QjtBQUN4Qix5QkFBeUI7QUFDekIsMERBQThCO0FBRTlCOzs7OztHQUtHO0FBQ1UsUUFBQSxPQUFPLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGNvcmVcbiAqIEBkZXNjcmlwdGlvbiBDb3JlIG1vZHVsZSBmb3IgdGhlIERlY2FmIFR5cGVTY3JpcHQgZnJhbWV3b3JrXG4gKiBAc3VtbWFyeSBUaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgZm91bmRhdGlvbmFsIGNvbXBvbmVudHMgb2YgdGhlIERlY2FmIGZyYW1ld29yaywgaW5jbHVkaW5nIGlkZW50aXR5IG1hbmFnZW1lbnQsIFxuICogbW9kZWwgZGVmaW5pdGlvbnMsIHJlcG9zaXRvcnkgcGF0dGVybnMsIHBlcnNpc3RlbmNlIGxheWVyLCBxdWVyeSBidWlsZGluZywgYW5kIHV0aWxpdHkgZnVuY3Rpb25zLlxuICogSXQgZXhwb3J0cyBmdW5jdGlvbmFsaXR5IGZyb20gdmFyaW91cyBzdWJtb2R1bGVzIGFuZCBzZXRzIHVwIHRoZSBpbmplY3RhYmxlIHJlZ2lzdHJ5IGZvciByZXBvc2l0b3J5IGRlY29yYXRvcnMuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZXNSZWdpc3RyeSB9IGZyb20gXCIuL3JlcG9zaXRvcnlcIjtcbmltcG9ydCB7IEluamVjdGFibGVzIH0gZnJvbSBcIkBkZWNhZi10cy9pbmplY3RhYmxlLWRlY29yYXRvcnNcIjtcblxuLy8gb3ZlcnJpZGVzIHRoZSBwcmV2aW91cyBJbmplY3RhYmxlcyByZWdpc3RyeSB0byBlbmFibGUgdGhlIEByZXBvc2l0b3J5IGRlY29yYXRvclxuSW5qZWN0YWJsZXMuc2V0UmVnaXN0cnkobmV3IEluamVjdGFibGVzUmVnaXN0cnkoKSk7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2lkZW50aXR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbnRlcmZhY2VzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcXVlcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlcG9zaXRvcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzXCI7XG4vL2xlZnQgdG8gbGFzdCBvbiBwdXJwb3NlXG5leHBvcnQgKiBmcm9tIFwiLi9wZXJzaXN0ZW5jZVwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBTdG9yZXMgdGhlIGN1cnJlbnQgcGFja2FnZSB2ZXJzaW9uXG4gKiBAc3VtbWFyeSBBIGNvbnN0YW50IHJlcHJlc2VudGluZyB0aGUgdmVyc2lvbiBvZiB0aGUgY29yZSBwYWNrYWdlXG4gKiBAY29uc3QgVkVSU0lPTlxuICogQG1lbWJlck9mIG1vZHVsZTpjb3JlXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gXCIjI1ZFUlNJT04jI1wiO1xuIl19
|
package/lib/index.d.ts
CHANGED
@@ -12,7 +12,7 @@ const persistence_1 = require("./../persistence/index.cjs");
|
|
12
12
|
* @summary Creates and registers a repository for a model class. Can be used as both a property decorator and a class decorator.
|
13
13
|
* @template T - The model type that extends Model.
|
14
14
|
* @param {Constructor<T>} model - The constructor of the model class.
|
15
|
-
* @param {string} [
|
15
|
+
* @param {string} [flavour] - the required adapter's flavour/alias. If not provided, it will be retrieved from the model metadata..
|
16
16
|
* @return {any} - The decorator function.
|
17
17
|
* @function repository
|
18
18
|
* @mermaid
|
@@ -44,14 +44,16 @@ function repository(model, flavour) {
|
|
44
44
|
flavour ||
|
45
45
|
Reflect.getMetadata(persistence_1.Adapter.key(persistence_1.PersistenceKeys.ADAPTER), original);
|
46
46
|
Repository_1.Repository.register(model[decorator_validation_1.ModelKeys.ANCHOR] || model, original, flavour);
|
47
|
-
return (0, injectable_decorators_1.injectable)(model[decorator_validation_1.ModelKeys.ANCHOR] || model,
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
47
|
+
return (0, injectable_decorators_1.injectable)(model[decorator_validation_1.ModelKeys.ANCHOR] || model, {
|
48
|
+
callback: (instance) => {
|
49
|
+
Object.defineProperty(instance, db_decorators_1.DBKeys.CLASS, {
|
50
|
+
enumerable: false,
|
51
|
+
configurable: false,
|
52
|
+
writable: false,
|
53
|
+
value: model,
|
54
|
+
});
|
55
|
+
},
|
54
56
|
})(original);
|
55
57
|
});
|
56
58
|
}
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXBvc2l0b3J5L2RlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFrQ0EsZ0NBZ0NDO0FBbEVELDJFQUFxRTtBQUNyRSwyREFBOEQ7QUFDOUQscURBQWdEO0FBQ2hELHlFQUErRTtBQUMvRSxpREFBMEM7QUFDMUMsNERBQTBEO0FBRTFEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQUNILFNBQWdCLFVBQVUsQ0FDeEIsS0FBcUIsRUFDckIsT0FBZ0I7SUFFaEIsT0FBTyxDQUFDLENBQUMsUUFBYSxFQUFFLFdBQWlCLEVBQUUsRUFBRTtRQUMzQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sSUFBQSw4QkFBTSxFQUFDLEtBQUssQ0FBQyxnQ0FBUyxDQUFDLE1BQTRCLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FDbkUsUUFBUSxFQUNSLFdBQVcsQ0FDWixDQUFDO1FBQ0osQ0FBQztRQUVELElBQUEscUJBQVEsRUFBQyx1QkFBVSxDQUFDLEdBQUcsQ0FBQyxzQkFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRSxPQUFPO1lBQ0wsT0FBTztnQkFDUCxPQUFPLENBQUMsV0FBVyxDQUFDLHFCQUFPLENBQUMsR0FBRyxDQUFDLDZCQUFlLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEUsdUJBQVUsQ0FBQyxRQUFRLENBQ2pCLEtBQUssQ0FBQyxnQ0FBUyxDQUFDLE1BQTRCLENBQUMsSUFBSSxLQUFLLEVBQ3RELFFBQVEsRUFDUixPQUFPLENBQ1IsQ0FBQztRQUNGLE9BQU8sSUFBQSxrQ0FBVSxFQUFDLEtBQUssQ0FBQyxnQ0FBUyxDQUFDLE1BQTRCLENBQUMsSUFBSSxLQUFLLEVBQUU7WUFDeEUsUUFBUSxFQUFFLENBQUMsUUFBd0IsRUFBRSxFQUFFO2dCQUNyQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxzQkFBTSxDQUFDLEtBQUssRUFBRTtvQkFDNUMsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLFlBQVksRUFBRSxLQUFLO29CQUNuQixRQUFRLEVBQUUsS0FBSztvQkFDZixLQUFLLEVBQUUsS0FBSztpQkFDYixDQUFDLENBQUM7WUFDTCxDQUFDO1NBQ0YsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2YsQ0FBQyxDQUFRLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBpbmplY3RhYmxlIH0gZnJvbSBcIkBkZWNhZi10cy9pbmplY3RhYmxlLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IERCS2V5cywgSVJlcG9zaXRvcnkgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IG1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciwgTW9kZWwsIE1vZGVsS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiLi9SZXBvc2l0b3J5XCI7XG5pbXBvcnQgeyBBZGFwdGVyLCBQZXJzaXN0ZW5jZUtleXMgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2VcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmVwb3NpdG9yeSBkZWNvcmF0b3IgZm9yIG1vZGVsIGNsYXNzZXMuXG4gKiBAc3VtbWFyeSBDcmVhdGVzIGFuZCByZWdpc3RlcnMgYSByZXBvc2l0b3J5IGZvciBhIG1vZGVsIGNsYXNzLiBDYW4gYmUgdXNlZCBhcyBib3RoIGEgcHJvcGVydHkgZGVjb3JhdG9yIGFuZCBhIGNsYXNzIGRlY29yYXRvci5cbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIG1vZGVsIHR5cGUgdGhhdCBleHRlbmRzIE1vZGVsLlxuICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxUPn0gbW9kZWwgLSBUaGUgY29uc3RydWN0b3Igb2YgdGhlIG1vZGVsIGNsYXNzLlxuICogQHBhcmFtIHtzdHJpbmd9IFtmbGF2b3VyXSAtIHRoZSByZXF1aXJlZCBhZGFwdGVyJ3MgZmxhdm91ci9hbGlhcy4gSWYgbm90IHByb3ZpZGVkLCBpdCB3aWxsIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBtb2RlbCBtZXRhZGF0YS4uXG4gKiBAcmV0dXJuIHthbnl9IC0gVGhlIGRlY29yYXRvciBmdW5jdGlvbi5cbiAqIEBmdW5jdGlvbiByZXBvc2l0b3J5XG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IEMgYXMgQ2xpZW50IENvZGVcbiAqICAgcGFydGljaXBhbnQgRCBhcyBEZWNvcmF0b3JcbiAqICAgcGFydGljaXBhbnQgUiBhcyBSZXBvc2l0b3J5XG4gKiAgIHBhcnRpY2lwYW50IE0gYXMgTWV0YWRhdGFcbiAqXG4gKiAgIEMtPj5EOiBBcHBseSBAcmVwb3NpdG9yeShNb2RlbClcbiAqICAgYWx0IFByb3BlcnR5IERlY29yYXRvclxuICogICAgIEQtPj5EOiBDaGVjayBpZiBwcm9wZXJ0eUtleSBleGlzdHNcbiAqICAgICBELT4+K0M6IFJldHVybiBpbmplY3QobmFtZSkgZGVjb3JhdG9yXG4gKiAgIGVsc2UgQ2xhc3MgRGVjb3JhdG9yXG4gKiAgICAgRC0+Pk06IFNldCByZXBvc2l0b3J5IG1ldGFkYXRhIG9uIG1vZGVsXG4gKiAgICAgRC0+PlI6IFJlZ2lzdGVyIG1vZGVsIHdpdGggUmVwb3NpdG9yeVxuICogICAgIEQtPj4rQzogUmV0dXJuIGluamVjdGFibGUgZGVjb3JhdG9yIHdpdGggY29uZmlnXG4gKiAgICAgQy0+PkM6IERlZmluZSBEQktleXMuQ0xBU1MgcHJvcGVydHlcbiAqICAgZW5kXG4gKiBAY2F0ZWdvcnkgRGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcmVwb3NpdG9yeTxUIGV4dGVuZHMgTW9kZWw+KFxuICBtb2RlbDogQ29uc3RydWN0b3I8VD4sXG4gIGZsYXZvdXI/OiBzdHJpbmdcbik6IGFueSB7XG4gIHJldHVybiAoKG9yaWdpbmFsOiBhbnksIHByb3BlcnR5S2V5PzogYW55KSA9PiB7XG4gICAgaWYgKHByb3BlcnR5S2V5KSB7XG4gICAgICByZXR1cm4gaW5qZWN0KG1vZGVsW01vZGVsS2V5cy5BTkNIT1IgYXMga2V5b2YgdHlwZW9mIG1vZGVsXSB8fCBtb2RlbCkoXG4gICAgICAgIG9yaWdpbmFsLFxuICAgICAgICBwcm9wZXJ0eUtleVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBtZXRhZGF0YShSZXBvc2l0b3J5LmtleShEQktleXMuUkVQT1NJVE9SWSksIG9yaWdpbmFsLm5hbWUpKG1vZGVsKTtcbiAgICBmbGF2b3VyID1cbiAgICAgIGZsYXZvdXIgfHxcbiAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoQWRhcHRlci5rZXkoUGVyc2lzdGVuY2VLZXlzLkFEQVBURVIpLCBvcmlnaW5hbCk7XG4gICAgUmVwb3NpdG9yeS5yZWdpc3RlcihcbiAgICAgIG1vZGVsW01vZGVsS2V5cy5BTkNIT1IgYXMga2V5b2YgdHlwZW9mIG1vZGVsXSB8fCBtb2RlbCxcbiAgICAgIG9yaWdpbmFsLFxuICAgICAgZmxhdm91clxuICAgICk7XG4gICAgcmV0dXJuIGluamVjdGFibGUobW9kZWxbTW9kZWxLZXlzLkFOQ0hPUiBhcyBrZXlvZiB0eXBlb2YgbW9kZWxdIHx8IG1vZGVsLCB7XG4gICAgICBjYWxsYmFjazogKGluc3RhbmNlOiBJUmVwb3NpdG9yeTxUPikgPT4ge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5zdGFuY2UsIERCS2V5cy5DTEFTUywge1xuICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICAgIHZhbHVlOiBtb2RlbCxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pKG9yaWdpbmFsKTtcbiAgfSkgYXMgYW55O1xufVxuIl19
|
@@ -4,7 +4,7 @@ import { Constructor, Model } from "@decaf-ts/decorator-validation";
|
|
4
4
|
* @summary Creates and registers a repository for a model class. Can be used as both a property decorator and a class decorator.
|
5
5
|
* @template T - The model type that extends Model.
|
6
6
|
* @param {Constructor<T>} model - The constructor of the model class.
|
7
|
-
* @param {string} [
|
7
|
+
* @param {string} [flavour] - the required adapter's flavour/alias. If not provided, it will be retrieved from the model metadata..
|
8
8
|
* @return {any} - The decorator function.
|
9
9
|
* @function repository
|
10
10
|
* @mermaid
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@decaf-ts/core",
|
3
|
-
"version": "0.5.
|
3
|
+
"version": "0.5.21",
|
4
4
|
"description": "Core persistence module for the decaf framework",
|
5
5
|
"type": "module",
|
6
6
|
"exports": {
|
@@ -32,6 +32,7 @@
|
|
32
32
|
"coverage": "rimraf ./workdocs/reports/data/*.json && npm run test:all -- --coverage --config=./workdocs/reports/jest.coverage.config.ts",
|
33
33
|
"lint": "eslint .",
|
34
34
|
"lint-fix": "eslint --fix .",
|
35
|
+
"prepare-pr": "npm run lint-fix && npm run build:prod && npm run coverage && npm run docs",
|
35
36
|
"prepare-release": "npm run lint-fix && npm run build:prod && npm run coverage && npm run docs",
|
36
37
|
"release": "./bin/tag-release.sh",
|
37
38
|
"clean-publish": "npx clean-publish",
|
@@ -71,7 +72,7 @@
|
|
71
72
|
"ts"
|
72
73
|
],
|
73
74
|
"author": "Tiago Venceslau",
|
74
|
-
"license": "
|
75
|
+
"license": "AGPL-3.0-or-later",
|
75
76
|
"bugs": {
|
76
77
|
"url": "https://github.com/decaf-ts/core/issues"
|
77
78
|
},
|