Parse datetime string in testFilter
This commit is contained in:
1 parent
f639435a09
commit
29d6f5b9d0
2 files changed
+19
-14
No files matched your search
@@ -63,19 +63,6 @@ exports.getParamValueFromPath = (obj, path) ->
|
|||||||
return undefined
|
return undefined
|
||||||
|
|
||||||
|
|
||||||
exports.matchType = (src, dst) ->
|
|
||||||
switch typeOf(src)
|
|
||||||
when STRING_TYPE
|
|
||||||
String(dst)
|
|
||||||
when NUMBER_TYPE
|
|
||||||
Number(dst)
|
|
||||||
when BOOLEAN_TYPE
|
|
||||||
v = String(dst).trim().toLowerCase()
|
|
||||||
v == 'true' or v == 'on' or v == 'yes' or v == '1'
|
|
||||||
else
|
|
||||||
dst
|
|
||||||
|
|
||||||
|
|
||||||
pathOverlap = (a, b, start) ->
|
pathOverlap = (a, b, start) ->
|
||||||
if a.length == b.length
|
if a.length == b.length
|
||||||
res = 3
|
res = 3
|
||||||
|
|||||||
+19
-1
@@ -244,10 +244,28 @@ test = (params, query) ->
|
|||||||
return true
|
return true
|
||||||
|
|
||||||
|
|
||||||
|
matchType = (src, dst) ->
|
||||||
|
if typeof src is 'string'
|
||||||
|
return String(dst)
|
||||||
|
else if typeof src is 'number'
|
||||||
|
if +dst == parseFloat(dst)
|
||||||
|
return +dst
|
||||||
|
else if not isNaN(Date.parse(dst))
|
||||||
|
return Date.parse(dst)
|
||||||
|
else if typeof src is 'boolean'
|
||||||
|
v = String(dst).trim()
|
||||||
|
if v is 'true' or v is 'TRUE' or v is 'True' or v is '1'
|
||||||
|
return true
|
||||||
|
else if v is 'false' or v is 'FALSE' or v is 'False' or v is '0'
|
||||||
|
return false
|
||||||
|
|
||||||
|
return dst
|
||||||
|
|
||||||
|
|
||||||
testFilter = (obj, filter) ->
|
testFilter = (obj, filter) ->
|
||||||
for k, v of filter
|
for k, v of filter
|
||||||
[param, op] = k.split(/([^a-zA-Z0-9\-\_\.].*)/, 2)
|
[param, op] = k.split(/([^a-zA-Z0-9\-\_\.].*)/, 2)
|
||||||
val = common.matchType(obj[param], v)
|
val = matchType(obj[param], v)
|
||||||
switch op
|
switch op
|
||||||
when '=', undefined
|
when '=', undefined
|
||||||
return false if obj[param] != val
|
return false if obj[param] != val
|
||||||
|
|||||||
Reference in new issue
Block a user