UNPKG

688 Btext/coffeescriptView Raw
1module.exports = class Tuple
2
3 @isHash: (data) ->
4 if !data or data instanceof Array or typeof data isnt 'object'
5 return false
6 return true
7
8 @DEFAULT = {expire: 300}
9
10 constructor: (@data) ->
11 @__defineSetter__ 'expire', (sec) ->
12 @expire_at = Math.floor(Date.now()/1000)+sec
13 @expire = 300
14
15 match: (tuple) ->
16 return false unless Tuple.isHash(tuple)
17 data = if tuple instanceof Tuple then tuple.data else tuple
18 for k,v of @data
19 if typeof v is 'object'
20 return false if typeof data[k] isnt 'object'
21 return false if JSON.stringify(v) isnt JSON.stringify(data[k])
22 else
23 return false if v isnt data[k]
24 return true