HEX
Server: LiteSpeed
System: Linux s1296.sgp1.mysecurecloudhost.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: bishwesh (1878)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/bishwesh/internstolearn.com/node_modules/restructure/src/Bitfield.coffee
class Bitfield
  constructor: (@type, @flags = []) ->
  decode: (stream) ->
    val = @type.decode(stream)

    res = {}
    for flag, i in @flags when flag?
      res[flag] = !!(val & (1 << i))

    return res

  size: ->
    @type.size()

  encode: (stream, keys) ->
    val = 0
    for flag, i in @flags when flag?
      val |= (1 << i) if keys[flag]

    @type.encode(stream, val)

module.exports = Bitfield