| 68 | const resolvers = new Map<string, Array<() => void>>(); |
| 69 | |
| 70 | export function handleIsDefined(e: CustomEvent<{tag: string}>): void { |
| 71 | canOptimizeUsingProxy = true; |
| 72 | const tag = e.detail.tag; |
| 73 | ASSERT('handleIsDefined() expects lower-case node names', () => tag.toLowerCase() === tag); |
| 74 | definedCustomElements.add(tag); |
| 75 | if (resolvers.has(tag)) { |
| 76 | const r = resolvers.get(tag)!; |
| 77 | resolvers.delete(tag); |
| 78 | r.forEach((r) => r()); |
| 79 | } |
| 80 | } |
| 81 | |
| 82 | async function customElementsWhenDefined(tag: string): Promise<void> { |
| 83 | ASSERT('customElementsWhenDefined() expects lower-case node names', () => tag.toLowerCase() === tag); |