UNPKG

1.63 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 */
14import { InlineDocInfo } from '../model/model';
15import { ResolvedUrl } from '../model/url';
16import { Parser } from '../parser/parser';
17import { UrlResolver } from '../url-loader/url-resolver';
18import { ParsedTypeScriptDocument } from './typescript-document';
19/**
20 * A TypeScript parser that only parses a single file, not imported files.
21 * This parser is suitable for parsing ES6 as well.
22 *
23 * This parser uses a TypeScript CompilerHost that resolves all imported
24 * modules to null, and resolve the standard library to an empty file.
25 * Type checking against the result will be riddled with errors, but the
26 * parsed AST can be used to find imports.
27 *
28 * This parser may eventually be replaced with a lightweight parser that
29 * can find import statements, but due to the addition of the import()
30 * function, it could be that a full parse is needed anyway.
31 */
32export declare class TypeScriptPreparser implements Parser<ParsedTypeScriptDocument> {
33 parse(contents: string, url: ResolvedUrl, _urlResolver: UrlResolver, inlineInfo?: InlineDocInfo): ParsedTypeScriptDocument;
34}