UNPKG

@decaf-ts/db-decorators

Version:

Agnostic database decorators and repository

20 lines 864 B
import { required } from "@decaf-ts/decorator-validation"; import { readonly } from "./../validation/index.js"; import { DBKeys } from "./../model/constants.js"; import { propMetadata, apply, Metadata } from "@decaf-ts/decoration"; /** * @description Decorator that marks a property as an ID field * @summary Creates a composite decorator that marks a property as required, readonly, and as the ID field for database operations * @return {PropertyDecorator} A decorator that can be applied to class properties * @function id * @category Property Decorators */ export function id() { function idDecorator() { return function idDecorator(model, prop) { return propMetadata(Metadata.key(DBKeys.ID, prop), {})(model, prop); }; } return apply(required(), readonly(), idDecorator()); } //# sourceMappingURL=decorators.js.map