hummus-recipe
Version:
A powerful PDF tool for NodeJS based on HummusJS
23 lines (16 loc) • 412 B
text/coffeescript
class Bitfield
constructor: (, = []) ->
decode: (stream) ->
val = .decode(stream)
res = {}
for flag, i in when flag?
res[flag] = !!(val & (1 << i))
return res
size: ->
.size()
encode: (stream, keys) ->
val = 0
for flag, i in when flag?
val |= (1 << i) if keys[flag]
.encode(stream, val)
module.exports = Bitfield