UNPKG

8.02 kBJavaScriptView Raw
1"use strict";
2var __extends = (this && this.__extends) || function (d, b) {
3 for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4 function __() { this.constructor = d; }
5 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6};
7function __export(m) {
8 for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
9}
10var Errors_1 = require("./Errors");
11var typeguard_1 = require("typeguard");
12__export(require("./PluginTypes"));
13var ModelPersistenceEventType;
14(function (ModelPersistenceEventType) {
15 ModelPersistenceEventType[ModelPersistenceEventType["Save"] = 1] = "Save";
16 ModelPersistenceEventType[ModelPersistenceEventType["Remove"] = 2] = "Remove";
17})(ModelPersistenceEventType = exports.ModelPersistenceEventType || (exports.ModelPersistenceEventType = {}));
18/**
19 * Finder request for paging, etc
20 */
21var FinderRequest = (function () {
22 function FinderRequest(limitOrObject, offset, includeModels, sort, sortDirection, extra) {
23 if (offset === void 0) { offset = 0; }
24 if (includeModels === void 0) { includeModels = null; }
25 if (sort === void 0) { sort = null; }
26 if (sortDirection === void 0) { sortDirection = 'asc'; }
27 if (extra === void 0) { extra = null; }
28 this.limit = -1;
29 this.offset = 0;
30 this.includeModels = null;
31 if (typeof limitOrObject === 'number') {
32 Object.assign(this, {
33 limit: limitOrObject,
34 offset: offset,
35 includeModels: includeModels,
36 sort: sort,
37 sortDirection: sortDirection,
38 extra: extra
39 });
40 }
41 else {
42 Object.assign(this, limitOrObject);
43 }
44 }
45 return FinderRequest;
46}());
47exports.FinderRequest = FinderRequest;
48/**
49 * Finder result array - not implemented yet, mostly
50 */
51var FinderResultArray = (function (_super) {
52 __extends(FinderResultArray, _super);
53 function FinderResultArray(items, total, request, itemMetadata) {
54 if (request === void 0) { request = null; }
55 if (itemMetadata === void 0) { itemMetadata = null; }
56 var _this = _super.call(this, items.length) || this;
57 _this.total = total;
58 _this.request = request;
59 _this.itemMetadata = itemMetadata;
60 _this.pageNumber = -1;
61 _this.pageCount = -1;
62 items.forEach(function (item, index) { return _this[index] = item; });
63 if (request) {
64 _this.pageCount = Math.ceil(total / request.limit);
65 _this.pageNumber = typeguard_1.isNumber(request.offset) ?
66 Math.floor(request.offset / request.limit) :
67 -1;
68 }
69 return _this;
70 }
71 return FinderResultArray;
72}(Array));
73exports.FinderResultArray = FinderResultArray;
74/**
75 * Simple base model implementation
76 * uses reflection to determine type
77 */
78var DefaultModel = (function () {
79 function DefaultModel() {
80 }
81 Object.defineProperty(DefaultModel.prototype, "clazzType", {
82 get: function () {
83 var type = Reflect.getOwnMetadata('design:type', this);
84 if (!type)
85 throw new Errors_1.NoReflectionMetataError('Unable to reflect type information');
86 return type.name;
87 },
88 enumerable: true,
89 configurable: true
90 });
91 return DefaultModel;
92}());
93exports.DefaultModel = DefaultModel;
94/**
95 * Sync strategy for updating models in the store
96 */
97var SyncStrategy;
98(function (SyncStrategy) {
99 SyncStrategy[SyncStrategy["Overwrite"] = 0] = "Overwrite";
100 SyncStrategy[SyncStrategy["Update"] = 1] = "Update";
101 SyncStrategy[SyncStrategy["None"] = 2] = "None";
102})(SyncStrategy = exports.SyncStrategy || (exports.SyncStrategy = {}));
103(function (SyncStrategy) {
104 SyncStrategy.toString = function (strategy) {
105 return SyncStrategy[strategy];
106 };
107})(SyncStrategy = exports.SyncStrategy || (exports.SyncStrategy = {}));
108/**
109 * Coordinator options default implementation
110 */
111var CoordinatorOptions = (function () {
112 function CoordinatorOptions(opts) {
113 if (opts === void 0) { opts = {}; }
114 Object.assign(this, opts, CoordinatorOptions.Defaults);
115 }
116 return CoordinatorOptions;
117}());
118/**
119 * Default manager options
120 *
121 * @type {{autoRegisterModules: boolean, syncStrategy: SyncStrategy, immutable: boolean}}
122 */
123CoordinatorOptions.Defaults = {
124 autoRegisterModules: true,
125 syncStrategy: SyncStrategy.None,
126 immutable: false
127};
128exports.CoordinatorOptions = CoordinatorOptions;
129//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvVHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUEsbUNBQWdEO0FBR2hELHVDQUFrQztBQUlsQyxtQ0FBNkI7QUFHN0IsSUFBWSx5QkFHWDtBQUhELFdBQVkseUJBQXlCO0lBQ3BDLHlFQUFRLENBQUE7SUFDUiw2RUFBTSxDQUFBO0FBQ1AsQ0FBQyxFQUhXLHlCQUF5QixHQUF6QixpQ0FBeUIsS0FBekIsaUNBQXlCLFFBR3BDO0FBcUJEOztHQUVHO0FBQ0g7SUFVQyx1QkFBWSxhQUFhLEVBQUMsTUFBVSxFQUFDLGFBQTRCLEVBQUMsSUFBb0IsRUFBQyxhQUFrQyxFQUFDLEtBQWdCO1FBQWhILHVCQUFBLEVBQUEsVUFBVTtRQUFDLDhCQUFBLEVBQUEsb0JBQTRCO1FBQUMscUJBQUEsRUFBQSxXQUFvQjtRQUFDLDhCQUFBLEVBQUEscUJBQWtDO1FBQUMsc0JBQUEsRUFBQSxZQUFnQjtRQVIxSSxVQUFLLEdBQVUsQ0FBQyxDQUFDLENBQUE7UUFDakIsV0FBTSxHQUFVLENBQUMsQ0FBQTtRQUdqQixrQkFBYSxHQUFXLElBQUksQ0FBQTtRQUszQixFQUFFLENBQUMsQ0FBQyxPQUFPLGFBQWEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFDO2dCQUNsQixLQUFLLEVBQUMsYUFBYTtnQkFDbkIsTUFBTSxRQUFBO2dCQUNOLGFBQWEsZUFBQTtnQkFDYixJQUFJLE1BQUE7Z0JBQ0osYUFBYSxlQUFBO2dCQUNiLEtBQUssT0FBQTthQUNMLENBQUMsQ0FBQTtRQUNILENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNQLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQ2xDLENBQUM7SUFDRixDQUFDO0lBQ0Ysb0JBQUM7QUFBRCxDQUFDLEFBeEJELElBd0JDO0FBeEJZLHNDQUFhO0FBK0IxQjs7R0FFRztBQUNIO0lBQTBDLHFDQUFRO0lBS2pELDJCQUNDLEtBQVMsRUFDRixLQUFZLEVBQ1osT0FBNEIsRUFDekIsWUFBeUM7UUFENUMsd0JBQUEsRUFBQSxjQUE0QjtRQUN6Qiw2QkFBQSxFQUFBLG1CQUF5QztRQUpwRCxZQU1DLGtCQUFNLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FTbkI7UUFiTyxXQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osYUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFDekIsa0JBQVksR0FBWixZQUFZLENBQTZCO1FBUHBELGdCQUFVLEdBQVUsQ0FBQyxDQUFDLENBQUE7UUFDdEIsZUFBUyxHQUFVLENBQUMsQ0FBQyxDQUFBO1FBU3BCLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBQyxJQUFJLEVBQUMsS0FBSyxJQUFLLE9BQUEsS0FBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksRUFBbEIsQ0FBa0IsQ0FBQyxDQUFBO1FBRWpELEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDYixLQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNqRCxLQUFJLENBQUMsVUFBVSxHQUFHLG9CQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQzs7SUFDRixDQUFDO0lBQ0Ysd0JBQUM7QUFBRCxDQUFDLEFBckJELENBQTBDLEtBQUssR0FxQjlDO0FBckJZLDhDQUFpQjtBQXVCOUI7OztHQUdHO0FBQ0g7SUFBQTtJQVNBLENBQUM7SUFSQSxzQkFBSSxtQ0FBUzthQUFiO1lBQ0MsSUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUMsSUFBSSxDQUFDLENBQUE7WUFDdkQsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ1QsTUFBTSxJQUFJLGdDQUF1QixDQUFDLG9DQUFvQyxDQUFDLENBQUE7WUFFeEUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDakIsQ0FBQzs7O09BQUE7SUFFRixtQkFBQztBQUFELENBQUMsQUFURCxJQVNDO0FBVFksb0NBQVk7QUFXekI7O0dBRUc7QUFDSCxJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDdkIseURBQVMsQ0FBQTtJQUNULG1EQUFNLENBQUE7SUFDTiwrQ0FBSSxDQUFBO0FBQ0wsQ0FBQyxFQUpXLFlBQVksR0FBWixvQkFBWSxLQUFaLG9CQUFZLFFBSXZCO0FBRUQsV0FBaUIsWUFBWTtJQUNmLHFCQUFRLEdBQUcsVUFBQyxRQUFxQjtRQUM3QyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzlCLENBQUMsQ0FBQTtBQUNGLENBQUMsRUFKZ0IsWUFBWSxHQUFaLG9CQUFZLEtBQVosb0JBQVksUUFJNUI7QUFZRDs7R0FFRztBQUNIO0lBYUMsNEJBQVksSUFBUztRQUFULHFCQUFBLEVBQUEsU0FBUztRQUNwQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUNGLHlCQUFDO0FBQUQsQ0FBQyxBQWhCRDtBQUVDOzs7O0dBSUc7QUFDSSwyQkFBUSxHQUFHO0lBQ2pCLG1CQUFtQixFQUFDLElBQUk7SUFDeEIsWUFBWSxFQUFFLFlBQVksQ0FBQyxJQUFJO0lBQy9CLFNBQVMsRUFBRSxLQUFLO0NBQ2hCLENBQUE7QUFYVyxnREFBa0IifQ==
\No newline at end of file