UNPKG

1.48 kBTypeScriptView Raw
1/**
2 * @license
3 * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
4 * This code may only be used under the BSD style license found at
5 * http://polymer.github.io/LICENSE.txt
6 * The complete set of authors may be found at
7 * http://polymer.github.io/AUTHORS.txt
8 * The complete set of contributors may be found at
9 * http://polymer.github.io/CONTRIBUTORS.txt
10 * Code distributed by Google as part of the polymer project is also
11 * subject to an additional IP rights grant found at
12 * http://polymer.github.io/PATENTS.txt
13 */
14import { Visitor } from '../javascript/estree-visitor';
15import { JavaScriptDocument } from '../javascript/javascript-document';
16import { JavaScriptScanner } from '../javascript/javascript-scanner';
17import { ScannedPolymerCoreFeature } from './polymer-core-feature';
18/**
19 * Scans for Polymer 1.x core "features".
20 *
21 * In the Polymer 1.x core library, the `Polymer.Base` prototype is dynamically
22 * augmented with properties via calls to `Polymer.Base._addFeature`. These
23 * calls are spread across multiple files and split between the micro, mini,
24 * and standard "feature layers". Polymer 2.x does not use this pattern.
25 *
26 * Example: https://github.com/Polymer/polymer/blob/1.x/src/mini/debouncer.html
27 */
28export declare class PolymerCoreFeatureScanner implements JavaScriptScanner {
29 scan(document: JavaScriptDocument, visit: (visitor: Visitor) => Promise<void>): Promise<{
30 features: ScannedPolymerCoreFeature[];
31 }>;
32}