@oicl-lit/analyzer 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/LICENSE +28 -0
  2. package/README.md +76 -0
  3. package/index.d.ts +10 -0
  4. package/index.d.ts.map +1 -0
  5. package/index.js +10 -0
  6. package/index.js.map +1 -0
  7. package/lib/analyzer.d.ts +47 -0
  8. package/lib/analyzer.d.ts.map +1 -0
  9. package/lib/analyzer.js +90 -0
  10. package/lib/analyzer.js.map +1 -0
  11. package/lib/custom-elements/custom-elements.d.ts +33 -0
  12. package/lib/custom-elements/custom-elements.d.ts.map +1 -0
  13. package/lib/custom-elements/custom-elements.js +124 -0
  14. package/lib/custom-elements/custom-elements.js.map +1 -0
  15. package/lib/custom-elements/events.d.ts +19 -0
  16. package/lib/custom-elements/events.d.ts.map +1 -0
  17. package/lib/custom-elements/events.js +25 -0
  18. package/lib/custom-elements/events.js.map +1 -0
  19. package/lib/diagnostic-code.d.ts +21 -0
  20. package/lib/diagnostic-code.d.ts.map +1 -0
  21. package/lib/diagnostic-code.js +20 -0
  22. package/lib/diagnostic-code.js.map +1 -0
  23. package/lib/errors.d.ts +24 -0
  24. package/lib/errors.d.ts.map +1 -0
  25. package/lib/errors.js +17 -0
  26. package/lib/errors.js.map +1 -0
  27. package/lib/javascript/classes.d.ts +50 -0
  28. package/lib/javascript/classes.d.ts.map +1 -0
  29. package/lib/javascript/classes.js +307 -0
  30. package/lib/javascript/classes.js.map +1 -0
  31. package/lib/javascript/functions.d.ts +31 -0
  32. package/lib/javascript/functions.d.ts.map +1 -0
  33. package/lib/javascript/functions.js +144 -0
  34. package/lib/javascript/functions.js.map +1 -0
  35. package/lib/javascript/jsdoc.d.ts +67 -0
  36. package/lib/javascript/jsdoc.d.ts.map +1 -0
  37. package/lib/javascript/jsdoc.js +244 -0
  38. package/lib/javascript/jsdoc.js.map +1 -0
  39. package/lib/javascript/mixins.d.ts +45 -0
  40. package/lib/javascript/mixins.d.ts.map +1 -0
  41. package/lib/javascript/mixins.js +147 -0
  42. package/lib/javascript/mixins.js.map +1 -0
  43. package/lib/javascript/modules.d.ts +42 -0
  44. package/lib/javascript/modules.d.ts.map +1 -0
  45. package/lib/javascript/modules.js +277 -0
  46. package/lib/javascript/modules.js.map +1 -0
  47. package/lib/javascript/packages.d.ts +18 -0
  48. package/lib/javascript/packages.d.ts.map +1 -0
  49. package/lib/javascript/packages.js +53 -0
  50. package/lib/javascript/packages.js.map +1 -0
  51. package/lib/javascript/variables.d.ts +29 -0
  52. package/lib/javascript/variables.d.ts.map +1 -0
  53. package/lib/javascript/variables.js +143 -0
  54. package/lib/javascript/variables.js.map +1 -0
  55. package/lib/lit/decorators.d.ts +36 -0
  56. package/lib/lit/decorators.d.ts.map +1 -0
  57. package/lib/lit/decorators.js +32 -0
  58. package/lib/lit/decorators.js.map +1 -0
  59. package/lib/lit/lit-element.d.ts +39 -0
  60. package/lib/lit/lit-element.d.ts.map +1 -0
  61. package/lib/lit/lit-element.js +96 -0
  62. package/lib/lit/lit-element.js.map +1 -0
  63. package/lib/lit/modules.d.ts +28 -0
  64. package/lib/lit/modules.d.ts.map +1 -0
  65. package/lib/lit/modules.js +62 -0
  66. package/lib/lit/modules.js.map +1 -0
  67. package/lib/lit/properties.d.ts +43 -0
  68. package/lib/lit/properties.d.ts.map +1 -0
  69. package/lib/lit/properties.js +268 -0
  70. package/lib/lit/properties.js.map +1 -0
  71. package/lib/lit/template.d.ts +110 -0
  72. package/lib/lit/template.d.ts.map +1 -0
  73. package/lib/lit/template.js +412 -0
  74. package/lib/lit/template.js.map +1 -0
  75. package/lib/lit-element/decorators.d.ts +11 -0
  76. package/lib/lit-element/decorators.d.ts.map +1 -0
  77. package/lib/lit-element/decorators.js +11 -0
  78. package/lib/lit-element/decorators.js.map +1 -0
  79. package/lib/lit-element/lit-element.d.ts +11 -0
  80. package/lib/lit-element/lit-element.d.ts.map +1 -0
  81. package/lib/lit-element/lit-element.js +11 -0
  82. package/lib/lit-element/lit-element.js.map +1 -0
  83. package/lib/lit-element/properties.d.ts +11 -0
  84. package/lib/lit-element/properties.d.ts.map +1 -0
  85. package/lib/lit-element/properties.js +11 -0
  86. package/lib/lit-element/properties.js.map +1 -0
  87. package/lib/model.d.ts +506 -0
  88. package/lib/model.d.ts.map +1 -0
  89. package/lib/model.js +392 -0
  90. package/lib/model.js.map +1 -0
  91. package/lib/package-analyzer.d.ts +25 -0
  92. package/lib/package-analyzer.d.ts.map +1 -0
  93. package/lib/package-analyzer.js +81 -0
  94. package/lib/package-analyzer.js.map +1 -0
  95. package/lib/paths.d.ts +24 -0
  96. package/lib/paths.d.ts.map +1 -0
  97. package/lib/paths.js +35 -0
  98. package/lib/paths.js.map +1 -0
  99. package/lib/references.d.ts +107 -0
  100. package/lib/references.d.ts.map +1 -0
  101. package/lib/references.js +345 -0
  102. package/lib/references.js.map +1 -0
  103. package/lib/types.d.ts +25 -0
  104. package/lib/types.d.ts.map +1 -0
  105. package/lib/types.js +257 -0
  106. package/lib/types.js.map +1 -0
  107. package/lib/utils.d.ts +22 -0
  108. package/lib/utils.d.ts.map +1 -0
  109. package/lib/utils.js +51 -0
  110. package/lib/utils.js.map +1 -0
  111. package/package-analyzer.d.ts +8 -0
  112. package/package-analyzer.d.ts.map +1 -0
  113. package/package-analyzer.js +8 -0
  114. package/package-analyzer.js.map +1 -0
  115. package/package.json +109 -0
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2024 Google LLC
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */
6
+ /**
7
+ * @fileoverview
8
+ * @deprecated Use /lib/lit/decorators.js instead.
9
+ */
10
+ export * from '../lit/decorators.js';
11
+ //# sourceMappingURL=decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/lib/lit-element/decorators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AAEH,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2024 Google LLC
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */
6
+ /**
7
+ * @fileoverview
8
+ * @deprecated Use /lib/lit/decorators.js instead.
9
+ */
10
+ export * from '../lit/decorators.js';
11
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/lib/lit-element/decorators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AAEH,cAAc,sBAAsB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * @fileoverview\n * @deprecated Use /lib/lit/decorators.js instead.\n */\n\nexport * from '../lit/decorators.js';\n"]}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2024 Google LLC
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */
6
+ /**
7
+ * @fileoverview
8
+ * @deprecated Use /lib/lit/lit-element.js instead.
9
+ */
10
+ export * from '../lit/lit-element.js';
11
+ //# sourceMappingURL=lit-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lit-element.d.ts","sourceRoot":"","sources":["../../src/lib/lit-element/lit-element.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AAEH,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2024 Google LLC
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */
6
+ /**
7
+ * @fileoverview
8
+ * @deprecated Use /lib/lit/lit-element.js instead.
9
+ */
10
+ export * from '../lit/lit-element.js';
11
+ //# sourceMappingURL=lit-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lit-element.js","sourceRoot":"","sources":["../../src/lib/lit-element/lit-element.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AAEH,cAAc,uBAAuB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * @fileoverview\n * @deprecated Use /lib/lit/lit-element.js instead.\n */\n\nexport * from '../lit/lit-element.js';\n"]}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2024 Google LLC
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */
6
+ /**
7
+ * @fileoverview
8
+ * @deprecated Use /lib/lit/properties.js instead.
9
+ */
10
+ export * from '../lit/properties.js';
11
+ //# sourceMappingURL=properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../src/lib/lit-element/properties.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AAEH,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2024 Google LLC
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */
6
+ /**
7
+ * @fileoverview
8
+ * @deprecated Use /lib/lit/properties.js instead.
9
+ */
10
+ export * from '../lit/properties.js';
11
+ //# sourceMappingURL=properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/lib/lit-element/properties.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AAEH,cAAc,sBAAsB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * @fileoverview\n * @deprecated Use /lib/lit/properties.js instead.\n */\n\nexport * from '../lit/properties.js';\n"]}
package/lib/model.d.ts ADDED
@@ -0,0 +1,506 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */
6
+ import type ts from 'typescript';
7
+ import { AbsolutePath, PackagePath } from './paths.js';
8
+ import { IPackageJson as PackageJson } from 'package-json-type';
9
+ export { PackageJson };
10
+ export type TypeScript = typeof ts;
11
+ export type Constructor<T> = new (...args: any[]) => T;
12
+ /**
13
+ * Return type of `getLitElementModules`: contains a module and filtered list of
14
+ * LitElementDeclarations contained within it.
15
+ */
16
+ export type ModuleWithLitElementDeclarations = {
17
+ module: Module;
18
+ declarations: LitElementDeclaration[];
19
+ };
20
+ export interface PackageInfoInit {
21
+ name: string;
22
+ rootDir: AbsolutePath;
23
+ packageJson: PackageJson;
24
+ }
25
+ export declare class PackageInfo {
26
+ readonly name: string;
27
+ readonly rootDir: AbsolutePath;
28
+ readonly packageJson: PackageJson;
29
+ constructor(init: PackageInfoInit);
30
+ }
31
+ export interface PackageInit extends PackageInfo {
32
+ modules: ReadonlyArray<Module>;
33
+ }
34
+ export declare class Package extends PackageInfo {
35
+ readonly modules: ReadonlyArray<Module>;
36
+ constructor(init: PackageInit);
37
+ /**
38
+ * Returns a list of modules in this package containing LitElement
39
+ * declarations, along with the filtered list of LitElementDeclarations.
40
+ */
41
+ getLitElementModules(): {
42
+ module: Module;
43
+ declarations: LitElementDeclaration[];
44
+ }[];
45
+ }
46
+ export type LocalNameOrReference = string | Reference;
47
+ export type ExportMap = Map<string, LocalNameOrReference>;
48
+ export type DeclarationMap = Map<string, Declaration | (() => Declaration)>;
49
+ export interface ModuleInit extends DeprecatableDescribed {
50
+ sourceFile: ts.SourceFile;
51
+ sourcePath: PackagePath;
52
+ jsPath: PackagePath;
53
+ packageJson: PackageJson;
54
+ declarationMap: DeclarationMap;
55
+ exportMap: ExportMap;
56
+ dependencies: Set<AbsolutePath>;
57
+ finalizeExports?: () => void;
58
+ }
59
+ export interface ModuleInfo {
60
+ sourcePath: PackagePath;
61
+ jsPath: PackagePath;
62
+ packageJson: PackageJson;
63
+ }
64
+ export declare class Module {
65
+ /**
66
+ * The TS AST node for the file
67
+ */
68
+ readonly sourceFile: ts.SourceFile;
69
+ /**
70
+ * The path to the source file for this module. In a TS project, this will be
71
+ * a .ts file. In a JS project, this will be the same as `jsPath`.
72
+ */
73
+ readonly sourcePath: PackagePath;
74
+ /**
75
+ * The path to the javascript file for this module. In a TS project, this will
76
+ * be the output location of the compiler for the given `sourcePath`. In a JS
77
+ * project this will be the same as `sourcePath`.
78
+ */
79
+ readonly jsPath: PackagePath;
80
+ /**
81
+ * A map of names to models or model factories for all Declarations in this module.
82
+ */
83
+ private readonly _declarationMap;
84
+ /**
85
+ * Private storage for all declarations within this module, memoized
86
+ * in `get declarations()` getter.
87
+ */
88
+ private _declarations;
89
+ /**
90
+ * A set of all dependencies of this module, as module absolute paths.
91
+ */
92
+ readonly dependencies: Set<AbsolutePath>;
93
+ /**
94
+ * The package.json contents for the package containing this module.
95
+ */
96
+ readonly packageJson: PackageJson;
97
+ /**
98
+ * A map of exported names to local declaration names or References, in
99
+ * the case of re-exported symbols.
100
+ */
101
+ private readonly _exportMap;
102
+ /**
103
+ * A list of module paths for all wildcard re-exports
104
+ */
105
+ private _finalizeExports;
106
+ /**
107
+ * The module's user-facing description.
108
+ */
109
+ readonly description?: string | undefined;
110
+ /**
111
+ * The module's user-facing summary.
112
+ */
113
+ readonly summary?: string | undefined;
114
+ /**
115
+ * The module's user-facing deprecation status.
116
+ */
117
+ readonly deprecated?: string | boolean | undefined;
118
+ constructor(init: ModuleInit);
119
+ /**
120
+ * Ensures the list of exports includes the names of all reexports
121
+ * from other modules.
122
+ */
123
+ private _ensureExportsFinalized;
124
+ /**
125
+ * Returns names of all exported declarations.
126
+ */
127
+ get exportNames(): string[];
128
+ /**
129
+ * Given an exported symbol name, returns a Declaration if it was
130
+ * defined in this module, or a Reference if it was imported from
131
+ * another module.
132
+ */
133
+ getExport(name: string): Declaration | Reference;
134
+ /**
135
+ * Return Reference for given export name.
136
+ *
137
+ * For references to local declarations, the module will be undefined.
138
+ * For re-exports, the Reference will point to a package & module.
139
+ */
140
+ getExportReference(name: string): Reference;
141
+ /**
142
+ * Given an exported symbol name, returns the concrete Declaration
143
+ * for that symbol, following it through any re-exports.
144
+ */
145
+ getResolvedExport(name: string): Declaration;
146
+ /**
147
+ * Returns a `Declaration` model for the given name in top-level module scope.
148
+ *
149
+ * Note, the name is local to the module, and the declaration may be exported
150
+ * from with a different name. The declaration is always concrete, and will
151
+ * never be a `Reference`.
152
+ */
153
+ getDeclaration(name: string): Declaration;
154
+ /**
155
+ * Returns a list of all Declarations locally defined in this module.
156
+ */
157
+ get declarations(): Declaration[];
158
+ /**
159
+ * Returns all custom elements registered in this module.
160
+ */
161
+ getCustomElementExports(): LitElementExport[];
162
+ }
163
+ interface DeclarationInit extends DeprecatableDescribed {
164
+ name: string;
165
+ node: ts.Node;
166
+ }
167
+ export declare abstract class Declaration {
168
+ readonly name: string;
169
+ readonly description?: string | undefined;
170
+ readonly summary?: string | undefined;
171
+ readonly deprecated?: string | boolean | undefined;
172
+ readonly node: ts.Node;
173
+ constructor(init: DeclarationInit);
174
+ isVariableDeclaration(): this is VariableDeclaration;
175
+ isClassDeclaration(): this is ClassDeclaration;
176
+ isLitElementDeclaration(): this is LitElementDeclaration;
177
+ isFunctionDeclaration(): this is FunctionDeclaration;
178
+ isMixinDeclaration(): this is MixinDeclaration;
179
+ isClassField(): this is ClassField;
180
+ isClassMethod(): this is ClassMethod;
181
+ isCustomElementDeclaration(): this is CustomElementDeclaration;
182
+ }
183
+ export interface VariableDeclarationInit extends DeclarationInit {
184
+ node: ts.VariableDeclaration | ts.ExportAssignment | ts.EnumDeclaration;
185
+ type: Type | undefined;
186
+ }
187
+ export declare class VariableDeclaration extends Declaration {
188
+ readonly type: Type | undefined;
189
+ readonly node: ts.VariableDeclaration | ts.ExportAssignment | ts.EnumDeclaration;
190
+ constructor(init: VariableDeclarationInit);
191
+ }
192
+ export interface FunctionLikeInit extends DeclarationInit {
193
+ name: string;
194
+ parameters?: Parameter[] | undefined;
195
+ return?: Return | undefined;
196
+ overloads?: FunctionOverloadDeclaration[] | undefined;
197
+ node: ts.FunctionLikeDeclaration;
198
+ }
199
+ export declare class FunctionDeclaration extends Declaration {
200
+ parameters?: Parameter[] | undefined;
201
+ return?: Return | undefined;
202
+ overloads?: FunctionOverloadDeclaration[] | undefined;
203
+ readonly node: ts.FunctionLikeDeclaration;
204
+ constructor(init: FunctionLikeInit);
205
+ }
206
+ export interface FunctionLikeOverloadInit extends FunctionLikeInit {
207
+ overloads?: undefined;
208
+ }
209
+ export declare class FunctionOverloadDeclaration extends FunctionDeclaration {
210
+ overloads: undefined;
211
+ constructor(init: FunctionLikeOverloadInit);
212
+ }
213
+ export type Privacy = 'public' | 'private' | 'protected';
214
+ export interface SourceReference {
215
+ href: string;
216
+ }
217
+ export interface ClassMethodInit extends FunctionLikeInit {
218
+ static?: boolean | undefined;
219
+ privacy?: Privacy | undefined;
220
+ inheritedFrom?: Reference | undefined;
221
+ source?: SourceReference | undefined;
222
+ node: ts.MethodDeclaration;
223
+ }
224
+ export declare class ClassMethod extends FunctionDeclaration {
225
+ static?: boolean | undefined;
226
+ privacy?: Privacy | undefined;
227
+ inheritedFrom?: Reference | undefined;
228
+ source?: SourceReference | undefined;
229
+ readonly node: ts.MethodDeclaration;
230
+ constructor(init: ClassMethodInit);
231
+ }
232
+ export interface ClassFieldInit extends DeclarationInit, PropertyLike {
233
+ static?: boolean | undefined;
234
+ privacy?: Privacy | undefined;
235
+ inheritedFrom?: Reference | undefined;
236
+ source?: SourceReference | undefined;
237
+ readonly?: boolean | undefined;
238
+ node: ts.PropertyDeclaration | ts.AssignmentExpression<ts.EqualsToken> | ts.AccessorDeclaration;
239
+ }
240
+ export declare class ClassField extends Declaration {
241
+ static?: boolean | undefined;
242
+ privacy?: Privacy | undefined;
243
+ inheritedFrom?: Reference | undefined;
244
+ source?: SourceReference | undefined;
245
+ readonly?: boolean | undefined;
246
+ type?: Type | undefined;
247
+ default?: string | undefined;
248
+ node: ts.PropertyDeclaration | ts.AssignmentExpression<ts.EqualsToken> | ts.AccessorDeclaration;
249
+ constructor(init: ClassFieldInit);
250
+ }
251
+ export type ClassHeritage = {
252
+ mixins: Reference[];
253
+ superClass: Reference | undefined;
254
+ };
255
+ export interface ClassDeclarationInit extends DeclarationInit {
256
+ node: ts.ClassDeclaration | ts.ClassLikeDeclaration | ts.CallExpression;
257
+ getHeritage: () => ClassHeritage;
258
+ fieldMap?: Map<string, ClassField> | undefined;
259
+ staticFieldMap?: Map<string, ClassField> | undefined;
260
+ methodMap?: Map<string, ClassMethod> | undefined;
261
+ staticMethodMap?: Map<string, ClassMethod> | undefined;
262
+ }
263
+ export declare class ClassDeclaration extends Declaration {
264
+ private _getHeritage;
265
+ private _heritage;
266
+ readonly _fieldMap: Map<string, ClassField>;
267
+ readonly _staticFieldMap: Map<string, ClassField>;
268
+ readonly _methodMap: Map<string, ClassMethod>;
269
+ readonly _staticMethodMap: Map<string, ClassMethod>;
270
+ readonly node: ts.ClassLikeDeclaration | ts.CallExpression;
271
+ constructor(init: ClassDeclarationInit);
272
+ /**
273
+ * Returns this class's `ClassHeritage` model, with references to its
274
+ * `superClass` and `mixins`.
275
+ */
276
+ get heritage(): ClassHeritage;
277
+ /**
278
+ * Returns iterator of the non-static `ClassField`s defined on the immediate
279
+ * class (excluding any inherited members).
280
+ */
281
+ get fields(): IterableIterator<ClassField>;
282
+ /**
283
+ * Returns iterator of the static `ClassField`s defined on the immediate class
284
+ * (excluding any inherited members).
285
+ */
286
+ get staticFields(): IterableIterator<ClassField>;
287
+ /**
288
+ * Returns iterator of the non-static `ClassMethod`s defined on the immediate
289
+ * class (excluding any inherited members).
290
+ */
291
+ get methods(): IterableIterator<ClassMethod>;
292
+ /**
293
+ * Returns iterator of the static `ClassMethod`s defined on the immediate
294
+ * class (excluding any inherited members).
295
+ */
296
+ get staticMethods(): IterableIterator<ClassMethod>;
297
+ /**
298
+ * Returns a non-static `ClassField` model the given name defined on the
299
+ * immediate class (excluding any inherited members).
300
+ */
301
+ getField(name: string): ClassField | undefined;
302
+ /**
303
+ * Returns a static `ClassField` model the given name defined on the immediate
304
+ * class (excluding any inherited members).
305
+ */
306
+ getStaticField(name: string): ClassField | undefined;
307
+ /**
308
+ * Returns a non-static `ClassMethod` model for the given name defined on the
309
+ * immediate class (excluding any inherited members).
310
+ */
311
+ getMethod(name: string): ClassMethod | undefined;
312
+ /**
313
+ * Returns a static `ClassMethod` model for the given name defined on the
314
+ * immediate class (excluding any inherited members).
315
+ */
316
+ getStaticMethod(name: string): ClassMethod | undefined;
317
+ /**
318
+ * Returns a `ClassField` or `ClassMethod` model for the given name defined on
319
+ * the immediate class (excluding any inherited members).
320
+ *
321
+ * Note that if a field and method of the same name were defined (error is TS,
322
+ * but possible in JS), the `ClassField` will be returned from this method, as
323
+ * it takes precedence by virtue of being an instance property (vs. a method,
324
+ * which is defined on the prototype).
325
+ */
326
+ getMember(name: string): ClassMethod | ClassField | undefined;
327
+ }
328
+ export interface MixinDeclarationInit extends FunctionLikeInit {
329
+ classDeclaration: ClassDeclaration;
330
+ superClassArgIndex: number;
331
+ }
332
+ export declare class MixinDeclaration extends FunctionDeclaration {
333
+ readonly classDeclaration: ClassDeclaration;
334
+ readonly superClassArgIndex: number;
335
+ constructor(init: MixinDeclarationInit);
336
+ }
337
+ export interface Described {
338
+ description?: string | undefined;
339
+ summary?: string | undefined;
340
+ }
341
+ export interface NamedDescribed extends Described {
342
+ name: string;
343
+ default?: string;
344
+ }
345
+ export interface CSSPropertyInfo extends NamedDescribed {
346
+ syntax?: string;
347
+ }
348
+ export interface TypedNamedDescribed extends NamedDescribed {
349
+ type?: string;
350
+ }
351
+ export interface DeprecatableDescribed extends Described {
352
+ deprecated?: string | boolean | undefined;
353
+ }
354
+ interface CustomElementDeclarationInit extends ClassDeclarationInit {
355
+ tagname: string | undefined;
356
+ events: Map<string, Event>;
357
+ slots: Map<string, NamedDescribed>;
358
+ cssProperties: Map<string, CSSPropertyInfo>;
359
+ cssParts: Map<string, NamedDescribed>;
360
+ }
361
+ interface LitElementDeclarationInit extends CustomElementDeclarationInit {
362
+ reactiveProperties: Map<string, ReactiveProperty>;
363
+ }
364
+ export declare class CustomElementDeclaration extends ClassDeclaration {
365
+ /**
366
+ * The element's tag name, if one is associated with this class declaration,
367
+ * such as with a `@customElement()` decorator or `customElements.define()`
368
+ * call int he same module.
369
+ *
370
+ * This is undefined if the element has no associated custom element
371
+ * registration in the same module. This class might be intended for use as a
372
+ * base class or with scoped custom element registries.
373
+ */
374
+ readonly tagname: string | undefined;
375
+ readonly events: Map<string, Event>;
376
+ readonly slots: Map<string, NamedDescribed>;
377
+ readonly cssProperties: Map<string, CSSPropertyInfo>;
378
+ readonly cssParts: Map<string, NamedDescribed>;
379
+ constructor(init: CustomElementDeclarationInit);
380
+ }
381
+ export declare class LitElementDeclaration extends CustomElementDeclaration {
382
+ readonly reactiveProperties: Map<string, ReactiveProperty>;
383
+ constructor(init: LitElementDeclarationInit);
384
+ }
385
+ /**
386
+ * A LitElementDeclaration that has been globally registered with a tagname.
387
+ */
388
+ export interface LitElementExport extends LitElementDeclaration {
389
+ tagname: string;
390
+ }
391
+ export interface PropertyLike extends DeprecatableDescribed {
392
+ name: string;
393
+ node: ts.Node;
394
+ type: Type | undefined;
395
+ default?: string | undefined;
396
+ }
397
+ export interface Return {
398
+ type?: Type | undefined;
399
+ summary?: string | undefined;
400
+ description?: string | undefined;
401
+ }
402
+ export interface Parameter extends PropertyLike {
403
+ node: ts.ParameterDeclaration;
404
+ optional?: boolean | undefined;
405
+ rest?: boolean | undefined;
406
+ }
407
+ export interface ReactiveProperty extends PropertyLike {
408
+ /**
409
+ * The property declaration.
410
+ *
411
+ * A ts.PropertyDeclaration if the property was declared as a class field,
412
+ * or a ts.PropertyAssignment if the property was declared in a static
413
+ * properties block.
414
+ */
415
+ node: ts.PropertyDeclaration | ts.PropertyAssignment;
416
+ optionsNode: ts.ObjectLiteralExpression | undefined;
417
+ reflect: boolean;
418
+ attribute: boolean | string | undefined;
419
+ /**
420
+ * The test of the `type` property option.
421
+ *
422
+ * This is really only useful if the type is one of the well known types:
423
+ * String, Number, or Boolean.
424
+ */
425
+ typeOption: string | undefined;
426
+ /**
427
+ * The Node for the `converter` option if present.
428
+ *
429
+ * This is mostly useful to know whether the `type` option can be interpreted
430
+ * with the default semantics or not.
431
+ */
432
+ converter: ts.Node | undefined;
433
+ }
434
+ export interface Event {
435
+ name: string;
436
+ description: string | undefined;
437
+ summary: string | undefined;
438
+ type: Type | undefined;
439
+ }
440
+ export interface LitModule {
441
+ module: Module;
442
+ elements: LitElementDeclaration[];
443
+ }
444
+ export interface ReferenceInit {
445
+ name: string;
446
+ package?: string | undefined;
447
+ module?: string | undefined;
448
+ isGlobal?: boolean;
449
+ dereference?: () => Declaration | undefined;
450
+ }
451
+ export declare class Reference {
452
+ readonly name: string;
453
+ readonly package: string | undefined;
454
+ readonly module: string | undefined;
455
+ readonly isGlobal: boolean;
456
+ private readonly _dereference;
457
+ private _model;
458
+ constructor(init: ReferenceInit);
459
+ get moduleSpecifier(): string | undefined;
460
+ /**
461
+ * Returns the Declaration model that this reference points to, optionally
462
+ * validating (and casting) it to be of a given type by passing a model
463
+ * constructor.
464
+ */
465
+ dereference<T extends Declaration>(type?: Constructor<T> | undefined): T;
466
+ }
467
+ export interface TypeInit {
468
+ type: ts.Type;
469
+ text: string;
470
+ getReferences: () => Reference[];
471
+ }
472
+ export declare class Type {
473
+ type: ts.Type;
474
+ text: string;
475
+ private _getReferences;
476
+ private _references;
477
+ constructor(init: TypeInit);
478
+ get references(): Reference[];
479
+ }
480
+ /**
481
+ * Returns a deduped / coalesced string of import statements required to load
482
+ * the given references.
483
+ * TODO(kschaaf): Probably want to accept info about existing imports to dedupe
484
+ * with.
485
+ */
486
+ export declare const getImportsStringForReferences: (references: Reference[]) => string;
487
+ export interface AnalyzerInterface {
488
+ moduleCache: Map<AbsolutePath, Module>;
489
+ typescript: TypeScript;
490
+ program: ts.Program;
491
+ commandLine: ts.ParsedCommandLine;
492
+ fs: Pick<ts.System, 'readDirectory' | 'readFile' | 'realpath' | 'fileExists' | 'useCaseSensitiveFileNames'>;
493
+ path: Pick<typeof import('path'), 'join' | 'relative' | 'dirname' | 'basename' | 'dirname' | 'parse' | 'normalize' | 'isAbsolute' | 'sep'>;
494
+ addDiagnostic(diagnostic: ts.Diagnostic): void;
495
+ getDiagnostics(): IterableIterator<ts.Diagnostic>;
496
+ }
497
+ /**
498
+ * The name, model factory, and export information about a given declaration.
499
+ */
500
+ export type DeclarationInfo = {
501
+ name: string;
502
+ node: ts.Node;
503
+ factory: () => Declaration;
504
+ isExport?: boolean;
505
+ };
506
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/lib/model.ts"],"names":[],"mappings":"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"}