UNPKG

sqlmongoose

Version:

Mongoose-like schemas and models for SQLite3

35 lines (34 loc) 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SchemaType = void 0; exports.Entity = Entity; exports.Field = Field; exports.Index = Index; require("reflect-metadata"); var SchemaType; (function (SchemaType) { SchemaType["STRING"] = "string"; SchemaType["NUMBER"] = "number"; SchemaType["BOOLEAN"] = "boolean"; SchemaType["DATE"] = "date"; SchemaType["OBJECT"] = "object"; })(SchemaType || (exports.SchemaType = SchemaType = {})); function Entity(name) { return function (constructor) { Reflect.defineMetadata('entity:name', name, constructor); }; } function Field(options) { return function (target, propertyKey) { const metadata = Reflect.getMetadata('fields', target.constructor) || {}; metadata[propertyKey] = options; Reflect.defineMetadata('fields', metadata, target.constructor); }; } function Index(options = {}) { return function (target, propertyKey) { const metadata = Reflect.getMetadata('indices', target.constructor) || []; metadata.push({ field: propertyKey, ...options }); Reflect.defineMetadata('indices', metadata, target.constructor); }; }