Technically, function definitions can live anywhere because they are hoisted. However, in this case Closure optimizations break when exported function definitions are referred in another static object that is exported. The bad pattern is: ``` exports const obj = {f}; export function f() {...} ``` which turns to the following in Closure's module system: ``` goog.module('m'); exports.obj = {f}; function f() {...} exports.f = f; ``` which badly optimizes to (note module objects are collapsed) ``` var b = a; var a = function() {...}; // now b is undefined. ``` This is an optimizer bug and should be fixed in Closure, but in the meantime this change is a noop and will unblock other changes we want to make. PR Close #32230
Angular
The sources for this package are in the main Angular repo. Please file issues and pull requests against that repo.
Usage information and reference details can be found in Angular documentation.
License: MIT