onecore 0.0.42 → 0.0.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -32,6 +32,14 @@ var ViewManager = (function () {
32
32
  return ViewManager;
33
33
  }());
34
34
  exports.ViewManager = ViewManager;
35
+ var DefaultViewService = (function (_super) {
36
+ __extends(DefaultViewService, _super);
37
+ function DefaultViewService() {
38
+ return _super !== null && _super.apply(this, arguments) || this;
39
+ }
40
+ return DefaultViewService;
41
+ }(ViewManager));
42
+ exports.DefaultViewService = DefaultViewService;
35
43
  var ViewSearchManager = (function (_super) {
36
44
  __extends(ViewSearchManager, _super);
37
45
  function ViewSearchManager(find, repo) {
@@ -86,6 +94,30 @@ var GenericManager = (function (_super) {
86
94
  return GenericManager;
87
95
  }(ViewManager));
88
96
  exports.GenericManager = GenericManager;
97
+ var DefaultGenericService = (function (_super) {
98
+ __extends(DefaultGenericService, _super);
99
+ function DefaultGenericService() {
100
+ return _super !== null && _super.apply(this, arguments) || this;
101
+ }
102
+ return DefaultGenericService;
103
+ }(GenericManager));
104
+ exports.DefaultGenericService = DefaultGenericService;
105
+ var DefaultService = (function (_super) {
106
+ __extends(DefaultService, _super);
107
+ function DefaultService() {
108
+ return _super !== null && _super.apply(this, arguments) || this;
109
+ }
110
+ return DefaultService;
111
+ }(GenericManager));
112
+ exports.DefaultService = DefaultService;
113
+ var DefaultGenericSearchService = (function (_super) {
114
+ __extends(DefaultGenericSearchService, _super);
115
+ function DefaultGenericSearchService() {
116
+ return _super !== null && _super.apply(this, arguments) || this;
117
+ }
118
+ return DefaultGenericSearchService;
119
+ }(GenericManager));
120
+ exports.DefaultGenericSearchService = DefaultGenericSearchService;
89
121
  var Manager = (function (_super) {
90
122
  __extends(Manager, _super);
91
123
  function Manager(find, repo) {
@@ -100,16 +132,20 @@ var Manager = (function (_super) {
100
132
  return Manager;
101
133
  }(GenericManager));
102
134
  exports.Manager = Manager;
103
- exports.DefaultViewService = ViewManager;
104
- exports.DefaultGenericService = GenericManager;
105
- exports.GenericSearchManager = Manager;
106
- exports.DefaultService = GenericManager;
107
- exports.DefaultGenericSearchService = GenericManager;
135
+ var GenericSearchManager = (function (_super) {
136
+ __extends(GenericSearchManager, _super);
137
+ function GenericSearchManager() {
138
+ return _super !== null && _super.apply(this, arguments) || this;
139
+ }
140
+ return GenericSearchManager;
141
+ }(Manager));
142
+ exports.GenericSearchManager = GenericSearchManager;
108
143
  var SavedService = (function () {
109
- function SavedService(repository, query, max) {
144
+ function SavedService(repository, query, max, autoRemove) {
110
145
  this.repository = repository;
111
146
  this.query = query;
112
147
  this.max = max;
148
+ this.autoRemove = autoRemove;
113
149
  this.load = this.load.bind(this);
114
150
  this.save = this.save.bind(this);
115
151
  this.remove = this.remove.bind(this);
@@ -136,9 +172,17 @@ var SavedService = (function () {
136
172
  else {
137
173
  items.push(itemId);
138
174
  if (items.length > _this.max) {
139
- items.shift();
175
+ if (_this.autoRemove) {
176
+ items.shift();
177
+ return _this.repository.update(id, items);
178
+ }
179
+ else {
180
+ return Promise.resolve(-1);
181
+ }
182
+ }
183
+ else {
184
+ return _this.repository.update(id, items);
140
185
  }
141
- return _this.repository.update(id, items);
142
186
  }
143
187
  }
144
188
  });
@@ -165,3 +209,11 @@ var SavedService = (function () {
165
209
  return SavedService;
166
210
  }());
167
211
  exports.SavedService = SavedService;
212
+ var SavedManager = (function (_super) {
213
+ __extends(SavedManager, _super);
214
+ function SavedManager() {
215
+ return _super !== null && _super.apply(this, arguments) || this;
216
+ }
217
+ return SavedManager;
218
+ }(SavedService));
219
+ exports.SavedManager = SavedManager;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "onecore",
3
- "version": "0.0.42",
3
+ "version": "0.0.43",
4
4
  "description": "onecore",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./src/index.ts",
package/src/index.ts CHANGED
@@ -108,6 +108,10 @@ export class ViewManager<T, ID> implements ViewService<T, ID> {
108
108
  return this.r.load(id, ctx);
109
109
  }
110
110
  }
111
+ // tslint:disable-next-line:max-classes-per-file
112
+ export class DefaultViewService<T, ID> extends ViewManager<T, ID> {
113
+ }
114
+
111
115
  // tslint:disable-next-line:max-classes-per-file
112
116
  export class ViewSearchManager<T, ID, F extends Filter> extends ViewManager<T, ID> implements ViewSearchService<T, ID, F> {
113
117
  constructor(public find: Search<T, F>, repo: ViewRepository<T, ID>) {
@@ -151,6 +155,15 @@ export class GenericManager<T, ID> extends ViewManager<T, ID> implements Generic
151
155
  }
152
156
  }
153
157
  // tslint:disable-next-line:max-classes-per-file
158
+ export class DefaultGenericService<T, ID> extends GenericManager<T, ID> {
159
+ }
160
+ // tslint:disable-next-line:max-classes-per-file
161
+ export class DefaultService<T, ID> extends GenericManager<T, ID> {
162
+ }
163
+ // tslint:disable-next-line:max-classes-per-file
164
+ export class DefaultGenericSearchService<T, ID> extends GenericManager<T, ID> {
165
+ }
166
+ // tslint:disable-next-line:max-classes-per-file
154
167
  export class Manager<T, ID, F extends Filter> extends GenericManager<T, ID> implements GenericSearchService<T, ID, number, F> {
155
168
  constructor(public find: Search<T, F>, repo: GenericRepository<T, ID>) {
156
169
  super(repo);
@@ -160,11 +173,9 @@ export class Manager<T, ID, F extends Filter> extends GenericManager<T, ID> impl
160
173
  return this.find(s, limit, offset, fields);
161
174
  }
162
175
  }
163
- export const DefaultViewService = ViewManager;
164
- export const DefaultGenericService = GenericManager;
165
- export const GenericSearchManager = Manager;
166
- export const DefaultService = GenericManager;
167
- export const DefaultGenericSearchService = GenericManager;
176
+ // tslint:disable-next-line:max-classes-per-file
177
+ export class GenericSearchManager<T, ID, F extends Filter> extends Manager<T, ID, F> {
178
+ }
168
179
  export interface SavedRepository<ID> {
169
180
  load(id: ID): Promise<string[]|null>;
170
181
  insert(id: ID, arr: string[]): Promise<number>;
@@ -172,7 +183,7 @@ export interface SavedRepository<ID> {
172
183
  }
173
184
  // tslint:disable-next-line:max-classes-per-file
174
185
  export class SavedService<ID, T> {
175
- constructor(protected repository: SavedRepository<ID>, protected query: (ids: string[]) => Promise<T[]>, public max: number) {
186
+ constructor(protected repository: SavedRepository<ID>, protected query: (ids: string[]) => Promise<T[]>, public max: number, public autoRemove?: boolean) {
176
187
  this.load = this.load.bind(this);
177
188
  this.save = this.save.bind(this);
178
189
  this.remove = this.remove.bind(this);
@@ -195,9 +206,15 @@ export class SavedService<ID, T> {
195
206
  } else {
196
207
  items.push(itemId);
197
208
  if (items.length > this.max) {
198
- items.shift();
209
+ if (this.autoRemove) {
210
+ items.shift();
211
+ return this.repository.update(id, items);
212
+ } else {
213
+ return Promise.resolve(-1);
214
+ }
215
+ } else {
216
+ return this.repository.update(id, items);
199
217
  }
200
- return this.repository.update(id, items);
201
218
  }
202
219
  }
203
220
  });
@@ -219,3 +236,6 @@ export class SavedService<ID, T> {
219
236
  });
220
237
  }
221
238
  }
239
+ // tslint:disable-next-line:max-classes-per-file
240
+ export class SavedManager<ID, T> extends SavedService<ID, T> {
241
+ }