bin-trie-flags.js 1.0 KB

123456789101112131415161718192021
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.BinTrieFlags = void 0;
  4. /**
  5. * Bit flags & masks for the binary trie encoding used for entity decoding.
  6. *
  7. * Bit layout (16 bits total):
  8. * 15..14 VALUE_LENGTH (+1 encoding; 0 => no value)
  9. * 13 FLAG13. If valueLength>0: semicolon required flag (implicit ';').
  10. * If valueLength==0: compact run flag.
  11. * 12..7 BRANCH_LENGTH Branch length (0 => single branch in 6..0 if jumpOffset==char) OR run length (when compact run)
  12. * 6..0 JUMP_TABLE Jump offset (jump table) OR single-branch char code OR first run char
  13. */
  14. var BinTrieFlags;
  15. (function (BinTrieFlags) {
  16. BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH";
  17. BinTrieFlags[BinTrieFlags["FLAG13"] = 8192] = "FLAG13";
  18. BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"] = 8064] = "BRANCH_LENGTH";
  19. BinTrieFlags[BinTrieFlags["JUMP_TABLE"] = 127] = "JUMP_TABLE";
  20. })(BinTrieFlags || (exports.BinTrieFlags = BinTrieFlags = {}));
  21. //# sourceMappingURL=bin-trie-flags.js.map