2c09b707ce2c185cf617050a7b0ab1ff9b587be0

Ivy definition looks something like this: ``` class MyService { static ngInjectableDef = defineInjectable({ … }); } ``` Here the argument to `defineInjectable` is well known public contract which needs to be honored in backward compatible way between versions. The type of the return value of `defineInjectable` on the other hand is private and can change shape drastically between versions without effecting backwards compatibility of libraries publish to NPM. To our users it is effectively an `OpaqueToken`. By prefixing the type with `ɵ` we are communicating the the outside world that the value is not public API and is subject to change without backward compatibility. PR Close #23371
fix(compiler-cli): shorten resolved module name in fileNameToModuleName to npm package name for typings (#23231)
refactor(ivy): make return value of define(Component|Directive|Pipe|Injector|Injectable) private (#23371)
refactor(ivy): make return value of define(Component|Directive|Pipe|Injector|Injectable) private (#23371)
refactor(ivy): make return value of define(Component|Directive|Pipe|Injector|Injectable) private (#23371)
Safari (7+), iOS (7+) and IE mobile (11) are tested on BrowserStack.
Angular
Angular is a development platform for building mobile and desktop web applications using Typescript/JavaScript and other languages.
Quickstart
Want to help?
Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues in the hotlist: community-help.
Description
Languages
TypeScript
86.3%
JavaScript
8.5%
HTML
1.8%
Starlark
1.7%
CSS
1%
Other
0.6%