Closed jeetiss closed 1 year ago
const enums don't have any runtime
// Flag bitset enum Flags { CHUNK_START = 1 << 0, CHUNK_END = 1 << 1, PARENT = 1 << 2, ROOT = 1 << 3, KEYED_HASH = 1 << 4, DERIVE_KEY_CONTEXT = 1 << 5, DERIVE_KEY_MATERIAL = 1 << 6, } export const example = [Flags.CHUNK_START, Flags.CHUNK_END]
compiled into:
// Flag bitset var Flags; (function (Flags) { Flags[Flags["CHUNK_START"] = 1] = "CHUNK_START"; Flags[Flags["CHUNK_END"] = 2] = "CHUNK_END"; Flags[Flags["PARENT"] = 4] = "PARENT"; Flags[Flags["ROOT"] = 8] = "ROOT"; Flags[Flags["KEYED_HASH"] = 16] = "KEYED_HASH"; Flags[Flags["DERIVE_KEY_CONTEXT"] = 32] = "DERIVE_KEY_CONTEXT"; Flags[Flags["DERIVE_KEY_MATERIAL"] = 64] = "DERIVE_KEY_MATERIAL"; })(Flags || (Flags = {})); export const example = [Flags.CHUNK_START, Flags.CHUNK_END];
to support extending in runtime, when const enums just compiled to single values:
export const example = [1 /* Flags.CHUNK_START */, 2 /* Flags.CHUNK_END */];
this PR should decrease bundle size for entries that use enums
enums
const enums don't have any runtime
compiled into:
to support extending in runtime, when const enums just compiled to single values:
this PR should decrease bundle size for entries that use
enums