express-ext 0.2.7 → 0.3.0

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.
@@ -1,23 +1,33 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- var edit_1 = require("./edit");
17
- var http_1 = require("./http");
18
- var LoadController_1 = require("./LoadController");
19
- var resources_1 = require("./resources");
20
- var view_1 = require("./view");
1
+ 'use strict';
2
+ var __extends =
3
+ (this && this.__extends) ||
4
+ (function () {
5
+ var extendStatics = function (d, b) {
6
+ extendStatics =
7
+ Object.setPrototypeOf ||
8
+ ({ __proto__: [] } instanceof Array &&
9
+ function (d, b) {
10
+ d.__proto__ = b;
11
+ }) ||
12
+ function (d, b) {
13
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
14
+ };
15
+ return extendStatics(d, b);
16
+ };
17
+ return function (d, b) {
18
+ extendStatics(d, b);
19
+ function __() {
20
+ this.constructor = d;
21
+ }
22
+ d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());
23
+ };
24
+ })();
25
+ Object.defineProperty(exports, '__esModule', { value: true });
26
+ var edit_1 = require('./edit');
27
+ var http_1 = require('./http');
28
+ var LoadController_1 = require('./LoadController');
29
+ var resources_1 = require('./resources');
30
+ var view_1 = require('./view');
21
31
  var GenericController = (function (_super) {
22
32
  __extends(GenericController, _super);
23
33
  function GenericController(log, service, build, validate, returnNumber) {
@@ -48,13 +58,13 @@ var GenericController = (function (_super) {
48
58
  GenericController.prototype.update = function (req, res) {
49
59
  var id = buildAndCheckIdWithBody(req, res, this.keys, this.service.update);
50
60
  if (id) {
51
- validateAndUpdate(res, req.body, false, this.service.update, this.log, this.validate, this.build);
61
+ validateAndUpdate(res, req.body, false, this.service.update, this.log, this.validate, undefined, this.build);
52
62
  }
53
63
  };
54
64
  GenericController.prototype.patch = function (req, res) {
55
65
  var id = buildAndCheckIdWithBody(req, res, this.keys, this.service.patch);
56
66
  if (id && this.service.patch) {
57
- validateAndUpdate(res, req.body, true, this.service.patch, this.log, this.validate, this.build);
67
+ validateAndUpdate(res, req.body, true, this.service.patch, this.log, this.validate, undefined, this.build);
58
68
  }
59
69
  };
60
70
  GenericController.prototype.delete = function (req, res) {
@@ -63,57 +73,64 @@ var GenericController = (function (_super) {
63
73
  if (id) {
64
74
  if (!this.service.delete) {
65
75
  res.status(405).end('Method Not Allowed');
66
- }
67
- else {
68
- this.service.delete(id).then(function (count) {
69
- res.status(getDeleteStatus(count)).json(count).end();
70
- }).catch(function (err) { return http_1.handleError(err, res, _this.log); });
76
+ } else {
77
+ this.service
78
+ .delete(id)
79
+ .then(function (count) {
80
+ res.status(getDeleteStatus(count)).json(count).end();
81
+ })
82
+ .catch(function (err) {
83
+ return http_1.handleError(err, res, _this.log);
84
+ });
71
85
  }
72
86
  }
73
87
  };
74
88
  return GenericController;
75
- }(LoadController_1.LoadController));
89
+ })(LoadController_1.LoadController);
76
90
  exports.GenericController = GenericController;
77
91
  function validateAndCreate(req, res, save, log, validate, build, returnNumber) {
78
92
  var obj = req.body;
79
93
  if (!obj || obj === '') {
80
94
  res.status(400).end('The request body cannot be empty.');
81
- }
82
- else {
95
+ } else {
83
96
  if (validate) {
84
- validate(obj).then(function (errors) {
85
- if (errors && errors.length > 0) {
86
- res.status(getStatusCode(errors)).json(errors).end();
87
- }
88
- else {
89
- if (build) {
90
- build(res, obj, true);
97
+ validate(obj)
98
+ .then(function (errors) {
99
+ if (errors && errors.length > 0) {
100
+ res.status(getStatusCode(errors)).json(errors).end();
101
+ } else {
102
+ if (build) {
103
+ build(res, obj, true);
104
+ }
105
+ edit_1.create(res, obj, save, log, returnNumber);
91
106
  }
92
- edit_1.create(res, obj, save, log, returnNumber);
93
- }
94
- }).catch(function (err) { return http_1.handleError(err, res, log); });
95
- }
96
- else {
107
+ })
108
+ .catch(function (err) {
109
+ return http_1.handleError(err, res, log);
110
+ });
111
+ } else {
97
112
  edit_1.create(res, obj, save, log, returnNumber);
98
113
  }
99
114
  }
100
115
  }
101
116
  exports.validateAndCreate = validateAndCreate;
102
- function validateAndUpdate(res, obj, isPatch, save, log, validate, build, returnNumber) {
117
+ function validateAndUpdate(res, obj, isPatch, save, log, validate, resource, build, returnNumber) {
103
118
  if (validate) {
104
- validate(obj, isPatch).then(function (errors) {
105
- if (errors && errors.length > 0) {
106
- res.status(getStatusCode(errors)).json(errors).end();
107
- }
108
- else {
109
- if (build) {
110
- build(res, obj, false, isPatch);
119
+ validate(obj, resource, isPatch)
120
+ .then(function (errors) {
121
+ if (errors && errors.length > 0) {
122
+ res.status(getStatusCode(errors)).json(errors).end();
123
+ } else {
124
+ if (build) {
125
+ build(res, obj, false, isPatch);
126
+ }
127
+ edit_1.update(res, obj, save, log, returnNumber);
111
128
  }
112
- edit_1.update(res, obj, save, log, returnNumber);
113
- }
114
- }).catch(function (err) { return http_1.handleError(err, res, log); });
115
- }
116
- else {
129
+ })
130
+ .catch(function (err) {
131
+ return http_1.handleError(err, res, log);
132
+ });
133
+ } else {
117
134
  edit_1.update(res, obj, save, log, returnNumber);
118
135
  }
119
136
  }
@@ -144,21 +161,29 @@ exports.buildAndCheckIdWithBody = buildAndCheckIdWithBody;
144
161
  function getDeleteStatus(count) {
145
162
  if (count > 0) {
146
163
  return 200;
147
- }
148
- else if (count === 0) {
164
+ } else if (count === 0) {
149
165
  return 404;
150
- }
151
- else {
166
+ } else {
152
167
  return 409;
153
168
  }
154
169
  }
155
170
  exports.getDeleteStatus = getDeleteStatus;
156
171
  function getStatusCode(errs) {
157
- return (edit_1.isTypeError(errs) ? 400 : 422);
172
+ return edit_1.isTypeError(errs) ? 400 : 422;
158
173
  }
159
174
  exports.getStatusCode = getStatusCode;
160
175
  function useBuild(c, generate) {
161
- var b = new Builder(generate, c.id ? c.id : '', c.payload ? c.payload : '', c.user ? c.user : '', c.updatedBy ? c.updatedBy : '', c.updatedAt ? c.updatedAt : '', c.createdBy ? c.createdBy : '', c.createdAt ? c.createdAt : '', c.version ? c.version : '');
176
+ var b = new Builder(
177
+ generate,
178
+ c.id ? c.id : '',
179
+ c.payload ? c.payload : '',
180
+ c.user ? c.user : '',
181
+ c.updatedBy ? c.updatedBy : '',
182
+ c.updatedAt ? c.updatedAt : '',
183
+ c.createdBy ? c.createdBy : '',
184
+ c.createdAt ? c.createdAt : '',
185
+ c.version ? c.version : '',
186
+ );
162
187
  return b.build;
163
188
  }
164
189
  exports.useBuild = useBuild;
@@ -184,8 +209,7 @@ var Builder = (function () {
184
209
  if (payload) {
185
210
  usr = payload[this.user];
186
211
  }
187
- }
188
- else {
212
+ } else {
189
213
  usr = res.locals[this.user];
190
214
  }
191
215
  }
@@ -208,8 +232,7 @@ var Builder = (function () {
208
232
  if (this.version.length > 0) {
209
233
  o[this.version] = 1;
210
234
  }
211
- }
212
- else if (isPatch) {
235
+ } else if (isPatch) {
213
236
  var keys = Object.keys(o);
214
237
  if (keys.length === 0) {
215
238
  return;
@@ -225,5 +248,5 @@ var Builder = (function () {
225
248
  }
226
249
  };
227
250
  return Builder;
228
- }());
251
+ })();
229
252
  exports.Builder = Builder;
@@ -26,7 +26,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
26
26
  var GenericController_1 = require('./GenericController');
27
27
  var http_1 = require('./http');
28
28
  var search_1 = require('./search');
29
- var search_func_1 = require('./search_func');
30
29
  var GenericSearchController = (function (_super) {
31
30
  __extends(GenericSearchController, _super);
32
31
  function GenericSearchController(log, find, service, config, build, validate, dates, numbers) {
@@ -42,7 +41,7 @@ var GenericSearchController = (function (_super) {
42
41
  if (!_this.fields || _this.fields.length === 0) {
43
42
  _this.fields = 'fields';
44
43
  }
45
- var m = search_func_1.getMetadataFunc(service, dates, numbers);
44
+ var m = search_1.getMetadataFunc(service, dates, numbers);
46
45
  if (m) {
47
46
  _this.dates = m.dates;
48
47
  _this.numbers = m.numbers;
@@ -54,7 +53,7 @@ var GenericSearchController = (function (_super) {
54
53
  var s = search_1.fromRequest(req, search_1.buildArray(this.array, this.fields, this.excluding));
55
54
  var l = search_1.getParameters(s, this.config);
56
55
  var s2 = search_1.format(s, this.dates, this.numbers);
57
- this.find(s2, l.limit, l.offsetOrNextPageToken, l.fields)
56
+ this.find(s2, l.limit, l.pageOrNextPageToken, l.fields)
58
57
  .then(function (result) {
59
58
  return search_1.jsonResult(res, result, _this.csv, l.fields, _this.config);
60
59
  })
@@ -26,7 +26,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
26
26
  var http_1 = require('./http');
27
27
  var LoadController_1 = require('./LoadController');
28
28
  var search_1 = require('./search');
29
- var search_func_1 = require('./search_func');
30
29
  function useSearchController(log, find, viewService, array, dates, numbers, keys, config) {
31
30
  var c = new LoadSearchController(log, find, viewService, keys, config, dates, numbers);
32
31
  c.array = array;
@@ -57,7 +56,7 @@ var LoadSearchController = (function (_super) {
57
56
  if (!_this.fields || _this.fields.length === 0) {
58
57
  _this.fields = 'fields';
59
58
  }
60
- var m = search_func_1.getMetadataFunc(viewService, dates, numbers, keys);
59
+ var m = search_1.getMetadataFunc(viewService, dates, numbers, keys);
61
60
  if (m) {
62
61
  _this.dates = m.dates;
63
62
  _this.numbers = m.numbers;
@@ -69,7 +68,7 @@ var LoadSearchController = (function (_super) {
69
68
  var s = search_1.fromRequest(req, search_1.buildArray(this.array, this.fields, this.excluding));
70
69
  var l = search_1.getParameters(s, this.config);
71
70
  var s2 = search_1.format(s, this.dates, this.numbers);
72
- this.find(s2, l.limit, l.offsetOrNextPageToken, l.fields)
71
+ this.find(s2, l.limit, l.pageOrNextPageToken, l.fields)
73
72
  .then(function (result) {
74
73
  return search_1.jsonResult(res, result, _this.csv, l.fields, _this.config);
75
74
  })
@@ -102,7 +101,7 @@ var QueryController = (function (_super) {
102
101
  if (!_this.fields || _this.fields.length === 0) {
103
102
  _this.fields = 'fields';
104
103
  }
105
- var m = search_func_1.getMetadataFunc(query, dates, numbers);
104
+ var m = search_1.getMetadataFunc(query, dates, numbers);
106
105
  if (m) {
107
106
  _this.dates = m.dates;
108
107
  _this.numbers = m.numbers;
@@ -115,7 +114,7 @@ var QueryController = (function (_super) {
115
114
  var l = search_1.getParameters(s, this.config);
116
115
  var s2 = search_1.format(s, this.dates, this.numbers);
117
116
  this.query
118
- .search(s2, l.limit, l.offsetOrNextPageToken, l.fields)
117
+ .search(s2, l.limit, l.pageOrNextPageToken, l.fields)
119
118
  .then(function (result) {
120
119
  return search_1.jsonResult(res, result, _this.csv, l.fields, _this.config);
121
120
  })
@@ -26,7 +26,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
26
26
  var GenericController_1 = require('./GenericController');
27
27
  var http_1 = require('./http');
28
28
  var search_1 = require('./search');
29
- var search_func_1 = require('./search_func');
30
29
  var LowcodeController = (function (_super) {
31
30
  __extends(LowcodeController, _super);
32
31
  function LowcodeController(log, lowCodeService, config, build, validate, dates, numbers) {
@@ -42,7 +41,7 @@ var LowcodeController = (function (_super) {
42
41
  if (!_this.fields || _this.fields.length === 0) {
43
42
  _this.fields = 'fields';
44
43
  }
45
- var m = search_func_1.getMetadataFunc(lowCodeService, dates, numbers);
44
+ var m = search_1.getMetadataFunc(lowCodeService, dates, numbers);
46
45
  if (m) {
47
46
  _this.dates = m.dates;
48
47
  _this.numbers = m.numbers;
@@ -55,7 +54,7 @@ var LowcodeController = (function (_super) {
55
54
  var l = search_1.getParameters(s, this.config);
56
55
  var s2 = search_1.format(s, this.dates, this.numbers);
57
56
  this.lowCodeService
58
- .search(s2, l.limit, l.offsetOrNextPageToken, l.fields)
57
+ .search(s2, l.limit, l.pageOrNextPageToken, l.fields)
59
58
  .then(function (result) {
60
59
  return search_1.jsonResult(res, result, _this.csv, l.fields, _this.config);
61
60
  })
@@ -82,7 +81,7 @@ var Controller = (function (_super) {
82
81
  if (!_this.fields || _this.fields.length === 0) {
83
82
  _this.fields = 'fields';
84
83
  }
85
- var m = search_func_1.getMetadataFunc(lowCodeService, dates, numbers);
84
+ var m = search_1.getMetadataFunc(lowCodeService, dates, numbers);
86
85
  if (m) {
87
86
  _this.dates = m.dates;
88
87
  _this.numbers = m.numbers;
@@ -95,7 +94,7 @@ var Controller = (function (_super) {
95
94
  var l = search_1.getParameters(s, this.config);
96
95
  var s2 = search_1.format(s, this.dates, this.numbers);
97
96
  this.lowCodeService
98
- .search(s2, l.limit, l.offsetOrNextPageToken, l.fields)
97
+ .search(s2, l.limit, l.pageOrNextPageToken, l.fields)
99
98
  .then(function (result) {
100
99
  return search_1.jsonResult(res, result, _this.csv, l.fields, _this.config);
101
100
  })
@@ -30,7 +30,7 @@ var SearchController = (function () {
30
30
  var s = search_1.fromRequest(req, search_1.buildArray(this.array, this.fields, this.excluding));
31
31
  var l = search_1.getParameters(s, this.config);
32
32
  var s2 = search_1.format(s, this.dates, this.numbers);
33
- this.find(s2, l.limit, l.offsetOrNextPageToken, l.fields)
33
+ this.find(s2, l.limit, l.pageOrNextPageToken, l.fields)
34
34
  .then(function (result) {
35
35
  return search_1.jsonResult(res, result, _this.csv, l.fields, _this.config);
36
36
  })
package/lib/edit.js CHANGED
@@ -1,8 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var http_1 = require("./http");
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ var http_1 = require('./http');
4
4
  function checkId(obj, id, keys) {
5
- var n = (keys && keys.length === 1 && keys[0].name ? keys[0].name : 'id');
5
+ var n = keys && keys.length === 1 && keys[0].name ? keys[0].name : 'id';
6
6
  var o = obj;
7
7
  var i = id;
8
8
  if (!keys || keys.length === 1) {
@@ -22,8 +22,7 @@ function checkId(obj, id, keys) {
22
22
  var v = o[k];
23
23
  if (!v) {
24
24
  o[k] = i[k];
25
- }
26
- else {
25
+ } else {
27
26
  if (v != i[k]) {
28
27
  return false;
29
28
  }
@@ -34,38 +33,51 @@ function checkId(obj, id, keys) {
34
33
  }
35
34
  exports.checkId = checkId;
36
35
  function create(res, obj, insert, log, returnNumber) {
37
- insert(obj).then(function (result) {
38
- if (typeof result === 'number') {
39
- if (result >= 1) {
40
- res.status(201).json(returnNumber ? result : obj).end();
41
- }
42
- else {
43
- res.status(409).json(result).end();
36
+ insert(obj)
37
+ .then(function (result) {
38
+ if (typeof result === 'number') {
39
+ if (result >= 1) {
40
+ res
41
+ .status(201)
42
+ .json(returnNumber ? result : obj)
43
+ .end();
44
+ } else {
45
+ res.status(409).json(result).end();
46
+ }
47
+ } else if (Array.isArray(result)) {
48
+ res.status(422).json(result).end();
49
+ } else {
50
+ res.status(201).json(result).end();
44
51
  }
45
- }
46
- else {
47
- res.status(422).json(result).end();
48
- }
49
- }).catch(function (err) { return http_1.handleError(err, res, log); });
52
+ })
53
+ .catch(function (err) {
54
+ return http_1.handleError(err, res, log);
55
+ });
50
56
  }
51
57
  exports.create = create;
52
58
  function update(res, obj, save, log, returnNumber) {
53
- save(obj).then(function (result) {
54
- if (typeof result === 'number') {
55
- if (result >= 1) {
56
- res.status(200).json(returnNumber ? result : obj).end();
59
+ save(obj)
60
+ .then(function (result) {
61
+ if (typeof result === 'number') {
62
+ if (result >= 1) {
63
+ res
64
+ .status(200)
65
+ .json(returnNumber ? result : obj)
66
+ .end();
67
+ } else if (result === 0) {
68
+ res.status(404).json(result).end();
69
+ } else {
70
+ res.status(409).json(result).end();
71
+ }
72
+ } else if (Array.isArray(result)) {
73
+ res.status(422).json(result).end();
74
+ } else {
75
+ res.status(200).json(result).end();
57
76
  }
58
- else if (result === 0) {
59
- res.status(404).json(result).end();
60
- }
61
- else {
62
- res.status(409).json(result).end();
63
- }
64
- }
65
- else {
66
- res.status(422).json(result).end();
67
- }
68
- }).catch(function (err) { return http_1.handleError(err, res, log); });
77
+ })
78
+ .catch(function (err) {
79
+ return http_1.handleError(err, res, log);
80
+ });
69
81
  }
70
82
  exports.update = update;
71
83
  function isTypeError(errs) {
@@ -75,7 +87,19 @@ function isTypeError(errs) {
75
87
  for (var _i = 0, errs_1 = errs; _i < errs_1.length; _i++) {
76
88
  var err = errs_1[_i];
77
89
  var c = err.code;
78
- if (c === 'string' || c === 'number' || c === 'date' || c === 'boolean') {
90
+ if (
91
+ c === 'type' ||
92
+ c === 'string' ||
93
+ c === 'number' ||
94
+ c === 'date' ||
95
+ c === 'boolean' ||
96
+ c === 'strings' ||
97
+ c === 'numbers' ||
98
+ c === 'integers' ||
99
+ c === 'dates' ||
100
+ c === 'datetimes' ||
101
+ c === 'booleans'
102
+ ) {
79
103
  return true;
80
104
  }
81
105
  }
package/lib/index.js CHANGED
@@ -35,7 +35,6 @@ __export(require('./LogController'));
35
35
  __export(require('./LowCodeController'));
36
36
  __export(require('./resources'));
37
37
  __export(require('./search'));
38
- __export(require('./search_func'));
39
38
  __export(require('./SearchController'));
40
39
  __export(require('./view'));
41
40
  function allow(access) {
@@ -306,3 +305,9 @@ var UserReactionController = (function () {
306
305
  exports.UserReactionController = UserReactionController;
307
306
  exports.ReactController = UserReactionController;
308
307
  exports.ReactionController = UserReactionController;
308
+ function addDays(d, n) {
309
+ var newDate = new Date(d);
310
+ newDate.setDate(newDate.getDate() + n);
311
+ return newDate;
312
+ }
313
+ exports.addDays = addDays;
package/lib/resources.js CHANGED
@@ -5,7 +5,8 @@ var http = require('http');
5
5
  var https = require('https');
6
6
  var resources = (function () {
7
7
  function resources() {}
8
- resources.pageSizes = [12, 24, 60, 100, 120, 180, 300, 600];
8
+ resources.limits = [12, 24, 60, 100, 120, 180, 300, 600];
9
+ resources.component = 'page';
9
10
  resources.page = 'page';
10
11
  resources.limit = 'limit';
11
12
  resources.defaultLimit = 12;
@@ -15,6 +16,11 @@ var resources = (function () {
15
16
  return resources;
16
17
  })();
17
18
  exports.resources = resources;
19
+ function getView(req, view) {
20
+ var partial = req.query[resources.partial];
21
+ return partial == 'true' ? resources.component + '/' + view : view;
22
+ }
23
+ exports.getView = getView;
18
24
  var TypeChecker = (function () {
19
25
  function TypeChecker(attributes, allowUndefined) {
20
26
  this.attributes = attributes;
package/lib/search.js CHANGED
@@ -386,16 +386,6 @@ function getParameters(obj, config) {
386
386
  var ipageSize = Math.floor(parseFloat(pageSize));
387
387
  if (ipageSize > 0) {
388
388
  r.limit = ipageSize;
389
- var skip = o['skip'];
390
- if (skip && !isNaN(skip)) {
391
- var iskip = Math.floor(parseFloat(skip));
392
- if (iskip >= 0) {
393
- r.offset = iskip;
394
- r.offsetOrNextPageToken = r.offset;
395
- deletePageInfo(o);
396
- return r;
397
- }
398
- }
399
389
  var pageIndex = o['page'];
400
390
  if (!pageIndex) {
401
391
  pageIndex = o['pageIndex'];
@@ -408,37 +398,21 @@ function getParameters(obj, config) {
408
398
  if (ipageIndex < 1) {
409
399
  ipageIndex = 1;
410
400
  }
411
- var firstPageSize = o['firstLimit'];
412
- if (!firstPageSize) {
413
- firstPageSize = o['firstPageSize'];
414
- }
415
- if (!firstPageSize) {
416
- firstPageSize = o['initPageSize'];
417
- }
418
- if (firstPageSize && !isNaN(firstPageSize)) {
419
- var ifirstPageSize = Math.floor(parseFloat(firstPageSize));
420
- if (ifirstPageSize > 0) {
421
- r.offset = ipageSize * (ipageIndex - 2) + ifirstPageSize;
422
- r.offsetOrNextPageToken = r.offset;
423
- deletePageInfo(o);
424
- return r;
425
- }
426
- }
427
- r.offset = ipageSize * (ipageIndex - 1);
428
- r.offsetOrNextPageToken = r.offset;
401
+ r.page = ipageIndex;
402
+ r.pageOrNextPageToken = r.page;
429
403
  deletePageInfo(o);
430
404
  return r;
431
405
  }
432
- r.offset = 0;
406
+ r.page = 1;
433
407
  if (r.nextPageToken && r.nextPageToken.length > 0) {
434
- r.offsetOrNextPageToken = r.nextPageToken;
408
+ r.pageOrNextPageToken = r.nextPageToken;
435
409
  }
436
410
  deletePageInfo(o);
437
411
  return r;
438
412
  }
439
413
  }
440
414
  if (r.nextPageToken && r.nextPageToken.length > 0) {
441
- r.offsetOrNextPageToken = r.nextPageToken;
415
+ r.pageOrNextPageToken = r.nextPageToken;
442
416
  }
443
417
  deletePageInfo(o);
444
418
  return r;
@@ -477,8 +451,8 @@ function getParameters(obj, config) {
477
451
  if (skip && !isNaN(skip)) {
478
452
  var iskip = Math.floor(parseFloat(skip));
479
453
  if (iskip >= 0) {
480
- r.offset = iskip;
481
- r.offsetOrNextPageToken = r.offset;
454
+ r.page = iskip;
455
+ r.pageOrNextPageToken = r.page;
482
456
  deletePageInfo(o, arr);
483
457
  return r;
484
458
  }
@@ -501,27 +475,27 @@ function getParameters(obj, config) {
501
475
  if (firstPageSize && !isNaN(firstPageSize)) {
502
476
  var ifirstPageSize = Math.floor(parseFloat(firstPageSize));
503
477
  if (ifirstPageSize > 0) {
504
- r.offset = ipageSize * (ipageIndex - 2) + ifirstPageSize;
505
- r.offsetOrNextPageToken = r.offset;
478
+ r.page = ipageSize * (ipageIndex - 2) + ifirstPageSize;
479
+ r.pageOrNextPageToken = r.page;
506
480
  deletePageInfo(o, arr);
507
481
  return r;
508
482
  }
509
483
  }
510
- r.offset = ipageSize * (ipageIndex - 1);
511
- r.offsetOrNextPageToken = r.offset;
484
+ r.page = ipageSize * (ipageIndex - 1);
485
+ r.pageOrNextPageToken = r.page;
512
486
  deletePageInfo(o, arr);
513
487
  return r;
514
488
  }
515
- r.offset = 0;
489
+ r.page = 0;
516
490
  if (r.nextPageToken && r.nextPageToken.length > 0) {
517
- r.offsetOrNextPageToken = r.nextPageToken;
491
+ r.pageOrNextPageToken = r.nextPageToken;
518
492
  }
519
493
  deletePageInfo(o, arr);
520
494
  return r;
521
495
  }
522
496
  }
523
497
  if (r.nextPageToken && r.nextPageToken.length > 0) {
524
- r.offsetOrNextPageToken = r.nextPageToken;
498
+ r.pageOrNextPageToken = r.nextPageToken;
525
499
  }
526
500
  deletePageInfo(o, arr);
527
501
  return r;
@@ -734,3 +708,22 @@ function format(obj, dates, nums) {
734
708
  return o;
735
709
  }
736
710
  exports.format = format;
711
+ function getMetadataFunc(viewService, dates, numbers, keys) {
712
+ var m = { dates: dates, numbers: numbers };
713
+ if ((m.dates && m.dates.length > 0) || (m.numbers && m.numbers.length > 0)) {
714
+ return m;
715
+ }
716
+ if (keys) {
717
+ if (!Array.isArray(keys)) {
718
+ return buildMetadata(keys);
719
+ }
720
+ }
721
+ if (typeof viewService !== 'function' && viewService.metadata) {
722
+ var metadata = viewService.metadata();
723
+ if (metadata) {
724
+ return buildMetadata(metadata);
725
+ }
726
+ }
727
+ return undefined;
728
+ }
729
+ exports.getMetadataFunc = getMetadataFunc;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "express-ext",
3
- "version": "0.2.7",
3
+ "version": "0.3.0",
4
4
  "description": "express-ext",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./src/index.ts",