model-layer
Version:
74 lines • 4.69 kB
JavaScript
;
// tslint:disable: max-classes-per-file
// tslint:disable: member-access
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CustomClassType = exports.OrType = exports.StringType = exports.ObjectType = exports.NumberType = exports.CollectionType = exports.MakeCollectionType = exports.ModelType = exports.MakeModelType = exports.DateType = exports.BooleanType = exports.ArrayType = exports.AnyType = exports.setLang = exports.Types = exports.Collection = exports.Model = void 0;
const errors_1 = require("./errors");
Object.defineProperty(exports, "setLang", { enumerable: true, get: function () { return errors_1.setLang; } });
const Model_1 = require("./Model");
Object.defineProperty(exports, "Model", { enumerable: true, get: function () { return Model_1.Model; } });
const Collection_1 = __importDefault(require("./Collection"));
exports.Collection = Collection_1.default;
const Type_1 = require("./type/Type");
const AnyType_1 = require("./type/AnyType");
Object.defineProperty(exports, "AnyType", { enumerable: true, get: function () { return AnyType_1.AnyType; } });
const ArrayType_1 = require("./type/ArrayType");
Object.defineProperty(exports, "ArrayType", { enumerable: true, get: function () { return ArrayType_1.ArrayType; } });
const BooleanType_1 = require("./type/BooleanType");
Object.defineProperty(exports, "BooleanType", { enumerable: true, get: function () { return BooleanType_1.BooleanType; } });
const DateType_1 = require("./type/DateType");
Object.defineProperty(exports, "DateType", { enumerable: true, get: function () { return DateType_1.DateType; } });
const ModelType_1 = require("./type/ModelType");
Object.defineProperty(exports, "MakeModelType", { enumerable: true, get: function () { return ModelType_1.MakeModelType; } });
Object.defineProperty(exports, "ModelType", { enumerable: true, get: function () { return ModelType_1.ModelType; } });
const CollectionType_1 = require("./type/CollectionType");
Object.defineProperty(exports, "MakeCollectionType", { enumerable: true, get: function () { return CollectionType_1.MakeCollectionType; } });
Object.defineProperty(exports, "CollectionType", { enumerable: true, get: function () { return CollectionType_1.CollectionType; } });
const NumberType_1 = require("./type/NumberType");
Object.defineProperty(exports, "NumberType", { enumerable: true, get: function () { return NumberType_1.NumberType; } });
const ObjectType_1 = require("./type/ObjectType");
Object.defineProperty(exports, "ObjectType", { enumerable: true, get: function () { return ObjectType_1.ObjectType; } });
const StringType_1 = require("./type/StringType");
Object.defineProperty(exports, "StringType", { enumerable: true, get: function () { return StringType_1.StringType; } });
const OrType_1 = require("./type/OrType");
Object.defineProperty(exports, "OrType", { enumerable: true, get: function () { return OrType_1.OrType; } });
const CustomClassType_1 = require("./type/CustomClassType");
Object.defineProperty(exports, "CustomClassType", { enumerable: true, get: function () { return CustomClassType_1.CustomClassType; } });
const returnParamsWithType = (type) => {
const func = (params) => ({
...params,
type
});
func.isTypeHelper = true;
return func;
};
const Types = {
Number: returnParamsWithType("number"),
String: returnParamsWithType("string"),
Boolean: returnParamsWithType("boolean"),
Date: returnParamsWithType("date"),
Array: returnParamsWithType("array"),
Object: returnParamsWithType("object"),
Model: ModelType_1.MakeModelType,
Collection: CollectionType_1.MakeCollectionType,
Or: returnParamsWithType("or"),
Any: returnParamsWithType("any"),
CustomClass: returnParamsWithType("CustomClass")
};
exports.Types = Types;
Type_1.Type.registerType("*", AnyType_1.AnyType);
Type_1.Type.registerType("any", AnyType_1.AnyType);
Type_1.Type.registerType("array", ArrayType_1.ArrayType);
Type_1.Type.registerType("boolean", BooleanType_1.BooleanType);
Type_1.Type.registerType("date", DateType_1.DateType);
Type_1.Type.registerType("model", ModelType_1.ModelType);
Type_1.Type.registerType("collection", CollectionType_1.CollectionType);
Type_1.Type.registerType("number", NumberType_1.NumberType);
Type_1.Type.registerType("object", ObjectType_1.ObjectType);
Type_1.Type.registerType("string", StringType_1.StringType);
Type_1.Type.registerType("or", OrType_1.OrType);
Type_1.Type.registerType("CustomClass", CustomClassType_1.CustomClassType);
//# sourceMappingURL=index.js.map