MCPcopy Index your code
hub / github.com/TypeScriptToLua/TypeScriptToLua / constructor

Method constructor

src/lualib/WeakMap.ts:7–29  ·  view source on GitHub ↗
(entries?: Iterable<readonly [K, V]> | Array<readonly [K, V]>)

Source from the content-addressed store, hash-verified

5 private items = new LuaTable<K, V>();
6
7 constructor(entries?: Iterable<readonly [K, V]> | Array<readonly [K, V]>) {
8 setmetatable(this.items, { __mode: "k" });
9 if (entries === undefined) return;
10
11 const iterable = entries as Iterable<[K, V]>;
12 if (iterable[Symbol.iterator]) {
13 // Iterate manually because WeakMap is compiled with ES5 which doesn't support Iterables in for...of
14 const iterator = iterable[Symbol.iterator]();
15 while (true) {
16 const result = iterator.next();
17 if (result.done) {
18 break;
19 }
20
21 const value: [K, V] = result.value; // Ensures index is offset when tuple is accessed
22 this.items.set(value[0], value[1]);
23 }
24 } else {
25 for (const kvp of entries as Array<[K, V]>) {
26 this.items.set(kvp[0], kvp[1]);
27 }
28 }
29 }
30
31 public delete(key: K): boolean {
32 const contains = this.has(key);

Callers

nothing calls this directly

Calls 2

nextMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected