express-ext 0.5.3 → 0.5.4

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 CHANGED
@@ -3,6 +3,114 @@ 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 getPage(req, filter) {
7
+ if (filter) {
8
+ var v0 = filter[resources_1.resources.page]
9
+ if (v0 == undefined) {
10
+ var field_1 = req.query[resources_1.resources.page]
11
+ var v_1 = field_1 ? field_1.toString() : undefined
12
+ if (!v_1 || v_1.length === 0) {
13
+ filter[resources_1.resources.page] = 1
14
+ return 1
15
+ }
16
+ if (isNaN(v_1)) {
17
+ filter[resources_1.resources.page] = 1
18
+ return 1
19
+ } else {
20
+ var n_1 = parseFloat(v_1)
21
+ if (n_1 < 1) {
22
+ n_1 = 1
23
+ }
24
+ filter[resources_1.resources.page] = n_1
25
+ return n_1
26
+ }
27
+ } else if (typeof v0 === "number") {
28
+ if (v0 > 0) {
29
+ return v0
30
+ } else {
31
+ filter[resources_1.resources.page] = 1
32
+ return 1
33
+ }
34
+ }
35
+ }
36
+ var field = req.query[resources_1.resources.page]
37
+ var v = field ? field.toString() : undefined
38
+ if (!v || v.length === 0) {
39
+ if (filter) {
40
+ filter[resources_1.resources.page] = 1
41
+ }
42
+ return 1
43
+ }
44
+ if (isNaN(v)) {
45
+ if (filter) {
46
+ filter[resources_1.resources.page] = 1
47
+ }
48
+ return 1
49
+ }
50
+ var n = parseFloat(v)
51
+ if (n < 1) {
52
+ n = 1
53
+ }
54
+ if (filter) {
55
+ filter[resources_1.resources.page] = n
56
+ }
57
+ return n
58
+ }
59
+ exports.getPage = getPage
60
+ function getLimit(req, filter) {
61
+ if (filter) {
62
+ var v0 = filter[resources_1.resources.limit]
63
+ if (v0 == undefined) {
64
+ var field = req.query[resources_1.resources.limit]
65
+ var v_2 = field ? field.toString() : undefined
66
+ if (!v_2 || v_2.length === 0) {
67
+ filter[resources_1.resources.limit] = resources_1.resources.defaultLimit
68
+ return resources_1.resources.defaultLimit
69
+ }
70
+ if (isNaN(v_2)) {
71
+ filter[resources_1.resources.limit] = resources_1.resources.defaultLimit
72
+ return 1
73
+ } else {
74
+ var n_2 = parseFloat(v_2)
75
+ if (n_2 < 1) {
76
+ n_2 = resources_1.resources.defaultLimit
77
+ }
78
+ filter[resources_1.resources.limit] = n_2
79
+ return n_2
80
+ }
81
+ } else if (typeof v0 === "number") {
82
+ if (v0 > 0) {
83
+ return v0
84
+ } else {
85
+ filter[resources_1.resources.limit] = resources_1.resources.defaultLimit
86
+ return resources_1.resources.defaultLimit
87
+ }
88
+ }
89
+ }
90
+ var fieldxxx = req.query[resources_1.resources.limit]
91
+ var v = fieldxxx ? fieldxxx.toString() : undefined
92
+ if (!v || v.length === 0) {
93
+ if (filter) {
94
+ filter[resources_1.resources.limit] = resources_1.resources.defaultLimit
95
+ }
96
+ return resources_1.resources.defaultLimit
97
+ }
98
+ if (isNaN(v)) {
99
+ if (filter) {
100
+ filter[resources_1.resources.limit] = resources_1.resources.defaultLimit
101
+ }
102
+ return resources_1.resources.defaultLimit
103
+ }
104
+ var n = parseFloat(v)
105
+ if (n < 1) {
106
+ n = resources_1.resources.defaultLimit
107
+ }
108
+ if (filter) {
109
+ filter[resources_1.resources.limit] = n
110
+ }
111
+ return n
112
+ }
113
+ exports.getLimit = getLimit
6
114
  function queryLimit(req) {
7
115
  return http_1.queryNumber(req, resources_1.resources.limit, resources_1.resources.defaultLimit)
8
116
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "express-ext",
3
- "version": "0.5.3",
3
+ "version": "0.5.4",
4
4
  "description": "express-ext",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./src/index.ts",
package/src/search.ts CHANGED
@@ -36,6 +36,113 @@ export interface SearchResult<T> {
36
36
  last?: boolean
37
37
  }
38
38
 
39
+ export function getPage<F extends Filter>(req: Request, filter?: F): number {
40
+ if (filter) {
41
+ const v0 = (filter as any)[resources.page]
42
+ if (v0 == undefined) {
43
+ const field = req.query[resources.page]
44
+ const v = field ? field.toString() : undefined
45
+ if (!v || v.length === 0) {
46
+ ;(filter as any)[resources.page] = 1
47
+ return 1
48
+ }
49
+ if (isNaN(v as any)) {
50
+ ;(filter as any)[resources.page] = 1
51
+ return 1
52
+ } else {
53
+ let n = parseFloat(v)
54
+ if (n < 1) {
55
+ n = 1
56
+ }
57
+ ;(filter as any)[resources.page] = n
58
+ return n
59
+ }
60
+ } else if (typeof v0 === "number") {
61
+ if (v0 > 0) {
62
+ return v0
63
+ } else {
64
+ ;(filter as any)[resources.page] = 1
65
+ return 1
66
+ }
67
+ }
68
+ }
69
+ const field = req.query[resources.page]
70
+ const v = field ? field.toString() : undefined
71
+ if (!v || v.length === 0) {
72
+ if (filter) {
73
+ ;(filter as any)[resources.page] = 1
74
+ }
75
+ return 1
76
+ }
77
+ if (isNaN(v as any)) {
78
+ if (filter) {
79
+ ;(filter as any)[resources.page] = 1
80
+ }
81
+ return 1
82
+ }
83
+ let n = parseFloat(v)
84
+ if (n < 1) {
85
+ n = 1
86
+ }
87
+ if (filter) {
88
+ ;(filter as any)[resources.page] = n
89
+ }
90
+ return n
91
+ }
92
+
93
+ export function getLimit<F extends Filter>(req: Request, filter?: F): number {
94
+ if (filter) {
95
+ const v0 = (filter as any)[resources.limit]
96
+ if (v0 == undefined) {
97
+ const field = req.query[resources.limit]
98
+ const v = field ? field.toString() : undefined
99
+ if (!v || v.length === 0) {
100
+ ;(filter as any)[resources.limit] = resources.defaultLimit
101
+ return resources.defaultLimit
102
+ }
103
+ if (isNaN(v as any)) {
104
+ ;(filter as any)[resources.limit] = resources.defaultLimit
105
+ return 1
106
+ } else {
107
+ let n = parseFloat(v)
108
+ if (n < 1) {
109
+ n = resources.defaultLimit
110
+ }
111
+ ;(filter as any)[resources.limit] = n
112
+ return n
113
+ }
114
+ } else if (typeof v0 === "number") {
115
+ if (v0 > 0) {
116
+ return v0
117
+ } else {
118
+ ;(filter as any)[resources.limit] = resources.defaultLimit
119
+ return resources.defaultLimit
120
+ }
121
+ }
122
+ }
123
+ const fieldxxx = req.query[resources.limit]
124
+ const v = fieldxxx ? fieldxxx.toString() : undefined
125
+ if (!v || v.length === 0) {
126
+ if (filter) {
127
+ ;(filter as any)[resources.limit] = resources.defaultLimit
128
+ }
129
+ return resources.defaultLimit
130
+ }
131
+ if (isNaN(v as any)) {
132
+ if (filter) {
133
+ ;(filter as any)[resources.limit] = resources.defaultLimit
134
+ }
135
+ return resources.defaultLimit
136
+ }
137
+ let n = parseFloat(v)
138
+ if (n < 1) {
139
+ n = resources.defaultLimit
140
+ }
141
+ if (filter) {
142
+ ;(filter as any)[resources.limit] = n
143
+ }
144
+ return n
145
+ }
39
146
  export function queryLimit(req: Request): number {
40
147
  return queryNumber(req, resources.limit, resources.defaultLimit)
41
148
  }