UNPKG

2.22 kBTypeScriptView Raw
1/**
2 * @license
3 * Copyright (c) 2016 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/**
15 * This directory exposes our underlying models. The naming scheme is based on
16 * the stage of the processing pipeline that an object is produced by.
17 *
18 * The pipeline looks like:
19 * load: reads in bytes from filesystem/network
20 * parse: convert bytes to abstract syntax trees
21 * scan: extract entirely local features from a single ast
22 * resolve: integrate cross-file information to produce the final result
23 *
24 * Importantly, we can cache everything before `resolve` at the file level,
25 * making incremental analysis efficient.
26 *
27 * Because the output of the resolve phase is the API that will get the most
28 * use, its results have clear, unprefixed names. So a resolved document is just
29 * a Document, a resolved element is an Element.
30 *
31 * Earlier stages have the longer names, like ParsedDocument and ScannedElement.
32 */
33export { Analysis } from './analysis';
34export * from './attribute';
35export * from './class';
36export { Document, ScannedDocument } from './document';
37export { DocumentBackreference } from './document-backreference';
38export * from './element';
39export * from './element-base';
40export * from './element-mixin';
41export { ElementReference, ScannedElementReference } from './element-reference';
42export * from './event';
43export * from './feature';
44export * from './import';
45export * from './inline-document';
46export * from './literal';
47export * from './property';
48export * from './map';
49export * from './method';
50export { Queryable, FeatureKindMap, DocumentQuery, AnalysisQuery } from './queryable';
51export * from './reference';
52export * from './resolvable';
53export * from './source-range';
54export * from './url';
55export * from './warning';