docs: convert all `@experimental` tags to `@publicApi` tags (#26595)

PR Close #26595
This commit is contained in:
Pete Bacon Darwin 2018-10-19 12:12:20 +01:00 committed by Alex Rickabaugh
parent 4bd9f53e8f
commit 24521f549c
116 changed files with 331 additions and 331 deletions

View File

@ -15,14 +15,14 @@ import {AnimationStateStyles, AnimationTransitionFactory} from './animation_tran
/**
* @experimental Animation support is experimental.
* @publicApi
*/
export function buildTrigger(name: string, ast: TriggerAst): AnimationTrigger {
return new AnimationTrigger(name, ast);
}
/**
* @experimental Animation support is experimental.
* @publicApi
*/
export class AnimationTrigger {
public transitionFactories: AnimationTransitionFactory[] = [];

View File

@ -7,7 +7,7 @@
*/
/**
* @experimental Animation support is experimental.
* @publicApi
*/
export abstract class AnimationStyleNormalizer {
abstract normalizePropertyName(propertyName: string, errors: string[]): string;
@ -17,7 +17,7 @@ export abstract class AnimationStyleNormalizer {
}
/**
* @experimental Animation support is experimental.
* @publicApi
*/
export class NoopAnimationStyleNormalizer {
normalizePropertyName(propertyName: string, errors: string[]): string { return propertyName; }

View File

@ -11,7 +11,7 @@ import {Injectable} from '@angular/core';
import {containsElement, invokeQuery, matchesElement, validateStyleProperty} from './shared';
/**
* @experimental
* @publicApi
*/
@Injectable()
export class NoopAnimationDriver implements AnimationDriver {
@ -40,7 +40,7 @@ export class NoopAnimationDriver implements AnimationDriver {
}
/**
* @experimental
* @publicApi
*/
export abstract class AnimationDriver {
static NOOP: AnimationDriver = new NoopAnimationDriver();

View File

@ -10,7 +10,7 @@ import {ɵAnimationDriver as AnimationDriver, ɵallowPreviousPlayerStylesMerge a
/**
* @experimental Animation support is experimental.
* @publicApi
*/
export class MockAnimationDriver implements AnimationDriver {
static log: AnimationPlayer[] = [];
@ -42,7 +42,7 @@ export class MockAnimationDriver implements AnimationDriver {
}
/**
* @experimental Animation support is experimental.
* @publicApi
*/
export class MockAnimationPlayer extends NoopAnimationPlayer {
private __finished = false;

View File

@ -35,7 +35,7 @@
* }
* ```
*
* @experimental Animation support is experimental.
* @publicApi
*/
export interface AnimationEvent {
/**

View File

@ -12,7 +12,7 @@
export interface ɵStyleData { [key: string]: string|number; }
/**
* Represents animation-step timing parameters for an animation step.
* Represents animation-step timing parameters for an animation step.
* @see `animate()`
*/
export declare type AnimateTimings = {
@ -413,7 +413,7 @@ export interface AnimationStaggerMetadata extends AnimationMetadata {
* and `transition()` declarations.
*
* @return An object that encapsulates the trigger data.
*
*
* @usageNotes
* Define an animation trigger in the `animations` section of `@Component` metadata.
* In the template, reference the trigger by name and bind it to a trigger expression that
@ -421,12 +421,12 @@ export interface AnimationStaggerMetadata extends AnimationMetadata {
*
* `[@triggerName]="expression"`
*
* Animation trigger bindings convert all values to strings, and then match the
* Animation trigger bindings convert all values to strings, and then match the
* previous and current values against any linked transitions.
* Booleans can be specified as `1` or `true` and `0` or `false`.
*
* ### Usage Example
*
*
* The following example creates an animation trigger reference based on the provided
* name value.
* The provided animation value is expected to be an array consisting of state and
@ -487,7 +487,7 @@ export interface AnimationStaggerMetadata extends AnimationMetadata {
* ```
*
* ### Disabling Animations
* When true, the special animation control binding `@.disabled` binding prevents
* When true, the special animation control binding `@.disabled` binding prevents
* all animations from rendering.
* Place the `@.disabled` binding on an element to disable
* animations on the element itself, as well as any inner animation triggers
@ -519,7 +519,7 @@ export interface AnimationStaggerMetadata extends AnimationMetadata {
* along with any inner animations.
*
* ### Disable animations application-wide
* When an area of the template is set to have animations disabled,
* When an area of the template is set to have animations disabled,
* **all** inner components have their animations disabled as well.
* This means that you can disable all animations for an app
* by placing a host binding set on `@.disabled` on the topmost Angular component.
@ -539,8 +539,8 @@ export interface AnimationStaggerMetadata extends AnimationMetadata {
*
* ### Overriding disablement of inner animations
* Despite inner animations being disabled, a parent animation can `query()`
* for inner elements located in disabled areas of the template and still animate
* them if needed. This is also the case for when a sub animation is
* for inner elements located in disabled areas of the template and still animate
* them if needed. This is also the case for when a sub animation is
* queried by a parent and then later animated using `animateChild()`.
*
* ### Detecting when an animation is disabled
@ -549,7 +549,7 @@ export interface AnimationStaggerMetadata extends AnimationMetadata {
* an instance of an `AnimationEvent`. If animations are disabled,
* the `.disabled` flag on the event is true.
*
* @experimental Animation support is experimental.
* @publicApi
*/
export function trigger(name: string, definitions: AnimationMetadata[]): AnimationTriggerMetadata {
return {type: AnimationMetadataType.Trigger, name, definitions, options: {}};
@ -626,7 +626,7 @@ export function animate(
* - To specify offset styles to be applied at a later time, define steps with
* `keyframes()`, or use `animate()` calls with a delay value.
* For example:
*
*
* ```typescript
* group([
* animate("1s", { background: "black" }))
@ -641,7 +641,7 @@ export function animate(
* @return An object that encapsulates the group data.
*
* @usageNotes
* Grouped animations are useful when a series of styles must be
* Grouped animations are useful when a series of styles must be
* animated at different starting times and closed off at different ending times.
*
* When called within a `sequence()` or a
@ -701,7 +701,7 @@ export function sequence(steps: AnimationMetadata[], options: AnimationOptions |
* - An asterisk (*), to use auto-styling, where styles are derived from the element
* being animated and applied to the animation when it starts.
*
* Auto-styling can be used to define a state that depends on layout or other
* Auto-styling can be used to define a state that depends on layout or other
* environmental factors.
*
* @return An object that encapsulates the style data.
@ -709,7 +709,7 @@ export function sequence(steps: AnimationMetadata[], options: AnimationOptions |
* @usageNotes
* The following examples create animation styles that collect a set of
* CSS property values:
*
*
* ```typescript
* // string values for CSS properties
* style({ background: "red", color: "blue" })
@ -1062,7 +1062,7 @@ export function animateChild(options: AnimateChildOptions | null = null):
* Starts a reusable animation that is created using the `animation()` function.
*
* @param animation The reusable animation to start.
* @param options An options object that can contain a delay value for the start of
* @param options An options object that can contain a delay value for the start of
* the animation, and additional override values for developer-defined parameters.
* @return An object that contains the animation parameters.
*/
@ -1121,7 +1121,7 @@ export function useAnimation(
* ### Usage Example
*
* The following example queries for inner elements and animates them
* individually using `animateChild()`.
* individually using `animateChild()`.
*
* ```typescript
* @Component({

View File

@ -65,7 +65,7 @@ import {ComponentFactoryResolver, ComponentRef, Directive, Injector, Input, NgMo
*
* {@example common/ngComponentOutlet/ts/module.ts region='NgModuleFactoryExample'}
*
* @experimental
* @publicApi
* @ngModule CommonModule
*/
@Directive({selector: '[ngComponentOutlet]'})

View File

@ -42,7 +42,7 @@ import {SwitchView} from './ng_switch';
*
* See http://cldr.unicode.org/index/cldr-spec/plural-rules
*
* @experimental
* @publicApi
*/
@Directive({selector: '[ngPlural]'})
export class NgPlural {
@ -100,7 +100,7 @@ export class NgPlural {
*
* See {@link NgPlural} for more details and example.
*
* @experimental
* @publicApi
*/
@Directive({selector: '[ngPluralCase]'})
export class NgPluralCase {

View File

@ -7,7 +7,7 @@
*/
/**
* @experimental i18n support is experimental.
* @publicApi
*/
export const LOCALE_DATA: {[localeId: string]: any} = {};
@ -15,7 +15,7 @@ export const LOCALE_DATA: {[localeId: string]: any} = {};
* Register global data to be used internally by Angular. See the
* ["I18n guide"](guide/i18n#i18n-pipes) to know how to import additional locale data.
*
* @experimental i18n support is experimental.
* @publicApi
*/
// The signature registerLocaleData(data: any, extraData?: any) is deprecated since v5.1
export function registerLocaleData(data: any, localeId?: string | any, extraData?: any): void {

View File

@ -14,7 +14,7 @@ import {CURRENCIES_EN, CurrenciesSymbols} from './currencies';
* The different format styles that can be used to represent numbers.
* Used by the function {@link getLocaleNumberFormat}.
*
* @experimental i18n support is experimental.
* @publicApi
*/
export enum NumberFormatStyle {
Decimal,
@ -23,7 +23,7 @@ export enum NumberFormatStyle {
Scientific
}
/** @experimental */
/** @publicApi */
export enum Plural {
Zero = 0,
One = 1,
@ -40,7 +40,7 @@ export enum Plural {
* the genitive.
* See [the CLDR website](http://cldr.unicode.org/translation/date-time) for more information.
*
* @experimental i18n support is experimental.
* @publicApi
*/
export enum FormStyle {
Format,
@ -57,7 +57,7 @@ export enum FormStyle {
* - Abbreviated: `Sun`
* - Wide: `Sunday`
*
* @experimental i18n support is experimental.
* @publicApi
*/
export enum TranslationWidth {
Narrow,
@ -77,7 +77,7 @@ export enum TranslationWidth {
* - `'full'`: `'EEEE, MMMM d, y, h:mm:ss a zzzz'` (e.g. `Monday, June 15, 2015 at
* 9:03:01 AM GMT+01:00`)
*
* @experimental i18n support is experimental.
* @publicApi
*/
export enum FormatWidth {
Short,
@ -106,7 +106,7 @@ export enum FormatWidth {
* | currencyDecimal | $2,345`.`67 | decimal separator, fallback to "decimal" |
* | currencyGroup | $2`,`345.67 | grouping separator, fallback to "group" |
*
* @experimental i18n support is experimental.
* @publicApi
*/
export enum NumberSymbol {
Decimal,
@ -128,7 +128,7 @@ export enum NumberSymbol {
/**
* The value for each day of the week, based on the en-US locale
*
* @experimental
* @publicApi
*/
export enum WeekDay {
Sunday = 0,
@ -143,7 +143,7 @@ export enum WeekDay {
/**
* The locale id for the chosen locale (e.g `en-GB`).
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleId(locale: string): string {
return findLocaleData(locale)[LocaleDataIndex.LocaleId];
@ -152,7 +152,7 @@ export function getLocaleId(locale: string): string {
/**
* Periods of the day (e.g. `[AM, PM]` for en-US).
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleDayPeriods(
locale: string, formStyle: FormStyle, width: TranslationWidth): [string, string] {
@ -167,7 +167,7 @@ export function getLocaleDayPeriods(
/**
* Days of the week for the Gregorian calendar (e.g. `[Sunday, Monday, ... Saturday]` for en-US).
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleDayNames(
locale: string, formStyle: FormStyle, width: TranslationWidth): string[] {
@ -181,7 +181,7 @@ export function getLocaleDayNames(
/**
* Months of the year for the Gregorian calendar (e.g. `[January, February, ...]` for en-US).
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleMonthNames(
locale: string, formStyle: FormStyle, width: TranslationWidth): string[] {
@ -195,7 +195,7 @@ export function getLocaleMonthNames(
/**
* Eras for the Gregorian calendar (e.g. AD/BC).
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleEraNames(locale: string, width: TranslationWidth): [string, string] {
const data = findLocaleData(locale);
@ -207,7 +207,7 @@ export function getLocaleEraNames(locale: string, width: TranslationWidth): [str
* First day of the week for this locale, based on english days (Sunday = 0, Monday = 1, ...).
* For example in french the value would be 1 because the first day of the week is Monday.
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleFirstDayOfWeek(locale: string): WeekDay {
const data = findLocaleData(locale);
@ -219,7 +219,7 @@ export function getLocaleFirstDayOfWeek(locale: string): WeekDay {
* (Sunday = 0, Monday = 1, ...).
* For example in english the value would be [6,0] for Saturday to Sunday.
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleWeekEndRange(locale: string): [WeekDay, WeekDay] {
const data = findLocaleData(locale);
@ -249,7 +249,7 @@ export function getLocaleWeekEndRange(locale: string): [WeekDay, WeekDay] {
*
* For example, `M/d/yy`, corresponding to a date like "9/14/99".
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleDateFormat(locale: string, width: FormatWidth): string {
const data = findLocaleData(locale);
@ -274,7 +274,7 @@ export function getLocaleDateFormat(locale: string, width: FormatWidth): string
* through 23 (midnight plus 1 minute is 0:01), or using k to mean a 24-hour clock cycle running
* 1 through 24 (midnight plus 1 minute is 24:01).
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleTimeFormat(locale: string, width: FormatWidth): string {
const data = findLocaleData(locale);
@ -304,7 +304,7 @@ export function getLocaleTimeFormat(locale: string, width: FormatWidth): string
* time. English uses `{1} 'at' {0}` for full and long styles, and `{1}, {0}` for medium and short
* styles.
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleDateTimeFormat(locale: string, width: FormatWidth): string {
const data = findLocaleData(locale);
@ -316,7 +316,7 @@ export function getLocaleDateTimeFormat(locale: string, width: FormatWidth): str
* Number symbol that can be used to replace placeholders in number formats.
* See {@link NumberSymbol} for more information.
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleNumberSymbol(locale: string, symbol: NumberSymbol): string {
const data = findLocaleData(locale);
@ -360,7 +360,7 @@ export function getLocaleNumberSymbol(locale: string, symbol: NumberSymbol): str
* You can find more information
* [on the CLDR website](http://cldr.unicode.org/translation/number-patterns)
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleNumberFormat(locale: string, type: NumberFormatStyle): string {
const data = findLocaleData(locale);
@ -372,7 +372,7 @@ export function getLocaleNumberFormat(locale: string, type: NumberFormatStyle):
* the locale en-US).
* The symbol will be `null` if the main country cannot be determined.
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleCurrencySymbol(locale: string): string|null {
const data = findLocaleData(locale);
@ -384,7 +384,7 @@ export function getLocaleCurrencySymbol(locale: string): string|null {
* en-US).
* The name will be `null` if the main country cannot be determined.
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleCurrencyName(locale: string): string|null {
const data = findLocaleData(locale);
@ -403,7 +403,7 @@ function getLocaleCurrencies(locale: string): {[code: string]: CurrenciesSymbols
* The locale plural function used by ICU expressions to determine the plural case to use.
* See {@link NgPlural} for more information.
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocalePluralCase(locale: string): (value: number) => Plural {
const data = findLocaleData(locale);
@ -430,7 +430,7 @@ function checkFullData(data: any) {
* See the ["I18n guide"](guide/i18n#i18n-pipes) to know how to import additional locale
* data.
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleExtraDayPeriodRules(locale: string): (Time | [Time, Time])[] {
const data = findLocaleData(locale);
@ -455,7 +455,7 @@ export function getLocaleExtraDayPeriodRules(locale: string): (Time | [Time, Tim
* See the ["I18n guide"](guide/i18n#i18n-pipes) to know how to import additional locale
* data.
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getLocaleExtraDayPeriods(
locale: string, formStyle: FormStyle, width: TranslationWidth): string[] {
@ -476,7 +476,7 @@ export function getLocaleExtraDayPeriods(
* add the first one to the locale data arrays, the other ones are only defined when different.
* We use this function to retrieve the first defined value.
*
* @experimental i18n support is experimental.
* @publicApi
*/
function getLastDefinedValue<T>(data: T[], index: number): T {
for (let i = index; i > -1; i--) {
@ -490,7 +490,7 @@ function getLastDefinedValue<T>(data: T[], index: number): T {
/**
* A representation of the time with hours and minutes
*
* @experimental i18n support is experimental.
* @publicApi
*/
export type Time = {
hours: number,
@ -508,7 +508,7 @@ function extractTime(time: string): Time {
/**
* Finds the locale data for a locale id
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function findLocaleData(locale: string): any {
const normalizedLocale = locale.toLowerCase().replace(/_/g, '-');
@ -538,7 +538,7 @@ export function findLocaleData(locale: string): any {
* (e.g.: format narrow = $, format wide = US$, code = USD)
* If no locale is provided, it uses the locale "en" by default
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getCurrencySymbol(code: string, format: 'wide' | 'narrow', locale = 'en'): string {
const currency = getLocaleCurrencies(locale)[code] || CURRENCIES_EN[code] || [];
@ -558,7 +558,7 @@ const DEFAULT_NB_OF_CURRENCY_DIGITS = 2;
* Returns the number of decimal digits for the given currency.
* Its value depends upon the presence of cents in that particular currency.
*
* @experimental i18n support is experimental.
* @publicApi
*/
export function getNumberOfCurrencyDigits(code: string): number {
let digits;

View File

@ -16,7 +16,7 @@ import {Plural, getLocalePluralCase} from './locale_data_api';
export const DEPRECATED_PLURAL_FN = new InjectionToken<boolean>('UseV4Plurals');
/**
* @experimental
* @publicApi
*/
export abstract class NgLocalization {
abstract getPluralCategory(value: any, locale?: string): string;
@ -52,7 +52,7 @@ export function getPluralCategory(
/**
* Returns the plural case based on the locale
*
* @experimental
* @publicApi
*/
@Injectable()
export class NgLocaleLocalization extends NgLocalization {
@ -89,7 +89,7 @@ export class NgLocaleLocalization extends NgLocalization {
* Returns the plural case based on the locale
*
* @deprecated from v5 the plural case function is in locale data files common/locales/*.ts
* @experimental
* @publicApi
*/
export function getPluralCase(locale: string, nLike: number | string): Plural {
// TODO(vicb): lazy compute

View File

@ -11,7 +11,7 @@ import {SubscriptionLike} from 'rxjs';
import {LocationStrategy} from './location_strategy';
/** @experimental */
/** @publicApi */
export interface PopStateEvent {
pop?: boolean;
state?: any;

View File

@ -49,7 +49,7 @@ export abstract class PlatformLocation {
/**
* @description Indicates when a location is initialized.
* @experimental
* @publicApi
*/
export const LOCATION_INITIALIZED = new InjectionToken<Promise<any>>('Location Initialized');
@ -57,7 +57,7 @@ export const LOCATION_INITIALIZED = new InjectionToken<Promise<any>>('Location I
* @description
* A serializable version of the event from `onPopState` or `onHashChange`
*
* @experimental
* @publicApi
*/
export interface LocationChangeEvent {
type: string;
@ -65,6 +65,6 @@ export interface LocationChangeEvent {
}
/**
* @experimental
* @publicApi
*/
export interface LocationChangeListener { (event: LocationChangeEvent): any; }

View File

@ -24,7 +24,7 @@ const _INTERPOLATION_REGEXP: RegExp = /#/g;
*
* {@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}
*
* @experimental
* @publicApi
*/
@Pipe({name: 'i18nPlural', pure: true})
export class I18nPluralPipe implements PipeTransform {

View File

@ -24,7 +24,7 @@ import {invalidPipeArgumentError} from './invalid_pipe_argument_error';
*
* {@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}
*
* @experimental
* @publicApi
*/
@Pipe({name: 'i18nSelect', pure: true})
export class I18nSelectPipe implements PipeTransform {

View File

@ -13,7 +13,7 @@ export const PLATFORM_WORKER_UI_ID = 'browserWorkerUi';
/**
* Returns whether a platform id represents a browser platform.
* @experimental
* @publicApi
*/
export function isPlatformBrowser(platformId: Object): boolean {
return platformId === PLATFORM_BROWSER_ID;
@ -21,7 +21,7 @@ export function isPlatformBrowser(platformId: Object): boolean {
/**
* Returns whether a platform id represents a server platform.
* @experimental
* @publicApi
*/
export function isPlatformServer(platformId: Object): boolean {
return platformId === PLATFORM_SERVER_ID;
@ -29,7 +29,7 @@ export function isPlatformServer(platformId: Object): boolean {
/**
* Returns whether a platform id represents a web worker app platform.
* @experimental
* @publicApi
*/
export function isPlatformWorkerApp(platformId: Object): boolean {
return platformId === PLATFORM_WORKER_APP_ID;
@ -37,7 +37,7 @@ export function isPlatformWorkerApp(platformId: Object): boolean {
/**
* Returns whether a platform id represents a web worker UI platform.
* @experimental
* @publicApi
*/
export function isPlatformWorkerUi(platformId: Object): boolean {
return platformId === PLATFORM_WORKER_UI_ID;

View File

@ -14,7 +14,7 @@ import {SubscriptionLike} from 'rxjs';
/**
* A spy for {@link Location} that allows tests to fire simulated location events.
*
* @experimental
* @publicApi
*/
@Injectable()
export class SpyLocation implements Location {

View File

@ -11,7 +11,7 @@ import {StaticSymbol} from '@angular/compiler';
/**
* The range of a span of text in a source file.
*
* @experimental
* @publicApi
*/
export interface Span {
/**
@ -44,7 +44,7 @@ export type Definition = Location[] | undefined;
* A symbol describing a language element that can be referenced by expressions
* in an Angular template.
*
* @experimental
* @publicApi
*/
export interface Symbol {
/**
@ -124,7 +124,7 @@ export interface Symbol {
/**
* A table of `Symbol`s accessible by name.
*
* @experimental
* @publicApi
*/
export interface SymbolTable {
/**
@ -153,7 +153,7 @@ export interface SymbolTable {
/**
* A description of a function or method signature.
*
* @experimental
* @publicApi
*/
export interface Signature {
/**
@ -171,7 +171,7 @@ export interface Signature {
/**
* An enumeration of basic types.
*
* @experimental
* @publicApi
*/
export enum BuiltinType {
/**
@ -218,7 +218,7 @@ export enum BuiltinType {
/**
* The kinds of definition.
*
* @experimental
* @publicApi
*/
export type DeclarationKind = 'attribute' | 'html attribute' | 'component' | 'element' | 'entity' |
'key' | 'method' | 'pipe' | 'property' | 'type' | 'reference' | 'variable';
@ -226,7 +226,7 @@ export type DeclarationKind = 'attribute' | 'html attribute' | 'component' | 'el
/**
* Describes a symbol to type binding used to build a symbol table.
*
* @experimental
* @publicApi
*/
export interface SymbolDeclaration {
/**
@ -253,7 +253,7 @@ export interface SymbolDeclaration {
/**
* Information about the pipes that are available for use in a template.
*
* @experimental
* @publicApi
*/
export interface PipeInfo {
/**
@ -270,14 +270,14 @@ export interface PipeInfo {
/**
* A sequence of pipe information.
*
* @experimental
* @publicApi
*/
export type Pipes = PipeInfo[] | undefined;
/**
* Describes the language context in which an Angular expression is evaluated.
*
* @experimental
* @publicApi
*/
export interface SymbolQuery {
/**

View File

@ -190,7 +190,7 @@ export interface CompilerOptions extends ts.CompilerOptions {
* `ngtsc` - run the ngtsc compiler instead of the normal ngc compiler
* `tsc` - behave like plain tsc as much as possible (used for testing JIT code)
*
* @experimental
* @publicApi
*/
enableIvy?: boolean|'ngtsc'|'tsc';

View File

@ -67,7 +67,7 @@ export const APPLICATION_MODULE_PROVIDERS: StaticProvider[] = [
* Re-exported by `BrowserModule`, which is included automatically in the root
* `AppModule` when you create a new app with the CLI `new` command.
*
* @experimental
* @publicApi
*/
@NgModule({providers: APPLICATION_MODULE_PROVIDERS})
export class ApplicationModule {

View File

@ -57,7 +57,7 @@ export const ALLOW_MULTIPLE_PLATFORMS = new InjectionToken<boolean>('AllowMultip
/**
* A token for third-party components that can register themselves with NgProbe.
*
* @experimental
* @publicApi
*/
export class NgProbeToken {
constructor(public name: string, public token: any) {}
@ -67,7 +67,7 @@ export class NgProbeToken {
* Creates a platform.
* Platforms have to be eagerly created via this function.
*
* @experimental APIs related to application bootstrap are currently under review.
* @publicApi
*/
export function createPlatform(injector: Injector): PlatformRef {
if (_platform && !_platform.destroyed &&
@ -84,7 +84,7 @@ export function createPlatform(injector: Injector): PlatformRef {
/**
* Creates a factory for a platform
*
* @experimental APIs related to application bootstrap are currently under review.
* @publicApi
*/
export function createPlatformFactory(
parentPlatformFactory: ((extraProviders?: StaticProvider[]) => PlatformRef) | null,
@ -111,7 +111,7 @@ export function createPlatformFactory(
/**
* Checks that there currently is a platform which contains the given token as a provider.
*
* @experimental APIs related to application bootstrap are currently under review.
* @publicApi
*/
export function assertPlatform(requiredToken: any): PlatformRef {
const platform = getPlatform();
@ -131,7 +131,7 @@ export function assertPlatform(requiredToken: any): PlatformRef {
/**
* Destroy the existing platform.
*
* @experimental APIs related to application bootstrap are currently under review.
* @publicApi
*/
export function destroyPlatform(): void {
if (_platform && !_platform.destroyed) {
@ -142,7 +142,7 @@ export function destroyPlatform(): void {
/**
* Returns the current platform.
*
* @experimental APIs related to application bootstrap are currently under review.
* @publicApi
*/
export function getPlatform(): PlatformRef|null {
return _platform && !_platform.destroyed ? _platform : null;
@ -203,7 +203,7 @@ export class PlatformRef {
* let moduleRef = platformBrowser().bootstrapModuleFactory(MyModuleNgFactory);
* ```
*
* @experimental APIs related to application bootstrap are currently under review.
* @publicApi
*/
bootstrapModuleFactory<M>(moduleFactory: NgModuleFactory<M>, options?: BootstrapOptions):
Promise<NgModuleRef<M>> {

View File

@ -18,7 +18,7 @@ import {ComponentRef} from './linker/component_factory';
* If you need to avoid randomly generated value to be used as an application id, you can provide
* a custom value via a DI provider <!-- TODO: provider --> configuring the root {@link Injector}
* using this token.
* @experimental
* @publicApi
*/
export const APP_ID = new InjectionToken<string>('AppId');
@ -28,7 +28,7 @@ export function _appIdRandomProviderFactory() {
/**
* Providers that will generate a random APP_ID_TOKEN.
* @experimental
* @publicApi
*/
export const APP_ID_RANDOM_PROVIDER = {
provide: APP_ID,
@ -42,13 +42,13 @@ function _randomChar(): string {
/**
* A function that will be executed when a platform is initialized.
* @experimental
* @publicApi
*/
export const PLATFORM_INITIALIZER = new InjectionToken<Array<() => void>>('Platform Initializer');
/**
* A token that indicates an opaque platform id.
* @experimental
* @publicApi
*/
export const PLATFORM_ID = new InjectionToken<Object>('Platform ID');
@ -58,13 +58,13 @@ export const PLATFORM_ID = new InjectionToken<Object>('Platform ID');
*
* `(componentRef: ComponentRef) => void`.
*
* @experimental
* @publicApi
*/
export const APP_BOOTSTRAP_LISTENER =
new InjectionToken<Array<(compRef: ComponentRef<any>) => void>>('appBootstrapListener');
/**
* A token which indicates the root directory of the application
* @experimental
* @publicApi
*/
export const PACKAGE_ROOT_URL = new InjectionToken<string>('Application Packages Root URL');

View File

@ -14,7 +14,7 @@ export class EventListener {
}
/**
* @experimental All debugging apis are currently experimental.
* @publicApi
*/
export class DebugNode {
listeners: EventListener[] = [];
@ -38,7 +38,7 @@ export class DebugNode {
}
/**
* @experimental All debugging apis are currently experimental.
* @publicApi
*/
export class DebugElement extends DebugNode {
name !: string;
@ -126,7 +126,7 @@ export class DebugElement extends DebugNode {
}
/**
* @experimental
* @publicApi
*/
export function asNativeElements(debugEls: DebugElement[]): any {
return debugEls.map((el) => el.nativeElement);
@ -162,7 +162,7 @@ function _queryNodeChildren(
const _nativeNodeToDebugNode = new Map<any, DebugNode>();
/**
* @experimental
* @publicApi
*/
export function getDebugNode(nativeNode: any): DebugNode|null {
return _nativeNodeToDebugNode.get(nativeNode) || null;
@ -184,6 +184,6 @@ export function removeDebugNodeFromIndex(node: DebugNode) {
* A boolean-valued function over a value, possibly including context information
* regarding that value's position in an array.
*
* @experimental All debugging apis are currently experimental.
* @publicApi
*/
export interface Predicate<T> { (value: T): boolean; }

View File

@ -72,7 +72,7 @@ export interface InjectorDef<T> {
* `InjectableDefType`s contain their own Dependency Injection metadata and are usable in an
* `InjectorDef`-based `StaticInjector.
*
* @experimental
* @publicApi
*/
export interface InjectableType<T> extends Type<T> {
/**
@ -86,7 +86,7 @@ export interface InjectableType<T> extends Type<T> {
*
* `InjectorDefTypes` can be used to configure a `StaticInjector`.
*
* @experimental
* @publicApi
*/
export interface InjectorType<T> extends Type<T> {
/**
@ -124,7 +124,7 @@ export interface InjectorTypeWithProviders<T> {
* * `factory` gives the zero argument function which will create an instance of the injectable.
* The factory can call `inject` to access the `Injector` and request injection of dependencies.
*
* @experimental
* @publicApi
*/
export function defineInjectable<T>(opts: {
providedIn?: Type<any>| 'root' | 'any' | null,
@ -153,7 +153,7 @@ export function defineInjectable<T>(opts: {
* whose providers will also be added to the injector. Locally provided types will override
* providers from imports.
*
* @experimental
* @publicApi
*/
export function defineInjector(options: {factory: () => any, providers?: any[], imports?: any[]}):
never {

View File

@ -18,7 +18,7 @@ import {stringify} from '../util';
* ### Example
*
* {@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref_fn'}
* @experimental
* @publicApi
*/
export interface ForwardRefFn { (): any; }
@ -32,7 +32,7 @@ export interface ForwardRefFn { (): any; }
* @usageNotes
* ### Example
* {@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref'}
* @experimental
* @publicApi
*/
export function forwardRef(forwardRefFn: ForwardRefFn): Type<any> {
(<any>forwardRefFn).__forward_ref__ = forwardRef;
@ -51,7 +51,7 @@ export function forwardRef(forwardRefFn: ForwardRefFn): Type<any> {
* {@example core/di/ts/forward_ref/forward_ref_spec.ts region='resolve_forward_ref'}
*
* @see `forwardRef`
* @experimental
* @publicApi
*/
export function resolveForwardRef(type: any): any {
if (typeof type === 'function' && type.hasOwnProperty('__forward_ref__') &&

View File

@ -18,7 +18,7 @@ import {convertInjectableProviderToFactory} from './util';
/**
* Injectable providers used in `@Injectable` decorator.
*
* @experimental
* @publicApi
*/
export type InjectableProvider = ValueSansProvider | ExistingSansProvider |
StaticClassSansProvider | ConstructorSansProvider | FactorySansProvider | ClassSansProvider;
@ -52,7 +52,7 @@ export interface InjectableDecorator {
/**
* Type of the Injectable metadata.
*
* @experimental
* @publicApi
*/
export interface Injectable { providedIn?: Type<any>|'root'|null; }
@ -68,7 +68,7 @@ export const Injectable: InjectableDecorator = makeDecorator(
/**
* Type representing injectable service.
*
* @experimental
* @publicApi
*/
export interface InjectableType<T> extends Type<T> { ngInjectableDef: InjectableDef<T>; }

View File

@ -26,7 +26,7 @@ export const THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND;
* Requesting this token instead of `Injector` allows `StaticInjector` to be tree-shaken from a
* project.
*
* @experimental
* @publicApi
*/
export const INJECTOR = new InjectionToken<Injector>('INJECTOR');
@ -445,7 +445,7 @@ export function setCurrentInjector(injector: Injector | null | undefined): Injec
* of providing an additional array of dependencies as was common to do with `useFactory` providers.
* `inject` is faster and more type-safe.
*
* @experimental
* @publicApi
*/
export function inject<T>(token: Type<T>| InjectionToken<T>): T;
export function inject<T>(token: Type<T>| InjectionToken<T>, flags?: InjectFlags): T|null;

View File

@ -18,7 +18,7 @@ import {Type} from '../type';
*
* {@example core/di/ts/provider_spec.ts region='ValueSansProvider'}
*
* @experimental
* @publicApi
*/
export interface ValueSansProvider {
/**
@ -64,7 +64,7 @@ export interface ValueProvider extends ValueSansProvider {
*
* {@example core/di/ts/provider_spec.ts region='StaticClassSansProvider'}
*
* @experimental
* @publicApi
*/
export interface StaticClassSansProvider {
/**
@ -124,7 +124,7 @@ export interface StaticClassProvider extends StaticClassSansProvider {
* class MyService {}
* ```
*
* @experimental
* @publicApi
*/
export interface ConstructorSansProvider {
/**
@ -215,7 +215,7 @@ export interface ExistingProvider extends ExistingSansProvider {
*
* {@example core/di/ts/provider_spec.ts region='FactorySansProvider'}
*
* @experimental
* @publicApi
*/
export interface FactorySansProvider {
/**
@ -300,7 +300,7 @@ export interface TypeProvider extends Type<any> {}
*
* {@example core/di/ts/provider_spec.ts region='ClassSansProvider'}
*
* @experimental
* @publicApi
*/
export interface ClassSansProvider {
/**

View File

@ -66,7 +66,7 @@ interface Record<T> {
/**
* Create a new `Injector` which is configured using a `defType` of `InjectorType<any>`s.
*
* @experimental
* @publicApi
*/
export function createInjector(
defType: /* InjectorType<any> */ any, parent: Injector | null = null,

View File

@ -140,7 +140,7 @@ export abstract class ReflectiveInjector implements Injector {
* var injector = ReflectiveInjector.fromResolvedProviders(providers);
* expect(injector.get(Car) instanceof Car).toBe(true);
* ```
* @experimental
* @publicApi
*/
static fromResolvedProviders(providers: ResolvedReflectiveProvider[], parent?: Injector):
ReflectiveInjector {

View File

@ -52,7 +52,7 @@ const _EMPTY_LIST: any[] = [];
* expect(injector.get('message')).toEqual('Hello');
* ```
*
* @experimental
* @publicApi
*/
export interface ResolvedReflectiveProvider {
/**
@ -83,7 +83,7 @@ export class ResolvedReflectiveProvider_ implements ResolvedReflectiveProvider {
/**
* An internal resolved representation of a factory function created by resolving `Provider`.
* @experimental
* @publicApi
*/
export class ResolvedReflectiveFactory {
constructor(

View File

@ -28,7 +28,7 @@ import {InjectionToken} from '../di/injection_token';
* });
* ```
*
* @experimental i18n support is experimental.
* @publicApi
*/
export const LOCALE_ID = new InjectionToken<string>('LocaleId');
@ -54,7 +54,7 @@ export const LOCALE_ID = new InjectionToken<string>('LocaleId');
* });
* ```
*
* @experimental i18n support is experimental.
* @publicApi
*/
export const TRANSLATIONS = new InjectionToken<string>('Translations');
@ -77,7 +77,7 @@ export const TRANSLATIONS = new InjectionToken<string>('Translations');
* });
* ```
*
* @experimental i18n support is experimental.
* @publicApi
*/
export const TRANSLATIONS_FORMAT = new InjectionToken<string>('TranslationsFormat');
@ -102,7 +102,7 @@ export const TRANSLATIONS_FORMAT = new InjectionToken<string>('TranslationsForma
* });
* ```
*
* @experimental i18n support is experimental.
* @publicApi
*/
export enum MissingTranslationStrategy {
Error = 0,

View File

@ -23,7 +23,7 @@ let _runModeLocked: boolean = false;
*
* By default, this is true, unless a user calls `enableProdMode` before calling this.
*
* @experimental APIs related to application bootstrap are currently under review.
* @publicApi
*/
export function isDevMode(): boolean {
_runModeLocked = true;

View File

@ -21,7 +21,7 @@ import {NgModuleFactory} from './ng_module_factory';
/**
* Combination of NgModuleFactory and ComponentFactorys.
*
* @experimental
* @publicApi
*/
export class ModuleWithComponentFactories<T> {
constructor(
@ -91,7 +91,7 @@ export class Compiler {
/**
* Options for creating a compiler
*
* @experimental
* @publicApi
*/
export type CompilerOptions = {
useJit?: boolean,
@ -104,14 +104,14 @@ export type CompilerOptions = {
/**
* Token to provide CompilerOptions in the platform injector.
*
* @experimental
* @publicApi
*/
export const COMPILER_OPTIONS = new InjectionToken<CompilerOptions[]>('compilerOptions');
/**
* A factory for creating a Compiler
*
* @experimental
* @publicApi
*/
export abstract class CompilerFactory {
abstract createCompiler(options?: CompilerOptions[]): Compiler;

View File

@ -55,7 +55,7 @@ export interface InternalNgModuleRef<T> extends NgModuleRef<T> {
}
/**
* @experimental
* @publicApi
*/
export abstract class NgModuleFactory<T> {
abstract get moduleType(): Type<T>;

View File

@ -20,7 +20,7 @@ let moduleFactories = new Map<string, NgModuleFactory<any>>();
/**
* Registers a loaded module. Should only be called from generated NgModuleFactory code.
* @experimental
* @publicApi
*/
export function registerModuleFactory(id: string, factory: NgModuleFactory<any>) {
const existing = moduleFactories.get(id);
@ -39,7 +39,7 @@ export function clearModulesForTest() {
* Returns the NgModuleFactory with the given id, if it exists and has been loaded.
* Factories for modules that do not specify an `id` cannot be retrieved. Throws if the module
* cannot be found.
* @experimental
* @publicApi
*/
export function getModuleFactory(id: string): NgModuleFactory<any> {
const factory = moduleFactories.get(id);

View File

@ -22,7 +22,7 @@ declare var System: any;
* Configuration for SystemJsNgModuleLoader.
* token.
*
* @experimental
* @publicApi
*/
export abstract class SystemJsNgModuleLoaderConfig {
/**
@ -45,7 +45,7 @@ const DEFAULT_CONFIG: SystemJsNgModuleLoaderConfig = {
/**
* NgModuleFactoryLoader that uses SystemJS to load NgModuleFactory
* @experimental
* @publicApi
*/
@Injectable()
export class SystemJsNgModuleLoader implements NgModuleFactoryLoader {

View File

@ -13,9 +13,9 @@ import {ChangeDetectorRef} from '../change_detection/change_detector_ref';
* Represents an Angular [view](guide/glossary#view),
* specifically the [host view](guide/glossary#view-tree) that is defined by a component.
* Also serves as the base class
* that adds destroy methods for [embedded views](guide/glossary#view-tree).
*
* @see `EmbeddedViewRef`
* that adds destroy methods for [embedded views](guide/glossary#view-tree).
*
* @see `EmbeddedViewRef`
*/
export abstract class ViewRef extends ChangeDetectorRef {
/**
@ -89,7 +89,7 @@ export abstract class ViewRef extends ChangeDetectorRef {
* </ul>
* <!-- /ViewRef: outer-0 -->
* ```
* @experimental
* @publicApi
*/
export abstract class EmbeddedViewRef<C> extends ViewRef {
/**

View File

@ -43,7 +43,7 @@ import {makeParamDecorator, makePropDecorator} from '../util/decorators';
* class ModuleWithRoutes {}
* ```
*
* @experimental
* @publicApi
*/
export const ANALYZE_FOR_ENTRY_COMPONENTS = new InjectionToken<any>('AnalyzeForEntryComponents');

View File

@ -86,7 +86,7 @@ export interface ModuleWithProviders<
*
* @param name The name of a defined schema.
*
* @experimental
* @publicApi
*/
export interface SchemaMetadata { name: string; }
@ -105,7 +105,7 @@ export const CUSTOM_ELEMENTS_SCHEMA: SchemaMetadata = {
/**
* Defines a schema that allows any property on any element.
*
* @experimental
* @publicApi
*/
export const NO_ERRORS_SCHEMA: SchemaMetadata = {
name: 'no-errors-schema'

View File

@ -23,6 +23,6 @@ const _CORE_PLATFORM_PROVIDERS: StaticProvider[] = [
/**
* This platform has to be included in any other platform
*
* @experimental
* @publicApi
*/
export const platformCore = createPlatformFactory(null, 'core', _CORE_PLATFORM_PROVIDERS);

View File

@ -48,7 +48,7 @@ function noopScope(arg0?: any, arg1?: any): any {
* needs to be fixed before the app should be profiled. Add try-finally only when you expect that
* an exception is expected during normal execution while profiling.
*
* @experimental
* @publicApi
*/
export const wtfCreateScope: (signature: string, flags?: any) => WtfScopeFn =
wtfEnabled ? createScope : (signature: string, flags?: any) => noopScope;
@ -60,7 +60,7 @@ export const wtfCreateScope: (signature: string, flags?: any) => WtfScopeFn =
* - `returnValue` (optional) to be passed to the WTF.
*
* Returns the `returnValue for easy chaining.
* @experimental
* @publicApi
*/
export const wtfLeave: <T>(scope: any, returnValue?: T) => T =
wtfEnabled ? leave : (s: any, r?: any) => r;
@ -76,7 +76,7 @@ export const wtfLeave: <T>(scope: any, returnValue?: T) => T =
* wtfEndTimeRange(s);
* });
* }
* @experimental
* @publicApi
*/
export const wtfStartTimeRange: (rangeType: string, action: string) => any =
wtfEnabled ? startTimeRange : (rangeType: string, action: string) => null;
@ -85,6 +85,6 @@ export const wtfStartTimeRange: (rangeType: string, action: string) => any =
* Ends a async time range operation.
* [range] is the return value from [wtfStartTimeRange] Async ranges only work if WTF has been
* enabled.
* @experimental
* @publicApi
*/
export const wtfEndTimeRange: (range: any) => void = wtfEnabled ? endTimeRange : (r: any) => null;

View File

@ -11,7 +11,7 @@ import {global} from '../util';
/**
* A scope function for the Web Tracing Framework (WTF).
*
* @experimental
* @publicApi
*/
export interface WtfScopeFn { (arg0?: any, arg1?: any): any; }

View File

@ -119,7 +119,7 @@ export abstract class RootRenderer {
/**
* Used by `RendererFactory2` to associate custom rendering data and styles
* with a rendering implementation.
* @experimental
* @publicApi
*/
export interface RendererType2 {
/**
@ -152,7 +152,7 @@ export interface RendererType2 {
/**
* Creates and initializes a custom renderer that implements the `Renderer2` base class.
*
* @experimental
* @publicApi
*/
export abstract class RendererFactory2 {
/**
@ -179,7 +179,7 @@ export abstract class RendererFactory2 {
/**
* Flags for renderer-specific style modifiers.
* @experimental
* @publicApi
*/
export enum RendererStyleFlags2 {
/**
@ -205,7 +205,7 @@ export enum RendererStyleFlags2 {
* not statically known, use the `setProperty()` or
* `setAttribute()` method.
*
* @experimental
* @publicApi
*/
export abstract class Renderer2 {
/**

View File

@ -273,7 +273,7 @@ export function directiveInject<T>(
* })
* ```
*
* @experimental
* @publicApi
*/
export function injectAttribute(attrNameToInject: string): string|undefined {
const tNode = getPreviousOrParentTNode();

View File

@ -14,7 +14,7 @@ import {NgZone} from '../zone/ng_zone';
* Testability API.
* `declare` keyword causes tsickle to generate externs, so these methods are
* not renamed by Closure Compiler.
* @experimental
* @publicApi
*/
export declare interface PublicTestability {
isStable(): boolean;
@ -52,7 +52,7 @@ interface WaitCallback {
* The Testability service provides testing hooks that can be accessed from
* the browser and by services such as Protractor. Each bootstrapped Angular
* application on the page will have an instance of Testability.
* @experimental
* @publicApi
*/
@Injectable()
export class Testability implements PublicTestability {
@ -223,7 +223,7 @@ export class Testability implements PublicTestability {
/**
* A global registry of {@link Testability} instances for specific elements.
* @experimental
* @publicApi
*/
@Injectable()
export class TestabilityRegistry {
@ -283,7 +283,7 @@ export class TestabilityRegistry {
* Adapter interface for retrieving the `Testability` service associated for a
* particular context.
*
* @experimental Testability apis are primarily intended to be used by e2e test tool vendors like
* @publicApi
* the Protractor team.
*/
export interface GetTestability {
@ -302,7 +302,7 @@ class _NoopGetTestability implements GetTestability {
/**
* Set the {@link GetTestability} implementation used by the Angular testing framework.
* @experimental
* @publicApi
*/
export function setTestabilityGetter(getter: GetTestability): void {
_testabilityGetter = getter;

View File

@ -80,7 +80,7 @@ import {EventEmitter} from '../event_emitter';
* }
* ```
*
* @experimental
* @publicApi
*/
export class NgZone {
readonly hasPendingMicrotasks: boolean = false;

View File

@ -14,7 +14,7 @@ const fakeAsyncTestModule = _Zone && _Zone[_Zone.__symbol__('fakeAsyncTest')];
* Clears out the shared fake async zone for a test.
* To be called in a global `beforeEach`.
*
* @experimental
* @publicApi
*/
export function resetFakeAsyncZone(): void {
if (fakeAsyncTestModule) {
@ -41,7 +41,7 @@ export function resetFakeAsyncZone(): void {
* @param fn
* @returns The function wrapped to be executed in the fakeAsync zone
*
* @experimental
* @publicApi
*/
export function fakeAsync(fn: Function): (...args: any[]) => any {
if (fakeAsyncTestModule) {
@ -62,7 +62,7 @@ export function fakeAsync(fn: Function): (...args: any[]) => any {
*
* {@example core/testing/ts/fake_async.ts region='basic'}
*
* @experimental
* @publicApi
*/
export function tick(millis: number = 0): void {
if (fakeAsyncTestModule) {
@ -80,7 +80,7 @@ export function tick(millis: number = 0): void {
* @param maxTurns
* @returns The simulated time elapsed, in millis.
*
* @experimental
* @publicApi
*/
export function flush(maxTurns?: number): number {
if (fakeAsyncTestModule) {
@ -93,7 +93,7 @@ export function flush(maxTurns?: number): number {
/**
* Discard all remaining periodic tasks.
*
* @experimental
* @publicApi
*/
export function discardPeriodicTasks(): void {
if (fakeAsyncTestModule) {
@ -106,7 +106,7 @@ export function discardPeriodicTasks(): void {
/**
* Flush any pending microtasks.
*
* @experimental
* @publicApi
*/
export function flushMicrotasks(): void {
if (fakeAsyncTestModule) {

View File

@ -24,7 +24,7 @@ let _fakeAsyncTestZoneSpec: any = null;
* Clears out the shared fake async zone for a test.
* To be called in a global `beforeEach`.
*
* @experimental
* @publicApi
*/
export function resetFakeAsyncZoneFallback() {
_fakeAsyncTestZoneSpec = null;
@ -51,7 +51,7 @@ let _inFakeAsyncCall = false;
* @param fn
* @returns The function wrapped to be executed in the fakeAsync zone
*
* @experimental
* @publicApi
*/
export function fakeAsyncFallback(fn: Function): (...args: any[]) => any {
// Not using an arrow function to preserve context passed from call site
@ -116,7 +116,7 @@ function _getFakeAsyncZoneSpec(): any {
*
* {@example core/testing/ts/fake_async.ts region='basic'}
*
* @experimental
* @publicApi
*/
export function tickFallback(millis: number = 0): void {
_getFakeAsyncZoneSpec().tick(millis);
@ -130,7 +130,7 @@ export function tickFallback(millis: number = 0): void {
* @param maxTurns
* @returns The simulated time elapsed, in millis.
*
* @experimental
* @publicApi
*/
export function flushFallback(maxTurns?: number): number {
return _getFakeAsyncZoneSpec().flush(maxTurns);
@ -139,7 +139,7 @@ export function flushFallback(maxTurns?: number): number {
/**
* Discard all remaining periodic tasks.
*
* @experimental
* @publicApi
*/
export function discardPeriodicTasksFallback(): void {
const zoneSpec = _getFakeAsyncZoneSpec();
@ -149,7 +149,7 @@ export function discardPeriodicTasksFallback(): void {
/**
* Flush any pending microtasks.
*
* @experimental
* @publicApi
*/
export function flushMicrotasksFallback(): void {
_getFakeAsyncZoneSpec().flushMicrotasks();

View File

@ -9,7 +9,7 @@
/**
* Type used for modifications to metadata
*
* @experimental
* @publicApi
*/
export type MetadataOverride<T> = {
add?: Partial<T>,

View File

@ -38,7 +38,7 @@ export class TestBedRender3 implements Injector, TestBed {
* Test modules and platforms for individual platforms are available from
* '@angular/<platform_name>/testing'.
*
* @experimental
* @publicApi
*/
static initTestEnvironment(
ngModule: Type<any>|Type<any>[], platform: PlatformRef, aotSummaries?: () => any[]): TestBed {
@ -50,7 +50,7 @@ export class TestBedRender3 implements Injector, TestBed {
/**
* Reset the providers for the test injector.
*
* @experimental
* @publicApi
*/
static resetTestEnvironment(): void { _getTestBedRender3().resetTestEnvironment(); }
@ -198,7 +198,7 @@ export class TestBedRender3 implements Injector, TestBed {
* Test modules and platforms for individual platforms are available from
* '@angular/<platform_name>/testing'.
*
* @experimental
* @publicApi
*/
initTestEnvironment(
ngModule: Type<any>|Type<any>[], platform: PlatformRef, aotSummaries?: () => any[]): void {
@ -212,7 +212,7 @@ export class TestBedRender3 implements Injector, TestBed {
/**
* Reset the providers for the test injector.
*
* @experimental
* @publicApi
*/
resetTestEnvironment(): void {
this.resetTestingModule();

View File

@ -36,7 +36,7 @@ export interface TestBed {
* Test modules and platforms for individual platforms are available from
* '@angular/<platform_name>/testing'.
*
* @experimental
* @publicApi
*/
initTestEnvironment(
ngModule: Type<any>|Type<any>[], platform: PlatformRef, aotSummaries?: () => any[]): void;
@ -44,7 +44,7 @@ export interface TestBed {
/**
* Reset the providers for the test injector.
*
* @experimental
* @publicApi
*/
resetTestEnvironment(): void;
@ -120,7 +120,7 @@ export class TestBedViewEngine implements Injector, TestBed {
* Test modules and platforms for individual platforms are available from
* '@angular/<platform_name>/testing'.
*
* @experimental
* @publicApi
*/
static initTestEnvironment(
ngModule: Type<any>|Type<any>[], platform: PlatformRef,
@ -133,7 +133,7 @@ export class TestBedViewEngine implements Injector, TestBed {
/**
* Reset the providers for the test injector.
*
* @experimental
* @publicApi
*/
static resetTestEnvironment(): void { _getTestBedViewEngine().resetTestEnvironment(); }
@ -292,7 +292,7 @@ export class TestBedViewEngine implements Injector, TestBed {
* Test modules and platforms for individual platforms are available from
* '@angular/<platform_name>/testing'.
*
* @experimental
* @publicApi
*/
initTestEnvironment(
ngModule: Type<any>|Type<any>[], platform: PlatformRef, aotSummaries?: () => any[]): void {
@ -309,7 +309,7 @@ export class TestBedViewEngine implements Injector, TestBed {
/**
* Reset the providers for the test injector.
*
* @experimental
* @publicApi
*/
resetTestEnvironment(): void {
this.resetTestingModule();
@ -644,7 +644,7 @@ export const TestBed: TestBedStatic =
*
* It will be either an instance of `TestBedViewEngine` or `TestBedRender3`.
*
* @experimental
* @publicApi
*/
export const getTestBed: () => TestBed = ivyEnabled ? _getTestBedRender3 : _getTestBedViewEngine;
@ -698,7 +698,7 @@ export function inject(tokens: any[], fn: Function): () => any {
}
/**
* @experimental
* @publicApi
*/
export class InjectSetupWrapper {
constructor(private _moduleDef: () => TestModuleMetadata) {}
@ -721,7 +721,7 @@ export class InjectSetupWrapper {
}
/**
* @experimental
* @publicApi
*/
export function withModule(moduleDef: TestModuleMetadata): InjectSetupWrapper;
export function withModule(moduleDef: TestModuleMetadata, fn: Function): () => any;

View File

@ -15,25 +15,25 @@ import {TestBed} from './test_bed';
/**
* An abstract class for inserting the root test component element in a platform independent way.
*
* @experimental
* @publicApi
*/
export class TestComponentRenderer {
insertRootElement(rootElementId: string) {}
}
/**
* @experimental
* @publicApi
*/
export const ComponentFixtureAutoDetect =
new InjectionToken<boolean[]>('ComponentFixtureAutoDetect');
/**
* @experimental
* @publicApi
*/
export const ComponentFixtureNoNgZone = new InjectionToken<boolean[]>('ComponentFixtureNoNgZone');
/**
* @experimental
* @publicApi
*/
export type TestModuleMetadata = {
providers?: any[],
@ -55,7 +55,7 @@ export interface TestBedStatic {
/**
* Reset the providers for the test injector.
*
* @experimental
* @publicApi
*/
resetTestEnvironment(): void;

View File

@ -17,7 +17,7 @@ function unimplemented(): any {
/**
* Special interface to the compiler only used by testing
*
* @experimental
* @publicApi
*/
@Injectable()
export class TestingCompiler extends Compiler {
@ -57,7 +57,7 @@ export class TestingCompiler extends Compiler {
/**
* A factory for creating a Compiler
*
* @experimental
* @publicApi
*/
export abstract class TestingCompilerFactory {
abstract createTestingCompiler(options?: CompilerOptions[]): TestingCompiler;

View File

@ -21,7 +21,7 @@ const DESTROY_DELAY = 10;
* Factory that creates new ComponentNgElementStrategy instance. Gets the component factory with the
* constructor's injector's factory resolver and passes that factory to each strategy.
*
* @experimental
* @publicApi
*/
export class ComponentNgElementStrategyFactory implements NgElementStrategyFactory {
componentFactory: ComponentFactory<any>;
@ -40,7 +40,7 @@ export class ComponentNgElementStrategyFactory implements NgElementStrategyFacto
* Creates and destroys a component ref using a component factory and handles change detection
* in response to input changes.
*
* @experimental
* @publicApi
*/
export class ComponentNgElementStrategy implements NgElementStrategy {
/** Merged stream of the component's output events. */

View File

@ -18,7 +18,7 @@ import {createCustomEvent, getComponentInputs, getDefaultAttributeToPropertyInpu
* that can be used for custom element registration. Implemented and returned
* by the {@link createCustomElement createCustomElement() function}.
*
* @experimental
* @publicApi
*/
export interface NgElementConstructor<P> {
/**
@ -37,7 +37,7 @@ export interface NgElementConstructor<P> {
/**
* Implements the functionality needed for a custom element.
*
* @experimental
* @publicApi
*/
export abstract class NgElement extends HTMLElement {
/**
@ -77,7 +77,7 @@ export abstract class NgElement extends HTMLElement {
* for properties that are added based
* on the inputs and methods of the underlying component.
*
* @experimental
* @publicApi
*/
export type WithProperties<P> = {
[property in keyof P]: P[property]
@ -88,7 +88,7 @@ export type WithProperties<P> = {
* dependencies and strategy it needs to transform a component into
* a custom element class.
*
* @experimental
* @publicApi
*/
export interface NgElementConfig {
/**
@ -120,7 +120,7 @@ export interface NgElementConfig {
* @returns The custom-element construction class, which can be registered with
* a browser's `CustomElementRegistry`.
*
* @experimental
* @publicApi
*/
export function createCustomElement<P>(
component: Type<any>, config: NgElementConfig): NgElementConstructor<P> {

View File

@ -11,7 +11,7 @@ import {Observable} from 'rxjs';
/**
* Interface for the events emitted through the NgElementStrategy.
*
* @experimental
* @publicApi
*/
export interface NgElementStrategyEvent {
name: string;
@ -22,7 +22,7 @@ export interface NgElementStrategyEvent {
* Underlying strategy used by the NgElement to create/destroy the component and react to input
* changes.
*
* @experimental
* @publicApi
*/
export interface NgElementStrategy {
events: Observable<NgElementStrategyEvent>;
@ -36,7 +36,7 @@ export interface NgElementStrategy {
/**
* Factory used to create new strategies for each NgElement instance.
*
* @experimental
* @publicApi
*/
export interface NgElementStrategyFactory {
/** Creates a new instance to be used for an NgElement. */

View File

@ -8,6 +8,6 @@
import {Version} from '@angular/core';
/**
* @experimental
* @publicApi
*/
export const VERSION = new Version('0.0.0-PLACEHOLDER');

View File

@ -27,7 +27,7 @@ function _isAndroid(): boolean {
/**
* Turn this mode on if you want form directives to buffer IME input until compositionend
* @experimental
* @publicApi
*/
export const COMPOSITION_BUFFER_MODE = new InjectionToken<boolean>('CompositionEventMode');

View File

@ -21,7 +21,7 @@ import {Directive} from '@angular/core';
* <form ngNativeValidate></form>
* ```
*
* @experimental
* @publicApi
* @ngModule ReactiveFormsModule
* @ngModule FormsModule
*/

View File

@ -17,7 +17,7 @@ import {NG_VALIDATORS, Validators} from '../validators';
* @description
* Defines the map of errors returned from failed validation checks
*
* @experimental
* @publicApi
*/
export type ValidationErrors = {
[key: string]: any
@ -93,7 +93,7 @@ export interface Validator {
* }
* ```
*
* @experimental
* @publicApi
*/
export interface AsyncValidator extends Validator {
/**
@ -175,7 +175,7 @@ export class RequiredValidator implements Validator {
* <input type="checkbox" name="active" ngModel required>
* ```
*
* @experimental
* @publicApi
* @ngModule FormsModule
* @ngModule ReactiveFormsModule
*/
@ -213,7 +213,7 @@ export const EMAIL_VALIDATOR: any = {
* <input type="email" name="email" ngModel [email]="true">
* ```
*
* @experimental
* @publicApi
* @ngModule FormsModule
* @ngModule ReactiveFormsModule
*/

View File

@ -93,7 +93,7 @@ export type FormHooks = 'change' | 'blur' | 'submit';
/**
* Interface for options provided to an `AbstractControl`.
*
* @experimental
* @publicApi
*/
export interface AbstractControlOptions {
/**

View File

@ -19,7 +19,7 @@ import {Completions, Definition, Diagnostic, DiagnosticKind, Diagnostics, Hover,
/**
* Create an instance of an Angular `LanguageService`.
*
* @experimental
* @publicApi
*/
export function createLanguageService(host: LanguageServiceHost): LanguageService {
return new LanguageServiceImpl(host);

View File

@ -29,7 +29,7 @@ export {
*
* A host interface; see `LanguageSeriviceHost`.
*
* @experimental
* @publicApi
*/
export interface TemplateSource {
/**
@ -73,7 +73,7 @@ export interface TemplateSource {
*
* A host type; see `LanguageSeriviceHost`.
*
* @experimental
* @publicApi
*/
export type TemplateSources = TemplateSource[] | undefined;
@ -83,7 +83,7 @@ export type TemplateSources = TemplateSource[] | undefined;
*
* A host type; see `LanguageServiceHost`.
*
* @experimental
* @publicApi
*/
export interface DeclarationError {
/**
@ -109,7 +109,7 @@ export interface DeclarationError {
*
* A host type; see `LanguageSeriviceHost`.
*
* @experimental
* @publicApi
*/
export interface Declaration {
/**
@ -139,7 +139,7 @@ export interface Declaration {
*
* A host type; see `LanguageSeriviceHost`.
*
* @experimental
* @publicApi
*/
export type Declarations = Declaration[];
@ -169,7 +169,7 @@ export type Declarations = Declaration[];
* releases. After an interface is marked as stable breaking-changes will only be allowed between
* major releases. No breaking changes are allowed between patch releases.
*
* @experimental
* @publicApi
*/
export interface LanguageServiceHost {
/**
@ -212,7 +212,7 @@ export interface LanguageServiceHost {
*
* A `LanguageService` interface.
*
* @experimental
* @publicApi
*/
export interface Completion {
/**
@ -234,7 +234,7 @@ export interface Completion {
/**
* A sequence of completions.
*
* @experimental
* @publicApi
*/
export type Completions = Completion[] | undefined;
@ -249,7 +249,7 @@ export interface Location {
/**
* The kind of diagnostic message.
*
* @experimental
* @publicApi
*/
export enum DiagnosticKind {
Error,
@ -264,7 +264,7 @@ export enum DiagnosticKind {
* For compatibility previous implementation, the values are expected to override
* toString() to return a formatted message.
*
* @experimental
* @publicApi
*/
export interface DiagnosticMessageChain {
/**
@ -281,7 +281,7 @@ export interface DiagnosticMessageChain {
/**
* An template diagnostic message to display.
*
* @experimental
* @publicApi
*/
export interface Diagnostic {
/**
@ -303,7 +303,7 @@ export interface Diagnostic {
/**
* A sequence of diagnostic message.
*
* @experimental
* @publicApi
*/
export type Diagnostics = Diagnostic[];
@ -364,7 +364,7 @@ export interface Hover {
* releases. After an interface is marked as stable breaking-changes will only be allowed between
* major releases. No breaking changes are allowed between patch releases.
*
* @experimental
* @publicApi
*/
export interface LanguageService {
/**

View File

@ -58,7 +58,7 @@ export class DummyResourceLoader extends ResourceLoader {
* The `TypeScriptServiceHost` implements the Angular `LanguageServiceHost` using
* the TypeScript language services.
*
* @experimental
* @publicApi
*/
export class TypeScriptServiceHost implements LanguageServiceHost {
// TODO(issue/24571): remove '!'.

View File

@ -155,7 +155,7 @@ export const COMPILER_PROVIDERS = <StaticProvider[]>[
];
/**
* @experimental
* @publicApi
*/
export class JitCompilerFactory implements CompilerFactory {
private _defaultOptions: CompilerOptions[];

View File

@ -18,7 +18,7 @@ export {VERSION} from './version';
export {JitCompilerFactory} from './compiler_factory';
/**
* @experimental
* @publicApi
*/
export const RESOURCE_CACHE_PROVIDER: Provider[] =
[{provide: ResourceLoader, useClass: CachedResourceLoader, deps: []}];

View File

@ -12,7 +12,7 @@ import {JitCompilerFactory} from './compiler_factory';
/**
* A platform that included corePlatform and the compiler.
*
* @experimental
* @publicApi
*/
export const platformCoreDynamic = createPlatformFactory(platformCore, 'coreDynamic', [
{provide: COMPILER_OPTIONS, useValue: {}, multi: true},

View File

@ -15,7 +15,7 @@ import {COMPILER_PROVIDERS, TestingCompilerFactoryImpl} from './compiler_factory
/**
* Platform for dynamic tests
*
* @experimental
* @publicApi
*/
export const platformCoreDynamicTesting: (extraProviders?: any[]) => PlatformRef =
createPlatformFactory(platformCoreDynamic, 'coreDynamicTesting', [

View File

@ -13,7 +13,7 @@ import {BROWSER_ANIMATIONS_PROVIDERS, BROWSER_NOOP_ANIMATIONS_PROVIDERS} from '.
/**
* Exports `BrowserModule` with additional [dependency-injection providers](guide/glossary#provider)
* for use with animations. See [Animations](guide/animations).
* @experimental
* @publicApi
*/
@NgModule({
exports: [BrowserModule],
@ -24,7 +24,7 @@ export class BrowserAnimationsModule {
/**
* A null player that must be imported to allow disabling of animations.
* @experimental
* @publicApi
*/
@NgModule({
exports: [BrowserModule],

View File

@ -37,7 +37,7 @@ export function instantiateRendererFactory(
}
/**
* @experimental Animation support is experimental.
* @publicApi
*/
export const ANIMATION_MODULE_TYPE =
new InjectionToken<'NoopAnimations'|'BrowserAnimations'>('AnimationModuleType');

View File

@ -34,7 +34,7 @@ export const INTERNAL_BROWSER_PLATFORM_PROVIDERS: StaticProvider[] = [
* @security Replacing built-in sanitization providers exposes the application to XSS risks.
* Attacker-controlled data introduced by an unsanitized provider could expose your
* application to XSS risks. For more detail, see the [Security Guide](http://g.co/ng/security).
* @experimental
* @publicApi
*/
export const BROWSER_SANITIZATION_PROVIDERS: StaticProvider[] = [
{provide: Sanitizer, useExisting: DomSanitizer},
@ -114,7 +114,7 @@ export class BrowserModule {
* The ID must match between the client and server versions of the app.
* @returns The reconfigured `BrowserModule` to import into the app's root `AppModule`.
*
* @experimental
* @publicApi
*/
static withServerTransition(params: {appId: string}): ModuleWithProviders<BrowserModule> {
return {

View File

@ -16,7 +16,7 @@ import {DOCUMENT} from '../dom/dom_tokens';
/**
* Represents a meta element.
*
* @experimental
* @publicApi
*/
export type MetaDefinition = {
charset?: string; content?: string; httpEquiv?: string; id?: string; itemprop?: string;
@ -40,7 +40,7 @@ export function createMeta() {
/**
* A service that can be used to get and add meta tags.
*
* @experimental
* @publicApi
*/
@Injectable({providedIn: 'root', useFactory: createMeta, deps: []})
export class Meta {

View File

@ -26,7 +26,7 @@ export function createTitle() {
* (representing the `<title>` tag). Instead, this service can be used to set and get the current
* title value.
*
* @experimental
* @publicApi
*/
@Injectable({providedIn: 'root', useFactory: createTitle, deps: []})
export class Title {

View File

@ -23,7 +23,7 @@ const PROFILER_GLOBAL_NAME = 'profiler';
* 1. Try the change detection profiler `ng.profiler.timeChangeDetection()`
* then hit Enter.
*
* @experimental All debugging apis are currently experimental.
* @publicApi
*/
export function enableDebugTools<T>(ref: ComponentRef<T>): ComponentRef<T> {
exportNgVar(PROFILER_GLOBAL_NAME, new AngularProfiler(ref));
@ -33,7 +33,7 @@ export function enableDebugTools<T>(ref: ComponentRef<T>): ComponentRef<T> {
/**
* Disables Angular tools.
*
* @experimental All debugging apis are currently experimental.
* @publicApi
*/
export function disableDebugTools(): void {
exportNgVar(PROFILER_GLOBAL_NAME, null);

View File

@ -43,7 +43,7 @@ export function unescapeHtml(text: string): string {
* transferState.set(COUNTER_KEY, value);
* ```
*
* @experimental
* @publicApi
*/
export type StateKey<T> = string & {__not_a_string: never};
@ -59,7 +59,7 @@ export type StateKey<T> = string & {__not_a_string: never};
* transferState.set(COUNTER_KEY, value);
* ```
*
* @experimental
* @publicApi
*/
export function makeStateKey<T = void>(key: string): StateKey<T> {
return key as StateKey<T>;
@ -76,7 +76,7 @@ export function makeStateKey<T = void>(key: string): StateKey<T> {
* boolean, number, string, null and non-class objects will be serialized and deserialzied in a
* non-lossy manner.
*
* @experimental
* @publicApi
*/
@Injectable()
export class TransferState {
@ -156,7 +156,7 @@ export function initTransferState(doc: Document, appId: string) {
* NgModule to install on the client side while using the `TransferState` to transfer state from
* server to client.
*
* @experimental
* @publicApi
*/
@NgModule({
providers: [{provide: TransferState, useFactory: initTransferState, deps: [DOCUMENT, APP_ID]}],

View File

@ -14,7 +14,7 @@ import {getDOM} from '../../dom/dom_adapter';
/**
* Predicates for use with {@link DebugElement}'s query functions.
*
* @experimental All debugging apis are currently experimental.
* @publicApi
*/
export class By {
/**

View File

@ -57,7 +57,7 @@ const EVENT_NAMES = {
* DI token for providing [HammerJS](http://hammerjs.github.io/) support to Angular.
* @see `HammerGestureConfig`
*
* @experimental
* @publicApi
*/
export const HAMMER_GESTURE_CONFIG = new InjectionToken<HammerGestureConfig>('HammerGestureConfig');
@ -77,7 +77,7 @@ export interface HammerInstance {
/**
* An injectable [HammerJS Manager](http://hammerjs.github.io/api/#hammer.manager)
* for gesture recognition. Configures specific event recognition.
* @experimental
* @publicApi
*/
@Injectable()
export class HammerGestureConfig {

View File

@ -29,7 +29,7 @@ const MODIFIER_KEY_GETTERS: {[key: string]: (event: KeyboardEvent) => boolean} =
};
/**
* @experimental
* @publicApi
* A browser plug-in that provides support for handling of key events in Angular.
*/
@Injectable()

View File

@ -14,7 +14,7 @@ import {serializeDocument} from './domino_adapter';
/**
* Representation of the current platform state.
*
* @experimental
* @publicApi
*/
@Injectable()
export class PlatformState {

View File

@ -65,7 +65,7 @@ export const SERVER_RENDER_PROVIDERS: Provider[] = [
/**
* The ng module for the server.
*
* @experimental
* @publicApi
*/
@NgModule({
exports: [BrowserModule],
@ -90,7 +90,7 @@ function _document(injector: Injector) {
}
/**
* @experimental
* @publicApi
*/
export const platformServer =
createPlatformFactory(platformCore, 'server', INTERNAL_SERVER_PLATFORM_PROVIDERS);
@ -98,7 +98,7 @@ export const platformServer =
/**
* The server platform that supports the runtime compiler.
*
* @experimental
* @publicApi
*/
export const platformDynamicServer =
createPlatformFactory(platformCoreDynamic, 'serverDynamic', INTERNAL_SERVER_PLATFORM_PROVIDERS);

View File

@ -11,7 +11,7 @@ import {InjectionToken} from '@angular/core';
/**
* Config object passed to initialize the platform.
*
* @experimental
* @publicApi
*/
export interface PlatformConfig {
document?: string;
@ -21,7 +21,7 @@ export interface PlatformConfig {
/**
* The DI token for setting the initial config for the platform.
*
* @experimental
* @publicApi
*/
export const INITIAL_CONFIG = new InjectionToken<PlatformConfig>('Server.INITIAL_CONFIG');
@ -29,7 +29,7 @@ export const INITIAL_CONFIG = new InjectionToken<PlatformConfig>('Server.INITIAL
* A function that will be executed when calling `renderModuleFactory` or `renderModule` just
* before current platform state is rendered to string.
*
* @experimental
* @publicApi
*/
export const BEFORE_APP_SERIALIZED =
new InjectionToken<Array<() => void>>('Server.RENDER_MODULE_HOOK');

View File

@ -26,7 +26,7 @@ export function serializeTransferStateFactory(
* NgModule to install on the server side while using the `TransferState` to transfer state from
* server to client.
*
* @experimental
* @publicApi
*/
@NgModule({
providers: [

View File

@ -75,7 +75,7 @@ the server-rendered app can be properly bootstrapped into a client app.`);
* Do not use this in a production server environment. Use pre-compiled {@link NgModuleFactory} with
* {@link renderModuleFactory} instead.
*
* @experimental
* @publicApi
*/
export function renderModule<T>(
module: Type<T>, options: {document?: string, url?: string, extraProviders?: StaticProvider[]}):
@ -91,7 +91,7 @@ export function renderModule<T>(
* `url` is the URL for the current render request.
* `extraProviders` are the platform level providers for the current render request.
*
* @experimental
* @publicApi
*/
export function renderModuleFactory<T>(
moduleFactory: NgModuleFactory<T>,

View File

@ -15,7 +15,7 @@ import {ɵINTERNAL_SERVER_PLATFORM_PROVIDERS as INTERNAL_SERVER_PLATFORM_PROVIDE
/**
* Platform for testing
*
* @experimental API related to bootstrapping are still under review.
* @publicApi
*/
export const platformServerTesting = createPlatformFactory(
platformCoreDynamicTesting, 'serverTesting', INTERNAL_SERVER_PLATFORM_PROVIDERS);
@ -23,7 +23,7 @@ export const platformServerTesting = createPlatformFactory(
/**
* NgModule for testing.
*
* @experimental API related to bootstrapping are still under review.
* @publicApi
*/
@NgModule({
exports: [BrowserDynamicTestingModule],

View File

@ -15,7 +15,7 @@ export {VERSION} from './version';
/**
* @experimental API related to bootstrapping are still under review.
* @publicApi
*/
export const platformWorkerAppDynamic =
createPlatformFactory(platformCoreDynamic, 'workerAppDynamic', [

View File

@ -23,7 +23,7 @@ export {platformWorkerUi} from './worker_render';
/**
* Bootstraps the worker ui.
*
* @experimental
* @publicApi
*/
export function bootstrapWorkerUi(
workerScriptUri: string, customProviders: StaticProvider[] = []): Promise<PlatformRef> {

View File

@ -11,7 +11,7 @@ import {MessageBus} from './message_bus';
import {Serializer, SerializerTypes} from './serializer';
/**
* @experimental WebWorker support in Angular is experimental.
* @publicApi
*/
@Injectable()
export class ClientMessageBrokerFactory {
@ -38,7 +38,7 @@ interface PromiseCompleter {
}
/**
* @experimental WebWorker support in Angular is experimental.
* @publicApi
*/
export class ClientMessageBroker {
private _pending = new Map<string, PromiseCompleter>();
@ -141,7 +141,7 @@ interface ResponseMessageData {
}
/**
* @experimental WebWorker support in Angular is experimental.
* @publicApi
*/
export class FnArg {
constructor(
@ -149,7 +149,7 @@ export class FnArg {
}
/**
* @experimental WebWorker support in Angular is experimental.
* @publicApi
*/
export class UiArguments {
constructor(public method: string, public args?: FnArg[]) {}

View File

@ -16,7 +16,7 @@ import {EventEmitter, NgZone} from '@angular/core';
* given channel to one MessageBusSink are received on the same channel
* by the corresponding MessageBusSource.
*
* @experimental WebWorker support in Angular is currenlty experimental.
* @publicApi
*/
export abstract class MessageBus implements MessageBusSource, MessageBusSink {
/**
@ -51,7 +51,7 @@ export abstract class MessageBus implements MessageBusSource, MessageBusSink {
}
/**
* @experimental WebWorker support in Angular is currenlty experimental.
* @publicApi
*/
export interface MessageBusSource {
/**
@ -77,7 +77,7 @@ export interface MessageBusSource {
}
/**
* @experimental WebWorker support in Angular is currenlty experimental.
* @publicApi
*/
export interface MessageBusSink {
/**

View File

@ -11,7 +11,7 @@ import {RenderStore} from './render_store';
/**
* @experimental WebWorker support in Angular is currently experimental.
* @publicApi
*/
export const enum SerializerTypes {
// RendererType2

View File

@ -12,7 +12,7 @@ import {Serializer, SerializerTypes} from '../shared/serializer';
/**
* @experimental WebWorker support in Angular is currently experimental.
* @publicApi
*/
@Injectable()
export class ServiceMessageBrokerFactory {
@ -39,7 +39,7 @@ export class ServiceMessageBrokerFactory {
* the UIMessageBroker deserializes its arguments and calls the registered method.
* If that method returns a promise, the UIMessageBroker returns the result to the worker.
*
* @experimental WebWorker support in Angular is currently experimental.
* @publicApi
*/
export class ServiceMessageBroker {
private _sink: EventEmitter<any>;
@ -90,7 +90,7 @@ export class ServiceMessageBroker {
}
/**
* @experimental WebWorker support in Angular is currently experimental.
* @publicApi
*/
export interface ReceivedMessage {
method: string;

View File

@ -21,7 +21,7 @@ import {MessageBasedPlatformLocation} from './platform_location';
/**
* A list of {@link Provider}s. To use the router in a Worker enabled application you must
* include these providers when setting up the render thread.
* @experimental
* @publicApi
*/
export const WORKER_UI_LOCATION_PROVIDERS = <StaticProvider[]>[
{provide: MessageBasedPlatformLocation, deps: [ServiceMessageBrokerFactory,

View File

@ -16,7 +16,7 @@ import {WebWorkerPlatformLocation} from './platform_location';
* The {@link PlatformLocation} providers that should be added when the {@link Location} is used in
* a worker context.
*
* @experimental
* @publicApi
*/
export const WORKER_APP_LOCATION_PROVIDERS = [
{provide: PlatformLocation, useClass: WebWorkerPlatformLocation}, {

View File

@ -23,7 +23,7 @@ import {WorkerDomAdapter} from './web_workers/worker/worker_adapter';
/**
* @experimental
* @publicApi
*/
export const platformWorkerApp = createPlatformFactory(
platformCore, 'workerApp', [{provide: PLATFORM_ID, useValue: PLATFORM_WORKER_APP_ID}]);
@ -55,7 +55,7 @@ export function setupWebWorker(): void {
/**
* The ng module for the worker app side.
*
* @experimental
* @publicApi
*/
@NgModule({
providers: [

View File

@ -25,7 +25,7 @@ import {MessageBasedRenderer2} from './web_workers/ui/renderer';
* Wrapper class that exposes the Worker
* and underlying {@link MessageBus} for lower level message passing.
*
* @experimental WebWorker support is currently experimental.
* @publicApi
*/
@Injectable()
export class WebWorkerInstance {
@ -42,7 +42,7 @@ export class WebWorkerInstance {
}
/**
* @experimental WebWorker support is currently experimental.
* @publicApi
*/
export const WORKER_SCRIPT = new InjectionToken<string>('WebWorkerScript');
@ -50,7 +50,7 @@ export const WORKER_SCRIPT = new InjectionToken<string>('WebWorkerScript');
* A multi-provider used to automatically call the `start()` method after the service is
* created.
*
* @experimental WebWorker support is currently experimental.
* @publicApi
*/
export const WORKER_UI_STARTABLE_MESSAGING_SERVICE =
new InjectionToken<({start: () => void})[]>('WorkerRenderStartableMsgService');
@ -146,7 +146,7 @@ function initWebWorkerRenderPlatform(injector: Injector): () => void {
}
/**
* @experimental WebWorker support is currently experimental.
* @publicApi
*/
export const platformWorkerUi =
createPlatformFactory(platformCore, 'workerUi', _WORKER_UI_PLATFORM_PROVIDERS);

View File

@ -33,7 +33,7 @@
*
* @param html HTML which should be inserted into `body` of the `document`.
* @param blockFn function to wrap. The function can return promise or be `async`.
* @experimental
* @publicApi
*/
export function withBody<T extends Function>(html: string, blockFn: T): T {
return function(done: DoneFn) {
@ -74,7 +74,7 @@ const domino: any = (function(domino) {
/**
* Ensure that global has `Document` if we are in node.js
* @experimental
* @publicApi
*/
export function ensureDocument(): void {
if (domino) {
@ -101,7 +101,7 @@ export function ensureDocument(): void {
/**
* Restore the state of `Document` between tests.
* @experimental
* @publicApi
*/
export function cleanupDocument(): void {
if (savedDocument) {

View File

@ -262,7 +262,7 @@ export type Routes = Route[];
* * `consumed` is an array of the consumed URL segments.
* * `posParams` is a map of positional parameters.
*
* @experimental
* @publicApi
*/
export type UrlMatchResult = {
consumed: UrlSegment[]; posParams?: {[name: string]: UrlSegment};
@ -286,7 +286,7 @@ export type UrlMatchResult = {
* export const routes = [{ matcher: htmlFiles, component: AnyComponent }];
* ```
*
* @experimental
* @publicApi
*/
export type UrlMatcher = (segments: UrlSegment[], group: UrlSegmentGroup, route: Route) =>
UrlMatchResult;
@ -352,7 +352,7 @@ export type QueryParamsHandling = 'merge' | 'preserve' | '';
* The type of `runGuardsAndResolvers`.
*
* See `Routes` for more details.
* @experimental
* @publicApi
*/
export type RunGuardsAndResolvers = 'paramsChange' | 'paramsOrQueryParamsChange' | 'always';

View File

@ -18,7 +18,7 @@ import {ActivatedRouteSnapshot, RouterStateSnapshot} from './router_state';
* * 'popstate'--triggered by a popstate event
* * 'hashchange'--triggered by a hashchange event
*
* @experimental
* @publicApi
*/
export type NavigationTrigger = 'imperative' | 'popstate' | 'hashchange';
@ -40,7 +40,7 @@ export type NavigationTrigger = 'imperative' | 'popstate' | 'hashchange';
* }
* ```
*
* @experimental
* @publicApi
*/
export class RouterEvent {
constructor(
@ -200,7 +200,7 @@ export class RoutesRecognized extends RouterEvent {
*
* Represents the start of the Guard phase of routing.
*
* @experimental
* @publicApi
*/
export class GuardsCheckStart extends RouterEvent {
constructor(
@ -225,7 +225,7 @@ export class GuardsCheckStart extends RouterEvent {
*
* Represents the end of the Guard phase of routing.
*
* @experimental
* @publicApi
*/
export class GuardsCheckEnd extends RouterEvent {
constructor(
@ -255,7 +255,7 @@ export class GuardsCheckEnd extends RouterEvent {
* in the "resolve" phase whether there's things to resolve or not. In the future this
* behavior may change to only run when there are things to be resolved.
*
* @experimental
* @publicApi
*/
export class ResolveStart extends RouterEvent {
constructor(
@ -281,7 +281,7 @@ export class ResolveStart extends RouterEvent {
* Represents the end of the Resolve phase of routing. See note on
* `ResolveStart` for use of this experimental API.
*
* @experimental
* @publicApi
*/
export class ResolveEnd extends RouterEvent {
constructor(
@ -306,7 +306,7 @@ export class ResolveEnd extends RouterEvent {
*
* Represents an event triggered before lazy loading a route config.
*
* @experimental
* @publicApi
*/
export class RouteConfigLoadStart {
constructor(
@ -320,7 +320,7 @@ export class RouteConfigLoadStart {
*
* Represents an event triggered when a route has been lazy loaded.
*
* @experimental
* @publicApi
*/
export class RouteConfigLoadEnd {
constructor(
@ -335,7 +335,7 @@ export class RouteConfigLoadEnd {
* Represents the start of end of the Resolve phase of routing. See note on
* `ChildActivationEnd` for use of this experimental API.
*
* @experimental
* @publicApi
*/
export class ChildActivationStart {
constructor(
@ -353,7 +353,7 @@ export class ChildActivationStart {
* Represents the start of end of the Resolve phase of routing. See note on
* `ChildActivationStart` for use of this experimental API.
*
* @experimental
* @publicApi
*/
export class ChildActivationEnd {
constructor(
@ -371,7 +371,7 @@ export class ChildActivationEnd {
* Represents the start of end of the Resolve phase of routing. See note on
* `ActivationEnd` for use of this experimental API.
*
* @experimental
* @publicApi
*/
export class ActivationStart {
constructor(
@ -389,7 +389,7 @@ export class ActivationStart {
* Represents the start of end of the Resolve phase of routing. See note on
* `ActivationStart` for use of this experimental API.
*
* @experimental
* @publicApi
*/
export class ActivationEnd {
constructor(

View File

@ -20,7 +20,7 @@ import {TreeNode} from './utils/tree';
* This is an opaque value the router will give to a custom route reuse strategy
* to store and retrieve later on.
*
* @experimental
* @publicApi
*/
export type DetachedRouteHandle = {};
@ -36,7 +36,7 @@ export type DetachedRouteHandleInternal = {
*
* Provides a way to customize when activated routes get reused.
*
* @experimental
* @publicApi
*/
export abstract class RouteReuseStrategy {
/** Determines if this route (and its subtree) should be detached to be reused later */

View File

@ -15,7 +15,7 @@ import {flatten, wrapIntoObservable} from './utils/collection';
/**
* @docsNotRequired
* @experimental
* @publicApi
*/
export const ROUTES = new InjectionToken<Route[][]>('ROUTES');

Some files were not shown because too many files have changed in this diff Show More