@angular/compiler 17.0.0-next.1 → 17.0.0-next.3

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 (69) hide show
  1. package/esm2022/src/compiler.mjs +2 -2
  2. package/esm2022/src/compiler_util/expression_converter.mjs +22 -2
  3. package/esm2022/src/constant_pool.mjs +21 -2
  4. package/esm2022/src/output/abstract_emitter.mjs +1 -1
  5. package/esm2022/src/output/abstract_js_emitter.mjs +25 -1
  6. package/esm2022/src/output/output_ast.mjs +49 -3
  7. package/esm2022/src/render3/partial/class_metadata.mjs +1 -1
  8. package/esm2022/src/render3/partial/directive.mjs +1 -1
  9. package/esm2022/src/render3/partial/factory.mjs +1 -1
  10. package/esm2022/src/render3/partial/injectable.mjs +1 -1
  11. package/esm2022/src/render3/partial/injector.mjs +1 -1
  12. package/esm2022/src/render3/partial/ng_module.mjs +1 -1
  13. package/esm2022/src/render3/partial/pipe.mjs +1 -1
  14. package/esm2022/src/render3/r3_ast.mjs +1 -1
  15. package/esm2022/src/render3/r3_control_flow.mjs +7 -2
  16. package/esm2022/src/render3/r3_identifiers.mjs +6 -1
  17. package/esm2022/src/render3/view/compiler.mjs +26 -9
  18. package/esm2022/src/render3/view/template.mjs +215 -31
  19. package/esm2022/src/render3/view/util.mjs +2 -1
  20. package/esm2022/src/template/pipeline/ir/src/enums.mjs +41 -17
  21. package/esm2022/src/template/pipeline/ir/src/expression.mjs +69 -2
  22. package/esm2022/src/template/pipeline/ir/src/operations.mjs +13 -1
  23. package/esm2022/src/template/pipeline/ir/src/ops/create.mjs +46 -25
  24. package/esm2022/src/template/pipeline/ir/src/ops/host.mjs +3 -2
  25. package/esm2022/src/template/pipeline/ir/src/ops/update.mjs +18 -2
  26. package/esm2022/src/template/pipeline/src/compilation.mjs +107 -87
  27. package/esm2022/src/template/pipeline/src/emit.mjs +69 -72
  28. package/esm2022/src/template/pipeline/src/ingest.mjs +93 -58
  29. package/esm2022/src/template/pipeline/src/instruction.mjs +27 -9
  30. package/esm2022/src/template/pipeline/src/phases/align_pipe_variadic_var_offset.mjs +4 -4
  31. package/esm2022/src/template/pipeline/src/phases/any_cast.mjs +4 -4
  32. package/esm2022/src/template/pipeline/src/phases/attribute_extraction.mjs +34 -12
  33. package/esm2022/src/template/pipeline/src/phases/binding_specialization.mjs +4 -5
  34. package/esm2022/src/template/pipeline/src/phases/chaining.mjs +4 -1
  35. package/esm2022/src/template/pipeline/src/phases/conditionals.mjs +44 -0
  36. package/esm2022/src/template/pipeline/src/phases/const_collection.mjs +49 -13
  37. package/esm2022/src/template/pipeline/src/phases/empty_elements.mjs +5 -4
  38. package/esm2022/src/template/pipeline/src/phases/generate_advance.mjs +5 -5
  39. package/esm2022/src/template/pipeline/src/phases/generate_i18n_blocks.mjs +38 -0
  40. package/esm2022/src/template/pipeline/src/phases/generate_variables.mjs +3 -3
  41. package/esm2022/src/template/pipeline/src/phases/host_style_property_parsing.mjs +10 -4
  42. package/esm2022/src/template/pipeline/src/phases/i18n_message_extraction.mjs +108 -0
  43. package/esm2022/src/template/pipeline/src/phases/i18n_text_extraction.mjs +32 -0
  44. package/esm2022/src/template/pipeline/src/phases/local_refs.mjs +5 -5
  45. package/esm2022/src/template/pipeline/src/phases/namespace.mjs +3 -3
  46. package/esm2022/src/template/pipeline/src/phases/naming.mjs +19 -14
  47. package/esm2022/src/template/pipeline/src/phases/next_context_merging.mjs +5 -5
  48. package/esm2022/src/template/pipeline/src/phases/ng_container.mjs +4 -4
  49. package/esm2022/src/template/pipeline/src/phases/nonbindable.mjs +3 -3
  50. package/esm2022/src/template/pipeline/src/phases/ordering.mjs +97 -0
  51. package/esm2022/src/template/pipeline/src/phases/parse_extracted_styles.mjs +3 -3
  52. package/esm2022/src/template/pipeline/src/phases/pipe_creation.mjs +9 -9
  53. package/esm2022/src/template/pipeline/src/phases/pipe_variadic.mjs +4 -4
  54. package/esm2022/src/template/pipeline/src/phases/reify.mjs +31 -3
  55. package/esm2022/src/template/pipeline/src/phases/resolve_dollar_event.mjs +6 -6
  56. package/esm2022/src/template/pipeline/src/phases/resolve_i18n_placeholders.mjs +63 -0
  57. package/esm2022/src/template/pipeline/src/phases/resolve_sanitizers.mjs +5 -5
  58. package/esm2022/src/template/pipeline/src/phases/save_restore_view.mjs +8 -8
  59. package/esm2022/src/template/pipeline/src/phases/slot_allocation.mjs +8 -8
  60. package/esm2022/src/template/pipeline/src/phases/var_counting.mjs +3 -3
  61. package/esm2022/src/template/pipeline/src/util/elements.mjs +3 -3
  62. package/esm2022/src/version.mjs +1 -1
  63. package/fesm2022/compiler.mjs +10287 -9431
  64. package/fesm2022/compiler.mjs.map +1 -1
  65. package/fesm2022/testing.mjs +1 -1
  66. package/index.d.ts +28 -5
  67. package/package.json +2 -2
  68. package/testing/index.d.ts +1 -1
  69. package/esm2022/src/template/pipeline/src/phases/property_ordering.mjs +0 -99
@@ -9,9 +9,9 @@ import * as ir from '../../ir';
9
9
  /**
10
10
  * Gets a map of all elements in the given view by their xref id.
11
11
  */
12
- export function getElementsByXrefId(view) {
12
+ export function getElementsByXrefId(unit) {
13
13
  const elements = new Map();
14
- for (const op of view.create) {
14
+ for (const op of unit.create) {
15
15
  if (!ir.isElementOrContainerOp(op)) {
16
16
  continue;
17
17
  }
@@ -19,4 +19,4 @@ export function getElementsByXrefId(view) {
19
19
  }
20
20
  return elements;
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9zcmMvdGVtcGxhdGUvcGlwZWxpbmUvc3JjL3V0aWwvZWxlbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHL0I7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsSUFBeUI7SUFDM0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7SUFDaEUsS0FBSyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQzVCLElBQUksQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDbEMsU0FBUztTQUNWO1FBQ0QsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQzNCO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyBpciBmcm9tICcuLi8uLi9pcic7XG5pbXBvcnQge1ZpZXdDb21waWxhdGlvblVuaXR9IGZyb20gJy4uL2NvbXBpbGF0aW9uJztcblxuLyoqXG4gKiBHZXRzIGEgbWFwIG9mIGFsbCBlbGVtZW50cyBpbiB0aGUgZ2l2ZW4gdmlldyBieSB0aGVpciB4cmVmIGlkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudHNCeVhyZWZJZCh2aWV3OiBWaWV3Q29tcGlsYXRpb25Vbml0KSB7XG4gIGNvbnN0IGVsZW1lbnRzID0gbmV3IE1hcDxpci5YcmVmSWQsIGlyLkVsZW1lbnRPckNvbnRhaW5lck9wcz4oKTtcbiAgZm9yIChjb25zdCBvcCBvZiB2aWV3LmNyZWF0ZSkge1xuICAgIGlmICghaXIuaXNFbGVtZW50T3JDb250YWluZXJPcChvcCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBlbGVtZW50cy5zZXQob3AueHJlZiwgb3ApO1xuICB9XG4gIHJldHVybiBlbGVtZW50cztcbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9zcmMvdGVtcGxhdGUvcGlwZWxpbmUvc3JjL3V0aWwvZWxlbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHL0I7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsSUFBcUI7SUFDdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7SUFDaEUsS0FBSyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQzVCLElBQUksQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDbEMsU0FBUztTQUNWO1FBQ0QsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQzNCO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyBpciBmcm9tICcuLi8uLi9pcic7XG5pbXBvcnQgdHlwZSB7Q29tcGlsYXRpb25Vbml0fSBmcm9tICcuLi9jb21waWxhdGlvbic7XG5cbi8qKlxuICogR2V0cyBhIG1hcCBvZiBhbGwgZWxlbWVudHMgaW4gdGhlIGdpdmVuIHZpZXcgYnkgdGhlaXIgeHJlZiBpZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRzQnlYcmVmSWQodW5pdDogQ29tcGlsYXRpb25Vbml0KSB7XG4gIGNvbnN0IGVsZW1lbnRzID0gbmV3IE1hcDxpci5YcmVmSWQsIGlyLkVsZW1lbnRPckNvbnRhaW5lck9wcz4oKTtcbiAgZm9yIChjb25zdCBvcCBvZiB1bml0LmNyZWF0ZSkge1xuICAgIGlmICghaXIuaXNFbGVtZW50T3JDb250YWluZXJPcChvcCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBlbGVtZW50cy5zZXQob3AueHJlZiwgb3ApO1xuICB9XG4gIHJldHVybiBlbGVtZW50cztcbn1cbiJdfQ==
@@ -11,5 +11,5 @@
11
11
  * Entry point for all public APIs of the compiler package.
12
12
  */
13
13
  import { Version } from './util';
14
- export const VERSION = new Version('17.0.0-next.1');
14
+ export const VERSION = new Version('17.0.0-next.3');
15
15
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVIOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRS9CLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKlxuICogQG1vZHVsZVxuICogQGRlc2NyaXB0aW9uXG4gKiBFbnRyeSBwb2ludCBmb3IgYWxsIHB1YmxpYyBBUElzIG9mIHRoZSBjb21waWxlciBwYWNrYWdlLlxuICovXG5cbmltcG9ydCB7VmVyc2lvbn0gZnJvbSAnLi91dGlsJztcblxuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBuZXcgVmVyc2lvbignMC4wLjAtUExBQ0VIT0xERVInKTtcbiJdfQ==