UNPKG

@decaf-ts/core

Version:

Core persistence module for the decaf framework

17 lines 2.57 kB
import { apply, metadata } from "@decaf-ts/reflection"; import { PersistenceKeys } from "./constants.js"; import { Adapter } from "./Adapter.js"; /** * @description Specifies which persistence adapter flavor a model should use * @summary This decorator applies metadata to a model class to indicate which persistence adapter flavor * should be used when performing database operations on instances of the model. The flavor is a string * identifier that corresponds to a registered adapter configuration. * @param {string} flavour - The identifier of the adapter flavor to use * @return {Function} A decorator function that can be applied to a model class * @function uses * @category Class Decorators */ export function uses(flavour) { return apply(metadata(Adapter.key(PersistenceKeys.ADAPTER), flavour)); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wZXJzaXN0ZW5jZS9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSx1QkFBb0I7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxxQkFBa0I7QUFFcEM7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLElBQUksQ0FBQyxPQUFlO0lBQ2xDLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhcHBseSwgbWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB7IFBlcnNpc3RlbmNlS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgQWRhcHRlciB9IGZyb20gXCIuL0FkYXB0ZXJcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gU3BlY2lmaWVzIHdoaWNoIHBlcnNpc3RlbmNlIGFkYXB0ZXIgZmxhdm9yIGEgbW9kZWwgc2hvdWxkIHVzZVxuICogQHN1bW1hcnkgVGhpcyBkZWNvcmF0b3IgYXBwbGllcyBtZXRhZGF0YSB0byBhIG1vZGVsIGNsYXNzIHRvIGluZGljYXRlIHdoaWNoIHBlcnNpc3RlbmNlIGFkYXB0ZXIgZmxhdm9yXG4gKiBzaG91bGQgYmUgdXNlZCB3aGVuIHBlcmZvcm1pbmcgZGF0YWJhc2Ugb3BlcmF0aW9ucyBvbiBpbnN0YW5jZXMgb2YgdGhlIG1vZGVsLiBUaGUgZmxhdm9yIGlzIGEgc3RyaW5nXG4gKiBpZGVudGlmaWVyIHRoYXQgY29ycmVzcG9uZHMgdG8gYSByZWdpc3RlcmVkIGFkYXB0ZXIgY29uZmlndXJhdGlvbi5cbiAqIEBwYXJhbSB7c3RyaW5nfSBmbGF2b3VyIC0gVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFkYXB0ZXIgZmxhdm9yIHRvIHVzZVxuICogQHJldHVybiB7RnVuY3Rpb259IEEgZGVjb3JhdG9yIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gYSBtb2RlbCBjbGFzc1xuICogQGZ1bmN0aW9uIHVzZXNcbiAqIEBjYXRlZ29yeSBDbGFzcyBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VzKGZsYXZvdXI6IHN0cmluZykge1xuICByZXR1cm4gYXBwbHkobWV0YWRhdGEoQWRhcHRlci5rZXkoUGVyc2lzdGVuY2VLZXlzLkFEQVBURVIpLCBmbGF2b3VyKSk7XG59XG4iXX0=