UNPKG

7.75 kBTypeScriptView Raw
1/**
2 * @license
3 * Copyright Google Inc. All Rights Reserved.
4 *
5 * Use of this source code is governed by an MIT-style license that can be
6 * found in the LICENSE file at https://angular.io/license
7 */
8export declare const VERSION = 3;
9export declare type MetadataEntry = ClassMetadata | InterfaceMetadata | FunctionMetadata | MetadataValue;
10export interface ModuleMetadata {
11 __symbolic: 'module';
12 version: number;
13 exports?: ModuleExportMetadata[];
14 importAs?: string;
15 metadata: {
16 [name: string]: MetadataEntry;
17 };
18 origins?: {
19 [name: string]: string;
20 };
21}
22export declare function isModuleMetadata(value: any): value is ModuleMetadata;
23export interface ModuleExportMetadata {
24 export?: (string | {
25 name: string;
26 as: string;
27 })[];
28 from: string;
29}
30export interface ClassMetadata {
31 __symbolic: 'class';
32 extends?: MetadataSymbolicExpression | MetadataError;
33 arity?: number;
34 decorators?: (MetadataSymbolicExpression | MetadataError)[];
35 members?: MetadataMap;
36 statics?: {
37 [name: string]: MetadataValue | FunctionMetadata;
38 };
39}
40export declare function isClassMetadata(value: any): value is ClassMetadata;
41export interface InterfaceMetadata {
42 __symbolic: 'interface';
43}
44export declare function isInterfaceMetadata(value: any): value is InterfaceMetadata;
45export interface MetadataMap {
46 [name: string]: MemberMetadata[];
47}
48export interface MemberMetadata {
49 __symbolic: 'constructor' | 'method' | 'property';
50 decorators?: (MetadataSymbolicExpression | MetadataError)[];
51}
52export declare function isMemberMetadata(value: any): value is MemberMetadata;
53export interface MethodMetadata extends MemberMetadata {
54 __symbolic: 'constructor' | 'method';
55 parameterDecorators?: (MetadataSymbolicExpression | MetadataError)[][];
56}
57export declare function isMethodMetadata(value: any): value is MethodMetadata;
58export interface ConstructorMetadata extends MethodMetadata {
59 __symbolic: 'constructor';
60 parameters?: (MetadataSymbolicExpression | MetadataError | null)[];
61}
62export declare function isConstructorMetadata(value: any): value is ConstructorMetadata;
63export interface FunctionMetadata {
64 __symbolic: 'function';
65 parameters: string[];
66 defaults?: MetadataValue[];
67 value: MetadataValue;
68}
69export declare function isFunctionMetadata(value: any): value is FunctionMetadata;
70export declare type MetadataValue = string | number | boolean | MetadataObject | MetadataArray | MetadataSymbolicExpression | MetadataError;
71export interface MetadataObject {
72 [name: string]: MetadataValue;
73}
74export interface MetadataArray {
75 [name: number]: MetadataValue;
76}
77export interface MetadataSymbolicExpression {
78 __symbolic: 'binary' | 'call' | 'index' | 'new' | 'pre' | 'reference' | 'select' | 'spread' | 'if';
79}
80export declare function isMetadataSymbolicExpression(value: any): value is MetadataSymbolicExpression;
81export interface MetadataSymbolicBinaryExpression extends MetadataSymbolicExpression {
82 __symbolic: 'binary';
83 operator: '&&' | '||' | '|' | '^' | '&' | '==' | '!=' | '===' | '!==' | '<' | '>' | '<=' | '>=' | 'instanceof' | 'in' | 'as' | '<<' | '>>' | '>>>' | '+' | '-' | '*' | '/' | '%' | '**';
84 left: MetadataValue;
85 right: MetadataValue;
86}
87export declare function isMetadataSymbolicBinaryExpression(value: any): value is MetadataSymbolicBinaryExpression;
88export interface MetadataSymbolicIndexExpression extends MetadataSymbolicExpression {
89 __symbolic: 'index';
90 expression: MetadataValue;
91 index: MetadataValue;
92}
93export declare function isMetadataSymbolicIndexExpression(value: any): value is MetadataSymbolicIndexExpression;
94export interface MetadataSymbolicCallExpression extends MetadataSymbolicExpression {
95 __symbolic: 'call' | 'new';
96 expression: MetadataValue;
97 arguments?: MetadataValue[];
98}
99export declare function isMetadataSymbolicCallExpression(value: any): value is MetadataSymbolicCallExpression;
100export interface MetadataSymbolicPrefixExpression extends MetadataSymbolicExpression {
101 __symbolic: 'pre';
102 operator: '+' | '-' | '~' | '!';
103 operand: MetadataValue;
104}
105export declare function isMetadataSymbolicPrefixExpression(value: any): value is MetadataSymbolicPrefixExpression;
106export interface MetadataSymbolicIfExpression extends MetadataSymbolicExpression {
107 __symbolic: 'if';
108 condition: MetadataValue;
109 thenExpression: MetadataValue;
110 elseExpression: MetadataValue;
111}
112export declare function isMetadataSymbolicIfExpression(value: any): value is MetadataSymbolicIfExpression;
113export interface MetadataGlobalReferenceExpression extends MetadataSymbolicExpression {
114 __symbolic: 'reference';
115 name: string;
116 arguments?: MetadataValue[];
117}
118export declare function isMetadataGlobalReferenceExpression(value: any): value is MetadataGlobalReferenceExpression;
119export interface MetadataModuleReferenceExpression extends MetadataSymbolicExpression {
120 __symbolic: 'reference';
121 module: string;
122}
123export declare function isMetadataModuleReferenceExpression(value: any): value is MetadataModuleReferenceExpression;
124export interface MetadataImportedSymbolReferenceExpression extends MetadataSymbolicExpression {
125 __symbolic: 'reference';
126 module: string;
127 name: string;
128 arguments?: MetadataValue[];
129}
130export declare function isMetadataImportedSymbolReferenceExpression(value: any): value is MetadataImportedSymbolReferenceExpression;
131export interface MetadataImportedDefaultReferenceExpression extends MetadataSymbolicExpression {
132 __symbolic: 'reference';
133 module: string;
134 default: boolean;
135 arguments?: MetadataValue[];
136}
137export declare function isMetadataImportDefaultReference(value: any): value is MetadataImportedDefaultReferenceExpression;
138export declare type MetadataSymbolicReferenceExpression = MetadataGlobalReferenceExpression | MetadataModuleReferenceExpression | MetadataImportedSymbolReferenceExpression | MetadataImportedDefaultReferenceExpression;
139export declare function isMetadataSymbolicReferenceExpression(value: any): value is MetadataSymbolicReferenceExpression;
140export interface MetadataSymbolicSelectExpression extends MetadataSymbolicExpression {
141 __symbolic: 'select';
142 expression: MetadataValue;
143 name: string;
144}
145export declare function isMetadataSymbolicSelectExpression(value: any): value is MetadataSymbolicSelectExpression;
146export interface MetadataSymbolicSpreadExpression extends MetadataSymbolicExpression {
147 __symbolic: 'spread';
148 expression: MetadataValue;
149}
150export declare function isMetadataSymbolicSpreadExpression(value: any): value is MetadataSymbolicSpreadExpression;
151export interface MetadataError {
152 __symbolic: 'error';
153 /**
154 * This message should be short and relatively discriptive and should be fixed once it is created.
155 * If the reader doesn't recognize the message, it will display the message unmodified. If the
156 * reader recognizes the error message is it free to use substitute message the is more
157 * descriptive and/or localized.
158 */
159 message: string;
160 /**
161 * The line number of the error in the .ts file the metadata was created for.
162 */
163 line?: number;
164 /**
165 * The number of utf8 code-units from the beginning of the file of the error.
166 */
167 character?: number;
168 /**
169 * The module of the error (only used in bundled metadata)
170 */
171 module?: string;
172 /**
173 * Context information that can be used to generate a more descriptive error message. The content
174 * of the context is dependent on the error message.
175 */
176 context?: {
177 [name: string]: string;
178 };
179}
180export declare function isMetadataError(value: any): value is MetadataError;