static-injector 1.0.10 → 2.1.0
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.
- package/import/commonjs/index.js +337 -124
- package/import/es2015/di/create_injector.js +30 -0
- package/import/es2015/di/initializer_token.js +15 -0
- package/import/es2015/di/inject_switch.js +27 -6
- package/import/es2015/di/injection_token.js +6 -0
- package/import/es2015/di/injector.js +6 -8
- package/import/es2015/di/injector_compatibility.js +90 -34
- package/import/es2015/di/injector_token.js +1 -1
- package/import/es2015/di/interface/defs.js +39 -0
- package/import/es2015/di/interface/injector.js +1 -0
- package/import/es2015/di/internal_tokens.js +9 -0
- package/import/es2015/di/metadata.js +4 -4
- package/import/es2015/di/provider_collection.js +49 -0
- package/import/es2015/di/r3_injector.js +102 -72
- package/import/es2015/di/scope.js +2 -2
- package/import/es2015/index.js +1 -1
- package/import/es2015/render3/errors_di.js +1 -1
- package/import/fesm2015/index.js +328 -114
- package/import/typings/di/create_injector.d.ts +23 -0
- package/import/typings/di/initializer_token.d.ts +15 -0
- package/import/typings/di/inject_switch.d.ts +7 -2
- package/import/typings/{decorator → di}/injectable.d.ts +2 -2
- package/import/typings/di/injection_token.d.ts +4 -0
- package/import/typings/di/injector.d.ts +20 -7
- package/import/typings/di/injector_compatibility.d.ts +42 -21
- package/import/typings/di/interface/defs.d.ts +10 -0
- package/import/typings/di/interface/injector.d.ts +26 -0
- package/import/typings/di/interface/provider.d.ts +3 -8
- package/import/typings/di/internal_tokens.d.ts +10 -0
- package/import/typings/di/provider_collection.d.ts +30 -0
- package/import/typings/di/provider_token.d.ts +1 -1
- package/import/typings/di/r3_injector.d.ts +68 -37
- package/import/typings/di/scope.d.ts +3 -2
- package/import/typings/index.d.ts +1 -1
- package/import/typings/render3/definition_factory.d.ts +1 -1
- package/package.json +5 -3
- package/{import/es2015/decorator/interface/provider.js → transform/compiler/compiler.d.ts} +1 -1
- package/transform/compiler/compiler.js +28 -0
- package/transform/compiler/index.d.ts +8 -5
- package/transform/compiler/index.js +17 -6
- package/transform/compiler/public_api.d.ts +13 -0
- package/transform/compiler/public_api.js +30 -0
- package/transform/compiler/src/compiler.d.ts +27 -0
- package/transform/compiler/src/compiler.js +47 -0
- package/transform/compiler/src/injectable_compiler_2.d.ts +7 -36
- package/transform/compiler/src/injectable_compiler_2.js +20 -23
- package/transform/compiler/src/output/output_ast.d.ts +30 -109
- package/transform/compiler/src/output/output_ast.js +66 -188
- package/transform/compiler/src/render3/partial/api.d.ts +1 -1
- package/transform/compiler/src/render3/partial/api.js +7 -0
- package/transform/compiler/src/render3/r3_factory.d.ts +8 -15
- package/transform/compiler/src/render3/r3_factory.js +46 -61
- package/transform/compiler/src/render3/util.d.ts +64 -0
- package/transform/compiler/src/render3/util.js +52 -9
- package/transform/compiler/src/render3/view/util.d.ts +0 -8
- package/transform/compiler/src/render3/view/util.js +5 -9
- package/transform/compiler-cli/src/ngtsc/annotations/common/index.d.ts +10 -0
- package/transform/compiler-cli/src/ngtsc/annotations/common/index.js +26 -0
- package/transform/compiler-cli/src/ngtsc/annotations/common/src/di.d.ts +37 -0
- package/transform/compiler-cli/src/ngtsc/annotations/common/src/di.js +197 -0
- package/transform/compiler-cli/src/ngtsc/annotations/{src → common/src}/factory.d.ts +3 -3
- package/transform/compiler-cli/src/ngtsc/annotations/{src → common/src}/factory.js +3 -3
- package/transform/compiler-cli/src/ngtsc/annotations/{src → common/src}/util.d.ts +4 -34
- package/transform/compiler-cli/src/ngtsc/annotations/common/src/util.js +181 -0
- package/transform/compiler-cli/src/ngtsc/annotations/src/injectable.d.ts +3 -4
- package/transform/compiler-cli/src/ngtsc/annotations/src/injectable.js +46 -53
- package/transform/compiler-cli/src/ngtsc/diagnostics/error.js +6 -2
- package/transform/compiler-cli/src/ngtsc/diagnostics/index.d.ts +9 -2
- package/transform/compiler-cli/src/ngtsc/diagnostics/index.js +12 -1
- package/transform/compiler-cli/src/ngtsc/imports/index.d.ts +7 -0
- package/transform/compiler-cli/src/ngtsc/imports/index.js +12 -1
- package/transform/compiler-cli/src/ngtsc/imports/src/default.d.ts +19 -0
- package/transform/compiler-cli/src/ngtsc/imports/src/default.js +28 -0
- package/transform/compiler-cli/src/ngtsc/reflection/index.d.ts +10 -3
- package/transform/compiler-cli/src/ngtsc/reflection/index.js +12 -1
- package/transform/compiler-cli/src/ngtsc/reflection/src/host.d.ts +13 -14
- package/transform/compiler-cli/src/ngtsc/reflection/src/host.js +8 -25
- package/transform/compiler-cli/src/ngtsc/reflection/src/type_to_value.d.ts +2 -2
- package/transform/compiler-cli/src/ngtsc/reflection/src/type_to_value.js +44 -55
- package/transform/compiler-cli/src/ngtsc/reflection/src/typescript.d.ts +1 -1
- package/transform/compiler-cli/src/ngtsc/reflection/src/typescript.js +55 -69
- package/transform/compiler-cli/src/ngtsc/reflection/src/util.d.ts +2 -2
- package/transform/compiler-cli/src/ngtsc/reflection/src/util.js +7 -23
- package/transform/compiler-cli/src/ngtsc/transform/index.d.ts +9 -2
- package/transform/compiler-cli/src/ngtsc/transform/index.js +12 -1
- package/transform/compiler-cli/src/ngtsc/transform/src/api.d.ts +4 -4
- package/transform/compiler-cli/src/ngtsc/transform/src/utils.d.ts +2 -2
- package/transform/compiler-cli/src/ngtsc/transform/src/utils.js +16 -31
- package/transform/compiler-cli/src/ngtsc/translator/index.d.ts +12 -5
- package/transform/compiler-cli/src/ngtsc/translator/index.js +12 -1
- package/transform/compiler-cli/src/ngtsc/translator/src/api/ast_factory.d.ts +5 -5
- package/transform/compiler-cli/src/ngtsc/translator/src/import_manager.d.ts +4 -4
- package/transform/compiler-cli/src/ngtsc/translator/src/import_manager.js +5 -21
- package/transform/compiler-cli/src/ngtsc/translator/src/translator.d.ts +2 -6
- package/transform/compiler-cli/src/ngtsc/translator/src/translator.js +6 -18
- package/transform/compiler-cli/src/ngtsc/translator/src/typescript_ast_factory.d.ts +3 -6
- package/transform/compiler-cli/src/ngtsc/translator/src/typescript_ast_factory.js +83 -90
- package/transform/compiler-cli/src/ngtsc/translator/src/typescript_translator.d.ts +4 -4
- package/transform/compiler-cli/src/ngtsc/ts_compatibility/index.d.ts +8 -0
- package/transform/compiler-cli/src/ngtsc/ts_compatibility/index.js +24 -0
- package/transform/compiler-cli/src/ngtsc/ts_compatibility/src/ts_cross_version_utils.d.ts +45 -0
- package/transform/compiler-cli/src/ngtsc/ts_compatibility/src/ts_cross_version_utils.js +86 -0
- package/transform/compiler-cli/src/ngtsc/util/src/typescript.d.ts +1 -8
- package/transform/compiler-cli/src/ngtsc/util/src/typescript.js +4 -27
- package/transform/index.js +5 -1
- package/transform/injectable-transform.js +59 -38
- package/import/typings/decorator/interface/provider.d.ts +0 -312
- package/transform/compiler/src/render3/partial/util.d.ts +0 -16
- package/transform/compiler/src/render3/partial/util.js +0 -44
- package/transform/compiler-cli/src/ngtsc/annotations/src/util.js +0 -370
- /package/import/es2015/{decorator → di}/injectable.js +0 -0
|
@@ -7,19 +7,20 @@
|
|
|
7
7
|
* found in the LICENSE file at https://angular.io/license
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.
|
|
11
|
-
exports.isNull = exports.literal = exports.ifStmt = exports.fn = exports.
|
|
10
|
+
exports.LeadingComment = exports.StmtModifier = exports.TYPED_NULL_EXPR = exports.NULL_EXPR = exports.CommaExpr = exports.LiteralMapExpr = exports.LiteralMapEntry = exports.LiteralArrayExpr = exports.ReadKeyExpr = exports.ReadPropExpr = exports.BinaryOperatorExpr = exports.UnaryOperatorExpr = exports.FunctionExpr = exports.FnParam = exports.NotExpr = exports.ConditionalExpr = exports.ExternalReference = exports.ExternalExpr = exports.LiteralPiece = exports.TemplateLiteralElement = exports.TemplateLiteral = exports.LiteralExpr = exports.InstantiateExpr = exports.InvokeFunctionExpr = exports.WritePropExpr = exports.WriteKeyExpr = exports.WriteVarExpr = exports.WrappedNodeExpr = exports.TypeofExpr = exports.ReadVarExpr = exports.Expression = exports.areAllEquivalent = exports.nullSafeIsEquivalent = exports.BinaryOperator = exports.UnaryOperator = exports.NONE_TYPE = exports.FUNCTION_TYPE = exports.STRING_TYPE = exports.NUMBER_TYPE = exports.INT_TYPE = exports.BOOL_TYPE = exports.INFERRED_TYPE = exports.DYNAMIC_TYPE = exports.MapType = exports.ArrayType = exports.ExpressionType = exports.BuiltinType = exports.BuiltinTypeName = exports.Type = exports.TypeModifier = void 0;
|
|
11
|
+
exports.isNull = exports.literal = exports.ifStmt = exports.fn = exports.not = exports.unary = exports.literalMap = exports.literalArr = exports.typeofExpr = exports.expressionType = exports.importType = exports.importExpr = exports.variable = exports.jsDocComment = exports.leadingComment = exports.IfStmt = exports.ReturnStatement = exports.ExpressionStatement = exports.DeclareFunctionStmt = exports.DeclareVarStmt = exports.Statement = exports.JSDocComment = void 0;
|
|
12
12
|
//// Types
|
|
13
13
|
var TypeModifier;
|
|
14
14
|
(function (TypeModifier) {
|
|
15
|
-
TypeModifier[TypeModifier["
|
|
15
|
+
TypeModifier[TypeModifier["None"] = 0] = "None";
|
|
16
|
+
TypeModifier[TypeModifier["Const"] = 1] = "Const";
|
|
16
17
|
})(TypeModifier = exports.TypeModifier || (exports.TypeModifier = {}));
|
|
17
18
|
class Type {
|
|
18
|
-
constructor(modifiers =
|
|
19
|
+
constructor(modifiers = TypeModifier.None) {
|
|
19
20
|
this.modifiers = modifiers;
|
|
20
21
|
}
|
|
21
22
|
hasModifier(modifier) {
|
|
22
|
-
return this.modifiers
|
|
23
|
+
return (this.modifiers & modifier) !== 0;
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
exports.Type = Type;
|
|
@@ -140,8 +141,8 @@ class Expression {
|
|
|
140
141
|
prop(name, sourceSpan) {
|
|
141
142
|
return new ReadPropExpr(this, name, null, sourceSpan);
|
|
142
143
|
}
|
|
143
|
-
|
|
144
|
-
return new
|
|
144
|
+
key(index, type, sourceSpan) {
|
|
145
|
+
return new ReadKeyExpr(this, index, type, sourceSpan);
|
|
145
146
|
}
|
|
146
147
|
callFn(params, sourceSpan, pure) {
|
|
147
148
|
return new InvokeFunctionExpr(this, params, null, sourceSpan, pure);
|
|
@@ -151,29 +152,13 @@ class Expression {
|
|
|
151
152
|
}
|
|
152
153
|
}
|
|
153
154
|
exports.Expression = Expression;
|
|
154
|
-
var BuiltinVar;
|
|
155
|
-
(function (BuiltinVar) {
|
|
156
|
-
BuiltinVar[BuiltinVar["This"] = 0] = "This";
|
|
157
|
-
BuiltinVar[BuiltinVar["Super"] = 1] = "Super";
|
|
158
|
-
BuiltinVar[BuiltinVar["CatchError"] = 2] = "CatchError";
|
|
159
|
-
BuiltinVar[BuiltinVar["CatchStack"] = 3] = "CatchStack";
|
|
160
|
-
})(BuiltinVar = exports.BuiltinVar || (exports.BuiltinVar = {}));
|
|
161
155
|
class ReadVarExpr extends Expression {
|
|
162
156
|
constructor(name, type, sourceSpan) {
|
|
163
157
|
super(type, sourceSpan);
|
|
164
|
-
|
|
165
|
-
this.name = name;
|
|
166
|
-
this.builtin = null;
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
this.name = null;
|
|
170
|
-
this.builtin = name;
|
|
171
|
-
}
|
|
158
|
+
this.name = name;
|
|
172
159
|
}
|
|
173
160
|
isEquivalent(e) {
|
|
174
|
-
return
|
|
175
|
-
this.name === e.name &&
|
|
176
|
-
this.builtin === e.builtin);
|
|
161
|
+
return e instanceof ReadVarExpr && this.name === e.name;
|
|
177
162
|
}
|
|
178
163
|
isConstant() {
|
|
179
164
|
return false;
|
|
@@ -182,9 +167,6 @@ class ReadVarExpr extends Expression {
|
|
|
182
167
|
return visitor.visitReadVarExpr(this, context);
|
|
183
168
|
}
|
|
184
169
|
set(value) {
|
|
185
|
-
if (!this.name) {
|
|
186
|
-
throw new Error(`Built in variable ${this.builtin} can not be assigned to.`);
|
|
187
|
-
}
|
|
188
170
|
return new WriteVarExpr(this.name, value, null, this.sourceSpan);
|
|
189
171
|
}
|
|
190
172
|
}
|
|
@@ -242,7 +224,7 @@ class WriteVarExpr extends Expression {
|
|
|
242
224
|
return new DeclareVarStmt(this.name, this.value, type, modifiers, this.sourceSpan);
|
|
243
225
|
}
|
|
244
226
|
toConstDecl() {
|
|
245
|
-
return this.toDeclStmt(exports.INFERRED_TYPE,
|
|
227
|
+
return this.toDeclStmt(exports.INFERRED_TYPE, StmtModifier.Final);
|
|
246
228
|
}
|
|
247
229
|
}
|
|
248
230
|
exports.WriteVarExpr = WriteVarExpr;
|
|
@@ -288,41 +270,6 @@ class WritePropExpr extends Expression {
|
|
|
288
270
|
}
|
|
289
271
|
}
|
|
290
272
|
exports.WritePropExpr = WritePropExpr;
|
|
291
|
-
var BuiltinMethod;
|
|
292
|
-
(function (BuiltinMethod) {
|
|
293
|
-
BuiltinMethod[BuiltinMethod["ConcatArray"] = 0] = "ConcatArray";
|
|
294
|
-
BuiltinMethod[BuiltinMethod["SubscribeObservable"] = 1] = "SubscribeObservable";
|
|
295
|
-
BuiltinMethod[BuiltinMethod["Bind"] = 2] = "Bind";
|
|
296
|
-
})(BuiltinMethod = exports.BuiltinMethod || (exports.BuiltinMethod = {}));
|
|
297
|
-
class InvokeMethodExpr extends Expression {
|
|
298
|
-
constructor(receiver, method, args, type, sourceSpan) {
|
|
299
|
-
super(type, sourceSpan);
|
|
300
|
-
this.receiver = receiver;
|
|
301
|
-
this.args = args;
|
|
302
|
-
if (typeof method === 'string') {
|
|
303
|
-
this.name = method;
|
|
304
|
-
this.builtin = null;
|
|
305
|
-
}
|
|
306
|
-
else {
|
|
307
|
-
this.name = null;
|
|
308
|
-
this.builtin = method;
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
isEquivalent(e) {
|
|
312
|
-
return (e instanceof InvokeMethodExpr &&
|
|
313
|
-
this.receiver.isEquivalent(e.receiver) &&
|
|
314
|
-
this.name === e.name &&
|
|
315
|
-
this.builtin === e.builtin &&
|
|
316
|
-
areAllEquivalent(this.args, e.args));
|
|
317
|
-
}
|
|
318
|
-
isConstant() {
|
|
319
|
-
return false;
|
|
320
|
-
}
|
|
321
|
-
visitExpression(visitor, context) {
|
|
322
|
-
return visitor.visitInvokeMethodExpr(this, context);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
exports.InvokeMethodExpr = InvokeMethodExpr;
|
|
326
273
|
class InvokeFunctionExpr extends Expression {
|
|
327
274
|
constructor(fn, args, type, sourceSpan, pure = false) {
|
|
328
275
|
super(type, sourceSpan);
|
|
@@ -402,23 +349,47 @@ class TemplateLiteralElement {
|
|
|
402
349
|
}
|
|
403
350
|
}
|
|
404
351
|
exports.TemplateLiteralElement = TemplateLiteralElement;
|
|
405
|
-
class
|
|
352
|
+
class LiteralPiece {
|
|
406
353
|
constructor(text, sourceSpan) {
|
|
407
354
|
this.text = text;
|
|
408
355
|
this.sourceSpan = sourceSpan;
|
|
409
356
|
}
|
|
410
357
|
}
|
|
411
|
-
exports.MessagePiece = MessagePiece;
|
|
412
|
-
class LiteralPiece extends MessagePiece {
|
|
413
|
-
}
|
|
414
358
|
exports.LiteralPiece = LiteralPiece;
|
|
415
|
-
class PlaceholderPiece extends MessagePiece {
|
|
416
|
-
}
|
|
417
|
-
exports.PlaceholderPiece = PlaceholderPiece;
|
|
418
359
|
const escapeSlashes = (str) => str.replace(/\\/g, '\\\\');
|
|
419
360
|
const escapeStartingColon = (str) => str.replace(/^:/, '\\:');
|
|
420
361
|
const escapeColons = (str) => str.replace(/:/g, '\\:');
|
|
421
362
|
const escapeForTemplateLiteral = (str) => str.replace(/`/g, '\\`').replace(/\${/g, '$\\{');
|
|
363
|
+
/**
|
|
364
|
+
* Creates a `{cooked, raw}` object from the `metaBlock` and `messagePart`.
|
|
365
|
+
*
|
|
366
|
+
* The `raw` text must have various character sequences escaped:
|
|
367
|
+
* * "\" would otherwise indicate that the next character is a control character.
|
|
368
|
+
* * "`" and "${" are template string control sequences that would otherwise prematurely indicate
|
|
369
|
+
* the end of a message part.
|
|
370
|
+
* * ":" inside a metablock would prematurely indicate the end of the metablock.
|
|
371
|
+
* * ":" at the start of a messagePart with no metablock would erroneously indicate the start of a
|
|
372
|
+
* metablock.
|
|
373
|
+
*
|
|
374
|
+
* @param metaBlock Any metadata that should be prepended to the string
|
|
375
|
+
* @param messagePart The message part of the string
|
|
376
|
+
*/
|
|
377
|
+
function createCookedRawString(metaBlock, messagePart, range) {
|
|
378
|
+
if (metaBlock === '') {
|
|
379
|
+
return {
|
|
380
|
+
cooked: messagePart,
|
|
381
|
+
raw: escapeForTemplateLiteral(escapeStartingColon(escapeSlashes(messagePart))),
|
|
382
|
+
range,
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
else {
|
|
386
|
+
return {
|
|
387
|
+
cooked: `:${metaBlock}:${messagePart}`,
|
|
388
|
+
raw: escapeForTemplateLiteral(`:${escapeColons(escapeSlashes(metaBlock))}:${escapeSlashes(messagePart)}`),
|
|
389
|
+
range,
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
}
|
|
422
393
|
class ExternalExpr extends Expression {
|
|
423
394
|
constructor(value, type, typeParams = null, sourceSpan) {
|
|
424
395
|
super(type, sourceSpan);
|
|
@@ -484,38 +455,6 @@ class NotExpr extends Expression {
|
|
|
484
455
|
}
|
|
485
456
|
}
|
|
486
457
|
exports.NotExpr = NotExpr;
|
|
487
|
-
class AssertNotNull extends Expression {
|
|
488
|
-
constructor(condition, sourceSpan) {
|
|
489
|
-
super(condition.type, sourceSpan);
|
|
490
|
-
this.condition = condition;
|
|
491
|
-
}
|
|
492
|
-
isEquivalent(e) {
|
|
493
|
-
return (e instanceof AssertNotNull && this.condition.isEquivalent(e.condition));
|
|
494
|
-
}
|
|
495
|
-
isConstant() {
|
|
496
|
-
return false;
|
|
497
|
-
}
|
|
498
|
-
visitExpression(visitor, context) {
|
|
499
|
-
return visitor.visitAssertNotNullExpr(this, context);
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
exports.AssertNotNull = AssertNotNull;
|
|
503
|
-
class CastExpr extends Expression {
|
|
504
|
-
constructor(value, type, sourceSpan) {
|
|
505
|
-
super(type, sourceSpan);
|
|
506
|
-
this.value = value;
|
|
507
|
-
}
|
|
508
|
-
isEquivalent(e) {
|
|
509
|
-
return e instanceof CastExpr && this.value.isEquivalent(e.value);
|
|
510
|
-
}
|
|
511
|
-
isConstant() {
|
|
512
|
-
return false;
|
|
513
|
-
}
|
|
514
|
-
visitExpression(visitor, context) {
|
|
515
|
-
return visitor.visitCastExpr(this, context);
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
|
-
exports.CastExpr = CastExpr;
|
|
519
458
|
class FnParam {
|
|
520
459
|
constructor(name, type = null) {
|
|
521
460
|
this.name = name;
|
|
@@ -698,19 +637,16 @@ class CommaExpr extends Expression {
|
|
|
698
637
|
}
|
|
699
638
|
}
|
|
700
639
|
exports.CommaExpr = CommaExpr;
|
|
701
|
-
exports.THIS_EXPR = new ReadVarExpr(BuiltinVar.This, null, null);
|
|
702
|
-
exports.SUPER_EXPR = new ReadVarExpr(BuiltinVar.Super, null, null);
|
|
703
|
-
exports.CATCH_ERROR_VAR = new ReadVarExpr(BuiltinVar.CatchError, null, null);
|
|
704
|
-
exports.CATCH_STACK_VAR = new ReadVarExpr(BuiltinVar.CatchStack, null, null);
|
|
705
640
|
exports.NULL_EXPR = new LiteralExpr(null, null, null);
|
|
706
641
|
exports.TYPED_NULL_EXPR = new LiteralExpr(null, exports.INFERRED_TYPE, null);
|
|
707
642
|
//// Statements
|
|
708
643
|
var StmtModifier;
|
|
709
644
|
(function (StmtModifier) {
|
|
710
|
-
StmtModifier[StmtModifier["
|
|
711
|
-
StmtModifier[StmtModifier["
|
|
712
|
-
StmtModifier[StmtModifier["
|
|
713
|
-
StmtModifier[StmtModifier["
|
|
645
|
+
StmtModifier[StmtModifier["None"] = 0] = "None";
|
|
646
|
+
StmtModifier[StmtModifier["Final"] = 1] = "Final";
|
|
647
|
+
StmtModifier[StmtModifier["Private"] = 2] = "Private";
|
|
648
|
+
StmtModifier[StmtModifier["Exported"] = 4] = "Exported";
|
|
649
|
+
StmtModifier[StmtModifier["Static"] = 8] = "Static";
|
|
714
650
|
})(StmtModifier = exports.StmtModifier || (exports.StmtModifier = {}));
|
|
715
651
|
class LeadingComment {
|
|
716
652
|
constructor(text, multiline, trailingNewline) {
|
|
@@ -734,13 +670,13 @@ class JSDocComment extends LeadingComment {
|
|
|
734
670
|
}
|
|
735
671
|
exports.JSDocComment = JSDocComment;
|
|
736
672
|
class Statement {
|
|
737
|
-
constructor(modifiers =
|
|
673
|
+
constructor(modifiers = StmtModifier.None, sourceSpan = null, leadingComments) {
|
|
738
674
|
this.modifiers = modifiers;
|
|
739
675
|
this.sourceSpan = sourceSpan;
|
|
740
676
|
this.leadingComments = leadingComments;
|
|
741
677
|
}
|
|
742
678
|
hasModifier(modifier) {
|
|
743
|
-
return this.modifiers
|
|
679
|
+
return (this.modifiers & modifier) !== 0;
|
|
744
680
|
}
|
|
745
681
|
addLeadingComment(leadingComment) {
|
|
746
682
|
var _a;
|
|
@@ -788,7 +724,7 @@ class DeclareFunctionStmt extends Statement {
|
|
|
788
724
|
exports.DeclareFunctionStmt = DeclareFunctionStmt;
|
|
789
725
|
class ExpressionStatement extends Statement {
|
|
790
726
|
constructor(expr, sourceSpan, leadingComments) {
|
|
791
|
-
super(
|
|
727
|
+
super(StmtModifier.None, sourceSpan, leadingComments);
|
|
792
728
|
this.expr = expr;
|
|
793
729
|
}
|
|
794
730
|
isEquivalent(stmt) {
|
|
@@ -801,7 +737,7 @@ class ExpressionStatement extends Statement {
|
|
|
801
737
|
exports.ExpressionStatement = ExpressionStatement;
|
|
802
738
|
class ReturnStatement extends Statement {
|
|
803
739
|
constructor(value, sourceSpan = null, leadingComments) {
|
|
804
|
-
super(
|
|
740
|
+
super(StmtModifier.None, sourceSpan, leadingComments);
|
|
805
741
|
this.value = value;
|
|
806
742
|
}
|
|
807
743
|
isEquivalent(stmt) {
|
|
@@ -812,77 +748,9 @@ class ReturnStatement extends Statement {
|
|
|
812
748
|
}
|
|
813
749
|
}
|
|
814
750
|
exports.ReturnStatement = ReturnStatement;
|
|
815
|
-
class AbstractClassPart {
|
|
816
|
-
constructor(type = null, modifiers = []) {
|
|
817
|
-
this.type = type;
|
|
818
|
-
this.modifiers = modifiers;
|
|
819
|
-
}
|
|
820
|
-
hasModifier(modifier) {
|
|
821
|
-
return this.modifiers.indexOf(modifier) !== -1;
|
|
822
|
-
}
|
|
823
|
-
}
|
|
824
|
-
exports.AbstractClassPart = AbstractClassPart;
|
|
825
|
-
class ClassField extends AbstractClassPart {
|
|
826
|
-
constructor(name, type, modifiers, initializer) {
|
|
827
|
-
super(type, modifiers);
|
|
828
|
-
this.name = name;
|
|
829
|
-
this.initializer = initializer;
|
|
830
|
-
}
|
|
831
|
-
isEquivalent(f) {
|
|
832
|
-
return this.name === f.name;
|
|
833
|
-
}
|
|
834
|
-
}
|
|
835
|
-
exports.ClassField = ClassField;
|
|
836
|
-
class ClassMethod extends AbstractClassPart {
|
|
837
|
-
constructor(name, params, body, type, modifiers) {
|
|
838
|
-
super(type, modifiers);
|
|
839
|
-
this.name = name;
|
|
840
|
-
this.params = params;
|
|
841
|
-
this.body = body;
|
|
842
|
-
}
|
|
843
|
-
isEquivalent(m) {
|
|
844
|
-
return this.name === m.name && areAllEquivalent(this.body, m.body);
|
|
845
|
-
}
|
|
846
|
-
}
|
|
847
|
-
exports.ClassMethod = ClassMethod;
|
|
848
|
-
class ClassGetter extends AbstractClassPart {
|
|
849
|
-
constructor(name, body, type, modifiers) {
|
|
850
|
-
super(type, modifiers);
|
|
851
|
-
this.name = name;
|
|
852
|
-
this.body = body;
|
|
853
|
-
}
|
|
854
|
-
isEquivalent(m) {
|
|
855
|
-
return this.name === m.name && areAllEquivalent(this.body, m.body);
|
|
856
|
-
}
|
|
857
|
-
}
|
|
858
|
-
exports.ClassGetter = ClassGetter;
|
|
859
|
-
class ClassStmt extends Statement {
|
|
860
|
-
constructor(name, parent, fields, getters, constructorMethod, methods, modifiers, sourceSpan, leadingComments) {
|
|
861
|
-
super(modifiers, sourceSpan, leadingComments);
|
|
862
|
-
this.name = name;
|
|
863
|
-
this.parent = parent;
|
|
864
|
-
this.fields = fields;
|
|
865
|
-
this.getters = getters;
|
|
866
|
-
this.constructorMethod = constructorMethod;
|
|
867
|
-
this.methods = methods;
|
|
868
|
-
}
|
|
869
|
-
isEquivalent(stmt) {
|
|
870
|
-
return (stmt instanceof ClassStmt &&
|
|
871
|
-
this.name === stmt.name &&
|
|
872
|
-
nullSafeIsEquivalent(this.parent, stmt.parent) &&
|
|
873
|
-
areAllEquivalent(this.fields, stmt.fields) &&
|
|
874
|
-
areAllEquivalent(this.getters, stmt.getters) &&
|
|
875
|
-
this.constructorMethod.isEquivalent(stmt.constructorMethod) &&
|
|
876
|
-
areAllEquivalent(this.methods, stmt.methods));
|
|
877
|
-
}
|
|
878
|
-
visitStatement(visitor, context) {
|
|
879
|
-
return visitor.visitDeclareClassStmt(this, context);
|
|
880
|
-
}
|
|
881
|
-
}
|
|
882
|
-
exports.ClassStmt = ClassStmt;
|
|
883
751
|
class IfStmt extends Statement {
|
|
884
752
|
constructor(condition, trueCase, falseCase = [], sourceSpan, leadingComments) {
|
|
885
|
-
super(
|
|
753
|
+
super(StmtModifier.None, sourceSpan, leadingComments);
|
|
886
754
|
this.condition = condition;
|
|
887
755
|
this.trueCase = trueCase;
|
|
888
756
|
this.falseCase = falseCase;
|
|
@@ -898,6 +766,14 @@ class IfStmt extends Statement {
|
|
|
898
766
|
}
|
|
899
767
|
}
|
|
900
768
|
exports.IfStmt = IfStmt;
|
|
769
|
+
function leadingComment(text, multiline = false, trailingNewline = true) {
|
|
770
|
+
return new LeadingComment(text, multiline, trailingNewline);
|
|
771
|
+
}
|
|
772
|
+
exports.leadingComment = leadingComment;
|
|
773
|
+
function jsDocComment(tags = []) {
|
|
774
|
+
return new JSDocComment(tags);
|
|
775
|
+
}
|
|
776
|
+
exports.jsDocComment = jsDocComment;
|
|
901
777
|
function variable(name, type, sourceSpan) {
|
|
902
778
|
return new ReadVarExpr(name, type, sourceSpan);
|
|
903
779
|
}
|
|
@@ -906,6 +782,12 @@ function importExpr(id, typeParams = null, sourceSpan) {
|
|
|
906
782
|
return new ExternalExpr(id, null, typeParams, sourceSpan);
|
|
907
783
|
}
|
|
908
784
|
exports.importExpr = importExpr;
|
|
785
|
+
function importType(id, typeParams, typeModifiers) {
|
|
786
|
+
return id != null
|
|
787
|
+
? expressionType(importExpr(id, typeParams, null), typeModifiers)
|
|
788
|
+
: null;
|
|
789
|
+
}
|
|
790
|
+
exports.importType = importType;
|
|
909
791
|
function expressionType(expr, typeModifiers, typeParams) {
|
|
910
792
|
return new ExpressionType(expr, typeModifiers, typeParams);
|
|
911
793
|
}
|
|
@@ -930,10 +812,6 @@ function not(expr, sourceSpan) {
|
|
|
930
812
|
return new NotExpr(expr, sourceSpan);
|
|
931
813
|
}
|
|
932
814
|
exports.not = not;
|
|
933
|
-
function assertNotNull(expr, sourceSpan) {
|
|
934
|
-
return new AssertNotNull(expr, sourceSpan);
|
|
935
|
-
}
|
|
936
|
-
exports.assertNotNull = assertNotNull;
|
|
937
815
|
function fn(params, body, type, sourceSpan, name) {
|
|
938
816
|
return new FunctionExpr(params, body, type, sourceSpan, name);
|
|
939
817
|
}
|
|
@@ -17,7 +17,7 @@ export interface R3PartialDeclaration {
|
|
|
17
17
|
*/
|
|
18
18
|
version: string;
|
|
19
19
|
/**
|
|
20
|
-
* A reference to the `
|
|
20
|
+
* A reference to the `@angular/core` ES module, which allows access
|
|
21
21
|
* to all Angular exports, including Ivy instructions.
|
|
22
22
|
*/
|
|
23
23
|
ngImport: o.Expression;
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
2
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
10
|
exports.FactoryTarget = void 0;
|
|
4
11
|
var FactoryTarget;
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC 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
|
-
*/
|
|
8
|
-
import * as outputAst from '../output/output_ast';
|
|
1
|
+
import * as o from '../output/output_ast';
|
|
9
2
|
import { R3CompiledExpression, R3Reference } from './util';
|
|
10
3
|
/**
|
|
11
4
|
* Metadata required by the factory generator to generate a `factory` function for a type.
|
|
@@ -26,7 +19,7 @@ export interface R3ConstructorFactoryMetadata {
|
|
|
26
19
|
* This can differ from the outer `type` if the class is being compiled by ngcc and is inside
|
|
27
20
|
* an IIFE structure that uses a different name internally.
|
|
28
21
|
*/
|
|
29
|
-
internalType:
|
|
22
|
+
internalType: o.Expression;
|
|
30
23
|
/** Number of arguments for the `type`. */
|
|
31
24
|
typeArgumentCount: number;
|
|
32
25
|
/**
|
|
@@ -48,14 +41,14 @@ export declare enum R3FactoryDelegateType {
|
|
|
48
41
|
Function = 1
|
|
49
42
|
}
|
|
50
43
|
export interface R3DelegatedFnOrClassMetadata extends R3ConstructorFactoryMetadata {
|
|
51
|
-
delegate:
|
|
44
|
+
delegate: o.Expression;
|
|
52
45
|
delegateType: R3FactoryDelegateType;
|
|
53
46
|
delegateDeps: R3DependencyMetadata[];
|
|
54
47
|
}
|
|
55
48
|
export interface R3ExpressionFactoryMetadata extends R3ConstructorFactoryMetadata {
|
|
56
|
-
expression:
|
|
49
|
+
expression: o.Expression;
|
|
57
50
|
}
|
|
58
|
-
export
|
|
51
|
+
export type R3FactoryMetadata = R3ConstructorFactoryMetadata | R3DelegatedFnOrClassMetadata | R3ExpressionFactoryMetadata;
|
|
59
52
|
export declare enum FactoryTarget {
|
|
60
53
|
Directive = 0,
|
|
61
54
|
Component = 1,
|
|
@@ -68,13 +61,13 @@ export interface R3DependencyMetadata {
|
|
|
68
61
|
* An expression representing the token or value to be injected.
|
|
69
62
|
* Or `null` if the dependency could not be resolved - making it invalid.
|
|
70
63
|
*/
|
|
71
|
-
token:
|
|
64
|
+
token: o.Expression | null;
|
|
72
65
|
/**
|
|
73
66
|
* If an @Attribute decorator is present, this is the literal type of the attribute name, or
|
|
74
67
|
* the unknown type if no literal type is available (e.g. the attribute name is an expression).
|
|
75
68
|
* Otherwise it is null;
|
|
76
69
|
*/
|
|
77
|
-
attributeNameType:
|
|
70
|
+
attributeNameType: o.Expression | null;
|
|
78
71
|
/**
|
|
79
72
|
* Whether the dependency has an @Optional qualifier.
|
|
80
73
|
*/
|
|
@@ -92,6 +85,6 @@ export interface R3DependencyMetadata {
|
|
|
92
85
|
* Construct a factory function expression for the given `R3FactoryMetadata`.
|
|
93
86
|
*/
|
|
94
87
|
export declare function compileFactoryFunction(meta: R3FactoryMetadata): R3CompiledExpression;
|
|
95
|
-
export declare function createFactoryType(meta: R3FactoryMetadata):
|
|
88
|
+
export declare function createFactoryType(meta: R3FactoryMetadata): o.ExpressionType;
|
|
96
89
|
export declare function isDelegatedFactoryMetadata(meta: R3FactoryMetadata): meta is R3DelegatedFnOrClassMetadata;
|
|
97
90
|
export declare function isExpressionFactoryMetadata(meta: R3FactoryMetadata): meta is R3ExpressionFactoryMetadata;
|