express-ext 0.3.7 → 0.3.9
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/search.js +17 -1
- package/package.json +1 -1
- package/src/search.ts +16 -1
package/lib/search.js
CHANGED
|
@@ -3,6 +3,22 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
3
3
|
var http_1 = require('./http');
|
|
4
4
|
var resources_1 = require('./resources');
|
|
5
5
|
var et = '';
|
|
6
|
+
function queryPage(req, filter) {
|
|
7
|
+
var field = req.query[resources_1.resources.page];
|
|
8
|
+
var v = field ? field.toString() : undefined;
|
|
9
|
+
if (!v || v.length === 0) {
|
|
10
|
+
filter[resources_1.resources.page] = 1;
|
|
11
|
+
return 1;
|
|
12
|
+
}
|
|
13
|
+
if (isNaN(v)) {
|
|
14
|
+
filter[resources_1.resources.page] = 1;
|
|
15
|
+
return 1;
|
|
16
|
+
}
|
|
17
|
+
var n = parseFloat(v);
|
|
18
|
+
filter[resources_1.resources.page] = n;
|
|
19
|
+
return n;
|
|
20
|
+
}
|
|
21
|
+
exports.queryPage = queryPage;
|
|
6
22
|
function getOffset(limit, page) {
|
|
7
23
|
var offset = limit * (page - 1);
|
|
8
24
|
return offset < 0 ? 0 : offset;
|
|
@@ -229,7 +245,7 @@ function clone(obj) {
|
|
|
229
245
|
return x;
|
|
230
246
|
}
|
|
231
247
|
exports.clone = clone;
|
|
232
|
-
function cloneFilter(obj,
|
|
248
|
+
function cloneFilter(obj, limit, page) {
|
|
233
249
|
var f = clone(obj);
|
|
234
250
|
if (!obj.hasOwnProperty(resources_1.resources.page)) {
|
|
235
251
|
obj[resources_1.resources.page] = page;
|
package/package.json
CHANGED
package/src/search.ts
CHANGED
|
@@ -36,6 +36,21 @@ export interface SearchResult<T> {
|
|
|
36
36
|
last?: boolean;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
export function queryPage<F extends Filter>(req: Request, filter?: F): number {
|
|
40
|
+
const field = req.query[resources.page];
|
|
41
|
+
const v = field ? field.toString() : undefined;
|
|
42
|
+
if (!v || v.length === 0) {
|
|
43
|
+
(filter as any)[resources.page] = 1;
|
|
44
|
+
return 1;
|
|
45
|
+
}
|
|
46
|
+
if (isNaN(v as any)) {
|
|
47
|
+
(filter as any)[resources.page] = 1;
|
|
48
|
+
return 1;
|
|
49
|
+
}
|
|
50
|
+
const n = parseFloat(v);
|
|
51
|
+
(filter as any)[resources.page] = n;
|
|
52
|
+
return n;
|
|
53
|
+
}
|
|
39
54
|
export function getOffset(limit: number, page: number): number {
|
|
40
55
|
const offset = limit * (page - 1);
|
|
41
56
|
return offset < 0 ? 0 : offset;
|
|
@@ -250,7 +265,7 @@ export function clone(obj: any): any {
|
|
|
250
265
|
}
|
|
251
266
|
return x;
|
|
252
267
|
}
|
|
253
|
-
export function cloneFilter<F extends Filter>(obj: F,
|
|
268
|
+
export function cloneFilter<F extends Filter>(obj: F, limit: number, page: number): F {
|
|
254
269
|
const f = clone(obj);
|
|
255
270
|
if (!obj.hasOwnProperty(resources.page)) {
|
|
256
271
|
(obj as any)[resources.page] = page;
|