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 5e2bf292e5
commit a8430db45d
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 { export function buildTrigger(name: string, ast: TriggerAst): AnimationTrigger {
return new AnimationTrigger(name, ast); return new AnimationTrigger(name, ast);
} }
/** /**
* @experimental Animation support is experimental. * @publicApi
*/ */
export class AnimationTrigger { export class AnimationTrigger {
public transitionFactories: AnimationTransitionFactory[] = []; public transitionFactories: AnimationTransitionFactory[] = [];

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @experimental Animation support is experimental. * @publicApi
*/ */
export abstract class AnimationStyleNormalizer { export abstract class AnimationStyleNormalizer {
abstract normalizePropertyName(propertyName: string, errors: string[]): string; abstract normalizePropertyName(propertyName: string, errors: string[]): string;
@ -17,7 +17,7 @@ export abstract class AnimationStyleNormalizer {
} }
/** /**
* @experimental Animation support is experimental. * @publicApi
*/ */
export class NoopAnimationStyleNormalizer { export class NoopAnimationStyleNormalizer {
normalizePropertyName(propertyName: string, errors: string[]): string { return propertyName; } 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'; import {containsElement, invokeQuery, matchesElement, validateStyleProperty} from './shared';
/** /**
* @experimental * @publicApi
*/ */
@Injectable() @Injectable()
export class NoopAnimationDriver implements AnimationDriver { export class NoopAnimationDriver implements AnimationDriver {
@ -40,7 +40,7 @@ export class NoopAnimationDriver implements AnimationDriver {
} }
/** /**
* @experimental * @publicApi
*/ */
export abstract class AnimationDriver { export abstract class AnimationDriver {
static NOOP: AnimationDriver = new NoopAnimationDriver(); 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 { export class MockAnimationDriver implements AnimationDriver {
static log: AnimationPlayer[] = []; static log: AnimationPlayer[] = [];
@ -42,7 +42,7 @@ export class MockAnimationDriver implements AnimationDriver {
} }
/** /**
* @experimental Animation support is experimental. * @publicApi
*/ */
export class MockAnimationPlayer extends NoopAnimationPlayer { export class MockAnimationPlayer extends NoopAnimationPlayer {
private __finished = false; private __finished = false;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -49,7 +49,7 @@ export abstract class PlatformLocation {
/** /**
* @description Indicates when a location is initialized. * @description Indicates when a location is initialized.
* @experimental * @publicApi
*/ */
export const LOCATION_INITIALIZED = new InjectionToken<Promise<any>>('Location Initialized'); 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 * @description
* A serializable version of the event from `onPopState` or `onHashChange` * A serializable version of the event from `onPopState` or `onHashChange`
* *
* @experimental * @publicApi
*/ */
export interface LocationChangeEvent { export interface LocationChangeEvent {
type: string; type: string;
@ -65,6 +65,6 @@ export interface LocationChangeEvent {
} }
/** /**
* @experimental * @publicApi
*/ */
export interface LocationChangeListener { (event: LocationChangeEvent): any; } 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'} * {@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}
* *
* @experimental * @publicApi
*/ */
@Pipe({name: 'i18nPlural', pure: true}) @Pipe({name: 'i18nPlural', pure: true})
export class I18nPluralPipe implements PipeTransform { 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'} * {@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}
* *
* @experimental * @publicApi
*/ */
@Pipe({name: 'i18nSelect', pure: true}) @Pipe({name: 'i18nSelect', pure: true})
export class I18nSelectPipe implements PipeTransform { 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. * Returns whether a platform id represents a browser platform.
* @experimental * @publicApi
*/ */
export function isPlatformBrowser(platformId: Object): boolean { export function isPlatformBrowser(platformId: Object): boolean {
return platformId === PLATFORM_BROWSER_ID; return platformId === PLATFORM_BROWSER_ID;
@ -21,7 +21,7 @@ export function isPlatformBrowser(platformId: Object): boolean {
/** /**
* Returns whether a platform id represents a server platform. * Returns whether a platform id represents a server platform.
* @experimental * @publicApi
*/ */
export function isPlatformServer(platformId: Object): boolean { export function isPlatformServer(platformId: Object): boolean {
return platformId === PLATFORM_SERVER_ID; 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. * Returns whether a platform id represents a web worker app platform.
* @experimental * @publicApi
*/ */
export function isPlatformWorkerApp(platformId: Object): boolean { export function isPlatformWorkerApp(platformId: Object): boolean {
return platformId === PLATFORM_WORKER_APP_ID; 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. * Returns whether a platform id represents a web worker UI platform.
* @experimental * @publicApi
*/ */
export function isPlatformWorkerUi(platformId: Object): boolean { export function isPlatformWorkerUi(platformId: Object): boolean {
return platformId === PLATFORM_WORKER_UI_ID; 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. * A spy for {@link Location} that allows tests to fire simulated location events.
* *
* @experimental * @publicApi
*/ */
@Injectable() @Injectable()
export class SpyLocation implements Location { 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. * The range of a span of text in a source file.
* *
* @experimental * @publicApi
*/ */
export interface Span { export interface Span {
/** /**
@ -44,7 +44,7 @@ export type Definition = Location[] | undefined;
* A symbol describing a language element that can be referenced by expressions * A symbol describing a language element that can be referenced by expressions
* in an Angular template. * in an Angular template.
* *
* @experimental * @publicApi
*/ */
export interface Symbol { export interface Symbol {
/** /**
@ -124,7 +124,7 @@ export interface Symbol {
/** /**
* A table of `Symbol`s accessible by name. * A table of `Symbol`s accessible by name.
* *
* @experimental * @publicApi
*/ */
export interface SymbolTable { export interface SymbolTable {
/** /**
@ -153,7 +153,7 @@ export interface SymbolTable {
/** /**
* A description of a function or method signature. * A description of a function or method signature.
* *
* @experimental * @publicApi
*/ */
export interface Signature { export interface Signature {
/** /**
@ -171,7 +171,7 @@ export interface Signature {
/** /**
* An enumeration of basic types. * An enumeration of basic types.
* *
* @experimental * @publicApi
*/ */
export enum BuiltinType { export enum BuiltinType {
/** /**
@ -218,7 +218,7 @@ export enum BuiltinType {
/** /**
* The kinds of definition. * The kinds of definition.
* *
* @experimental * @publicApi
*/ */
export type DeclarationKind = 'attribute' | 'html attribute' | 'component' | 'element' | 'entity' | export type DeclarationKind = 'attribute' | 'html attribute' | 'component' | 'element' | 'entity' |
'key' | 'method' | 'pipe' | 'property' | 'type' | 'reference' | 'variable'; '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. * Describes a symbol to type binding used to build a symbol table.
* *
* @experimental * @publicApi
*/ */
export interface SymbolDeclaration { export interface SymbolDeclaration {
/** /**
@ -253,7 +253,7 @@ export interface SymbolDeclaration {
/** /**
* Information about the pipes that are available for use in a template. * Information about the pipes that are available for use in a template.
* *
* @experimental * @publicApi
*/ */
export interface PipeInfo { export interface PipeInfo {
/** /**
@ -270,14 +270,14 @@ export interface PipeInfo {
/** /**
* A sequence of pipe information. * A sequence of pipe information.
* *
* @experimental * @publicApi
*/ */
export type Pipes = PipeInfo[] | undefined; export type Pipes = PipeInfo[] | undefined;
/** /**
* Describes the language context in which an Angular expression is evaluated. * Describes the language context in which an Angular expression is evaluated.
* *
* @experimental * @publicApi
*/ */
export interface SymbolQuery { 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 * `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) * `tsc` - behave like plain tsc as much as possible (used for testing JIT code)
* *
* @experimental * @publicApi
*/ */
enableIvy?: boolean|'ngtsc'|'tsc'; 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 * Re-exported by `BrowserModule`, which is included automatically in the root
* `AppModule` when you create a new app with the CLI `new` command. * `AppModule` when you create a new app with the CLI `new` command.
* *
* @experimental * @publicApi
*/ */
@NgModule({providers: APPLICATION_MODULE_PROVIDERS}) @NgModule({providers: APPLICATION_MODULE_PROVIDERS})
export class ApplicationModule { 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. * A token for third-party components that can register themselves with NgProbe.
* *
* @experimental * @publicApi
*/ */
export class NgProbeToken { export class NgProbeToken {
constructor(public name: string, public token: any) {} constructor(public name: string, public token: any) {}
@ -67,7 +67,7 @@ export class NgProbeToken {
* Creates a platform. * Creates a platform.
* Platforms have to be eagerly created via this function. * 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 { export function createPlatform(injector: Injector): PlatformRef {
if (_platform && !_platform.destroyed && if (_platform && !_platform.destroyed &&
@ -84,7 +84,7 @@ export function createPlatform(injector: Injector): PlatformRef {
/** /**
* Creates a factory for a platform * Creates a factory for a platform
* *
* @experimental APIs related to application bootstrap are currently under review. * @publicApi
*/ */
export function createPlatformFactory( export function createPlatformFactory(
parentPlatformFactory: ((extraProviders?: StaticProvider[]) => PlatformRef) | null, 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. * 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 { export function assertPlatform(requiredToken: any): PlatformRef {
const platform = getPlatform(); const platform = getPlatform();
@ -131,7 +131,7 @@ export function assertPlatform(requiredToken: any): PlatformRef {
/** /**
* Destroy the existing platform. * Destroy the existing platform.
* *
* @experimental APIs related to application bootstrap are currently under review. * @publicApi
*/ */
export function destroyPlatform(): void { export function destroyPlatform(): void {
if (_platform && !_platform.destroyed) { if (_platform && !_platform.destroyed) {
@ -142,7 +142,7 @@ export function destroyPlatform(): void {
/** /**
* Returns the current platform. * Returns the current platform.
* *
* @experimental APIs related to application bootstrap are currently under review. * @publicApi
*/ */
export function getPlatform(): PlatformRef|null { export function getPlatform(): PlatformRef|null {
return _platform && !_platform.destroyed ? _platform : null; return _platform && !_platform.destroyed ? _platform : null;
@ -203,7 +203,7 @@ export class PlatformRef {
* let moduleRef = platformBrowser().bootstrapModuleFactory(MyModuleNgFactory); * let moduleRef = platformBrowser().bootstrapModuleFactory(MyModuleNgFactory);
* ``` * ```
* *
* @experimental APIs related to application bootstrap are currently under review. * @publicApi
*/ */
bootstrapModuleFactory<M>(moduleFactory: NgModuleFactory<M>, options?: BootstrapOptions): bootstrapModuleFactory<M>(moduleFactory: NgModuleFactory<M>, options?: BootstrapOptions):
Promise<NgModuleRef<M>> { 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 * 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} * a custom value via a DI provider <!-- TODO: provider --> configuring the root {@link Injector}
* using this token. * using this token.
* @experimental * @publicApi
*/ */
export const APP_ID = new InjectionToken<string>('AppId'); export const APP_ID = new InjectionToken<string>('AppId');
@ -28,7 +28,7 @@ export function _appIdRandomProviderFactory() {
/** /**
* Providers that will generate a random APP_ID_TOKEN. * Providers that will generate a random APP_ID_TOKEN.
* @experimental * @publicApi
*/ */
export const APP_ID_RANDOM_PROVIDER = { export const APP_ID_RANDOM_PROVIDER = {
provide: APP_ID, provide: APP_ID,
@ -42,13 +42,13 @@ function _randomChar(): string {
/** /**
* A function that will be executed when a platform is initialized. * A function that will be executed when a platform is initialized.
* @experimental * @publicApi
*/ */
export const PLATFORM_INITIALIZER = new InjectionToken<Array<() => void>>('Platform Initializer'); export const PLATFORM_INITIALIZER = new InjectionToken<Array<() => void>>('Platform Initializer');
/** /**
* A token that indicates an opaque platform id. * A token that indicates an opaque platform id.
* @experimental * @publicApi
*/ */
export const PLATFORM_ID = new InjectionToken<Object>('Platform ID'); 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`. * `(componentRef: ComponentRef) => void`.
* *
* @experimental * @publicApi
*/ */
export const APP_BOOTSTRAP_LISTENER = export const APP_BOOTSTRAP_LISTENER =
new InjectionToken<Array<(compRef: ComponentRef<any>) => void>>('appBootstrapListener'); new InjectionToken<Array<(compRef: ComponentRef<any>) => void>>('appBootstrapListener');
/** /**
* A token which indicates the root directory of the application * A token which indicates the root directory of the application
* @experimental * @publicApi
*/ */
export const PACKAGE_ROOT_URL = new InjectionToken<string>('Application Packages Root URL'); 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 { export class DebugNode {
listeners: EventListener[] = []; listeners: EventListener[] = [];
@ -38,7 +38,7 @@ export class DebugNode {
} }
/** /**
* @experimental All debugging apis are currently experimental. * @publicApi
*/ */
export class DebugElement extends DebugNode { export class DebugElement extends DebugNode {
name !: string; name !: string;
@ -126,7 +126,7 @@ export class DebugElement extends DebugNode {
} }
/** /**
* @experimental * @publicApi
*/ */
export function asNativeElements(debugEls: DebugElement[]): any { export function asNativeElements(debugEls: DebugElement[]): any {
return debugEls.map((el) => el.nativeElement); return debugEls.map((el) => el.nativeElement);
@ -162,7 +162,7 @@ function _queryNodeChildren(
const _nativeNodeToDebugNode = new Map<any, DebugNode>(); const _nativeNodeToDebugNode = new Map<any, DebugNode>();
/** /**
* @experimental * @publicApi
*/ */
export function getDebugNode(nativeNode: any): DebugNode|null { export function getDebugNode(nativeNode: any): DebugNode|null {
return _nativeNodeToDebugNode.get(nativeNode) || 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 * A boolean-valued function over a value, possibly including context information
* regarding that value's position in an array. * regarding that value's position in an array.
* *
* @experimental All debugging apis are currently experimental. * @publicApi
*/ */
export interface Predicate<T> { (value: T): boolean; } 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 * `InjectableDefType`s contain their own Dependency Injection metadata and are usable in an
* `InjectorDef`-based `StaticInjector. * `InjectorDef`-based `StaticInjector.
* *
* @experimental * @publicApi
*/ */
export interface InjectableType<T> extends Type<T> { 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`. * `InjectorDefTypes` can be used to configure a `StaticInjector`.
* *
* @experimental * @publicApi
*/ */
export interface InjectorType<T> extends Type<T> { 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. * * `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. * The factory can call `inject` to access the `Injector` and request injection of dependencies.
* *
* @experimental * @publicApi
*/ */
export function defineInjectable<T>(opts: { export function defineInjectable<T>(opts: {
providedIn?: Type<any>| 'root' | 'any' | null, 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 * whose providers will also be added to the injector. Locally provided types will override
* providers from imports. * providers from imports.
* *
* @experimental * @publicApi
*/ */
export function defineInjector(options: {factory: () => any, providers?: any[], imports?: any[]}): export function defineInjector(options: {factory: () => any, providers?: any[], imports?: any[]}):
never { never {

View File

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

View File

@ -16,7 +16,7 @@ import {ClassSansProvider, ConstructorSansProvider, ExistingSansProvider, Factor
/** /**
* Injectable providers used in `@Injectable` decorator. * Injectable providers used in `@Injectable` decorator.
* *
* @experimental * @publicApi
*/ */
export type InjectableProvider = ValueSansProvider | ExistingSansProvider | export type InjectableProvider = ValueSansProvider | ExistingSansProvider |
StaticClassSansProvider | ConstructorSansProvider | FactorySansProvider | ClassSansProvider; StaticClassSansProvider | ConstructorSansProvider | FactorySansProvider | ClassSansProvider;
@ -50,7 +50,7 @@ export interface InjectableDecorator {
/** /**
* Type of the Injectable metadata. * Type of the Injectable metadata.
* *
* @experimental * @publicApi
*/ */
export interface Injectable { providedIn?: Type<any>|'root'|null; } export interface Injectable { providedIn?: Type<any>|'root'|null; }
@ -66,6 +66,6 @@ export const Injectable: InjectableDecorator = makeDecorator(
/** /**
* Type representing injectable service. * Type representing injectable service.
* *
* @experimental * @publicApi
*/ */
export interface InjectableType<T> extends Type<T> { ngInjectableDef: InjectableDef<T>; } 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 * Requesting this token instead of `Injector` allows `StaticInjector` to be tree-shaken from a
* project. * project.
* *
* @experimental * @publicApi
*/ */
export const INJECTOR = new InjectionToken<Injector>('INJECTOR'); 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. * of providing an additional array of dependencies as was common to do with `useFactory` providers.
* `inject` is faster and more type-safe. * `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>): T;
export function inject<T>(token: Type<T>| InjectionToken<T>, flags?: InjectFlags): T|null; 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'} * {@example core/di/ts/provider_spec.ts region='ValueSansProvider'}
* *
* @experimental * @publicApi
*/ */
export interface ValueSansProvider { export interface ValueSansProvider {
/** /**
@ -64,7 +64,7 @@ export interface ValueProvider extends ValueSansProvider {
* *
* {@example core/di/ts/provider_spec.ts region='StaticClassSansProvider'} * {@example core/di/ts/provider_spec.ts region='StaticClassSansProvider'}
* *
* @experimental * @publicApi
*/ */
export interface StaticClassSansProvider { export interface StaticClassSansProvider {
/** /**
@ -124,7 +124,7 @@ export interface StaticClassProvider extends StaticClassSansProvider {
* class MyService {} * class MyService {}
* ``` * ```
* *
* @experimental * @publicApi
*/ */
export interface ConstructorSansProvider { export interface ConstructorSansProvider {
/** /**
@ -215,7 +215,7 @@ export interface ExistingProvider extends ExistingSansProvider {
* *
* {@example core/di/ts/provider_spec.ts region='FactorySansProvider'} * {@example core/di/ts/provider_spec.ts region='FactorySansProvider'}
* *
* @experimental * @publicApi
*/ */
export interface FactorySansProvider { export interface FactorySansProvider {
/** /**
@ -300,7 +300,7 @@ export interface TypeProvider extends Type<any> {}
* *
* {@example core/di/ts/provider_spec.ts region='ClassSansProvider'} * {@example core/di/ts/provider_spec.ts region='ClassSansProvider'}
* *
* @experimental * @publicApi
*/ */
export interface ClassSansProvider { 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. * Create a new `Injector` which is configured using a `defType` of `InjectorType<any>`s.
* *
* @experimental * @publicApi
*/ */
export function createInjector( export function createInjector(
defType: /* InjectorType<any> */ any, parent: Injector | null = null, 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); * var injector = ReflectiveInjector.fromResolvedProviders(providers);
* expect(injector.get(Car) instanceof Car).toBe(true); * expect(injector.get(Car) instanceof Car).toBe(true);
* ``` * ```
* @experimental * @publicApi
*/ */
static fromResolvedProviders(providers: ResolvedReflectiveProvider[], parent?: Injector): static fromResolvedProviders(providers: ResolvedReflectiveProvider[], parent?: Injector):
ReflectiveInjector { ReflectiveInjector {

View File

@ -52,7 +52,7 @@ const _EMPTY_LIST: any[] = [];
* expect(injector.get('message')).toEqual('Hello'); * expect(injector.get('message')).toEqual('Hello');
* ``` * ```
* *
* @experimental * @publicApi
*/ */
export interface ResolvedReflectiveProvider { export interface ResolvedReflectiveProvider {
/** /**
@ -83,7 +83,7 @@ export class ResolvedReflectiveProvider_ implements ResolvedReflectiveProvider {
/** /**
* An internal resolved representation of a factory function created by resolving `Provider`. * An internal resolved representation of a factory function created by resolving `Provider`.
* @experimental * @publicApi
*/ */
export class ResolvedReflectiveFactory { export class ResolvedReflectiveFactory {
constructor( 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'); 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'); 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'); 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 { export enum MissingTranslationStrategy {
Error = 0, 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. * 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 { export function isDevMode(): boolean {
_runModeLocked = true; _runModeLocked = true;

View File

@ -21,7 +21,7 @@ import {NgModuleFactory} from './ng_module_factory';
/** /**
* Combination of NgModuleFactory and ComponentFactorys. * Combination of NgModuleFactory and ComponentFactorys.
* *
* @experimental * @publicApi
*/ */
export class ModuleWithComponentFactories<T> { export class ModuleWithComponentFactories<T> {
constructor( constructor(
@ -91,7 +91,7 @@ export class Compiler {
/** /**
* Options for creating a compiler * Options for creating a compiler
* *
* @experimental * @publicApi
*/ */
export type CompilerOptions = { export type CompilerOptions = {
useJit?: boolean, useJit?: boolean,
@ -104,14 +104,14 @@ export type CompilerOptions = {
/** /**
* Token to provide CompilerOptions in the platform injector. * Token to provide CompilerOptions in the platform injector.
* *
* @experimental * @publicApi
*/ */
export const COMPILER_OPTIONS = new InjectionToken<CompilerOptions[]>('compilerOptions'); export const COMPILER_OPTIONS = new InjectionToken<CompilerOptions[]>('compilerOptions');
/** /**
* A factory for creating a Compiler * A factory for creating a Compiler
* *
* @experimental * @publicApi
*/ */
export abstract class CompilerFactory { export abstract class CompilerFactory {
abstract createCompiler(options?: CompilerOptions[]): Compiler; 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> { export abstract class NgModuleFactory<T> {
abstract get moduleType(): Type<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. * Registers a loaded module. Should only be called from generated NgModuleFactory code.
* @experimental * @publicApi
*/ */
export function registerModuleFactory(id: string, factory: NgModuleFactory<any>) { export function registerModuleFactory(id: string, factory: NgModuleFactory<any>) {
const existing = moduleFactories.get(id); 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. * 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 * Factories for modules that do not specify an `id` cannot be retrieved. Throws if the module
* cannot be found. * cannot be found.
* @experimental * @publicApi
*/ */
export function getModuleFactory(id: string): NgModuleFactory<any> { export function getModuleFactory(id: string): NgModuleFactory<any> {
const factory = moduleFactories.get(id); const factory = moduleFactories.get(id);

View File

@ -22,7 +22,7 @@ declare var System: any;
* Configuration for SystemJsNgModuleLoader. * Configuration for SystemJsNgModuleLoader.
* token. * token.
* *
* @experimental * @publicApi
*/ */
export abstract class SystemJsNgModuleLoaderConfig { export abstract class SystemJsNgModuleLoaderConfig {
/** /**
@ -45,7 +45,7 @@ const DEFAULT_CONFIG: SystemJsNgModuleLoaderConfig = {
/** /**
* NgModuleFactoryLoader that uses SystemJS to load NgModuleFactory * NgModuleFactoryLoader that uses SystemJS to load NgModuleFactory
* @experimental * @publicApi
*/ */
@Injectable() @Injectable()
export class SystemJsNgModuleLoader implements NgModuleFactoryLoader { 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), * Represents an Angular [view](guide/glossary#view),
* specifically the [host view](guide/glossary#view-tree) that is defined by a component. * specifically the [host view](guide/glossary#view-tree) that is defined by a component.
* Also serves as the base class * Also serves as the base class
* that adds destroy methods for [embedded views](guide/glossary#view-tree). * that adds destroy methods for [embedded views](guide/glossary#view-tree).
* *
* @see `EmbeddedViewRef` * @see `EmbeddedViewRef`
*/ */
export abstract class ViewRef extends ChangeDetectorRef { export abstract class ViewRef extends ChangeDetectorRef {
/** /**
@ -89,7 +89,7 @@ export abstract class ViewRef extends ChangeDetectorRef {
* </ul> * </ul>
* <!-- /ViewRef: outer-0 --> * <!-- /ViewRef: outer-0 -->
* ``` * ```
* @experimental * @publicApi
*/ */
export abstract class EmbeddedViewRef<C> extends ViewRef { export abstract class EmbeddedViewRef<C> extends ViewRef {
/** /**

View File

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

View File

@ -84,7 +84,7 @@ export interface ModuleWithProviders<
* *
* @param name The name of a defined schema. * @param name The name of a defined schema.
* *
* @experimental * @publicApi
*/ */
export interface SchemaMetadata { name: string; } export interface SchemaMetadata { name: string; }
@ -103,7 +103,7 @@ export const CUSTOM_ELEMENTS_SCHEMA: SchemaMetadata = {
/** /**
* Defines a schema that allows any property on any element. * Defines a schema that allows any property on any element.
* *
* @experimental * @publicApi
*/ */
export const NO_ERRORS_SCHEMA: SchemaMetadata = { export const NO_ERRORS_SCHEMA: SchemaMetadata = {
name: 'no-errors-schema' 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 * This platform has to be included in any other platform
* *
* @experimental * @publicApi
*/ */
export const platformCore = createPlatformFactory(null, 'core', _CORE_PLATFORM_PROVIDERS); 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 * 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. * an exception is expected during normal execution while profiling.
* *
* @experimental * @publicApi
*/ */
export const wtfCreateScope: (signature: string, flags?: any) => WtfScopeFn = export const wtfCreateScope: (signature: string, flags?: any) => WtfScopeFn =
wtfEnabled ? createScope : (signature: string, flags?: any) => noopScope; 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. * - `returnValue` (optional) to be passed to the WTF.
* *
* Returns the `returnValue for easy chaining. * Returns the `returnValue for easy chaining.
* @experimental * @publicApi
*/ */
export const wtfLeave: <T>(scope: any, returnValue?: T) => T = export const wtfLeave: <T>(scope: any, returnValue?: T) => T =
wtfEnabled ? leave : (s: any, r?: any) => r; wtfEnabled ? leave : (s: any, r?: any) => r;
@ -76,7 +76,7 @@ export const wtfLeave: <T>(scope: any, returnValue?: T) => T =
* wtfEndTimeRange(s); * wtfEndTimeRange(s);
* }); * });
* } * }
* @experimental * @publicApi
*/ */
export const wtfStartTimeRange: (rangeType: string, action: string) => any = export const wtfStartTimeRange: (rangeType: string, action: string) => any =
wtfEnabled ? startTimeRange : (rangeType: string, action: string) => null; 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. * Ends a async time range operation.
* [range] is the return value from [wtfStartTimeRange] Async ranges only work if WTF has been * [range] is the return value from [wtfStartTimeRange] Async ranges only work if WTF has been
* enabled. * enabled.
* @experimental * @publicApi
*/ */
export const wtfEndTimeRange: (range: any) => void = wtfEnabled ? endTimeRange : (r: any) => null; 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). * A scope function for the Web Tracing Framework (WTF).
* *
* @experimental * @publicApi
*/ */
export interface WtfScopeFn { (arg0?: any, arg1?: any): any; } export interface WtfScopeFn { (arg0?: any, arg1?: any): any; }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -9,7 +9,7 @@
/** /**
* Type used for modifications to metadata * Type used for modifications to metadata
* *
* @experimental * @publicApi
*/ */
export type MetadataOverride<T> = { export type MetadataOverride<T> = {
add?: Partial<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 * Test modules and platforms for individual platforms are available from
* '@angular/<platform_name>/testing'. * '@angular/<platform_name>/testing'.
* *
* @experimental * @publicApi
*/ */
static initTestEnvironment( static initTestEnvironment(
ngModule: Type<any>|Type<any>[], platform: PlatformRef, aotSummaries?: () => any[]): TestBed { 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. * Reset the providers for the test injector.
* *
* @experimental * @publicApi
*/ */
static resetTestEnvironment(): void { _getTestBedRender3().resetTestEnvironment(); } 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 * Test modules and platforms for individual platforms are available from
* '@angular/<platform_name>/testing'. * '@angular/<platform_name>/testing'.
* *
* @experimental * @publicApi
*/ */
initTestEnvironment( initTestEnvironment(
ngModule: Type<any>|Type<any>[], platform: PlatformRef, aotSummaries?: () => any[]): void { 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. * Reset the providers for the test injector.
* *
* @experimental * @publicApi
*/ */
resetTestEnvironment(): void { resetTestEnvironment(): void {
this.resetTestingModule(); this.resetTestingModule();

View File

@ -36,7 +36,7 @@ export interface TestBed {
* Test modules and platforms for individual platforms are available from * Test modules and platforms for individual platforms are available from
* '@angular/<platform_name>/testing'. * '@angular/<platform_name>/testing'.
* *
* @experimental * @publicApi
*/ */
initTestEnvironment( initTestEnvironment(
ngModule: Type<any>|Type<any>[], platform: PlatformRef, aotSummaries?: () => any[]): void; ngModule: Type<any>|Type<any>[], platform: PlatformRef, aotSummaries?: () => any[]): void;
@ -44,7 +44,7 @@ export interface TestBed {
/** /**
* Reset the providers for the test injector. * Reset the providers for the test injector.
* *
* @experimental * @publicApi
*/ */
resetTestEnvironment(): void; resetTestEnvironment(): void;
@ -120,7 +120,7 @@ export class TestBedViewEngine implements Injector, TestBed {
* Test modules and platforms for individual platforms are available from * Test modules and platforms for individual platforms are available from
* '@angular/<platform_name>/testing'. * '@angular/<platform_name>/testing'.
* *
* @experimental * @publicApi
*/ */
static initTestEnvironment( static initTestEnvironment(
ngModule: Type<any>|Type<any>[], platform: PlatformRef, ngModule: Type<any>|Type<any>[], platform: PlatformRef,
@ -133,7 +133,7 @@ export class TestBedViewEngine implements Injector, TestBed {
/** /**
* Reset the providers for the test injector. * Reset the providers for the test injector.
* *
* @experimental * @publicApi
*/ */
static resetTestEnvironment(): void { _getTestBedViewEngine().resetTestEnvironment(); } 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 * Test modules and platforms for individual platforms are available from
* '@angular/<platform_name>/testing'. * '@angular/<platform_name>/testing'.
* *
* @experimental * @publicApi
*/ */
initTestEnvironment( initTestEnvironment(
ngModule: Type<any>|Type<any>[], platform: PlatformRef, aotSummaries?: () => any[]): void { 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. * Reset the providers for the test injector.
* *
* @experimental * @publicApi
*/ */
resetTestEnvironment(): void { resetTestEnvironment(): void {
this.resetTestingModule(); this.resetTestingModule();
@ -644,7 +644,7 @@ export const TestBed: TestBedStatic =
* *
* It will be either an instance of `TestBedViewEngine` or `TestBedRender3`. * It will be either an instance of `TestBedViewEngine` or `TestBedRender3`.
* *
* @experimental * @publicApi
*/ */
export const getTestBed: () => TestBed = ivyEnabled ? _getTestBedRender3 : _getTestBedViewEngine; export const getTestBed: () => TestBed = ivyEnabled ? _getTestBedRender3 : _getTestBedViewEngine;
@ -698,7 +698,7 @@ export function inject(tokens: any[], fn: Function): () => any {
} }
/** /**
* @experimental * @publicApi
*/ */
export class InjectSetupWrapper { export class InjectSetupWrapper {
constructor(private _moduleDef: () => TestModuleMetadata) {} constructor(private _moduleDef: () => TestModuleMetadata) {}
@ -721,7 +721,7 @@ export class InjectSetupWrapper {
} }
/** /**
* @experimental * @publicApi
*/ */
export function withModule(moduleDef: TestModuleMetadata): InjectSetupWrapper; export function withModule(moduleDef: TestModuleMetadata): InjectSetupWrapper;
export function withModule(moduleDef: TestModuleMetadata, fn: Function): () => any; 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. * An abstract class for inserting the root test component element in a platform independent way.
* *
* @experimental * @publicApi
*/ */
export class TestComponentRenderer { export class TestComponentRenderer {
insertRootElement(rootElementId: string) {} insertRootElement(rootElementId: string) {}
} }
/** /**
* @experimental * @publicApi
*/ */
export const ComponentFixtureAutoDetect = export const ComponentFixtureAutoDetect =
new InjectionToken<boolean[]>('ComponentFixtureAutoDetect'); new InjectionToken<boolean[]>('ComponentFixtureAutoDetect');
/** /**
* @experimental * @publicApi
*/ */
export const ComponentFixtureNoNgZone = new InjectionToken<boolean[]>('ComponentFixtureNoNgZone'); export const ComponentFixtureNoNgZone = new InjectionToken<boolean[]>('ComponentFixtureNoNgZone');
/** /**
* @experimental * @publicApi
*/ */
export type TestModuleMetadata = { export type TestModuleMetadata = {
providers?: any[], providers?: any[],
@ -55,7 +55,7 @@ export interface TestBedStatic {
/** /**
* Reset the providers for the test injector. * Reset the providers for the test injector.
* *
* @experimental * @publicApi
*/ */
resetTestEnvironment(): void; resetTestEnvironment(): void;

View File

@ -17,7 +17,7 @@ function unimplemented(): any {
/** /**
* Special interface to the compiler only used by testing * Special interface to the compiler only used by testing
* *
* @experimental * @publicApi
*/ */
@Injectable() @Injectable()
export class TestingCompiler extends Compiler { export class TestingCompiler extends Compiler {
@ -57,7 +57,7 @@ export class TestingCompiler extends Compiler {
/** /**
* A factory for creating a Compiler * A factory for creating a Compiler
* *
* @experimental * @publicApi
*/ */
export abstract class TestingCompilerFactory { export abstract class TestingCompilerFactory {
abstract createTestingCompiler(options?: CompilerOptions[]): TestingCompiler; 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 * 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. * constructor's injector's factory resolver and passes that factory to each strategy.
* *
* @experimental * @publicApi
*/ */
export class ComponentNgElementStrategyFactory implements NgElementStrategyFactory { export class ComponentNgElementStrategyFactory implements NgElementStrategyFactory {
componentFactory: ComponentFactory<any>; 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 * Creates and destroys a component ref using a component factory and handles change detection
* in response to input changes. * in response to input changes.
* *
* @experimental * @publicApi
*/ */
export class ComponentNgElementStrategy implements NgElementStrategy { export class ComponentNgElementStrategy implements NgElementStrategy {
/** Merged stream of the component's output events. */ /** 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 * that can be used for custom element registration. Implemented and returned
* by the {@link createCustomElement createCustomElement() function}. * by the {@link createCustomElement createCustomElement() function}.
* *
* @experimental * @publicApi
*/ */
export interface NgElementConstructor<P> { export interface NgElementConstructor<P> {
/** /**
@ -37,7 +37,7 @@ export interface NgElementConstructor<P> {
/** /**
* Implements the functionality needed for a custom element. * Implements the functionality needed for a custom element.
* *
* @experimental * @publicApi
*/ */
export abstract class NgElement extends HTMLElement { export abstract class NgElement extends HTMLElement {
/** /**
@ -77,7 +77,7 @@ export abstract class NgElement extends HTMLElement {
* for properties that are added based * for properties that are added based
* on the inputs and methods of the underlying component. * on the inputs and methods of the underlying component.
* *
* @experimental * @publicApi
*/ */
export type WithProperties<P> = { export type WithProperties<P> = {
[property in keyof P]: P[property] [property in keyof P]: P[property]
@ -88,7 +88,7 @@ export type WithProperties<P> = {
* dependencies and strategy it needs to transform a component into * dependencies and strategy it needs to transform a component into
* a custom element class. * a custom element class.
* *
* @experimental * @publicApi
*/ */
export interface NgElementConfig { export interface NgElementConfig {
/** /**
@ -120,7 +120,7 @@ export interface NgElementConfig {
* @returns The custom-element construction class, which can be registered with * @returns The custom-element construction class, which can be registered with
* a browser's `CustomElementRegistry`. * a browser's `CustomElementRegistry`.
* *
* @experimental * @publicApi
*/ */
export function createCustomElement<P>( export function createCustomElement<P>(
component: Type<any>, config: NgElementConfig): NgElementConstructor<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. * Interface for the events emitted through the NgElementStrategy.
* *
* @experimental * @publicApi
*/ */
export interface NgElementStrategyEvent { export interface NgElementStrategyEvent {
name: string; name: string;
@ -22,7 +22,7 @@ export interface NgElementStrategyEvent {
* Underlying strategy used by the NgElement to create/destroy the component and react to input * Underlying strategy used by the NgElement to create/destroy the component and react to input
* changes. * changes.
* *
* @experimental * @publicApi
*/ */
export interface NgElementStrategy { export interface NgElementStrategy {
events: Observable<NgElementStrategyEvent>; events: Observable<NgElementStrategyEvent>;
@ -36,7 +36,7 @@ export interface NgElementStrategy {
/** /**
* Factory used to create new strategies for each NgElement instance. * Factory used to create new strategies for each NgElement instance.
* *
* @experimental * @publicApi
*/ */
export interface NgElementStrategyFactory { export interface NgElementStrategyFactory {
/** Creates a new instance to be used for an NgElement. */ /** Creates a new instance to be used for an NgElement. */

View File

@ -8,6 +8,6 @@
import {Version} from '@angular/core'; import {Version} from '@angular/core';
/** /**
* @experimental * @publicApi
*/ */
export const VERSION = new Version('0.0.0-PLACEHOLDER'); 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 * 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'); export const COMPOSITION_BUFFER_MODE = new InjectionToken<boolean>('CompositionEventMode');

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -15,7 +15,7 @@ import {COMPILER_PROVIDERS, TestingCompilerFactoryImpl} from './compiler_factory
/** /**
* Platform for dynamic tests * Platform for dynamic tests
* *
* @experimental * @publicApi
*/ */
export const platformCoreDynamicTesting: (extraProviders?: any[]) => PlatformRef = export const platformCoreDynamicTesting: (extraProviders?: any[]) => PlatformRef =
createPlatformFactory(platformCoreDynamic, 'coreDynamicTesting', [ 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) * Exports `BrowserModule` with additional [dependency-injection providers](guide/glossary#provider)
* for use with animations. See [Animations](guide/animations). * for use with animations. See [Animations](guide/animations).
* @experimental * @publicApi
*/ */
@NgModule({ @NgModule({
exports: [BrowserModule], exports: [BrowserModule],
@ -24,7 +24,7 @@ export class BrowserAnimationsModule {
/** /**
* A null player that must be imported to allow disabling of animations. * A null player that must be imported to allow disabling of animations.
* @experimental * @publicApi
*/ */
@NgModule({ @NgModule({
exports: [BrowserModule], exports: [BrowserModule],

View File

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

View File

@ -16,7 +16,7 @@ import {DOCUMENT} from '../dom/dom_tokens';
/** /**
* Represents a meta element. * Represents a meta element.
* *
* @experimental * @publicApi
*/ */
export type MetaDefinition = { export type MetaDefinition = {
charset?: string; content?: string; httpEquiv?: string; id?: string; itemprop?: string; 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. * A service that can be used to get and add meta tags.
* *
* @experimental * @publicApi
*/ */
@Injectable({providedIn: 'root', useFactory: createMeta, deps: []}) @Injectable({providedIn: 'root', useFactory: createMeta, deps: []})
export class Meta { 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 * (representing the `<title>` tag). Instead, this service can be used to set and get the current
* title value. * title value.
* *
* @experimental * @publicApi
*/ */
@Injectable({providedIn: 'root', useFactory: createTitle, deps: []}) @Injectable({providedIn: 'root', useFactory: createTitle, deps: []})
export class Title { export class Title {

View File

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

View File

@ -43,7 +43,7 @@ export function unescapeHtml(text: string): string {
* transferState.set(COUNTER_KEY, value); * transferState.set(COUNTER_KEY, value);
* ``` * ```
* *
* @experimental * @publicApi
*/ */
export type StateKey<T> = string & {__not_a_string: never}; 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); * transferState.set(COUNTER_KEY, value);
* ``` * ```
* *
* @experimental * @publicApi
*/ */
export function makeStateKey<T = void>(key: string): StateKey<T> { export function makeStateKey<T = void>(key: string): StateKey<T> {
return key as 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 * boolean, number, string, null and non-class objects will be serialized and deserialzied in a
* non-lossy manner. * non-lossy manner.
* *
* @experimental * @publicApi
*/ */
@Injectable() @Injectable()
export class TransferState { 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 * NgModule to install on the client side while using the `TransferState` to transfer state from
* server to client. * server to client.
* *
* @experimental * @publicApi
*/ */
@NgModule({ @NgModule({
providers: [{provide: TransferState, useFactory: initTransferState, deps: [DOCUMENT, APP_ID]}], 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. * Predicates for use with {@link DebugElement}'s query functions.
* *
* @experimental All debugging apis are currently experimental. * @publicApi
*/ */
export class By { export class By {
/** /**

View File

@ -57,7 +57,7 @@ const EVENT_NAMES = {
* DI token for providing [HammerJS](http://hammerjs.github.io/) support to Angular. * DI token for providing [HammerJS](http://hammerjs.github.io/) support to Angular.
* @see `HammerGestureConfig` * @see `HammerGestureConfig`
* *
* @experimental * @publicApi
*/ */
export const HAMMER_GESTURE_CONFIG = new InjectionToken<HammerGestureConfig>('HammerGestureConfig'); 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) * An injectable [HammerJS Manager](http://hammerjs.github.io/api/#hammer.manager)
* for gesture recognition. Configures specific event recognition. * for gesture recognition. Configures specific event recognition.
* @experimental * @publicApi
*/ */
@Injectable() @Injectable()
export class HammerGestureConfig { 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. * A browser plug-in that provides support for handling of key events in Angular.
*/ */
@Injectable() @Injectable()

View File

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

View File

@ -65,7 +65,7 @@ export const SERVER_RENDER_PROVIDERS: Provider[] = [
/** /**
* The ng module for the server. * The ng module for the server.
* *
* @experimental * @publicApi
*/ */
@NgModule({ @NgModule({
exports: [BrowserModule], exports: [BrowserModule],
@ -90,7 +90,7 @@ function _document(injector: Injector) {
} }
/** /**
* @experimental * @publicApi
*/ */
export const platformServer = export const platformServer =
createPlatformFactory(platformCore, 'server', INTERNAL_SERVER_PLATFORM_PROVIDERS); createPlatformFactory(platformCore, 'server', INTERNAL_SERVER_PLATFORM_PROVIDERS);
@ -98,7 +98,7 @@ export const platformServer =
/** /**
* The server platform that supports the runtime compiler. * The server platform that supports the runtime compiler.
* *
* @experimental * @publicApi
*/ */
export const platformDynamicServer = export const platformDynamicServer =
createPlatformFactory(platformCoreDynamic, 'serverDynamic', INTERNAL_SERVER_PLATFORM_PROVIDERS); 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. * Config object passed to initialize the platform.
* *
* @experimental * @publicApi
*/ */
export interface PlatformConfig { export interface PlatformConfig {
document?: string; document?: string;
@ -21,7 +21,7 @@ export interface PlatformConfig {
/** /**
* The DI token for setting the initial config for the platform. * The DI token for setting the initial config for the platform.
* *
* @experimental * @publicApi
*/ */
export const INITIAL_CONFIG = new InjectionToken<PlatformConfig>('Server.INITIAL_CONFIG'); 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 * A function that will be executed when calling `renderModuleFactory` or `renderModule` just
* before current platform state is rendered to string. * before current platform state is rendered to string.
* *
* @experimental * @publicApi
*/ */
export const BEFORE_APP_SERIALIZED = export const BEFORE_APP_SERIALIZED =
new InjectionToken<Array<() => void>>('Server.RENDER_MODULE_HOOK'); 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 * NgModule to install on the server side while using the `TransferState` to transfer state from
* server to client. * server to client.
* *
* @experimental * @publicApi
*/ */
@NgModule({ @NgModule({
providers: [ 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 * Do not use this in a production server environment. Use pre-compiled {@link NgModuleFactory} with
* {@link renderModuleFactory} instead. * {@link renderModuleFactory} instead.
* *
* @experimental * @publicApi
*/ */
export function renderModule<T>( export function renderModule<T>(
module: Type<T>, options: {document?: string, url?: string, extraProviders?: StaticProvider[]}): 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. * `url` is the URL for the current render request.
* `extraProviders` are the platform level providers for the current render request. * `extraProviders` are the platform level providers for the current render request.
* *
* @experimental * @publicApi
*/ */
export function renderModuleFactory<T>( export function renderModuleFactory<T>(
moduleFactory: NgModuleFactory<T>, moduleFactory: NgModuleFactory<T>,

View File

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

View File

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

View File

@ -11,7 +11,7 @@ import {MessageBus} from './message_bus';
import {Serializer, SerializerTypes} from './serializer'; import {Serializer, SerializerTypes} from './serializer';
/** /**
* @experimental WebWorker support in Angular is experimental. * @publicApi
*/ */
@Injectable() @Injectable()
export class ClientMessageBrokerFactory { export class ClientMessageBrokerFactory {
@ -38,7 +38,7 @@ interface PromiseCompleter {
} }
/** /**
* @experimental WebWorker support in Angular is experimental. * @publicApi
*/ */
export class ClientMessageBroker { export class ClientMessageBroker {
private _pending = new Map<string, PromiseCompleter>(); private _pending = new Map<string, PromiseCompleter>();
@ -141,7 +141,7 @@ interface ResponseMessageData {
} }
/** /**
* @experimental WebWorker support in Angular is experimental. * @publicApi
*/ */
export class FnArg { export class FnArg {
constructor( constructor(
@ -149,7 +149,7 @@ export class FnArg {
} }
/** /**
* @experimental WebWorker support in Angular is experimental. * @publicApi
*/ */
export class UiArguments { export class UiArguments {
constructor(public method: string, public args?: FnArg[]) {} 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 * given channel to one MessageBusSink are received on the same channel
* by the corresponding MessageBusSource. * by the corresponding MessageBusSource.
* *
* @experimental WebWorker support in Angular is currenlty experimental. * @publicApi
*/ */
export abstract class MessageBus implements MessageBusSource, MessageBusSink { 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 { export interface MessageBusSource {
/** /**
@ -77,7 +77,7 @@ export interface MessageBusSource {
} }
/** /**
* @experimental WebWorker support in Angular is currenlty experimental. * @publicApi
*/ */
export interface MessageBusSink { 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 { export const enum SerializerTypes {
// RendererType2 // RendererType2

View File

@ -12,7 +12,7 @@ import {Serializer, SerializerTypes} from '../shared/serializer';
/** /**
* @experimental WebWorker support in Angular is currently experimental. * @publicApi
*/ */
@Injectable() @Injectable()
export class ServiceMessageBrokerFactory { export class ServiceMessageBrokerFactory {
@ -39,7 +39,7 @@ export class ServiceMessageBrokerFactory {
* the UIMessageBroker deserializes its arguments and calls the registered method. * the UIMessageBroker deserializes its arguments and calls the registered method.
* If that method returns a promise, the UIMessageBroker returns the result to the worker. * 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 { export class ServiceMessageBroker {
private _sink: EventEmitter<any>; private _sink: EventEmitter<any>;
@ -90,7 +90,7 @@ export class ServiceMessageBroker {
} }
/** /**
* @experimental WebWorker support in Angular is currently experimental. * @publicApi
*/ */
export interface ReceivedMessage { export interface ReceivedMessage {
method: string; 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 * 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. * include these providers when setting up the render thread.
* @experimental * @publicApi
*/ */
export const WORKER_UI_LOCATION_PROVIDERS = <StaticProvider[]>[ export const WORKER_UI_LOCATION_PROVIDERS = <StaticProvider[]>[
{provide: MessageBasedPlatformLocation, deps: [ServiceMessageBrokerFactory, {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 * The {@link PlatformLocation} providers that should be added when the {@link Location} is used in
* a worker context. * a worker context.
* *
* @experimental * @publicApi
*/ */
export const WORKER_APP_LOCATION_PROVIDERS = [ export const WORKER_APP_LOCATION_PROVIDERS = [
{provide: PlatformLocation, useClass: WebWorkerPlatformLocation}, { {provide: PlatformLocation, useClass: WebWorkerPlatformLocation}, {

View File

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

View File

@ -25,7 +25,7 @@ import {MessageBasedRenderer2} from './web_workers/ui/renderer';
* Wrapper class that exposes the Worker * Wrapper class that exposes the Worker
* and underlying {@link MessageBus} for lower level message passing. * and underlying {@link MessageBus} for lower level message passing.
* *
* @experimental WebWorker support is currently experimental. * @publicApi
*/ */
@Injectable() @Injectable()
export class WebWorkerInstance { 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'); 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 * A multi-provider used to automatically call the `start()` method after the service is
* created. * created.
* *
* @experimental WebWorker support is currently experimental. * @publicApi
*/ */
export const WORKER_UI_STARTABLE_MESSAGING_SERVICE = export const WORKER_UI_STARTABLE_MESSAGING_SERVICE =
new InjectionToken<({start: () => void})[]>('WorkerRenderStartableMsgService'); new InjectionToken<({start: () => void})[]>('WorkerRenderStartableMsgService');
@ -146,7 +146,7 @@ function initWebWorkerRenderPlatform(injector: Injector): () => void {
} }
/** /**
* @experimental WebWorker support is currently experimental. * @publicApi
*/ */
export const platformWorkerUi = export const platformWorkerUi =
createPlatformFactory(platformCore, 'workerUi', _WORKER_UI_PLATFORM_PROVIDERS); 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 html HTML which should be inserted into `body` of the `document`.
* @param blockFn function to wrap. The function can return promise or be `async`. * @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 { export function withBody<T extends Function>(html: string, blockFn: T): T {
return function(done: DoneFn) { return function(done: DoneFn) {
@ -74,7 +74,7 @@ const domino: any = (function(domino) {
/** /**
* Ensure that global has `Document` if we are in node.js * Ensure that global has `Document` if we are in node.js
* @experimental * @publicApi
*/ */
export function ensureDocument(): void { export function ensureDocument(): void {
if (domino) { if (domino) {
@ -101,7 +101,7 @@ export function ensureDocument(): void {
/** /**
* Restore the state of `Document` between tests. * Restore the state of `Document` between tests.
* @experimental * @publicApi
*/ */
export function cleanupDocument(): void { export function cleanupDocument(): void {
if (savedDocument) { if (savedDocument) {

View File

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

View File

@ -18,7 +18,7 @@ import {ActivatedRouteSnapshot, RouterStateSnapshot} from './router_state';
* * 'popstate'--triggered by a popstate event * * 'popstate'--triggered by a popstate event
* * 'hashchange'--triggered by a hashchange event * * 'hashchange'--triggered by a hashchange event
* *
* @experimental * @publicApi
*/ */
export type NavigationTrigger = 'imperative' | 'popstate' | 'hashchange'; export type NavigationTrigger = 'imperative' | 'popstate' | 'hashchange';
@ -40,7 +40,7 @@ export type NavigationTrigger = 'imperative' | 'popstate' | 'hashchange';
* } * }
* ``` * ```
* *
* @experimental * @publicApi
*/ */
export class RouterEvent { export class RouterEvent {
constructor( constructor(
@ -200,7 +200,7 @@ export class RoutesRecognized extends RouterEvent {
* *
* Represents the start of the Guard phase of routing. * Represents the start of the Guard phase of routing.
* *
* @experimental * @publicApi
*/ */
export class GuardsCheckStart extends RouterEvent { export class GuardsCheckStart extends RouterEvent {
constructor( constructor(
@ -225,7 +225,7 @@ export class GuardsCheckStart extends RouterEvent {
* *
* Represents the end of the Guard phase of routing. * Represents the end of the Guard phase of routing.
* *
* @experimental * @publicApi
*/ */
export class GuardsCheckEnd extends RouterEvent { export class GuardsCheckEnd extends RouterEvent {
constructor( 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 * 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. * behavior may change to only run when there are things to be resolved.
* *
* @experimental * @publicApi
*/ */
export class ResolveStart extends RouterEvent { export class ResolveStart extends RouterEvent {
constructor( constructor(
@ -281,7 +281,7 @@ export class ResolveStart extends RouterEvent {
* Represents the end of the Resolve phase of routing. See note on * Represents the end of the Resolve phase of routing. See note on
* `ResolveStart` for use of this experimental API. * `ResolveStart` for use of this experimental API.
* *
* @experimental * @publicApi
*/ */
export class ResolveEnd extends RouterEvent { export class ResolveEnd extends RouterEvent {
constructor( constructor(
@ -306,7 +306,7 @@ export class ResolveEnd extends RouterEvent {
* *
* Represents an event triggered before lazy loading a route config. * Represents an event triggered before lazy loading a route config.
* *
* @experimental * @publicApi
*/ */
export class RouteConfigLoadStart { export class RouteConfigLoadStart {
constructor( constructor(
@ -320,7 +320,7 @@ export class RouteConfigLoadStart {
* *
* Represents an event triggered when a route has been lazy loaded. * Represents an event triggered when a route has been lazy loaded.
* *
* @experimental * @publicApi
*/ */
export class RouteConfigLoadEnd { export class RouteConfigLoadEnd {
constructor( constructor(
@ -335,7 +335,7 @@ export class RouteConfigLoadEnd {
* Represents the start of end of the Resolve phase of routing. See note on * Represents the start of end of the Resolve phase of routing. See note on
* `ChildActivationEnd` for use of this experimental API. * `ChildActivationEnd` for use of this experimental API.
* *
* @experimental * @publicApi
*/ */
export class ChildActivationStart { export class ChildActivationStart {
constructor( constructor(
@ -353,7 +353,7 @@ export class ChildActivationStart {
* Represents the start of end of the Resolve phase of routing. See note on * Represents the start of end of the Resolve phase of routing. See note on
* `ChildActivationStart` for use of this experimental API. * `ChildActivationStart` for use of this experimental API.
* *
* @experimental * @publicApi
*/ */
export class ChildActivationEnd { export class ChildActivationEnd {
constructor( constructor(
@ -371,7 +371,7 @@ export class ChildActivationEnd {
* Represents the start of end of the Resolve phase of routing. See note on * Represents the start of end of the Resolve phase of routing. See note on
* `ActivationEnd` for use of this experimental API. * `ActivationEnd` for use of this experimental API.
* *
* @experimental * @publicApi
*/ */
export class ActivationStart { export class ActivationStart {
constructor( constructor(
@ -389,7 +389,7 @@ export class ActivationStart {
* Represents the start of end of the Resolve phase of routing. See note on * Represents the start of end of the Resolve phase of routing. See note on
* `ActivationStart` for use of this experimental API. * `ActivationStart` for use of this experimental API.
* *
* @experimental * @publicApi
*/ */
export class ActivationEnd { export class ActivationEnd {
constructor( 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 * This is an opaque value the router will give to a custom route reuse strategy
* to store and retrieve later on. * to store and retrieve later on.
* *
* @experimental * @publicApi
*/ */
export type DetachedRouteHandle = {}; export type DetachedRouteHandle = {};
@ -36,7 +36,7 @@ export type DetachedRouteHandleInternal = {
* *
* Provides a way to customize when activated routes get reused. * Provides a way to customize when activated routes get reused.
* *
* @experimental * @publicApi
*/ */
export abstract class RouteReuseStrategy { export abstract class RouteReuseStrategy {
/** Determines if this route (and its subtree) should be detached to be reused later */ /** 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 * @docsNotRequired
* @experimental * @publicApi
*/ */
export const ROUTES = new InjectionToken<Route[][]>('ROUTES'); export const ROUTES = new InjectionToken<Route[][]>('ROUTES');

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