/** * @license * Copyright 2021 Google LLC * SPDX-License-Identifier: Apache-2.0 */ /** * @fileoverview Stricter querySelector/querySelectorAll using typed-query-selector. */ import {ParseSelectorToTagNames} from 'typed-query-selector/parser.js'; /** Merge properties of the types in union `T`. Where properties overlap, property types becomes the union of the two (or more) possible types. */ type MergeTypes = { [K in (T extends unknown ? keyof T : never)]: T extends Record ? U : never; }; // Helper types for strict querySelector/querySelectorAll that includes the overlap // between HTML and SVG node names (,