1 | ;
|
2 | var __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 | };
|
7 | function __export(m) {
|
8 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
9 | }
|
10 | var Errors_1 = require("./Errors");
|
11 | var typeguard_1 = require("typeguard");
|
12 | __export(require("./PluginTypes"));
|
13 | var 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 | */
|
21 | var 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 | }());
|
47 | exports.FinderRequest = FinderRequest;
|
48 | /**
|
49 | * Finder result array - not implemented yet, mostly
|
50 | */
|
51 | var 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));
|
73 | exports.FinderResultArray = FinderResultArray;
|
74 | /**
|
75 | * Simple base model implementation
|
76 | * uses reflection to determine type
|
77 | */
|
78 | var 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 | }());
|
93 | exports.DefaultModel = DefaultModel;
|
94 | /**
|
95 | * Sync strategy for updating models in the store
|
96 | */
|
97 | var 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 | */
|
111 | var 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 | */
|
123 | CoordinatorOptions.Defaults = {
|
124 | autoRegisterModules: true,
|
125 | syncStrategy: SyncStrategy.None,
|
126 | immutable: false
|
127 | };
|
128 | exports.CoordinatorOptions = CoordinatorOptions;
|
129 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvVHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUEsbUNBQWdEO0FBR2hELHVDQUFrQztBQUlsQyxtQ0FBNkI7QUFHN0IsSUFBWSx5QkFHWDtBQUhELFdBQVkseUJBQXlCO0lBQ3BDLHlFQUFRLENBQUE7SUFDUiw2RUFBTSxDQUFBO0FBQ1AsQ0FBQyxFQUhXLHlCQUF5QixHQUF6QixpQ0FBeUIsS0FBekIsaUNBQXlCLFFBR3BDO0FBcUJEOztHQUVHO0FBQ0g7SUFVQyx1QkFBWSxhQUFhLEVBQUMsTUFBVSxFQUFDLGFBQTRCLEVBQUMsSUFBb0IsRUFBQyxhQUFrQyxFQUFDLEtBQWdCO1FBQWhILHVCQUFBLEVBQUEsVUFBVTtRQUFDLDhCQUFBLEVBQUEsb0JBQTRCO1FBQUMscUJBQUEsRUFBQSxXQUFvQjtRQUFDLDhCQUFBLEVBQUEscUJBQWtDO1FBQUMsc0JBQUEsRUFBQSxZQUFnQjtRQVIxSSxVQUFLLEdBQVUsQ0FBQyxDQUFDLENBQUE7UUFDakIsV0FBTSxHQUFVLENBQUMsQ0FBQTtRQUdqQixrQkFBYSxHQUFXLElBQUksQ0FBQTtRQUszQixFQUFFLENBQUMsQ0FBQyxPQUFPLGFBQWEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFDO2dCQUNsQixLQUFLLEVBQUMsYUFBYTtnQkFDbkIsTUFBTSxRQUFBO2dCQUNOLGFBQWEsZUFBQTtnQkFDYixJQUFJLE1BQUE7Z0JBQ0osYUFBYSxlQUFBO2dCQUNiLEtBQUssT0FBQTthQUNMLENBQUMsQ0FBQTtRQUNILENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNQLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQ2xDLENBQUM7SUFDRixDQUFDO0lBQ0Ysb0JBQUM7QUFBRCxDQUFDLEFBeEJELElBd0JDO0FBeEJZ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 |
\ | No newline at end of file |