@angular/compiler-cli 16.2.10 → 16.2.12

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.
@@ -293,9 +293,84 @@ var ImportManager = class {
293
293
  }
294
294
  };
295
295
 
296
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/translator/src/type_emitter.mjs
297
+ import ts2 from "typescript";
298
+ var INELIGIBLE = {};
299
+ function canEmitType(type, canEmit) {
300
+ return canEmitTypeWorker(type);
301
+ function canEmitTypeWorker(type2) {
302
+ return visitNode(type2) !== INELIGIBLE;
303
+ }
304
+ function visitNode(node) {
305
+ if (ts2.isImportTypeNode(node)) {
306
+ return INELIGIBLE;
307
+ }
308
+ if (ts2.isTypeReferenceNode(node) && !canEmitTypeReference(node)) {
309
+ return INELIGIBLE;
310
+ } else {
311
+ return ts2.forEachChild(node, visitNode);
312
+ }
313
+ }
314
+ function canEmitTypeReference(type2) {
315
+ if (!canEmit(type2)) {
316
+ return false;
317
+ }
318
+ return type2.typeArguments === void 0 || type2.typeArguments.every(canEmitTypeWorker);
319
+ }
320
+ }
321
+ var TypeEmitter = class {
322
+ constructor(translator) {
323
+ this.translator = translator;
324
+ }
325
+ emitType(type) {
326
+ const typeReferenceTransformer = (context) => {
327
+ const visitNode = (node) => {
328
+ if (ts2.isImportTypeNode(node)) {
329
+ throw new Error("Unable to emit import type");
330
+ }
331
+ if (ts2.isTypeReferenceNode(node)) {
332
+ return this.emitTypeReference(node);
333
+ } else if (ts2.isLiteralExpression(node)) {
334
+ let clone;
335
+ if (ts2.isStringLiteral(node)) {
336
+ clone = ts2.factory.createStringLiteral(node.text);
337
+ } else if (ts2.isNumericLiteral(node)) {
338
+ clone = ts2.factory.createNumericLiteral(node.text);
339
+ } else if (ts2.isBigIntLiteral(node)) {
340
+ clone = ts2.factory.createBigIntLiteral(node.text);
341
+ } else if (ts2.isNoSubstitutionTemplateLiteral(node)) {
342
+ clone = ts2.factory.createNoSubstitutionTemplateLiteral(node.text, node.rawText);
343
+ } else if (ts2.isRegularExpressionLiteral(node)) {
344
+ clone = ts2.factory.createRegularExpressionLiteral(node.text);
345
+ } else {
346
+ throw new Error(`Unsupported literal kind ${ts2.SyntaxKind[node.kind]}`);
347
+ }
348
+ ts2.setTextRange(clone, { pos: -1, end: -1 });
349
+ return clone;
350
+ } else {
351
+ return ts2.visitEachChild(node, visitNode, context);
352
+ }
353
+ };
354
+ return (node) => ts2.visitNode(node, visitNode, ts2.isTypeNode);
355
+ };
356
+ return ts2.transform(type, [typeReferenceTransformer]).transformed[0];
357
+ }
358
+ emitTypeReference(type) {
359
+ const translatedType = this.translator(type);
360
+ if (translatedType === null) {
361
+ throw new Error("Unable to emit an unresolved reference");
362
+ }
363
+ let typeArguments = void 0;
364
+ if (type.typeArguments !== void 0) {
365
+ typeArguments = ts2.factory.createNodeArray(type.typeArguments.map((typeArg) => this.emitType(typeArg)));
366
+ }
367
+ return ts2.factory.updateTypeReferenceNode(type, translatedType.typeName, typeArguments);
368
+ }
369
+ };
370
+
296
371
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/translator/src/type_translator.mjs
297
372
  import * as o2 from "@angular/compiler";
298
- import ts2 from "typescript";
373
+ import ts3 from "typescript";
299
374
  function translateType(type, contextFile, reflector, refEmitter, imports) {
300
375
  return type.visitType(new TypeTranslatorVisitor(imports, contextFile, reflector, refEmitter), new Context(false));
301
376
  }
@@ -309,16 +384,16 @@ var TypeTranslatorVisitor = class {
309
384
  visitBuiltinType(type, context) {
310
385
  switch (type.name) {
311
386
  case o2.BuiltinTypeName.Bool:
312
- return ts2.factory.createKeywordTypeNode(ts2.SyntaxKind.BooleanKeyword);
387
+ return ts3.factory.createKeywordTypeNode(ts3.SyntaxKind.BooleanKeyword);
313
388
  case o2.BuiltinTypeName.Dynamic:
314
- return ts2.factory.createKeywordTypeNode(ts2.SyntaxKind.AnyKeyword);
389
+ return ts3.factory.createKeywordTypeNode(ts3.SyntaxKind.AnyKeyword);
315
390
  case o2.BuiltinTypeName.Int:
316
391
  case o2.BuiltinTypeName.Number:
317
- return ts2.factory.createKeywordTypeNode(ts2.SyntaxKind.NumberKeyword);
392
+ return ts3.factory.createKeywordTypeNode(ts3.SyntaxKind.NumberKeyword);
318
393
  case o2.BuiltinTypeName.String:
319
- return ts2.factory.createKeywordTypeNode(ts2.SyntaxKind.StringKeyword);
394
+ return ts3.factory.createKeywordTypeNode(ts3.SyntaxKind.StringKeyword);
320
395
  case o2.BuiltinTypeName.None:
321
- return ts2.factory.createKeywordTypeNode(ts2.SyntaxKind.NeverKeyword);
396
+ return ts3.factory.createKeywordTypeNode(ts3.SyntaxKind.NeverKeyword);
322
397
  default:
323
398
  throw new Error(`Unsupported builtin type: ${o2.BuiltinTypeName[type.name]}`);
324
399
  }
@@ -328,34 +403,37 @@ var TypeTranslatorVisitor = class {
328
403
  if (type.typeParams === null) {
329
404
  return typeNode;
330
405
  }
331
- if (!ts2.isTypeReferenceNode(typeNode)) {
406
+ if (!ts3.isTypeReferenceNode(typeNode)) {
332
407
  throw new Error("An ExpressionType with type arguments must translate into a TypeReferenceNode");
333
408
  } else if (typeNode.typeArguments !== void 0) {
334
409
  throw new Error(`An ExpressionType with type arguments cannot have multiple levels of type arguments`);
335
410
  }
336
411
  const typeArgs = type.typeParams.map((param) => this.translateType(param, context));
337
- return ts2.factory.createTypeReferenceNode(typeNode.typeName, typeArgs);
412
+ return ts3.factory.createTypeReferenceNode(typeNode.typeName, typeArgs);
338
413
  }
339
414
  visitArrayType(type, context) {
340
- return ts2.factory.createArrayTypeNode(this.translateType(type.of, context));
415
+ return ts3.factory.createArrayTypeNode(this.translateType(type.of, context));
341
416
  }
342
417
  visitMapType(type, context) {
343
- const parameter = ts2.factory.createParameterDeclaration(void 0, void 0, "key", void 0, ts2.factory.createKeywordTypeNode(ts2.SyntaxKind.StringKeyword));
344
- const typeArgs = type.valueType !== null ? this.translateType(type.valueType, context) : ts2.factory.createKeywordTypeNode(ts2.SyntaxKind.UnknownKeyword);
345
- const indexSignature = ts2.factory.createIndexSignature(void 0, [parameter], typeArgs);
346
- return ts2.factory.createTypeLiteralNode([indexSignature]);
418
+ const parameter = ts3.factory.createParameterDeclaration(void 0, void 0, "key", void 0, ts3.factory.createKeywordTypeNode(ts3.SyntaxKind.StringKeyword));
419
+ const typeArgs = type.valueType !== null ? this.translateType(type.valueType, context) : ts3.factory.createKeywordTypeNode(ts3.SyntaxKind.UnknownKeyword);
420
+ const indexSignature = ts3.factory.createIndexSignature(void 0, [parameter], typeArgs);
421
+ return ts3.factory.createTypeLiteralNode([indexSignature]);
347
422
  }
348
423
  visitTransplantedType(ast, context) {
349
- if (!ts2.isTypeNode(ast.type)) {
424
+ const node = ast.type instanceof Reference ? ast.type.node : ast.type;
425
+ if (!ts3.isTypeNode(node)) {
350
426
  throw new Error(`A TransplantedType must wrap a TypeNode`);
351
427
  }
352
- return this.translateTransplantedTypeNode(ast.type, context);
428
+ const viaModule = ast.type instanceof Reference ? ast.type.bestGuessOwningModule : null;
429
+ const emitter = new TypeEmitter((typeRef) => this.translateTypeReference(typeRef, context, viaModule));
430
+ return emitter.emitType(node);
353
431
  }
354
432
  visitReadVarExpr(ast, context) {
355
433
  if (ast.name === null) {
356
434
  throw new Error(`ReadVarExpr with no variable name in type`);
357
435
  }
358
- return ts2.factory.createTypeQueryNode(ts2.factory.createIdentifier(ast.name));
436
+ return ts3.factory.createTypeQueryNode(ts3.factory.createIdentifier(ast.name));
359
437
  }
360
438
  visitWriteVarExpr(expr, context) {
361
439
  throw new Error("Method not implemented.");
@@ -377,15 +455,15 @@ var TypeTranslatorVisitor = class {
377
455
  }
378
456
  visitLiteralExpr(ast, context) {
379
457
  if (ast.value === null) {
380
- return ts2.factory.createLiteralTypeNode(ts2.factory.createNull());
458
+ return ts3.factory.createLiteralTypeNode(ts3.factory.createNull());
381
459
  } else if (ast.value === void 0) {
382
- return ts2.factory.createKeywordTypeNode(ts2.SyntaxKind.UndefinedKeyword);
460
+ return ts3.factory.createKeywordTypeNode(ts3.SyntaxKind.UndefinedKeyword);
383
461
  } else if (typeof ast.value === "boolean") {
384
- return ts2.factory.createLiteralTypeNode(ast.value ? ts2.factory.createTrue() : ts2.factory.createFalse());
462
+ return ts3.factory.createLiteralTypeNode(ast.value ? ts3.factory.createTrue() : ts3.factory.createFalse());
385
463
  } else if (typeof ast.value === "number") {
386
- return ts2.factory.createLiteralTypeNode(ts2.factory.createNumericLiteral(ast.value));
464
+ return ts3.factory.createLiteralTypeNode(ts3.factory.createNumericLiteral(ast.value));
387
465
  } else {
388
- return ts2.factory.createLiteralTypeNode(ts2.factory.createStringLiteral(ast.value));
466
+ return ts3.factory.createLiteralTypeNode(ts3.factory.createStringLiteral(ast.value));
389
467
  }
390
468
  }
391
469
  visitLocalizedString(ast, context) {
@@ -396,10 +474,10 @@ var TypeTranslatorVisitor = class {
396
474
  throw new Error(`Import unknown module or symbol`);
397
475
  }
398
476
  const { moduleImport, symbol } = this.imports.generateNamedImport(ast.value.moduleName, ast.value.name);
399
- const symbolIdentifier = ts2.factory.createIdentifier(symbol);
400
- const typeName = moduleImport ? ts2.factory.createQualifiedName(moduleImport, symbolIdentifier) : symbolIdentifier;
477
+ const symbolIdentifier = ts3.factory.createIdentifier(symbol);
478
+ const typeName = moduleImport ? ts3.factory.createQualifiedName(moduleImport, symbolIdentifier) : symbolIdentifier;
401
479
  const typeArguments = ast.typeParams !== null ? ast.typeParams.map((type) => this.translateType(type, context)) : void 0;
402
- return ts2.factory.createTypeReferenceNode(typeName, typeArguments);
480
+ return ts3.factory.createTypeReferenceNode(typeName, typeArguments);
403
481
  }
404
482
  visitConditionalExpr(ast, context) {
405
483
  throw new Error("Method not implemented.");
@@ -427,157 +505,147 @@ var TypeTranslatorVisitor = class {
427
505
  }
428
506
  visitLiteralArrayExpr(ast, context) {
429
507
  const values = ast.entries.map((expr) => this.translateExpression(expr, context));
430
- return ts2.factory.createTupleTypeNode(values);
508
+ return ts3.factory.createTupleTypeNode(values);
431
509
  }
432
510
  visitLiteralMapExpr(ast, context) {
433
511
  const entries = ast.entries.map((entry) => {
434
512
  const { key, quoted } = entry;
435
513
  const type = this.translateExpression(entry.value, context);
436
- return ts2.factory.createPropertySignature(
514
+ return ts3.factory.createPropertySignature(
437
515
  void 0,
438
- quoted ? ts2.factory.createStringLiteral(key) : key,
516
+ quoted ? ts3.factory.createStringLiteral(key) : key,
439
517
  void 0,
440
518
  type
441
519
  );
442
520
  });
443
- return ts2.factory.createTypeLiteralNode(entries);
521
+ return ts3.factory.createTypeLiteralNode(entries);
444
522
  }
445
523
  visitCommaExpr(ast, context) {
446
524
  throw new Error("Method not implemented.");
447
525
  }
448
526
  visitWrappedNodeExpr(ast, context) {
449
527
  const node = ast.node;
450
- if (ts2.isEntityName(node)) {
451
- return ts2.factory.createTypeReferenceNode(node, void 0);
452
- } else if (ts2.isTypeNode(node)) {
528
+ if (ts3.isEntityName(node)) {
529
+ return ts3.factory.createTypeReferenceNode(node, void 0);
530
+ } else if (ts3.isTypeNode(node)) {
453
531
  return node;
454
- } else if (ts2.isLiteralExpression(node)) {
455
- return ts2.factory.createLiteralTypeNode(node);
532
+ } else if (ts3.isLiteralExpression(node)) {
533
+ return ts3.factory.createLiteralTypeNode(node);
456
534
  } else {
457
- throw new Error(`Unsupported WrappedNodeExpr in TypeTranslatorVisitor: ${ts2.SyntaxKind[node.kind]}`);
535
+ throw new Error(`Unsupported WrappedNodeExpr in TypeTranslatorVisitor: ${ts3.SyntaxKind[node.kind]}`);
458
536
  }
459
537
  }
460
538
  visitTypeofExpr(ast, context) {
461
539
  const typeNode = this.translateExpression(ast.expr, context);
462
- if (!ts2.isTypeReferenceNode(typeNode)) {
540
+ if (!ts3.isTypeReferenceNode(typeNode)) {
463
541
  throw new Error(`The target of a typeof expression must be a type reference, but it was
464
- ${ts2.SyntaxKind[typeNode.kind]}`);
542
+ ${ts3.SyntaxKind[typeNode.kind]}`);
465
543
  }
466
- return ts2.factory.createTypeQueryNode(typeNode.typeName);
544
+ return ts3.factory.createTypeQueryNode(typeNode.typeName);
467
545
  }
468
546
  translateType(type, context) {
469
547
  const typeNode = type.visitType(this, context);
470
- if (!ts2.isTypeNode(typeNode)) {
471
- throw new Error(`A Type must translate to a TypeNode, but was ${ts2.SyntaxKind[typeNode.kind]}`);
548
+ if (!ts3.isTypeNode(typeNode)) {
549
+ throw new Error(`A Type must translate to a TypeNode, but was ${ts3.SyntaxKind[typeNode.kind]}`);
472
550
  }
473
551
  return typeNode;
474
552
  }
475
553
  translateExpression(expr, context) {
476
554
  const typeNode = expr.visitExpression(this, context);
477
- if (!ts2.isTypeNode(typeNode)) {
478
- throw new Error(`An Expression must translate to a TypeNode, but was ${ts2.SyntaxKind[typeNode.kind]}`);
555
+ if (!ts3.isTypeNode(typeNode)) {
556
+ throw new Error(`An Expression must translate to a TypeNode, but was ${ts3.SyntaxKind[typeNode.kind]}`);
479
557
  }
480
558
  return typeNode;
481
559
  }
482
- translateTransplantedTypeReferenceNode(node, context) {
483
- const declaration = this.reflector.getDeclarationOfIdentifier(node.typeName);
560
+ translateTypeReference(type, context, viaModule) {
561
+ const target = ts3.isIdentifier(type.typeName) ? type.typeName : type.typeName.right;
562
+ const declaration = this.reflector.getDeclarationOfIdentifier(target);
484
563
  if (declaration === null) {
485
- throw new Error(`Unable to statically determine the declaration file of type node ${node.typeName.text}`);
486
- }
487
- const emittedType = this.refEmitter.emit(new Reference(declaration.node), this.contextFile, ImportFlags.NoAliasing | ImportFlags.AllowTypeImports | ImportFlags.AllowRelativeDtsImports);
488
- assertSuccessfulReferenceEmit(emittedType, node, "type");
489
- const result = emittedType.expression.visitExpression(this, context);
490
- if (!ts2.isTypeReferenceNode(result)) {
491
- throw new Error(`Expected TypeReferenceNode when referencing the type for ${node.typeName.text}, but received ${ts2.SyntaxKind[result.kind]}`);
492
- }
493
- if (node.typeArguments === void 0 || node.typeArguments.length === 0) {
494
- return result;
495
- }
496
- const translatedArgs = node.typeArguments.map((arg) => this.translateTransplantedTypeNode(arg, context));
497
- return ts2.factory.updateTypeReferenceNode(result, result.typeName, ts2.factory.createNodeArray(translatedArgs));
498
- }
499
- translateTransplantedTypeNode(rootNode, context) {
500
- const factory = (transformContext) => (root) => {
501
- const walk = (node) => {
502
- if (ts2.isTypeReferenceNode(node) && ts2.isIdentifier(node.typeName)) {
503
- const translated = this.translateTransplantedTypeReferenceNode(node, context);
504
- if (translated !== node) {
505
- return translated;
506
- }
507
- }
508
- return ts2.visitEachChild(node, walk, transformContext);
564
+ throw new Error(`Unable to statically determine the declaration file of type node ${target.text}`);
565
+ }
566
+ let owningModule = viaModule;
567
+ if (declaration.viaModule !== null) {
568
+ owningModule = {
569
+ specifier: declaration.viaModule,
570
+ resolutionContext: type.getSourceFile().fileName
509
571
  };
510
- return ts2.visitNode(root, walk);
511
- };
512
- return ts2.transform(rootNode, [factory]).transformed[0];
572
+ }
573
+ const reference = new Reference(declaration.node, owningModule);
574
+ const emittedType = this.refEmitter.emit(reference, this.contextFile, ImportFlags.NoAliasing | ImportFlags.AllowTypeImports);
575
+ assertSuccessfulReferenceEmit(emittedType, target, "type");
576
+ const typeNode = this.translateExpression(emittedType.expression, context);
577
+ if (!ts3.isTypeReferenceNode(typeNode)) {
578
+ throw new Error(`Expected TypeReferenceNode for emitted reference, got ${ts3.SyntaxKind[typeNode.kind]}.`);
579
+ }
580
+ return typeNode;
513
581
  }
514
582
  };
515
583
 
516
584
  // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/translator/src/typescript_ast_factory.mjs
517
- import ts3 from "typescript";
585
+ import ts4 from "typescript";
518
586
  var PureAnnotation;
519
587
  (function(PureAnnotation2) {
520
588
  PureAnnotation2["CLOSURE"] = "* @pureOrBreakMyCode ";
521
589
  PureAnnotation2["TERSER"] = "@__PURE__";
522
590
  })(PureAnnotation || (PureAnnotation = {}));
523
591
  var UNARY_OPERATORS2 = {
524
- "+": ts3.SyntaxKind.PlusToken,
525
- "-": ts3.SyntaxKind.MinusToken,
526
- "!": ts3.SyntaxKind.ExclamationToken
592
+ "+": ts4.SyntaxKind.PlusToken,
593
+ "-": ts4.SyntaxKind.MinusToken,
594
+ "!": ts4.SyntaxKind.ExclamationToken
527
595
  };
528
596
  var BINARY_OPERATORS2 = {
529
- "&&": ts3.SyntaxKind.AmpersandAmpersandToken,
530
- ">": ts3.SyntaxKind.GreaterThanToken,
531
- ">=": ts3.SyntaxKind.GreaterThanEqualsToken,
532
- "&": ts3.SyntaxKind.AmpersandToken,
533
- "/": ts3.SyntaxKind.SlashToken,
534
- "==": ts3.SyntaxKind.EqualsEqualsToken,
535
- "===": ts3.SyntaxKind.EqualsEqualsEqualsToken,
536
- "<": ts3.SyntaxKind.LessThanToken,
537
- "<=": ts3.SyntaxKind.LessThanEqualsToken,
538
- "-": ts3.SyntaxKind.MinusToken,
539
- "%": ts3.SyntaxKind.PercentToken,
540
- "*": ts3.SyntaxKind.AsteriskToken,
541
- "!=": ts3.SyntaxKind.ExclamationEqualsToken,
542
- "!==": ts3.SyntaxKind.ExclamationEqualsEqualsToken,
543
- "||": ts3.SyntaxKind.BarBarToken,
544
- "+": ts3.SyntaxKind.PlusToken,
545
- "??": ts3.SyntaxKind.QuestionQuestionToken
597
+ "&&": ts4.SyntaxKind.AmpersandAmpersandToken,
598
+ ">": ts4.SyntaxKind.GreaterThanToken,
599
+ ">=": ts4.SyntaxKind.GreaterThanEqualsToken,
600
+ "&": ts4.SyntaxKind.AmpersandToken,
601
+ "/": ts4.SyntaxKind.SlashToken,
602
+ "==": ts4.SyntaxKind.EqualsEqualsToken,
603
+ "===": ts4.SyntaxKind.EqualsEqualsEqualsToken,
604
+ "<": ts4.SyntaxKind.LessThanToken,
605
+ "<=": ts4.SyntaxKind.LessThanEqualsToken,
606
+ "-": ts4.SyntaxKind.MinusToken,
607
+ "%": ts4.SyntaxKind.PercentToken,
608
+ "*": ts4.SyntaxKind.AsteriskToken,
609
+ "!=": ts4.SyntaxKind.ExclamationEqualsToken,
610
+ "!==": ts4.SyntaxKind.ExclamationEqualsEqualsToken,
611
+ "||": ts4.SyntaxKind.BarBarToken,
612
+ "+": ts4.SyntaxKind.PlusToken,
613
+ "??": ts4.SyntaxKind.QuestionQuestionToken
546
614
  };
547
615
  var VAR_TYPES = {
548
- "const": ts3.NodeFlags.Const,
549
- "let": ts3.NodeFlags.Let,
550
- "var": ts3.NodeFlags.None
616
+ "const": ts4.NodeFlags.Const,
617
+ "let": ts4.NodeFlags.Let,
618
+ "var": ts4.NodeFlags.None
551
619
  };
552
620
  var TypeScriptAstFactory = class {
553
621
  constructor(annotateForClosureCompiler) {
554
622
  this.annotateForClosureCompiler = annotateForClosureCompiler;
555
623
  this.externalSourceFiles = /* @__PURE__ */ new Map();
556
624
  this.attachComments = attachComments;
557
- this.createArrayLiteral = ts3.factory.createArrayLiteralExpression;
558
- this.createElementAccess = ts3.factory.createElementAccessExpression;
559
- this.createExpressionStatement = ts3.factory.createExpressionStatement;
560
- this.createIdentifier = ts3.factory.createIdentifier;
561
- this.createParenthesizedExpression = ts3.factory.createParenthesizedExpression;
562
- this.createPropertyAccess = ts3.factory.createPropertyAccessExpression;
563
- this.createThrowStatement = ts3.factory.createThrowStatement;
564
- this.createTypeOfExpression = ts3.factory.createTypeOfExpression;
625
+ this.createArrayLiteral = ts4.factory.createArrayLiteralExpression;
626
+ this.createElementAccess = ts4.factory.createElementAccessExpression;
627
+ this.createExpressionStatement = ts4.factory.createExpressionStatement;
628
+ this.createIdentifier = ts4.factory.createIdentifier;
629
+ this.createParenthesizedExpression = ts4.factory.createParenthesizedExpression;
630
+ this.createPropertyAccess = ts4.factory.createPropertyAccessExpression;
631
+ this.createThrowStatement = ts4.factory.createThrowStatement;
632
+ this.createTypeOfExpression = ts4.factory.createTypeOfExpression;
565
633
  }
566
634
  createAssignment(target, value) {
567
- return ts3.factory.createBinaryExpression(target, ts3.SyntaxKind.EqualsToken, value);
635
+ return ts4.factory.createBinaryExpression(target, ts4.SyntaxKind.EqualsToken, value);
568
636
  }
569
637
  createBinaryExpression(leftOperand, operator, rightOperand) {
570
- return ts3.factory.createBinaryExpression(leftOperand, BINARY_OPERATORS2[operator], rightOperand);
638
+ return ts4.factory.createBinaryExpression(leftOperand, BINARY_OPERATORS2[operator], rightOperand);
571
639
  }
572
640
  createBlock(body) {
573
- return ts3.factory.createBlock(body);
641
+ return ts4.factory.createBlock(body);
574
642
  }
575
643
  createCallExpression(callee, args, pure) {
576
- const call = ts3.factory.createCallExpression(callee, void 0, args);
644
+ const call = ts4.factory.createCallExpression(callee, void 0, args);
577
645
  if (pure) {
578
- ts3.addSyntheticLeadingComment(
646
+ ts4.addSyntheticLeadingComment(
579
647
  call,
580
- ts3.SyntaxKind.MultiLineCommentTrivia,
648
+ ts4.SyntaxKind.MultiLineCommentTrivia,
581
649
  this.annotateForClosureCompiler ? PureAnnotation.CLOSURE : PureAnnotation.TERSER,
582
650
  false
583
651
  );
@@ -585,58 +653,58 @@ var TypeScriptAstFactory = class {
585
653
  return call;
586
654
  }
587
655
  createConditional(condition, whenTrue, whenFalse) {
588
- return ts3.factory.createConditionalExpression(condition, void 0, whenTrue, void 0, whenFalse);
656
+ return ts4.factory.createConditionalExpression(condition, void 0, whenTrue, void 0, whenFalse);
589
657
  }
590
658
  createDynamicImport(url) {
591
- return ts3.factory.createCallExpression(
592
- ts3.factory.createToken(ts3.SyntaxKind.ImportKeyword),
659
+ return ts4.factory.createCallExpression(
660
+ ts4.factory.createToken(ts4.SyntaxKind.ImportKeyword),
593
661
  void 0,
594
- [ts3.factory.createStringLiteral(url)]
662
+ [ts4.factory.createStringLiteral(url)]
595
663
  );
596
664
  }
597
665
  createFunctionDeclaration(functionName, parameters, body) {
598
- if (!ts3.isBlock(body)) {
599
- throw new Error(`Invalid syntax, expected a block, but got ${ts3.SyntaxKind[body.kind]}.`);
666
+ if (!ts4.isBlock(body)) {
667
+ throw new Error(`Invalid syntax, expected a block, but got ${ts4.SyntaxKind[body.kind]}.`);
600
668
  }
601
- return ts3.factory.createFunctionDeclaration(void 0, void 0, functionName, void 0, parameters.map((param) => ts3.factory.createParameterDeclaration(void 0, void 0, param)), void 0, body);
669
+ return ts4.factory.createFunctionDeclaration(void 0, void 0, functionName, void 0, parameters.map((param) => ts4.factory.createParameterDeclaration(void 0, void 0, param)), void 0, body);
602
670
  }
603
671
  createFunctionExpression(functionName, parameters, body) {
604
- if (!ts3.isBlock(body)) {
605
- throw new Error(`Invalid syntax, expected a block, but got ${ts3.SyntaxKind[body.kind]}.`);
672
+ if (!ts4.isBlock(body)) {
673
+ throw new Error(`Invalid syntax, expected a block, but got ${ts4.SyntaxKind[body.kind]}.`);
606
674
  }
607
- return ts3.factory.createFunctionExpression(void 0, void 0, functionName != null ? functionName : void 0, void 0, parameters.map((param) => ts3.factory.createParameterDeclaration(void 0, void 0, param)), void 0, body);
675
+ return ts4.factory.createFunctionExpression(void 0, void 0, functionName != null ? functionName : void 0, void 0, parameters.map((param) => ts4.factory.createParameterDeclaration(void 0, void 0, param)), void 0, body);
608
676
  }
609
677
  createIfStatement(condition, thenStatement, elseStatement) {
610
- return ts3.factory.createIfStatement(condition, thenStatement, elseStatement != null ? elseStatement : void 0);
678
+ return ts4.factory.createIfStatement(condition, thenStatement, elseStatement != null ? elseStatement : void 0);
611
679
  }
612
680
  createLiteral(value) {
613
681
  if (value === void 0) {
614
- return ts3.factory.createIdentifier("undefined");
682
+ return ts4.factory.createIdentifier("undefined");
615
683
  } else if (value === null) {
616
- return ts3.factory.createNull();
684
+ return ts4.factory.createNull();
617
685
  } else if (typeof value === "boolean") {
618
- return value ? ts3.factory.createTrue() : ts3.factory.createFalse();
686
+ return value ? ts4.factory.createTrue() : ts4.factory.createFalse();
619
687
  } else if (typeof value === "number") {
620
- return ts3.factory.createNumericLiteral(value);
688
+ return ts4.factory.createNumericLiteral(value);
621
689
  } else {
622
- return ts3.factory.createStringLiteral(value);
690
+ return ts4.factory.createStringLiteral(value);
623
691
  }
624
692
  }
625
693
  createNewExpression(expression, args) {
626
- return ts3.factory.createNewExpression(expression, void 0, args);
694
+ return ts4.factory.createNewExpression(expression, void 0, args);
627
695
  }
628
696
  createObjectLiteral(properties) {
629
- return ts3.factory.createObjectLiteralExpression(properties.map((prop) => ts3.factory.createPropertyAssignment(prop.quoted ? ts3.factory.createStringLiteral(prop.propertyName) : ts3.factory.createIdentifier(prop.propertyName), prop.value)));
697
+ return ts4.factory.createObjectLiteralExpression(properties.map((prop) => ts4.factory.createPropertyAssignment(prop.quoted ? ts4.factory.createStringLiteral(prop.propertyName) : ts4.factory.createIdentifier(prop.propertyName), prop.value)));
630
698
  }
631
699
  createReturnStatement(expression) {
632
- return ts3.factory.createReturnStatement(expression != null ? expression : void 0);
700
+ return ts4.factory.createReturnStatement(expression != null ? expression : void 0);
633
701
  }
634
702
  createTaggedTemplate(tag, template) {
635
703
  let templateLiteral;
636
704
  const length = template.elements.length;
637
705
  const head = template.elements[0];
638
706
  if (length === 1) {
639
- templateLiteral = ts3.factory.createNoSubstitutionTemplateLiteral(head.cooked, head.raw);
707
+ templateLiteral = ts4.factory.createNoSubstitutionTemplateLiteral(head.cooked, head.raw);
640
708
  } else {
641
709
  const spans = [];
642
710
  for (let i = 1; i < length - 1; i++) {
@@ -645,7 +713,7 @@ var TypeScriptAstFactory = class {
645
713
  if (range !== null) {
646
714
  this.setSourceMapRange(middle, range);
647
715
  }
648
- spans.push(ts3.factory.createTemplateSpan(template.expressions[i - 1], middle));
716
+ spans.push(ts4.factory.createTemplateSpan(template.expressions[i - 1], middle));
649
717
  }
650
718
  const resolvedExpression = template.expressions[length - 2];
651
719
  const templatePart = template.elements[length - 1];
@@ -653,19 +721,19 @@ var TypeScriptAstFactory = class {
653
721
  if (templatePart.range !== null) {
654
722
  this.setSourceMapRange(templateTail, templatePart.range);
655
723
  }
656
- spans.push(ts3.factory.createTemplateSpan(resolvedExpression, templateTail));
657
- templateLiteral = ts3.factory.createTemplateExpression(ts3.factory.createTemplateHead(head.cooked, head.raw), spans);
724
+ spans.push(ts4.factory.createTemplateSpan(resolvedExpression, templateTail));
725
+ templateLiteral = ts4.factory.createTemplateExpression(ts4.factory.createTemplateHead(head.cooked, head.raw), spans);
658
726
  }
659
727
  if (head.range !== null) {
660
728
  this.setSourceMapRange(templateLiteral, head.range);
661
729
  }
662
- return ts3.factory.createTaggedTemplateExpression(tag, void 0, templateLiteral);
730
+ return ts4.factory.createTaggedTemplateExpression(tag, void 0, templateLiteral);
663
731
  }
664
732
  createUnaryExpression(operator, operand) {
665
- return ts3.factory.createPrefixUnaryExpression(UNARY_OPERATORS2[operator], operand);
733
+ return ts4.factory.createPrefixUnaryExpression(UNARY_OPERATORS2[operator], operand);
666
734
  }
667
735
  createVariableDeclaration(variableName, initializer, type) {
668
- return ts3.factory.createVariableStatement(void 0, ts3.factory.createVariableDeclarationList([ts3.factory.createVariableDeclaration(variableName, void 0, void 0, initializer != null ? initializer : void 0)], VAR_TYPES[type]));
736
+ return ts4.factory.createVariableStatement(void 0, ts4.factory.createVariableDeclarationList([ts4.factory.createVariableDeclaration(variableName, void 0, void 0, initializer != null ? initializer : void 0)], VAR_TYPES[type]));
669
737
  }
670
738
  setSourceMapRange(node, sourceMapRange) {
671
739
  if (sourceMapRange === null) {
@@ -673,31 +741,31 @@ var TypeScriptAstFactory = class {
673
741
  }
674
742
  const url = sourceMapRange.url;
675
743
  if (!this.externalSourceFiles.has(url)) {
676
- this.externalSourceFiles.set(url, ts3.createSourceMapSource(url, sourceMapRange.content, (pos) => pos));
744
+ this.externalSourceFiles.set(url, ts4.createSourceMapSource(url, sourceMapRange.content, (pos) => pos));
677
745
  }
678
746
  const source = this.externalSourceFiles.get(url);
679
- ts3.setSourceMapRange(node, { pos: sourceMapRange.start.offset, end: sourceMapRange.end.offset, source });
747
+ ts4.setSourceMapRange(node, { pos: sourceMapRange.start.offset, end: sourceMapRange.end.offset, source });
680
748
  return node;
681
749
  }
682
750
  };
683
751
  function createTemplateMiddle(cooked, raw) {
684
- const node = ts3.factory.createTemplateHead(cooked, raw);
685
- node.kind = ts3.SyntaxKind.TemplateMiddle;
752
+ const node = ts4.factory.createTemplateHead(cooked, raw);
753
+ node.kind = ts4.SyntaxKind.TemplateMiddle;
686
754
  return node;
687
755
  }
688
756
  function createTemplateTail(cooked, raw) {
689
- const node = ts3.factory.createTemplateHead(cooked, raw);
690
- node.kind = ts3.SyntaxKind.TemplateTail;
757
+ const node = ts4.factory.createTemplateHead(cooked, raw);
758
+ node.kind = ts4.SyntaxKind.TemplateTail;
691
759
  return node;
692
760
  }
693
761
  function attachComments(statement, leadingComments) {
694
762
  for (const comment of leadingComments) {
695
- const commentKind = comment.multiline ? ts3.SyntaxKind.MultiLineCommentTrivia : ts3.SyntaxKind.SingleLineCommentTrivia;
763
+ const commentKind = comment.multiline ? ts4.SyntaxKind.MultiLineCommentTrivia : ts4.SyntaxKind.SingleLineCommentTrivia;
696
764
  if (comment.multiline) {
697
- ts3.addSyntheticLeadingComment(statement, commentKind, comment.toString(), comment.trailingNewline);
765
+ ts4.addSyntheticLeadingComment(statement, commentKind, comment.toString(), comment.trailingNewline);
698
766
  } else {
699
767
  for (const line of comment.toString().split("\n")) {
700
- ts3.addSyntheticLeadingComment(statement, commentKind, line, comment.trailingNewline);
768
+ ts4.addSyntheticLeadingComment(statement, commentKind, line, comment.trailingNewline);
701
769
  }
702
770
  }
703
771
  }
@@ -715,6 +783,8 @@ export {
715
783
  Context,
716
784
  ImportManager,
717
785
  ExpressionTranslatorVisitor,
786
+ canEmitType,
787
+ TypeEmitter,
718
788
  translateType,
719
789
  translateExpression,
720
790
  translateStatement
@@ -726,4 +796,4 @@ export {
726
796
  * Use of this source code is governed by an MIT-style license that can be
727
797
  * found in the LICENSE file at https://angular.io/license
728
798
  */
729
- //# sourceMappingURL=chunk-LRT6BBZP.js.map
799
+ //# sourceMappingURL=chunk-ZETVX4VH.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../packages/compiler-cli/src/ngtsc/translator/src/context.ts", "../../../../../../packages/compiler-cli/src/ngtsc/translator/src/translator.ts", "../../../../../../packages/compiler-cli/src/ngtsc/translator/src/import_manager.ts", "../../../../../../packages/compiler-cli/src/ngtsc/translator/src/type_emitter.ts", "../../../../../../packages/compiler-cli/src/ngtsc/translator/src/type_translator.ts", "../../../../../../packages/compiler-cli/src/ngtsc/translator/src/typescript_ast_factory.ts", "../../../../../../packages/compiler-cli/src/ngtsc/translator/src/typescript_translator.ts"],
4
+ "mappings": "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",
5
+ "names": ["ts", "type", "o", "ts", "ts", "ts", "PureAnnotation", "UNARY_OPERATORS", "BINARY_OPERATORS"]
6
+ }