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 | */
|
14 | import { Visitor } from '../javascript/estree-visitor';
|
15 | import { JavaScriptDocument } from '../javascript/javascript-document';
|
16 | import { JavaScriptScanner } from '../javascript/javascript-scanner';
|
17 | import { 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 | */
|
28 | export declare class PolymerCoreFeatureScanner implements JavaScriptScanner {
|
29 | scan(document: JavaScriptDocument, visit: (visitor: Visitor) => Promise<void>): Promise<{
|
30 | features: ScannedPolymerCoreFeature[];
|
31 | }>;
|
32 | }
|