diff --git a/packages/animations/browser/src/dsl/animation_trigger.ts b/packages/animations/browser/src/dsl/animation_trigger.ts index c594241c36..79d948af9c 100644 --- a/packages/animations/browser/src/dsl/animation_trigger.ts +++ b/packages/animations/browser/src/dsl/animation_trigger.ts @@ -15,14 +15,14 @@ import {AnimationStateStyles, AnimationTransitionFactory} from './animation_tran /** - * @experimental Animation support is experimental. + * @publicApi */ export function buildTrigger(name: string, ast: TriggerAst): AnimationTrigger { return new AnimationTrigger(name, ast); } /** -* @experimental Animation support is experimental. +* @publicApi */ export class AnimationTrigger { public transitionFactories: AnimationTransitionFactory[] = []; diff --git a/packages/animations/browser/src/dsl/style_normalization/animation_style_normalizer.ts b/packages/animations/browser/src/dsl/style_normalization/animation_style_normalizer.ts index c2a3e0ae34..ea0161b908 100644 --- a/packages/animations/browser/src/dsl/style_normalization/animation_style_normalizer.ts +++ b/packages/animations/browser/src/dsl/style_normalization/animation_style_normalizer.ts @@ -7,7 +7,7 @@ */ /** - * @experimental Animation support is experimental. + * @publicApi */ export abstract class AnimationStyleNormalizer { abstract normalizePropertyName(propertyName: string, errors: string[]): string; @@ -17,7 +17,7 @@ export abstract class AnimationStyleNormalizer { } /** - * @experimental Animation support is experimental. + * @publicApi */ export class NoopAnimationStyleNormalizer { normalizePropertyName(propertyName: string, errors: string[]): string { return propertyName; } diff --git a/packages/animations/browser/src/render/animation_driver.ts b/packages/animations/browser/src/render/animation_driver.ts index 9583884507..2302b4f403 100644 --- a/packages/animations/browser/src/render/animation_driver.ts +++ b/packages/animations/browser/src/render/animation_driver.ts @@ -11,7 +11,7 @@ import {Injectable} from '@angular/core'; import {containsElement, invokeQuery, matchesElement, validateStyleProperty} from './shared'; /** - * @experimental + * @publicApi */ @Injectable() export class NoopAnimationDriver implements AnimationDriver { @@ -40,7 +40,7 @@ export class NoopAnimationDriver implements AnimationDriver { } /** - * @experimental + * @publicApi */ export abstract class AnimationDriver { static NOOP: AnimationDriver = new NoopAnimationDriver(); diff --git a/packages/animations/browser/testing/src/mock_animation_driver.ts b/packages/animations/browser/testing/src/mock_animation_driver.ts index ae58ca494b..b9cbc79c55 100644 --- a/packages/animations/browser/testing/src/mock_animation_driver.ts +++ b/packages/animations/browser/testing/src/mock_animation_driver.ts @@ -10,7 +10,7 @@ import {ɵAnimationDriver as AnimationDriver, ɵallowPreviousPlayerStylesMerge a /** - * @experimental Animation support is experimental. + * @publicApi */ export class MockAnimationDriver implements AnimationDriver { static log: AnimationPlayer[] = []; @@ -42,7 +42,7 @@ export class MockAnimationDriver implements AnimationDriver { } /** - * @experimental Animation support is experimental. + * @publicApi */ export class MockAnimationPlayer extends NoopAnimationPlayer { private __finished = false; diff --git a/packages/animations/src/animation_event.ts b/packages/animations/src/animation_event.ts index 36f4151edd..fb43767e22 100644 --- a/packages/animations/src/animation_event.ts +++ b/packages/animations/src/animation_event.ts @@ -35,7 +35,7 @@ * } * ``` * - * @experimental Animation support is experimental. + * @publicApi */ export interface AnimationEvent { /** diff --git a/packages/animations/src/animation_metadata.ts b/packages/animations/src/animation_metadata.ts index f370757a48..6d7c247c68 100755 --- a/packages/animations/src/animation_metadata.ts +++ b/packages/animations/src/animation_metadata.ts @@ -12,7 +12,7 @@ export interface ɵStyleData { [key: string]: string|number; } /** -* Represents animation-step timing parameters for an animation step. +* Represents animation-step timing parameters for an animation step. * @see `animate()` */ export declare type AnimateTimings = { @@ -413,7 +413,7 @@ export interface AnimationStaggerMetadata extends AnimationMetadata { * and `transition()` declarations. * * @return An object that encapsulates the trigger data. - * + * * @usageNotes * Define an animation trigger in the `animations` section of `@Component` metadata. * In the template, reference the trigger by name and bind it to a trigger expression that @@ -421,12 +421,12 @@ export interface AnimationStaggerMetadata extends AnimationMetadata { * * `[@triggerName]="expression"` * - * Animation trigger bindings convert all values to strings, and then match the + * Animation trigger bindings convert all values to strings, and then match the * previous and current values against any linked transitions. * Booleans can be specified as `1` or `true` and `0` or `false`. * * ### Usage Example - * + * * The following example creates an animation trigger reference based on the provided * name value. * The provided animation value is expected to be an array consisting of state and @@ -487,7 +487,7 @@ export interface AnimationStaggerMetadata extends AnimationMetadata { * ``` * * ### Disabling Animations - * When true, the special animation control binding `@.disabled` binding prevents + * When true, the special animation control binding `@.disabled` binding prevents * all animations from rendering. * Place the `@.disabled` binding on an element to disable * animations on the element itself, as well as any inner animation triggers @@ -519,7 +519,7 @@ export interface AnimationStaggerMetadata extends AnimationMetadata { * along with any inner animations. * * ### Disable animations application-wide - * When an area of the template is set to have animations disabled, + * When an area of the template is set to have animations disabled, * **all** inner components have their animations disabled as well. * This means that you can disable all animations for an app * by placing a host binding set on `@.disabled` on the topmost Angular component. @@ -539,8 +539,8 @@ export interface AnimationStaggerMetadata extends AnimationMetadata { * * ### Overriding disablement of inner animations * Despite inner animations being disabled, a parent animation can `query()` - * for inner elements located in disabled areas of the template and still animate - * them if needed. This is also the case for when a sub animation is + * for inner elements located in disabled areas of the template and still animate + * them if needed. This is also the case for when a sub animation is * queried by a parent and then later animated using `animateChild()`. * * ### Detecting when an animation is disabled @@ -549,7 +549,7 @@ export interface AnimationStaggerMetadata extends AnimationMetadata { * an instance of an `AnimationEvent`. If animations are disabled, * the `.disabled` flag on the event is true. * - * @experimental Animation support is experimental. + * @publicApi */ export function trigger(name: string, definitions: AnimationMetadata[]): AnimationTriggerMetadata { return {type: AnimationMetadataType.Trigger, name, definitions, options: {}}; @@ -626,7 +626,7 @@ export function animate( * - To specify offset styles to be applied at a later time, define steps with * `keyframes()`, or use `animate()` calls with a delay value. * For example: - * + * * ```typescript * group([ * animate("1s", { background: "black" })) @@ -641,7 +641,7 @@ export function animate( * @return An object that encapsulates the group data. * * @usageNotes - * Grouped animations are useful when a series of styles must be + * Grouped animations are useful when a series of styles must be * animated at different starting times and closed off at different ending times. * * When called within a `sequence()` or a @@ -701,7 +701,7 @@ export function sequence(steps: AnimationMetadata[], options: AnimationOptions | * - An asterisk (*), to use auto-styling, where styles are derived from the element * being animated and applied to the animation when it starts. * - * Auto-styling can be used to define a state that depends on layout or other + * Auto-styling can be used to define a state that depends on layout or other * environmental factors. * * @return An object that encapsulates the style data. @@ -709,7 +709,7 @@ export function sequence(steps: AnimationMetadata[], options: AnimationOptions | * @usageNotes * The following examples create animation styles that collect a set of * CSS property values: - * + * * ```typescript * // string values for CSS properties * style({ background: "red", color: "blue" }) @@ -1062,7 +1062,7 @@ export function animateChild(options: AnimateChildOptions | null = null): * Starts a reusable animation that is created using the `animation()` function. * * @param animation The reusable animation to start. - * @param options An options object that can contain a delay value for the start of + * @param options An options object that can contain a delay value for the start of * the animation, and additional override values for developer-defined parameters. * @return An object that contains the animation parameters. */ @@ -1121,7 +1121,7 @@ export function useAnimation( * ### Usage Example * * The following example queries for inner elements and animates them - * individually using `animateChild()`. + * individually using `animateChild()`. * * ```typescript * @Component({ diff --git a/packages/common/src/directives/ng_component_outlet.ts b/packages/common/src/directives/ng_component_outlet.ts index 81598ac40c..5a7141b70f 100644 --- a/packages/common/src/directives/ng_component_outlet.ts +++ b/packages/common/src/directives/ng_component_outlet.ts @@ -65,7 +65,7 @@ import {ComponentFactoryResolver, ComponentRef, Directive, Injector, Input, NgMo * * {@example common/ngComponentOutlet/ts/module.ts region='NgModuleFactoryExample'} * - * @experimental + * @publicApi * @ngModule CommonModule */ @Directive({selector: '[ngComponentOutlet]'}) diff --git a/packages/common/src/directives/ng_plural.ts b/packages/common/src/directives/ng_plural.ts index eb489a8228..1cc7de97c4 100644 --- a/packages/common/src/directives/ng_plural.ts +++ b/packages/common/src/directives/ng_plural.ts @@ -42,7 +42,7 @@ import {SwitchView} from './ng_switch'; * * See http://cldr.unicode.org/index/cldr-spec/plural-rules * - * @experimental + * @publicApi */ @Directive({selector: '[ngPlural]'}) export class NgPlural { @@ -100,7 +100,7 @@ export class NgPlural { * * See {@link NgPlural} for more details and example. * - * @experimental + * @publicApi */ @Directive({selector: '[ngPluralCase]'}) export class NgPluralCase { diff --git a/packages/common/src/i18n/locale_data.ts b/packages/common/src/i18n/locale_data.ts index d638d26bc3..1d3301999a 100644 --- a/packages/common/src/i18n/locale_data.ts +++ b/packages/common/src/i18n/locale_data.ts @@ -7,7 +7,7 @@ */ /** - * @experimental i18n support is experimental. + * @publicApi */ export const LOCALE_DATA: {[localeId: string]: any} = {}; @@ -15,7 +15,7 @@ export const LOCALE_DATA: {[localeId: string]: any} = {}; * Register global data to be used internally by Angular. See the * ["I18n guide"](guide/i18n#i18n-pipes) to know how to import additional locale data. * - * @experimental i18n support is experimental. + * @publicApi */ // The signature registerLocaleData(data: any, extraData?: any) is deprecated since v5.1 export function registerLocaleData(data: any, localeId?: string | any, extraData?: any): void { diff --git a/packages/common/src/i18n/locale_data_api.ts b/packages/common/src/i18n/locale_data_api.ts index cbfd90f117..c0a54831eb 100644 --- a/packages/common/src/i18n/locale_data_api.ts +++ b/packages/common/src/i18n/locale_data_api.ts @@ -14,7 +14,7 @@ import {CURRENCIES_EN, CurrenciesSymbols} from './currencies'; * The different format styles that can be used to represent numbers. * Used by the function {@link getLocaleNumberFormat}. * - * @experimental i18n support is experimental. + * @publicApi */ export enum NumberFormatStyle { Decimal, @@ -23,7 +23,7 @@ export enum NumberFormatStyle { Scientific } -/** @experimental */ +/** @publicApi */ export enum Plural { Zero = 0, One = 1, @@ -40,7 +40,7 @@ export enum Plural { * the genitive. * See [the CLDR website](http://cldr.unicode.org/translation/date-time) for more information. * - * @experimental i18n support is experimental. + * @publicApi */ export enum FormStyle { Format, @@ -57,7 +57,7 @@ export enum FormStyle { * - Abbreviated: `Sun` * - Wide: `Sunday` * - * @experimental i18n support is experimental. + * @publicApi */ export enum TranslationWidth { Narrow, @@ -77,7 +77,7 @@ export enum TranslationWidth { * - `'full'`: `'EEEE, MMMM d, y, h:mm:ss a zzzz'` (e.g. `Monday, June 15, 2015 at * 9:03:01 AM GMT+01:00`) * - * @experimental i18n support is experimental. + * @publicApi */ export enum FormatWidth { Short, @@ -106,7 +106,7 @@ export enum FormatWidth { * | currencyDecimal | $2,345`.`67 | decimal separator, fallback to "decimal" | * | currencyGroup | $2`,`345.67 | grouping separator, fallback to "group" | * - * @experimental i18n support is experimental. + * @publicApi */ export enum NumberSymbol { Decimal, @@ -128,7 +128,7 @@ export enum NumberSymbol { /** * The value for each day of the week, based on the en-US locale * - * @experimental + * @publicApi */ export enum WeekDay { Sunday = 0, @@ -143,7 +143,7 @@ export enum WeekDay { /** * The locale id for the chosen locale (e.g `en-GB`). * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleId(locale: string): string { return findLocaleData(locale)[LocaleDataIndex.LocaleId]; @@ -152,7 +152,7 @@ export function getLocaleId(locale: string): string { /** * Periods of the day (e.g. `[AM, PM]` for en-US). * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleDayPeriods( locale: string, formStyle: FormStyle, width: TranslationWidth): [string, string] { @@ -167,7 +167,7 @@ export function getLocaleDayPeriods( /** * Days of the week for the Gregorian calendar (e.g. `[Sunday, Monday, ... Saturday]` for en-US). * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleDayNames( locale: string, formStyle: FormStyle, width: TranslationWidth): string[] { @@ -181,7 +181,7 @@ export function getLocaleDayNames( /** * Months of the year for the Gregorian calendar (e.g. `[January, February, ...]` for en-US). * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleMonthNames( locale: string, formStyle: FormStyle, width: TranslationWidth): string[] { @@ -195,7 +195,7 @@ export function getLocaleMonthNames( /** * Eras for the Gregorian calendar (e.g. AD/BC). * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleEraNames(locale: string, width: TranslationWidth): [string, string] { const data = findLocaleData(locale); @@ -207,7 +207,7 @@ export function getLocaleEraNames(locale: string, width: TranslationWidth): [str * First day of the week for this locale, based on english days (Sunday = 0, Monday = 1, ...). * For example in french the value would be 1 because the first day of the week is Monday. * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleFirstDayOfWeek(locale: string): WeekDay { const data = findLocaleData(locale); @@ -219,7 +219,7 @@ export function getLocaleFirstDayOfWeek(locale: string): WeekDay { * (Sunday = 0, Monday = 1, ...). * For example in english the value would be [6,0] for Saturday to Sunday. * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleWeekEndRange(locale: string): [WeekDay, WeekDay] { const data = findLocaleData(locale); @@ -249,7 +249,7 @@ export function getLocaleWeekEndRange(locale: string): [WeekDay, WeekDay] { * * For example, `M/d/yy`, corresponding to a date like "9/14/99". * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleDateFormat(locale: string, width: FormatWidth): string { const data = findLocaleData(locale); @@ -274,7 +274,7 @@ export function getLocaleDateFormat(locale: string, width: FormatWidth): string * through 23 (midnight plus 1 minute is 0:01), or using k to mean a 24-hour clock cycle running * 1 through 24 (midnight plus 1 minute is 24:01). * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleTimeFormat(locale: string, width: FormatWidth): string { const data = findLocaleData(locale); @@ -304,7 +304,7 @@ export function getLocaleTimeFormat(locale: string, width: FormatWidth): string * time. English uses `{1} 'at' {0}` for full and long styles, and `{1}, {0}` for medium and short * styles. * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleDateTimeFormat(locale: string, width: FormatWidth): string { const data = findLocaleData(locale); @@ -316,7 +316,7 @@ export function getLocaleDateTimeFormat(locale: string, width: FormatWidth): str * Number symbol that can be used to replace placeholders in number formats. * See {@link NumberSymbol} for more information. * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleNumberSymbol(locale: string, symbol: NumberSymbol): string { const data = findLocaleData(locale); @@ -360,7 +360,7 @@ export function getLocaleNumberSymbol(locale: string, symbol: NumberSymbol): str * You can find more information * [on the CLDR website](http://cldr.unicode.org/translation/number-patterns) * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleNumberFormat(locale: string, type: NumberFormatStyle): string { const data = findLocaleData(locale); @@ -372,7 +372,7 @@ export function getLocaleNumberFormat(locale: string, type: NumberFormatStyle): * the locale en-US). * The symbol will be `null` if the main country cannot be determined. * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleCurrencySymbol(locale: string): string|null { const data = findLocaleData(locale); @@ -384,7 +384,7 @@ export function getLocaleCurrencySymbol(locale: string): string|null { * en-US). * The name will be `null` if the main country cannot be determined. * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleCurrencyName(locale: string): string|null { const data = findLocaleData(locale); @@ -403,7 +403,7 @@ function getLocaleCurrencies(locale: string): {[code: string]: CurrenciesSymbols * The locale plural function used by ICU expressions to determine the plural case to use. * See {@link NgPlural} for more information. * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocalePluralCase(locale: string): (value: number) => Plural { const data = findLocaleData(locale); @@ -430,7 +430,7 @@ function checkFullData(data: any) { * See the ["I18n guide"](guide/i18n#i18n-pipes) to know how to import additional locale * data. * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleExtraDayPeriodRules(locale: string): (Time | [Time, Time])[] { const data = findLocaleData(locale); @@ -455,7 +455,7 @@ export function getLocaleExtraDayPeriodRules(locale: string): (Time | [Time, Tim * See the ["I18n guide"](guide/i18n#i18n-pipes) to know how to import additional locale * data. * - * @experimental i18n support is experimental. + * @publicApi */ export function getLocaleExtraDayPeriods( locale: string, formStyle: FormStyle, width: TranslationWidth): string[] { @@ -476,7 +476,7 @@ export function getLocaleExtraDayPeriods( * add the first one to the locale data arrays, the other ones are only defined when different. * We use this function to retrieve the first defined value. * - * @experimental i18n support is experimental. + * @publicApi */ function getLastDefinedValue(data: T[], index: number): T { for (let i = index; i > -1; i--) { @@ -490,7 +490,7 @@ function getLastDefinedValue(data: T[], index: number): T { /** * A representation of the time with hours and minutes * - * @experimental i18n support is experimental. + * @publicApi */ export type Time = { hours: number, @@ -508,7 +508,7 @@ function extractTime(time: string): Time { /** * Finds the locale data for a locale id * - * @experimental i18n support is experimental. + * @publicApi */ export function findLocaleData(locale: string): any { const normalizedLocale = locale.toLowerCase().replace(/_/g, '-'); @@ -538,7 +538,7 @@ export function findLocaleData(locale: string): any { * (e.g.: format narrow = $, format wide = US$, code = USD) * If no locale is provided, it uses the locale "en" by default * - * @experimental i18n support is experimental. + * @publicApi */ export function getCurrencySymbol(code: string, format: 'wide' | 'narrow', locale = 'en'): string { const currency = getLocaleCurrencies(locale)[code] || CURRENCIES_EN[code] || []; @@ -558,7 +558,7 @@ const DEFAULT_NB_OF_CURRENCY_DIGITS = 2; * Returns the number of decimal digits for the given currency. * Its value depends upon the presence of cents in that particular currency. * - * @experimental i18n support is experimental. + * @publicApi */ export function getNumberOfCurrencyDigits(code: string): number { let digits; diff --git a/packages/common/src/i18n/localization.ts b/packages/common/src/i18n/localization.ts index 69aeceafdf..e9ce3da7e7 100644 --- a/packages/common/src/i18n/localization.ts +++ b/packages/common/src/i18n/localization.ts @@ -16,7 +16,7 @@ import {Plural, getLocalePluralCase} from './locale_data_api'; export const DEPRECATED_PLURAL_FN = new InjectionToken('UseV4Plurals'); /** - * @experimental + * @publicApi */ export abstract class NgLocalization { abstract getPluralCategory(value: any, locale?: string): string; @@ -52,7 +52,7 @@ export function getPluralCategory( /** * Returns the plural case based on the locale * - * @experimental + * @publicApi */ @Injectable() export class NgLocaleLocalization extends NgLocalization { @@ -89,7 +89,7 @@ export class NgLocaleLocalization extends NgLocalization { * Returns the plural case based on the locale * * @deprecated from v5 the plural case function is in locale data files common/locales/*.ts - * @experimental + * @publicApi */ export function getPluralCase(locale: string, nLike: number | string): Plural { // TODO(vicb): lazy compute diff --git a/packages/common/src/location/location.ts b/packages/common/src/location/location.ts index 4ee84dfb6b..c4af23a877 100644 --- a/packages/common/src/location/location.ts +++ b/packages/common/src/location/location.ts @@ -11,7 +11,7 @@ import {SubscriptionLike} from 'rxjs'; import {LocationStrategy} from './location_strategy'; -/** @experimental */ +/** @publicApi */ export interface PopStateEvent { pop?: boolean; state?: any; diff --git a/packages/common/src/location/platform_location.ts b/packages/common/src/location/platform_location.ts index 9770017b90..45d8bb1757 100644 --- a/packages/common/src/location/platform_location.ts +++ b/packages/common/src/location/platform_location.ts @@ -49,7 +49,7 @@ export abstract class PlatformLocation { /** * @description Indicates when a location is initialized. - * @experimental + * @publicApi */ export const LOCATION_INITIALIZED = new InjectionToken>('Location Initialized'); @@ -57,7 +57,7 @@ export const LOCATION_INITIALIZED = new InjectionToken>('Location I * @description * A serializable version of the event from `onPopState` or `onHashChange` * - * @experimental + * @publicApi */ export interface LocationChangeEvent { type: string; @@ -65,6 +65,6 @@ export interface LocationChangeEvent { } /** - * @experimental + * @publicApi */ export interface LocationChangeListener { (event: LocationChangeEvent): any; } diff --git a/packages/common/src/pipes/i18n_plural_pipe.ts b/packages/common/src/pipes/i18n_plural_pipe.ts index 5ecdf3d5f7..899c23b25e 100644 --- a/packages/common/src/pipes/i18n_plural_pipe.ts +++ b/packages/common/src/pipes/i18n_plural_pipe.ts @@ -24,7 +24,7 @@ const _INTERPOLATION_REGEXP: RegExp = /#/g; * * {@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'} * - * @experimental + * @publicApi */ @Pipe({name: 'i18nPlural', pure: true}) export class I18nPluralPipe implements PipeTransform { diff --git a/packages/common/src/pipes/i18n_select_pipe.ts b/packages/common/src/pipes/i18n_select_pipe.ts index c276f99924..f6cfa58a55 100644 --- a/packages/common/src/pipes/i18n_select_pipe.ts +++ b/packages/common/src/pipes/i18n_select_pipe.ts @@ -24,7 +24,7 @@ import {invalidPipeArgumentError} from './invalid_pipe_argument_error'; * * {@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'} * - * @experimental + * @publicApi */ @Pipe({name: 'i18nSelect', pure: true}) export class I18nSelectPipe implements PipeTransform { diff --git a/packages/common/src/platform_id.ts b/packages/common/src/platform_id.ts index 2a27926c9e..faf7dbc643 100644 --- a/packages/common/src/platform_id.ts +++ b/packages/common/src/platform_id.ts @@ -13,7 +13,7 @@ export const PLATFORM_WORKER_UI_ID = 'browserWorkerUi'; /** * Returns whether a platform id represents a browser platform. - * @experimental + * @publicApi */ export function isPlatformBrowser(platformId: Object): boolean { return platformId === PLATFORM_BROWSER_ID; @@ -21,7 +21,7 @@ export function isPlatformBrowser(platformId: Object): boolean { /** * Returns whether a platform id represents a server platform. - * @experimental + * @publicApi */ export function isPlatformServer(platformId: Object): boolean { return platformId === PLATFORM_SERVER_ID; @@ -29,7 +29,7 @@ export function isPlatformServer(platformId: Object): boolean { /** * Returns whether a platform id represents a web worker app platform. - * @experimental + * @publicApi */ export function isPlatformWorkerApp(platformId: Object): boolean { return platformId === PLATFORM_WORKER_APP_ID; @@ -37,7 +37,7 @@ export function isPlatformWorkerApp(platformId: Object): boolean { /** * Returns whether a platform id represents a web worker UI platform. - * @experimental + * @publicApi */ export function isPlatformWorkerUi(platformId: Object): boolean { return platformId === PLATFORM_WORKER_UI_ID; diff --git a/packages/common/testing/src/location_mock.ts b/packages/common/testing/src/location_mock.ts index f28f68731a..58a510a689 100644 --- a/packages/common/testing/src/location_mock.ts +++ b/packages/common/testing/src/location_mock.ts @@ -14,7 +14,7 @@ import {SubscriptionLike} from 'rxjs'; /** * A spy for {@link Location} that allows tests to fire simulated location events. * - * @experimental + * @publicApi */ @Injectable() export class SpyLocation implements Location { diff --git a/packages/compiler-cli/src/diagnostics/symbols.ts b/packages/compiler-cli/src/diagnostics/symbols.ts index e900ee40f3..f8ea3ced6e 100644 --- a/packages/compiler-cli/src/diagnostics/symbols.ts +++ b/packages/compiler-cli/src/diagnostics/symbols.ts @@ -11,7 +11,7 @@ import {StaticSymbol} from '@angular/compiler'; /** * The range of a span of text in a source file. * - * @experimental + * @publicApi */ export interface Span { /** @@ -44,7 +44,7 @@ export type Definition = Location[] | undefined; * A symbol describing a language element that can be referenced by expressions * in an Angular template. * - * @experimental + * @publicApi */ export interface Symbol { /** @@ -124,7 +124,7 @@ export interface Symbol { /** * A table of `Symbol`s accessible by name. * - * @experimental + * @publicApi */ export interface SymbolTable { /** @@ -153,7 +153,7 @@ export interface SymbolTable { /** * A description of a function or method signature. * - * @experimental + * @publicApi */ export interface Signature { /** @@ -171,7 +171,7 @@ export interface Signature { /** * An enumeration of basic types. * - * @experimental + * @publicApi */ export enum BuiltinType { /** @@ -218,7 +218,7 @@ export enum BuiltinType { /** * The kinds of definition. * - * @experimental + * @publicApi */ export type DeclarationKind = 'attribute' | 'html attribute' | 'component' | 'element' | 'entity' | 'key' | 'method' | 'pipe' | 'property' | 'type' | 'reference' | 'variable'; @@ -226,7 +226,7 @@ export type DeclarationKind = 'attribute' | 'html attribute' | 'component' | 'el /** * Describes a symbol to type binding used to build a symbol table. * - * @experimental + * @publicApi */ export interface SymbolDeclaration { /** @@ -253,7 +253,7 @@ export interface SymbolDeclaration { /** * Information about the pipes that are available for use in a template. * - * @experimental + * @publicApi */ export interface PipeInfo { /** @@ -270,14 +270,14 @@ export interface PipeInfo { /** * A sequence of pipe information. * - * @experimental + * @publicApi */ export type Pipes = PipeInfo[] | undefined; /** * Describes the language context in which an Angular expression is evaluated. * - * @experimental + * @publicApi */ export interface SymbolQuery { /** diff --git a/packages/compiler-cli/src/transformers/api.ts b/packages/compiler-cli/src/transformers/api.ts index f0c202889d..de2ea79793 100644 --- a/packages/compiler-cli/src/transformers/api.ts +++ b/packages/compiler-cli/src/transformers/api.ts @@ -190,7 +190,7 @@ export interface CompilerOptions extends ts.CompilerOptions { * `ngtsc` - run the ngtsc compiler instead of the normal ngc compiler * `tsc` - behave like plain tsc as much as possible (used for testing JIT code) * - * @experimental + * @publicApi */ enableIvy?: boolean|'ngtsc'|'tsc'; diff --git a/packages/core/src/application_module.ts b/packages/core/src/application_module.ts index 8d9d32de63..a809f5c8fb 100644 --- a/packages/core/src/application_module.ts +++ b/packages/core/src/application_module.ts @@ -67,7 +67,7 @@ export const APPLICATION_MODULE_PROVIDERS: StaticProvider[] = [ * Re-exported by `BrowserModule`, which is included automatically in the root * `AppModule` when you create a new app with the CLI `new` command. * - * @experimental + * @publicApi */ @NgModule({providers: APPLICATION_MODULE_PROVIDERS}) export class ApplicationModule { diff --git a/packages/core/src/application_ref.ts b/packages/core/src/application_ref.ts index 13f2ae7d18..53b24096ee 100644 --- a/packages/core/src/application_ref.ts +++ b/packages/core/src/application_ref.ts @@ -57,7 +57,7 @@ export const ALLOW_MULTIPLE_PLATFORMS = new InjectionToken('AllowMultip /** * A token for third-party components that can register themselves with NgProbe. * - * @experimental + * @publicApi */ export class NgProbeToken { constructor(public name: string, public token: any) {} @@ -67,7 +67,7 @@ export class NgProbeToken { * Creates a platform. * Platforms have to be eagerly created via this function. * - * @experimental APIs related to application bootstrap are currently under review. + * @publicApi */ export function createPlatform(injector: Injector): PlatformRef { if (_platform && !_platform.destroyed && @@ -84,7 +84,7 @@ export function createPlatform(injector: Injector): PlatformRef { /** * Creates a factory for a platform * - * @experimental APIs related to application bootstrap are currently under review. + * @publicApi */ export function createPlatformFactory( parentPlatformFactory: ((extraProviders?: StaticProvider[]) => PlatformRef) | null, @@ -111,7 +111,7 @@ export function createPlatformFactory( /** * Checks that there currently is a platform which contains the given token as a provider. * - * @experimental APIs related to application bootstrap are currently under review. + * @publicApi */ export function assertPlatform(requiredToken: any): PlatformRef { const platform = getPlatform(); @@ -131,7 +131,7 @@ export function assertPlatform(requiredToken: any): PlatformRef { /** * Destroy the existing platform. * - * @experimental APIs related to application bootstrap are currently under review. + * @publicApi */ export function destroyPlatform(): void { if (_platform && !_platform.destroyed) { @@ -142,7 +142,7 @@ export function destroyPlatform(): void { /** * Returns the current platform. * - * @experimental APIs related to application bootstrap are currently under review. + * @publicApi */ export function getPlatform(): PlatformRef|null { return _platform && !_platform.destroyed ? _platform : null; @@ -203,7 +203,7 @@ export class PlatformRef { * let moduleRef = platformBrowser().bootstrapModuleFactory(MyModuleNgFactory); * ``` * - * @experimental APIs related to application bootstrap are currently under review. + * @publicApi */ bootstrapModuleFactory(moduleFactory: NgModuleFactory, options?: BootstrapOptions): Promise> { diff --git a/packages/core/src/application_tokens.ts b/packages/core/src/application_tokens.ts index 71467c16b8..1b0bda6d90 100644 --- a/packages/core/src/application_tokens.ts +++ b/packages/core/src/application_tokens.ts @@ -18,7 +18,7 @@ import {ComponentRef} from './linker/component_factory'; * If you need to avoid randomly generated value to be used as an application id, you can provide * a custom value via a DI provider configuring the root {@link Injector} * using this token. - * @experimental + * @publicApi */ export const APP_ID = new InjectionToken('AppId'); @@ -28,7 +28,7 @@ export function _appIdRandomProviderFactory() { /** * Providers that will generate a random APP_ID_TOKEN. - * @experimental + * @publicApi */ export const APP_ID_RANDOM_PROVIDER = { provide: APP_ID, @@ -42,13 +42,13 @@ function _randomChar(): string { /** * A function that will be executed when a platform is initialized. - * @experimental + * @publicApi */ export const PLATFORM_INITIALIZER = new InjectionToken void>>('Platform Initializer'); /** * A token that indicates an opaque platform id. - * @experimental + * @publicApi */ export const PLATFORM_ID = new InjectionToken('Platform ID'); @@ -58,13 +58,13 @@ export const PLATFORM_ID = new InjectionToken('Platform ID'); * * `(componentRef: ComponentRef) => void`. * - * @experimental + * @publicApi */ export const APP_BOOTSTRAP_LISTENER = new InjectionToken) => void>>('appBootstrapListener'); /** * A token which indicates the root directory of the application - * @experimental + * @publicApi */ export const PACKAGE_ROOT_URL = new InjectionToken('Application Packages Root URL'); diff --git a/packages/core/src/debug/debug_node.ts b/packages/core/src/debug/debug_node.ts index 0f4ba3ae31..06ccb62ad1 100644 --- a/packages/core/src/debug/debug_node.ts +++ b/packages/core/src/debug/debug_node.ts @@ -14,7 +14,7 @@ export class EventListener { } /** - * @experimental All debugging apis are currently experimental. + * @publicApi */ export class DebugNode { listeners: EventListener[] = []; @@ -38,7 +38,7 @@ export class DebugNode { } /** - * @experimental All debugging apis are currently experimental. + * @publicApi */ export class DebugElement extends DebugNode { name !: string; @@ -126,7 +126,7 @@ export class DebugElement extends DebugNode { } /** - * @experimental + * @publicApi */ export function asNativeElements(debugEls: DebugElement[]): any { return debugEls.map((el) => el.nativeElement); @@ -162,7 +162,7 @@ function _queryNodeChildren( const _nativeNodeToDebugNode = new Map(); /** - * @experimental + * @publicApi */ export function getDebugNode(nativeNode: any): DebugNode|null { return _nativeNodeToDebugNode.get(nativeNode) || null; @@ -184,6 +184,6 @@ export function removeDebugNodeFromIndex(node: DebugNode) { * A boolean-valued function over a value, possibly including context information * regarding that value's position in an array. * - * @experimental All debugging apis are currently experimental. + * @publicApi */ export interface Predicate { (value: T): boolean; } diff --git a/packages/core/src/di/defs.ts b/packages/core/src/di/defs.ts index 83bf53990d..b9f5ebfc3f 100644 --- a/packages/core/src/di/defs.ts +++ b/packages/core/src/di/defs.ts @@ -72,7 +72,7 @@ export interface InjectorDef { * `InjectableDefType`s contain their own Dependency Injection metadata and are usable in an * `InjectorDef`-based `StaticInjector. * - * @experimental + * @publicApi */ export interface InjectableType extends Type { /** @@ -86,7 +86,7 @@ export interface InjectableType extends Type { * * `InjectorDefTypes` can be used to configure a `StaticInjector`. * - * @experimental + * @publicApi */ export interface InjectorType extends Type { /** @@ -124,7 +124,7 @@ export interface InjectorTypeWithProviders { * * `factory` gives the zero argument function which will create an instance of the injectable. * The factory can call `inject` to access the `Injector` and request injection of dependencies. * - * @experimental + * @publicApi */ export function defineInjectable(opts: { providedIn?: Type| 'root' | 'any' | null, @@ -153,7 +153,7 @@ export function defineInjectable(opts: { * whose providers will also be added to the injector. Locally provided types will override * providers from imports. * - * @experimental + * @publicApi */ export function defineInjector(options: {factory: () => any, providers?: any[], imports?: any[]}): never { diff --git a/packages/core/src/di/forward_ref.ts b/packages/core/src/di/forward_ref.ts index 3d9b7f27aa..64375f42dc 100644 --- a/packages/core/src/di/forward_ref.ts +++ b/packages/core/src/di/forward_ref.ts @@ -18,7 +18,7 @@ import {stringify} from '../util'; * ### Example * * {@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref_fn'} - * @experimental + * @publicApi */ export interface ForwardRefFn { (): any; } @@ -32,7 +32,7 @@ export interface ForwardRefFn { (): any; } * @usageNotes * ### Example * {@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref'} - * @experimental + * @publicApi */ export function forwardRef(forwardRefFn: ForwardRefFn): Type { (forwardRefFn).__forward_ref__ = forwardRef; @@ -51,7 +51,7 @@ export function forwardRef(forwardRefFn: ForwardRefFn): Type { * {@example core/di/ts/forward_ref/forward_ref_spec.ts region='resolve_forward_ref'} * * @see `forwardRef` - * @experimental + * @publicApi */ export function resolveForwardRef(type: any): any { if (typeof type === 'function' && type.hasOwnProperty('__forward_ref__') && diff --git a/packages/core/src/di/injectable.ts b/packages/core/src/di/injectable.ts index a7d213567f..ac6ddaa22b 100644 --- a/packages/core/src/di/injectable.ts +++ b/packages/core/src/di/injectable.ts @@ -18,7 +18,7 @@ import {convertInjectableProviderToFactory} from './util'; /** * Injectable providers used in `@Injectable` decorator. * - * @experimental + * @publicApi */ export type InjectableProvider = ValueSansProvider | ExistingSansProvider | StaticClassSansProvider | ConstructorSansProvider | FactorySansProvider | ClassSansProvider; @@ -52,7 +52,7 @@ export interface InjectableDecorator { /** * Type of the Injectable metadata. * - * @experimental + * @publicApi */ export interface Injectable { providedIn?: Type|'root'|null; } @@ -68,7 +68,7 @@ export const Injectable: InjectableDecorator = makeDecorator( /** * Type representing injectable service. * - * @experimental + * @publicApi */ export interface InjectableType extends Type { ngInjectableDef: InjectableDef; } diff --git a/packages/core/src/di/injector.ts b/packages/core/src/di/injector.ts index d1189790fa..dfa114c5fa 100644 --- a/packages/core/src/di/injector.ts +++ b/packages/core/src/di/injector.ts @@ -26,7 +26,7 @@ export const THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND; * Requesting this token instead of `Injector` allows `StaticInjector` to be tree-shaken from a * project. * - * @experimental + * @publicApi */ export const INJECTOR = new InjectionToken('INJECTOR'); @@ -445,7 +445,7 @@ export function setCurrentInjector(injector: Injector | null | undefined): Injec * of providing an additional array of dependencies as was common to do with `useFactory` providers. * `inject` is faster and more type-safe. * - * @experimental + * @publicApi */ export function inject(token: Type| InjectionToken): T; export function inject(token: Type| InjectionToken, flags?: InjectFlags): T|null; diff --git a/packages/core/src/di/provider.ts b/packages/core/src/di/provider.ts index 635af80b6c..96e71bdad9 100644 --- a/packages/core/src/di/provider.ts +++ b/packages/core/src/di/provider.ts @@ -18,7 +18,7 @@ import {Type} from '../type'; * * {@example core/di/ts/provider_spec.ts region='ValueSansProvider'} * - * @experimental + * @publicApi */ export interface ValueSansProvider { /** @@ -64,7 +64,7 @@ export interface ValueProvider extends ValueSansProvider { * * {@example core/di/ts/provider_spec.ts region='StaticClassSansProvider'} * - * @experimental + * @publicApi */ export interface StaticClassSansProvider { /** @@ -124,7 +124,7 @@ export interface StaticClassProvider extends StaticClassSansProvider { * class MyService {} * ``` * - * @experimental + * @publicApi */ export interface ConstructorSansProvider { /** @@ -215,7 +215,7 @@ export interface ExistingProvider extends ExistingSansProvider { * * {@example core/di/ts/provider_spec.ts region='FactorySansProvider'} * - * @experimental + * @publicApi */ export interface FactorySansProvider { /** @@ -300,7 +300,7 @@ export interface TypeProvider extends Type {} * * {@example core/di/ts/provider_spec.ts region='ClassSansProvider'} * - * @experimental + * @publicApi */ export interface ClassSansProvider { /** diff --git a/packages/core/src/di/r3_injector.ts b/packages/core/src/di/r3_injector.ts index 5d6395b449..210cd746e3 100644 --- a/packages/core/src/di/r3_injector.ts +++ b/packages/core/src/di/r3_injector.ts @@ -66,7 +66,7 @@ interface Record { /** * Create a new `Injector` which is configured using a `defType` of `InjectorType`s. * - * @experimental + * @publicApi */ export function createInjector( defType: /* InjectorType */ any, parent: Injector | null = null, diff --git a/packages/core/src/di/reflective_injector.ts b/packages/core/src/di/reflective_injector.ts index 63cff724e6..4107a6a0f7 100644 --- a/packages/core/src/di/reflective_injector.ts +++ b/packages/core/src/di/reflective_injector.ts @@ -140,7 +140,7 @@ export abstract class ReflectiveInjector implements Injector { * var injector = ReflectiveInjector.fromResolvedProviders(providers); * expect(injector.get(Car) instanceof Car).toBe(true); * ``` - * @experimental + * @publicApi */ static fromResolvedProviders(providers: ResolvedReflectiveProvider[], parent?: Injector): ReflectiveInjector { diff --git a/packages/core/src/di/reflective_provider.ts b/packages/core/src/di/reflective_provider.ts index 6d95966ddc..3d4666e82d 100644 --- a/packages/core/src/di/reflective_provider.ts +++ b/packages/core/src/di/reflective_provider.ts @@ -52,7 +52,7 @@ const _EMPTY_LIST: any[] = []; * expect(injector.get('message')).toEqual('Hello'); * ``` * - * @experimental + * @publicApi */ export interface ResolvedReflectiveProvider { /** @@ -83,7 +83,7 @@ export class ResolvedReflectiveProvider_ implements ResolvedReflectiveProvider { /** * An internal resolved representation of a factory function created by resolving `Provider`. - * @experimental + * @publicApi */ export class ResolvedReflectiveFactory { constructor( diff --git a/packages/core/src/i18n/tokens.ts b/packages/core/src/i18n/tokens.ts index 8565414028..46c7e6d88e 100644 --- a/packages/core/src/i18n/tokens.ts +++ b/packages/core/src/i18n/tokens.ts @@ -28,7 +28,7 @@ import {InjectionToken} from '../di/injection_token'; * }); * ``` * - * @experimental i18n support is experimental. + * @publicApi */ export const LOCALE_ID = new InjectionToken('LocaleId'); @@ -54,7 +54,7 @@ export const LOCALE_ID = new InjectionToken('LocaleId'); * }); * ``` * - * @experimental i18n support is experimental. + * @publicApi */ export const TRANSLATIONS = new InjectionToken('Translations'); @@ -77,7 +77,7 @@ export const TRANSLATIONS = new InjectionToken('Translations'); * }); * ``` * - * @experimental i18n support is experimental. + * @publicApi */ export const TRANSLATIONS_FORMAT = new InjectionToken('TranslationsFormat'); @@ -102,7 +102,7 @@ export const TRANSLATIONS_FORMAT = new InjectionToken('TranslationsForma * }); * ``` * - * @experimental i18n support is experimental. + * @publicApi */ export enum MissingTranslationStrategy { Error = 0, diff --git a/packages/core/src/is_dev_mode.ts b/packages/core/src/is_dev_mode.ts index dc0c9cc268..2ecf69eb05 100644 --- a/packages/core/src/is_dev_mode.ts +++ b/packages/core/src/is_dev_mode.ts @@ -23,7 +23,7 @@ let _runModeLocked: boolean = false; * * By default, this is true, unless a user calls `enableProdMode` before calling this. * - * @experimental APIs related to application bootstrap are currently under review. + * @publicApi */ export function isDevMode(): boolean { _runModeLocked = true; diff --git a/packages/core/src/linker/compiler.ts b/packages/core/src/linker/compiler.ts index 3d035b589f..ee9cbfea13 100644 --- a/packages/core/src/linker/compiler.ts +++ b/packages/core/src/linker/compiler.ts @@ -21,7 +21,7 @@ import {NgModuleFactory} from './ng_module_factory'; /** * Combination of NgModuleFactory and ComponentFactorys. * - * @experimental + * @publicApi */ export class ModuleWithComponentFactories { constructor( @@ -91,7 +91,7 @@ export class Compiler { /** * Options for creating a compiler * - * @experimental + * @publicApi */ export type CompilerOptions = { useJit?: boolean, @@ -104,14 +104,14 @@ export type CompilerOptions = { /** * Token to provide CompilerOptions in the platform injector. * - * @experimental + * @publicApi */ export const COMPILER_OPTIONS = new InjectionToken('compilerOptions'); /** * A factory for creating a Compiler * - * @experimental + * @publicApi */ export abstract class CompilerFactory { abstract createCompiler(options?: CompilerOptions[]): Compiler; diff --git a/packages/core/src/linker/ng_module_factory.ts b/packages/core/src/linker/ng_module_factory.ts index dac8488c89..87fb6d11a7 100644 --- a/packages/core/src/linker/ng_module_factory.ts +++ b/packages/core/src/linker/ng_module_factory.ts @@ -55,7 +55,7 @@ export interface InternalNgModuleRef extends NgModuleRef { } /** - * @experimental + * @publicApi */ export abstract class NgModuleFactory { abstract get moduleType(): Type; diff --git a/packages/core/src/linker/ng_module_factory_loader.ts b/packages/core/src/linker/ng_module_factory_loader.ts index 290f4f53d2..ab17496424 100644 --- a/packages/core/src/linker/ng_module_factory_loader.ts +++ b/packages/core/src/linker/ng_module_factory_loader.ts @@ -20,7 +20,7 @@ let moduleFactories = new Map>(); /** * Registers a loaded module. Should only be called from generated NgModuleFactory code. - * @experimental + * @publicApi */ export function registerModuleFactory(id: string, factory: NgModuleFactory) { const existing = moduleFactories.get(id); @@ -39,7 +39,7 @@ export function clearModulesForTest() { * Returns the NgModuleFactory with the given id, if it exists and has been loaded. * Factories for modules that do not specify an `id` cannot be retrieved. Throws if the module * cannot be found. - * @experimental + * @publicApi */ export function getModuleFactory(id: string): NgModuleFactory { const factory = moduleFactories.get(id); diff --git a/packages/core/src/linker/system_js_ng_module_factory_loader.ts b/packages/core/src/linker/system_js_ng_module_factory_loader.ts index b377c2e718..5168a8ce67 100644 --- a/packages/core/src/linker/system_js_ng_module_factory_loader.ts +++ b/packages/core/src/linker/system_js_ng_module_factory_loader.ts @@ -22,7 +22,7 @@ declare var System: any; * Configuration for SystemJsNgModuleLoader. * token. * - * @experimental + * @publicApi */ export abstract class SystemJsNgModuleLoaderConfig { /** @@ -45,7 +45,7 @@ const DEFAULT_CONFIG: SystemJsNgModuleLoaderConfig = { /** * NgModuleFactoryLoader that uses SystemJS to load NgModuleFactory - * @experimental + * @publicApi */ @Injectable() export class SystemJsNgModuleLoader implements NgModuleFactoryLoader { diff --git a/packages/core/src/linker/view_ref.ts b/packages/core/src/linker/view_ref.ts index d73e12365a..cbf765d444 100644 --- a/packages/core/src/linker/view_ref.ts +++ b/packages/core/src/linker/view_ref.ts @@ -13,9 +13,9 @@ import {ChangeDetectorRef} from '../change_detection/change_detector_ref'; * Represents an Angular [view](guide/glossary#view), * specifically the [host view](guide/glossary#view-tree) that is defined by a component. * Also serves as the base class - * that adds destroy methods for [embedded views](guide/glossary#view-tree). - * - * @see `EmbeddedViewRef` + * that adds destroy methods for [embedded views](guide/glossary#view-tree). + * + * @see `EmbeddedViewRef` */ export abstract class ViewRef extends ChangeDetectorRef { /** @@ -89,7 +89,7 @@ export abstract class ViewRef extends ChangeDetectorRef { * * * ``` - * @experimental + * @publicApi */ export abstract class EmbeddedViewRef extends ViewRef { /** diff --git a/packages/core/src/metadata/di.ts b/packages/core/src/metadata/di.ts index 944a49fbf4..c93f1feb15 100644 --- a/packages/core/src/metadata/di.ts +++ b/packages/core/src/metadata/di.ts @@ -43,7 +43,7 @@ import {makeParamDecorator, makePropDecorator} from '../util/decorators'; * class ModuleWithRoutes {} * ``` * - * @experimental + * @publicApi */ export const ANALYZE_FOR_ENTRY_COMPONENTS = new InjectionToken('AnalyzeForEntryComponents'); diff --git a/packages/core/src/metadata/ng_module.ts b/packages/core/src/metadata/ng_module.ts index 80f3894c7c..c129455159 100644 --- a/packages/core/src/metadata/ng_module.ts +++ b/packages/core/src/metadata/ng_module.ts @@ -86,7 +86,7 @@ export interface ModuleWithProviders< * * @param name The name of a defined schema. * - * @experimental + * @publicApi */ export interface SchemaMetadata { name: string; } @@ -105,7 +105,7 @@ export const CUSTOM_ELEMENTS_SCHEMA: SchemaMetadata = { /** * Defines a schema that allows any property on any element. * - * @experimental + * @publicApi */ export const NO_ERRORS_SCHEMA: SchemaMetadata = { name: 'no-errors-schema' diff --git a/packages/core/src/platform_core_providers.ts b/packages/core/src/platform_core_providers.ts index 6fdb4f2961..aeae1d103a 100644 --- a/packages/core/src/platform_core_providers.ts +++ b/packages/core/src/platform_core_providers.ts @@ -23,6 +23,6 @@ const _CORE_PLATFORM_PROVIDERS: StaticProvider[] = [ /** * This platform has to be included in any other platform * - * @experimental + * @publicApi */ export const platformCore = createPlatformFactory(null, 'core', _CORE_PLATFORM_PROVIDERS); diff --git a/packages/core/src/profile/profile.ts b/packages/core/src/profile/profile.ts index d995ddb97c..07a774c133 100644 --- a/packages/core/src/profile/profile.ts +++ b/packages/core/src/profile/profile.ts @@ -48,7 +48,7 @@ function noopScope(arg0?: any, arg1?: any): any { * needs to be fixed before the app should be profiled. Add try-finally only when you expect that * an exception is expected during normal execution while profiling. * - * @experimental + * @publicApi */ export const wtfCreateScope: (signature: string, flags?: any) => WtfScopeFn = wtfEnabled ? createScope : (signature: string, flags?: any) => noopScope; @@ -60,7 +60,7 @@ export const wtfCreateScope: (signature: string, flags?: any) => WtfScopeFn = * - `returnValue` (optional) to be passed to the WTF. * * Returns the `returnValue for easy chaining. - * @experimental + * @publicApi */ export const wtfLeave: (scope: any, returnValue?: T) => T = wtfEnabled ? leave : (s: any, r?: any) => r; @@ -76,7 +76,7 @@ export const wtfLeave: (scope: any, returnValue?: T) => T = * wtfEndTimeRange(s); * }); * } - * @experimental + * @publicApi */ export const wtfStartTimeRange: (rangeType: string, action: string) => any = wtfEnabled ? startTimeRange : (rangeType: string, action: string) => null; @@ -85,6 +85,6 @@ export const wtfStartTimeRange: (rangeType: string, action: string) => any = * Ends a async time range operation. * [range] is the return value from [wtfStartTimeRange] Async ranges only work if WTF has been * enabled. - * @experimental + * @publicApi */ export const wtfEndTimeRange: (range: any) => void = wtfEnabled ? endTimeRange : (r: any) => null; diff --git a/packages/core/src/profile/wtf_impl.ts b/packages/core/src/profile/wtf_impl.ts index 02f3485b4b..5714aebb30 100644 --- a/packages/core/src/profile/wtf_impl.ts +++ b/packages/core/src/profile/wtf_impl.ts @@ -11,7 +11,7 @@ import {global} from '../util'; /** * A scope function for the Web Tracing Framework (WTF). * - * @experimental + * @publicApi */ export interface WtfScopeFn { (arg0?: any, arg1?: any): any; } diff --git a/packages/core/src/render/api.ts b/packages/core/src/render/api.ts index 1e605cde07..ec835cb8e3 100644 --- a/packages/core/src/render/api.ts +++ b/packages/core/src/render/api.ts @@ -119,7 +119,7 @@ export abstract class RootRenderer { /** * Used by `RendererFactory2` to associate custom rendering data and styles * with a rendering implementation. - * @experimental + * @publicApi */ export interface RendererType2 { /** @@ -152,7 +152,7 @@ export interface RendererType2 { /** * Creates and initializes a custom renderer that implements the `Renderer2` base class. * - * @experimental + * @publicApi */ export abstract class RendererFactory2 { /** @@ -179,7 +179,7 @@ export abstract class RendererFactory2 { /** * Flags for renderer-specific style modifiers. - * @experimental + * @publicApi */ export enum RendererStyleFlags2 { /** @@ -205,7 +205,7 @@ export enum RendererStyleFlags2 { * not statically known, use the `setProperty()` or * `setAttribute()` method. * - * @experimental + * @publicApi */ export abstract class Renderer2 { /** diff --git a/packages/core/src/render3/di.ts b/packages/core/src/render3/di.ts index 8b94a452d3..8f01764e66 100644 --- a/packages/core/src/render3/di.ts +++ b/packages/core/src/render3/di.ts @@ -273,7 +273,7 @@ export function directiveInject( * }) * ``` * - * @experimental + * @publicApi */ export function injectAttribute(attrNameToInject: string): string|undefined { const tNode = getPreviousOrParentTNode(); diff --git a/packages/core/src/testability/testability.ts b/packages/core/src/testability/testability.ts index b92cd8af4f..215cdc0deb 100644 --- a/packages/core/src/testability/testability.ts +++ b/packages/core/src/testability/testability.ts @@ -14,7 +14,7 @@ import {NgZone} from '../zone/ng_zone'; * Testability API. * `declare` keyword causes tsickle to generate externs, so these methods are * not renamed by Closure Compiler. - * @experimental + * @publicApi */ export declare interface PublicTestability { isStable(): boolean; @@ -52,7 +52,7 @@ interface WaitCallback { * The Testability service provides testing hooks that can be accessed from * the browser and by services such as Protractor. Each bootstrapped Angular * application on the page will have an instance of Testability. - * @experimental + * @publicApi */ @Injectable() export class Testability implements PublicTestability { @@ -223,7 +223,7 @@ export class Testability implements PublicTestability { /** * A global registry of {@link Testability} instances for specific elements. - * @experimental + * @publicApi */ @Injectable() export class TestabilityRegistry { @@ -283,7 +283,7 @@ export class TestabilityRegistry { * Adapter interface for retrieving the `Testability` service associated for a * particular context. * - * @experimental Testability apis are primarily intended to be used by e2e test tool vendors like + * @publicApi * the Protractor team. */ export interface GetTestability { @@ -302,7 +302,7 @@ class _NoopGetTestability implements GetTestability { /** * Set the {@link GetTestability} implementation used by the Angular testing framework. - * @experimental + * @publicApi */ export function setTestabilityGetter(getter: GetTestability): void { _testabilityGetter = getter; diff --git a/packages/core/src/zone/ng_zone.ts b/packages/core/src/zone/ng_zone.ts index 222254d2c8..eb79ab04da 100644 --- a/packages/core/src/zone/ng_zone.ts +++ b/packages/core/src/zone/ng_zone.ts @@ -80,7 +80,7 @@ import {EventEmitter} from '../event_emitter'; * } * ``` * - * @experimental + * @publicApi */ export class NgZone { readonly hasPendingMicrotasks: boolean = false; diff --git a/packages/core/testing/src/fake_async.ts b/packages/core/testing/src/fake_async.ts index e7b9e221f0..1f84eabdc0 100644 --- a/packages/core/testing/src/fake_async.ts +++ b/packages/core/testing/src/fake_async.ts @@ -14,7 +14,7 @@ const fakeAsyncTestModule = _Zone && _Zone[_Zone.__symbol__('fakeAsyncTest')]; * Clears out the shared fake async zone for a test. * To be called in a global `beforeEach`. * - * @experimental + * @publicApi */ export function resetFakeAsyncZone(): void { if (fakeAsyncTestModule) { @@ -41,7 +41,7 @@ export function resetFakeAsyncZone(): void { * @param fn * @returns The function wrapped to be executed in the fakeAsync zone * - * @experimental + * @publicApi */ export function fakeAsync(fn: Function): (...args: any[]) => any { if (fakeAsyncTestModule) { @@ -62,7 +62,7 @@ export function fakeAsync(fn: Function): (...args: any[]) => any { * * {@example core/testing/ts/fake_async.ts region='basic'} * - * @experimental + * @publicApi */ export function tick(millis: number = 0): void { if (fakeAsyncTestModule) { @@ -80,7 +80,7 @@ export function tick(millis: number = 0): void { * @param maxTurns * @returns The simulated time elapsed, in millis. * - * @experimental + * @publicApi */ export function flush(maxTurns?: number): number { if (fakeAsyncTestModule) { @@ -93,7 +93,7 @@ export function flush(maxTurns?: number): number { /** * Discard all remaining periodic tasks. * - * @experimental + * @publicApi */ export function discardPeriodicTasks(): void { if (fakeAsyncTestModule) { @@ -106,7 +106,7 @@ export function discardPeriodicTasks(): void { /** * Flush any pending microtasks. * - * @experimental + * @publicApi */ export function flushMicrotasks(): void { if (fakeAsyncTestModule) { diff --git a/packages/core/testing/src/fake_async_fallback.ts b/packages/core/testing/src/fake_async_fallback.ts index 6646db1019..592b87f6cb 100644 --- a/packages/core/testing/src/fake_async_fallback.ts +++ b/packages/core/testing/src/fake_async_fallback.ts @@ -24,7 +24,7 @@ let _fakeAsyncTestZoneSpec: any = null; * Clears out the shared fake async zone for a test. * To be called in a global `beforeEach`. * - * @experimental + * @publicApi */ export function resetFakeAsyncZoneFallback() { _fakeAsyncTestZoneSpec = null; @@ -51,7 +51,7 @@ let _inFakeAsyncCall = false; * @param fn * @returns The function wrapped to be executed in the fakeAsync zone * - * @experimental + * @publicApi */ export function fakeAsyncFallback(fn: Function): (...args: any[]) => any { // Not using an arrow function to preserve context passed from call site @@ -116,7 +116,7 @@ function _getFakeAsyncZoneSpec(): any { * * {@example core/testing/ts/fake_async.ts region='basic'} * - * @experimental + * @publicApi */ export function tickFallback(millis: number = 0): void { _getFakeAsyncZoneSpec().tick(millis); @@ -130,7 +130,7 @@ export function tickFallback(millis: number = 0): void { * @param maxTurns * @returns The simulated time elapsed, in millis. * - * @experimental + * @publicApi */ export function flushFallback(maxTurns?: number): number { return _getFakeAsyncZoneSpec().flush(maxTurns); @@ -139,7 +139,7 @@ export function flushFallback(maxTurns?: number): number { /** * Discard all remaining periodic tasks. * - * @experimental + * @publicApi */ export function discardPeriodicTasksFallback(): void { const zoneSpec = _getFakeAsyncZoneSpec(); @@ -149,7 +149,7 @@ export function discardPeriodicTasksFallback(): void { /** * Flush any pending microtasks. * - * @experimental + * @publicApi */ export function flushMicrotasksFallback(): void { _getFakeAsyncZoneSpec().flushMicrotasks(); diff --git a/packages/core/testing/src/metadata_override.ts b/packages/core/testing/src/metadata_override.ts index 7773cbbf25..ad5b62b94a 100644 --- a/packages/core/testing/src/metadata_override.ts +++ b/packages/core/testing/src/metadata_override.ts @@ -9,7 +9,7 @@ /** * Type used for modifications to metadata * - * @experimental + * @publicApi */ export type MetadataOverride = { add?: Partial, diff --git a/packages/core/testing/src/r3_test_bed.ts b/packages/core/testing/src/r3_test_bed.ts index 6f88906ad2..caf0deec71 100644 --- a/packages/core/testing/src/r3_test_bed.ts +++ b/packages/core/testing/src/r3_test_bed.ts @@ -38,7 +38,7 @@ export class TestBedRender3 implements Injector, TestBed { * Test modules and platforms for individual platforms are available from * '@angular//testing'. * - * @experimental + * @publicApi */ static initTestEnvironment( ngModule: Type|Type[], platform: PlatformRef, aotSummaries?: () => any[]): TestBed { @@ -50,7 +50,7 @@ export class TestBedRender3 implements Injector, TestBed { /** * Reset the providers for the test injector. * - * @experimental + * @publicApi */ static resetTestEnvironment(): void { _getTestBedRender3().resetTestEnvironment(); } @@ -198,7 +198,7 @@ export class TestBedRender3 implements Injector, TestBed { * Test modules and platforms for individual platforms are available from * '@angular//testing'. * - * @experimental + * @publicApi */ initTestEnvironment( ngModule: Type|Type[], platform: PlatformRef, aotSummaries?: () => any[]): void { @@ -212,7 +212,7 @@ export class TestBedRender3 implements Injector, TestBed { /** * Reset the providers for the test injector. * - * @experimental + * @publicApi */ resetTestEnvironment(): void { this.resetTestingModule(); diff --git a/packages/core/testing/src/test_bed.ts b/packages/core/testing/src/test_bed.ts index c56bc25472..a59f01bc70 100644 --- a/packages/core/testing/src/test_bed.ts +++ b/packages/core/testing/src/test_bed.ts @@ -36,7 +36,7 @@ export interface TestBed { * Test modules and platforms for individual platforms are available from * '@angular//testing'. * - * @experimental + * @publicApi */ initTestEnvironment( ngModule: Type|Type[], platform: PlatformRef, aotSummaries?: () => any[]): void; @@ -44,7 +44,7 @@ export interface TestBed { /** * Reset the providers for the test injector. * - * @experimental + * @publicApi */ resetTestEnvironment(): void; @@ -120,7 +120,7 @@ export class TestBedViewEngine implements Injector, TestBed { * Test modules and platforms for individual platforms are available from * '@angular//testing'. * - * @experimental + * @publicApi */ static initTestEnvironment( ngModule: Type|Type[], platform: PlatformRef, @@ -133,7 +133,7 @@ export class TestBedViewEngine implements Injector, TestBed { /** * Reset the providers for the test injector. * - * @experimental + * @publicApi */ static resetTestEnvironment(): void { _getTestBedViewEngine().resetTestEnvironment(); } @@ -292,7 +292,7 @@ export class TestBedViewEngine implements Injector, TestBed { * Test modules and platforms for individual platforms are available from * '@angular//testing'. * - * @experimental + * @publicApi */ initTestEnvironment( ngModule: Type|Type[], platform: PlatformRef, aotSummaries?: () => any[]): void { @@ -309,7 +309,7 @@ export class TestBedViewEngine implements Injector, TestBed { /** * Reset the providers for the test injector. * - * @experimental + * @publicApi */ resetTestEnvironment(): void { this.resetTestingModule(); @@ -644,7 +644,7 @@ export const TestBed: TestBedStatic = * * It will be either an instance of `TestBedViewEngine` or `TestBedRender3`. * - * @experimental + * @publicApi */ export const getTestBed: () => TestBed = ivyEnabled ? _getTestBedRender3 : _getTestBedViewEngine; @@ -698,7 +698,7 @@ export function inject(tokens: any[], fn: Function): () => any { } /** - * @experimental + * @publicApi */ export class InjectSetupWrapper { constructor(private _moduleDef: () => TestModuleMetadata) {} @@ -721,7 +721,7 @@ export class InjectSetupWrapper { } /** - * @experimental + * @publicApi */ export function withModule(moduleDef: TestModuleMetadata): InjectSetupWrapper; export function withModule(moduleDef: TestModuleMetadata, fn: Function): () => any; diff --git a/packages/core/testing/src/test_bed_common.ts b/packages/core/testing/src/test_bed_common.ts index 7f029a7256..3244d118dc 100644 --- a/packages/core/testing/src/test_bed_common.ts +++ b/packages/core/testing/src/test_bed_common.ts @@ -15,25 +15,25 @@ import {TestBed} from './test_bed'; /** * An abstract class for inserting the root test component element in a platform independent way. * - * @experimental + * @publicApi */ export class TestComponentRenderer { insertRootElement(rootElementId: string) {} } /** - * @experimental + * @publicApi */ export const ComponentFixtureAutoDetect = new InjectionToken('ComponentFixtureAutoDetect'); /** - * @experimental + * @publicApi */ export const ComponentFixtureNoNgZone = new InjectionToken('ComponentFixtureNoNgZone'); /** - * @experimental + * @publicApi */ export type TestModuleMetadata = { providers?: any[], @@ -55,7 +55,7 @@ export interface TestBedStatic { /** * Reset the providers for the test injector. * - * @experimental + * @publicApi */ resetTestEnvironment(): void; diff --git a/packages/core/testing/src/test_compiler.ts b/packages/core/testing/src/test_compiler.ts index c33664638d..518d7484e0 100644 --- a/packages/core/testing/src/test_compiler.ts +++ b/packages/core/testing/src/test_compiler.ts @@ -17,7 +17,7 @@ function unimplemented(): any { /** * Special interface to the compiler only used by testing * - * @experimental + * @publicApi */ @Injectable() export class TestingCompiler extends Compiler { @@ -57,7 +57,7 @@ export class TestingCompiler extends Compiler { /** * A factory for creating a Compiler * - * @experimental + * @publicApi */ export abstract class TestingCompilerFactory { abstract createTestingCompiler(options?: CompilerOptions[]): TestingCompiler; diff --git a/packages/elements/src/component-factory-strategy.ts b/packages/elements/src/component-factory-strategy.ts index a160d174be..241642193b 100644 --- a/packages/elements/src/component-factory-strategy.ts +++ b/packages/elements/src/component-factory-strategy.ts @@ -21,7 +21,7 @@ const DESTROY_DELAY = 10; * Factory that creates new ComponentNgElementStrategy instance. Gets the component factory with the * constructor's injector's factory resolver and passes that factory to each strategy. * - * @experimental + * @publicApi */ export class ComponentNgElementStrategyFactory implements NgElementStrategyFactory { componentFactory: ComponentFactory; @@ -40,7 +40,7 @@ export class ComponentNgElementStrategyFactory implements NgElementStrategyFacto * Creates and destroys a component ref using a component factory and handles change detection * in response to input changes. * - * @experimental + * @publicApi */ export class ComponentNgElementStrategy implements NgElementStrategy { /** Merged stream of the component's output events. */ diff --git a/packages/elements/src/create-custom-element.ts b/packages/elements/src/create-custom-element.ts index 7857bad5df..1b758896bf 100644 --- a/packages/elements/src/create-custom-element.ts +++ b/packages/elements/src/create-custom-element.ts @@ -18,7 +18,7 @@ import {createCustomEvent, getComponentInputs, getDefaultAttributeToPropertyInpu * that can be used for custom element registration. Implemented and returned * by the {@link createCustomElement createCustomElement() function}. * - * @experimental + * @publicApi */ export interface NgElementConstructor

{ /** @@ -37,7 +37,7 @@ export interface NgElementConstructor

{ /** * Implements the functionality needed for a custom element. * - * @experimental + * @publicApi */ export abstract class NgElement extends HTMLElement { /** @@ -77,7 +77,7 @@ export abstract class NgElement extends HTMLElement { * for properties that are added based * on the inputs and methods of the underlying component. * - * @experimental + * @publicApi */ export type WithProperties

= { [property in keyof P]: P[property] @@ -88,7 +88,7 @@ export type WithProperties

= { * dependencies and strategy it needs to transform a component into * a custom element class. * - * @experimental + * @publicApi */ export interface NgElementConfig { /** @@ -120,7 +120,7 @@ export interface NgElementConfig { * @returns The custom-element construction class, which can be registered with * a browser's `CustomElementRegistry`. * - * @experimental + * @publicApi */ export function createCustomElement

( component: Type, config: NgElementConfig): NgElementConstructor

{ diff --git a/packages/elements/src/element-strategy.ts b/packages/elements/src/element-strategy.ts index 112cd69afc..2eaa78c9bd 100644 --- a/packages/elements/src/element-strategy.ts +++ b/packages/elements/src/element-strategy.ts @@ -11,7 +11,7 @@ import {Observable} from 'rxjs'; /** * Interface for the events emitted through the NgElementStrategy. * - * @experimental + * @publicApi */ export interface NgElementStrategyEvent { name: string; @@ -22,7 +22,7 @@ export interface NgElementStrategyEvent { * Underlying strategy used by the NgElement to create/destroy the component and react to input * changes. * - * @experimental + * @publicApi */ export interface NgElementStrategy { events: Observable; @@ -36,7 +36,7 @@ export interface NgElementStrategy { /** * Factory used to create new strategies for each NgElement instance. * - * @experimental + * @publicApi */ export interface NgElementStrategyFactory { /** Creates a new instance to be used for an NgElement. */ diff --git a/packages/elements/src/version.ts b/packages/elements/src/version.ts index 1b56724e3e..276d231bbb 100644 --- a/packages/elements/src/version.ts +++ b/packages/elements/src/version.ts @@ -8,6 +8,6 @@ import {Version} from '@angular/core'; /** - * @experimental + * @publicApi */ export const VERSION = new Version('0.0.0-PLACEHOLDER'); diff --git a/packages/forms/src/directives/default_value_accessor.ts b/packages/forms/src/directives/default_value_accessor.ts index 65a75ff60a..78a3a4a2dc 100644 --- a/packages/forms/src/directives/default_value_accessor.ts +++ b/packages/forms/src/directives/default_value_accessor.ts @@ -27,7 +27,7 @@ function _isAndroid(): boolean { /** * Turn this mode on if you want form directives to buffer IME input until compositionend - * @experimental + * @publicApi */ export const COMPOSITION_BUFFER_MODE = new InjectionToken('CompositionEventMode'); diff --git a/packages/forms/src/directives/ng_no_validate_directive.ts b/packages/forms/src/directives/ng_no_validate_directive.ts index 5ad506a811..c34277a84f 100644 --- a/packages/forms/src/directives/ng_no_validate_directive.ts +++ b/packages/forms/src/directives/ng_no_validate_directive.ts @@ -21,7 +21,7 @@ import {Directive} from '@angular/core'; *

* ``` * - * @experimental + * @publicApi * @ngModule ReactiveFormsModule * @ngModule FormsModule */ diff --git a/packages/forms/src/directives/validators.ts b/packages/forms/src/directives/validators.ts index 149313c839..d446204284 100644 --- a/packages/forms/src/directives/validators.ts +++ b/packages/forms/src/directives/validators.ts @@ -17,7 +17,7 @@ import {NG_VALIDATORS, Validators} from '../validators'; * @description * Defines the map of errors returned from failed validation checks * - * @experimental + * @publicApi */ export type ValidationErrors = { [key: string]: any @@ -93,7 +93,7 @@ export interface Validator { * } * ``` * - * @experimental + * @publicApi */ export interface AsyncValidator extends Validator { /** @@ -175,7 +175,7 @@ export class RequiredValidator implements Validator { * * ``` * - * @experimental + * @publicApi * @ngModule FormsModule * @ngModule ReactiveFormsModule */ @@ -213,7 +213,7 @@ export const EMAIL_VALIDATOR: any = { * * ``` * - * @experimental + * @publicApi * @ngModule FormsModule * @ngModule ReactiveFormsModule */ diff --git a/packages/forms/src/model.ts b/packages/forms/src/model.ts index fa0244c407..94cf381d6f 100644 --- a/packages/forms/src/model.ts +++ b/packages/forms/src/model.ts @@ -93,7 +93,7 @@ export type FormHooks = 'change' | 'blur' | 'submit'; /** * Interface for options provided to an `AbstractControl`. * - * @experimental + * @publicApi */ export interface AbstractControlOptions { /** diff --git a/packages/language-service/src/language_service.ts b/packages/language-service/src/language_service.ts index 8e3daa1ae4..d3e48a0c12 100644 --- a/packages/language-service/src/language_service.ts +++ b/packages/language-service/src/language_service.ts @@ -19,7 +19,7 @@ import {Completions, Definition, Diagnostic, DiagnosticKind, Diagnostics, Hover, /** * Create an instance of an Angular `LanguageService`. * - * @experimental + * @publicApi */ export function createLanguageService(host: LanguageServiceHost): LanguageService { return new LanguageServiceImpl(host); diff --git a/packages/language-service/src/types.ts b/packages/language-service/src/types.ts index 28be7c8f97..a3ab763725 100644 --- a/packages/language-service/src/types.ts +++ b/packages/language-service/src/types.ts @@ -29,7 +29,7 @@ export { * * A host interface; see `LanguageSeriviceHost`. * - * @experimental + * @publicApi */ export interface TemplateSource { /** @@ -73,7 +73,7 @@ export interface TemplateSource { * * A host type; see `LanguageSeriviceHost`. * - * @experimental + * @publicApi */ export type TemplateSources = TemplateSource[] | undefined; @@ -83,7 +83,7 @@ export type TemplateSources = TemplateSource[] | undefined; * * A host type; see `LanguageServiceHost`. * - * @experimental + * @publicApi */ export interface DeclarationError { /** @@ -109,7 +109,7 @@ export interface DeclarationError { * * A host type; see `LanguageSeriviceHost`. * - * @experimental + * @publicApi */ export interface Declaration { /** @@ -139,7 +139,7 @@ export interface Declaration { * * A host type; see `LanguageSeriviceHost`. * - * @experimental + * @publicApi */ export type Declarations = Declaration[]; @@ -169,7 +169,7 @@ export type Declarations = Declaration[]; * releases. After an interface is marked as stable breaking-changes will only be allowed between * major releases. No breaking changes are allowed between patch releases. * - * @experimental + * @publicApi */ export interface LanguageServiceHost { /** @@ -212,7 +212,7 @@ export interface LanguageServiceHost { * * A `LanguageService` interface. * - * @experimental + * @publicApi */ export interface Completion { /** @@ -234,7 +234,7 @@ export interface Completion { /** * A sequence of completions. * - * @experimental + * @publicApi */ export type Completions = Completion[] | undefined; @@ -249,7 +249,7 @@ export interface Location { /** * The kind of diagnostic message. * - * @experimental + * @publicApi */ export enum DiagnosticKind { Error, @@ -264,7 +264,7 @@ export enum DiagnosticKind { * For compatibility previous implementation, the values are expected to override * toString() to return a formatted message. * - * @experimental + * @publicApi */ export interface DiagnosticMessageChain { /** @@ -281,7 +281,7 @@ export interface DiagnosticMessageChain { /** * An template diagnostic message to display. * - * @experimental + * @publicApi */ export interface Diagnostic { /** @@ -303,7 +303,7 @@ export interface Diagnostic { /** * A sequence of diagnostic message. * - * @experimental + * @publicApi */ export type Diagnostics = Diagnostic[]; @@ -364,7 +364,7 @@ export interface Hover { * releases. After an interface is marked as stable breaking-changes will only be allowed between * major releases. No breaking changes are allowed between patch releases. * - * @experimental + * @publicApi */ export interface LanguageService { /** diff --git a/packages/language-service/src/typescript_host.ts b/packages/language-service/src/typescript_host.ts index c082ec0872..a9cad8380e 100644 --- a/packages/language-service/src/typescript_host.ts +++ b/packages/language-service/src/typescript_host.ts @@ -58,7 +58,7 @@ export class DummyResourceLoader extends ResourceLoader { * The `TypeScriptServiceHost` implements the Angular `LanguageServiceHost` using * the TypeScript language services. * - * @experimental + * @publicApi */ export class TypeScriptServiceHost implements LanguageServiceHost { // TODO(issue/24571): remove '!'. diff --git a/packages/platform-browser-dynamic/src/compiler_factory.ts b/packages/platform-browser-dynamic/src/compiler_factory.ts index dd7e887f05..d978a0393a 100644 --- a/packages/platform-browser-dynamic/src/compiler_factory.ts +++ b/packages/platform-browser-dynamic/src/compiler_factory.ts @@ -155,7 +155,7 @@ export const COMPILER_PROVIDERS = [ ]; /** - * @experimental + * @publicApi */ export class JitCompilerFactory implements CompilerFactory { private _defaultOptions: CompilerOptions[]; diff --git a/packages/platform-browser-dynamic/src/platform-browser-dynamic.ts b/packages/platform-browser-dynamic/src/platform-browser-dynamic.ts index 93641b2e2b..8a24fca74f 100644 --- a/packages/platform-browser-dynamic/src/platform-browser-dynamic.ts +++ b/packages/platform-browser-dynamic/src/platform-browser-dynamic.ts @@ -18,7 +18,7 @@ export {VERSION} from './version'; export {JitCompilerFactory} from './compiler_factory'; /** - * @experimental + * @publicApi */ export const RESOURCE_CACHE_PROVIDER: Provider[] = [{provide: ResourceLoader, useClass: CachedResourceLoader, deps: []}]; diff --git a/packages/platform-browser-dynamic/src/platform_core_dynamic.ts b/packages/platform-browser-dynamic/src/platform_core_dynamic.ts index 987bc1e673..b035b7b024 100644 --- a/packages/platform-browser-dynamic/src/platform_core_dynamic.ts +++ b/packages/platform-browser-dynamic/src/platform_core_dynamic.ts @@ -12,7 +12,7 @@ import {JitCompilerFactory} from './compiler_factory'; /** * A platform that included corePlatform and the compiler. * - * @experimental + * @publicApi */ export const platformCoreDynamic = createPlatformFactory(platformCore, 'coreDynamic', [ {provide: COMPILER_OPTIONS, useValue: {}, multi: true}, diff --git a/packages/platform-browser-dynamic/testing/src/platform_core_dynamic_testing.ts b/packages/platform-browser-dynamic/testing/src/platform_core_dynamic_testing.ts index 0f2202bca9..7e7f24266e 100644 --- a/packages/platform-browser-dynamic/testing/src/platform_core_dynamic_testing.ts +++ b/packages/platform-browser-dynamic/testing/src/platform_core_dynamic_testing.ts @@ -15,7 +15,7 @@ import {COMPILER_PROVIDERS, TestingCompilerFactoryImpl} from './compiler_factory /** * Platform for dynamic tests * - * @experimental + * @publicApi */ export const platformCoreDynamicTesting: (extraProviders?: any[]) => PlatformRef = createPlatformFactory(platformCoreDynamic, 'coreDynamicTesting', [ diff --git a/packages/platform-browser/animations/src/module.ts b/packages/platform-browser/animations/src/module.ts index c8d23224c3..c5a8883460 100644 --- a/packages/platform-browser/animations/src/module.ts +++ b/packages/platform-browser/animations/src/module.ts @@ -13,7 +13,7 @@ import {BROWSER_ANIMATIONS_PROVIDERS, BROWSER_NOOP_ANIMATIONS_PROVIDERS} from '. /** * Exports `BrowserModule` with additional [dependency-injection providers](guide/glossary#provider) * for use with animations. See [Animations](guide/animations). - * @experimental + * @publicApi */ @NgModule({ exports: [BrowserModule], @@ -24,7 +24,7 @@ export class BrowserAnimationsModule { /** * A null player that must be imported to allow disabling of animations. - * @experimental + * @publicApi */ @NgModule({ exports: [BrowserModule], diff --git a/packages/platform-browser/animations/src/providers.ts b/packages/platform-browser/animations/src/providers.ts index 4832287101..1df032529a 100644 --- a/packages/platform-browser/animations/src/providers.ts +++ b/packages/platform-browser/animations/src/providers.ts @@ -37,7 +37,7 @@ export function instantiateRendererFactory( } /** - * @experimental Animation support is experimental. + * @publicApi */ export const ANIMATION_MODULE_TYPE = new InjectionToken<'NoopAnimations'|'BrowserAnimations'>('AnimationModuleType'); diff --git a/packages/platform-browser/src/browser.ts b/packages/platform-browser/src/browser.ts index 87a0cdb67d..2bc3a0e77e 100644 --- a/packages/platform-browser/src/browser.ts +++ b/packages/platform-browser/src/browser.ts @@ -34,7 +34,7 @@ export const INTERNAL_BROWSER_PLATFORM_PROVIDERS: StaticProvider[] = [ * @security Replacing built-in sanitization providers exposes the application to XSS risks. * Attacker-controlled data introduced by an unsanitized provider could expose your * application to XSS risks. For more detail, see the [Security Guide](http://g.co/ng/security). - * @experimental + * @publicApi */ export const BROWSER_SANITIZATION_PROVIDERS: StaticProvider[] = [ {provide: Sanitizer, useExisting: DomSanitizer}, @@ -114,7 +114,7 @@ export class BrowserModule { * The ID must match between the client and server versions of the app. * @returns The reconfigured `BrowserModule` to import into the app's root `AppModule`. * - * @experimental + * @publicApi */ static withServerTransition(params: {appId: string}): ModuleWithProviders { return { diff --git a/packages/platform-browser/src/browser/meta.ts b/packages/platform-browser/src/browser/meta.ts index aacb965498..b95ee846f7 100644 --- a/packages/platform-browser/src/browser/meta.ts +++ b/packages/platform-browser/src/browser/meta.ts @@ -16,7 +16,7 @@ import {DOCUMENT} from '../dom/dom_tokens'; /** * Represents a meta element. * - * @experimental + * @publicApi */ export type MetaDefinition = { charset?: string; content?: string; httpEquiv?: string; id?: string; itemprop?: string; @@ -40,7 +40,7 @@ export function createMeta() { /** * A service that can be used to get and add meta tags. * - * @experimental + * @publicApi */ @Injectable({providedIn: 'root', useFactory: createMeta, deps: []}) export class Meta { diff --git a/packages/platform-browser/src/browser/title.ts b/packages/platform-browser/src/browser/title.ts index be4fe547a0..297aa33438 100644 --- a/packages/platform-browser/src/browser/title.ts +++ b/packages/platform-browser/src/browser/title.ts @@ -26,7 +26,7 @@ export function createTitle() { * (representing the `` tag). Instead, this service can be used to set and get the current * title value. * - * @experimental + * @publicApi */ @Injectable({providedIn: 'root', useFactory: createTitle, deps: []}) export class Title { diff --git a/packages/platform-browser/src/browser/tools/tools.ts b/packages/platform-browser/src/browser/tools/tools.ts index 1ebbbb14d9..2608c7a1c8 100644 --- a/packages/platform-browser/src/browser/tools/tools.ts +++ b/packages/platform-browser/src/browser/tools/tools.ts @@ -23,7 +23,7 @@ const PROFILER_GLOBAL_NAME = 'profiler'; * 1. Try the change detection profiler `ng.profiler.timeChangeDetection()` * then hit Enter. * - * @experimental All debugging apis are currently experimental. + * @publicApi */ export function enableDebugTools<T>(ref: ComponentRef<T>): ComponentRef<T> { exportNgVar(PROFILER_GLOBAL_NAME, new AngularProfiler(ref)); @@ -33,7 +33,7 @@ export function enableDebugTools<T>(ref: ComponentRef<T>): ComponentRef<T> { /** * Disables Angular tools. * - * @experimental All debugging apis are currently experimental. + * @publicApi */ export function disableDebugTools(): void { exportNgVar(PROFILER_GLOBAL_NAME, null); diff --git a/packages/platform-browser/src/browser/transfer_state.ts b/packages/platform-browser/src/browser/transfer_state.ts index 4a765961b8..8b10dad22a 100644 --- a/packages/platform-browser/src/browser/transfer_state.ts +++ b/packages/platform-browser/src/browser/transfer_state.ts @@ -43,7 +43,7 @@ export function unescapeHtml(text: string): string { * transferState.set(COUNTER_KEY, value); * ``` * - * @experimental + * @publicApi */ export type StateKey<T> = string & {__not_a_string: never}; @@ -59,7 +59,7 @@ export type StateKey<T> = string & {__not_a_string: never}; * transferState.set(COUNTER_KEY, value); * ``` * - * @experimental + * @publicApi */ export function makeStateKey<T = void>(key: string): StateKey<T> { return key as StateKey<T>; @@ -76,7 +76,7 @@ export function makeStateKey<T = void>(key: string): StateKey<T> { * boolean, number, string, null and non-class objects will be serialized and deserialzied in a * non-lossy manner. * - * @experimental + * @publicApi */ @Injectable() export class TransferState { @@ -156,7 +156,7 @@ export function initTransferState(doc: Document, appId: string) { * NgModule to install on the client side while using the `TransferState` to transfer state from * server to client. * - * @experimental + * @publicApi */ @NgModule({ providers: [{provide: TransferState, useFactory: initTransferState, deps: [DOCUMENT, APP_ID]}], diff --git a/packages/platform-browser/src/dom/debug/by.ts b/packages/platform-browser/src/dom/debug/by.ts index 49e71742c1..b8941f604c 100644 --- a/packages/platform-browser/src/dom/debug/by.ts +++ b/packages/platform-browser/src/dom/debug/by.ts @@ -14,7 +14,7 @@ import {getDOM} from '../../dom/dom_adapter'; /** * Predicates for use with {@link DebugElement}'s query functions. * - * @experimental All debugging apis are currently experimental. + * @publicApi */ export class By { /** diff --git a/packages/platform-browser/src/dom/events/hammer_gestures.ts b/packages/platform-browser/src/dom/events/hammer_gestures.ts index d6136ff8a1..37bdd3631a 100644 --- a/packages/platform-browser/src/dom/events/hammer_gestures.ts +++ b/packages/platform-browser/src/dom/events/hammer_gestures.ts @@ -57,7 +57,7 @@ const EVENT_NAMES = { * DI token for providing [HammerJS](http://hammerjs.github.io/) support to Angular. * @see `HammerGestureConfig` * - * @experimental + * @publicApi */ export const HAMMER_GESTURE_CONFIG = new InjectionToken<HammerGestureConfig>('HammerGestureConfig'); @@ -77,7 +77,7 @@ export interface HammerInstance { /** * An injectable [HammerJS Manager](http://hammerjs.github.io/api/#hammer.manager) * for gesture recognition. Configures specific event recognition. - * @experimental + * @publicApi */ @Injectable() export class HammerGestureConfig { diff --git a/packages/platform-browser/src/dom/events/key_events.ts b/packages/platform-browser/src/dom/events/key_events.ts index bcf26c9ec9..37bdd4b2bc 100644 --- a/packages/platform-browser/src/dom/events/key_events.ts +++ b/packages/platform-browser/src/dom/events/key_events.ts @@ -29,7 +29,7 @@ const MODIFIER_KEY_GETTERS: {[key: string]: (event: KeyboardEvent) => boolean} = }; /** - * @experimental + * @publicApi * A browser plug-in that provides support for handling of key events in Angular. */ @Injectable() diff --git a/packages/platform-server/src/platform_state.ts b/packages/platform-server/src/platform_state.ts index d12898addb..c29cb55ffb 100644 --- a/packages/platform-server/src/platform_state.ts +++ b/packages/platform-server/src/platform_state.ts @@ -14,7 +14,7 @@ import {serializeDocument} from './domino_adapter'; /** * Representation of the current platform state. * - * @experimental + * @publicApi */ @Injectable() export class PlatformState { diff --git a/packages/platform-server/src/server.ts b/packages/platform-server/src/server.ts index a09d0882db..bd3b6bd45e 100644 --- a/packages/platform-server/src/server.ts +++ b/packages/platform-server/src/server.ts @@ -65,7 +65,7 @@ export const SERVER_RENDER_PROVIDERS: Provider[] = [ /** * The ng module for the server. * - * @experimental + * @publicApi */ @NgModule({ exports: [BrowserModule], @@ -90,7 +90,7 @@ function _document(injector: Injector) { } /** - * @experimental + * @publicApi */ export const platformServer = createPlatformFactory(platformCore, 'server', INTERNAL_SERVER_PLATFORM_PROVIDERS); @@ -98,7 +98,7 @@ export const platformServer = /** * The server platform that supports the runtime compiler. * - * @experimental + * @publicApi */ export const platformDynamicServer = createPlatformFactory(platformCoreDynamic, 'serverDynamic', INTERNAL_SERVER_PLATFORM_PROVIDERS); diff --git a/packages/platform-server/src/tokens.ts b/packages/platform-server/src/tokens.ts index f1369d6e22..870b900f9c 100644 --- a/packages/platform-server/src/tokens.ts +++ b/packages/platform-server/src/tokens.ts @@ -11,7 +11,7 @@ import {InjectionToken} from '@angular/core'; /** * Config object passed to initialize the platform. * - * @experimental + * @publicApi */ export interface PlatformConfig { document?: string; @@ -21,7 +21,7 @@ export interface PlatformConfig { /** * The DI token for setting the initial config for the platform. * - * @experimental + * @publicApi */ export const INITIAL_CONFIG = new InjectionToken<PlatformConfig>('Server.INITIAL_CONFIG'); @@ -29,7 +29,7 @@ export const INITIAL_CONFIG = new InjectionToken<PlatformConfig>('Server.INITIAL * A function that will be executed when calling `renderModuleFactory` or `renderModule` just * before current platform state is rendered to string. * - * @experimental + * @publicApi */ export const BEFORE_APP_SERIALIZED = new InjectionToken<Array<() => void>>('Server.RENDER_MODULE_HOOK'); diff --git a/packages/platform-server/src/transfer_state.ts b/packages/platform-server/src/transfer_state.ts index fa34af3891..a800efe2ad 100644 --- a/packages/platform-server/src/transfer_state.ts +++ b/packages/platform-server/src/transfer_state.ts @@ -26,7 +26,7 @@ export function serializeTransferStateFactory( * NgModule to install on the server side while using the `TransferState` to transfer state from * server to client. * - * @experimental + * @publicApi */ @NgModule({ providers: [ diff --git a/packages/platform-server/src/utils.ts b/packages/platform-server/src/utils.ts index 177a32e4c9..a4272e9f44 100644 --- a/packages/platform-server/src/utils.ts +++ b/packages/platform-server/src/utils.ts @@ -75,7 +75,7 @@ the server-rendered app can be properly bootstrapped into a client app.`); * Do not use this in a production server environment. Use pre-compiled {@link NgModuleFactory} with * {@link renderModuleFactory} instead. * - * @experimental + * @publicApi */ export function renderModule<T>( module: Type<T>, options: {document?: string, url?: string, extraProviders?: StaticProvider[]}): @@ -91,7 +91,7 @@ export function renderModule<T>( * `url` is the URL for the current render request. * `extraProviders` are the platform level providers for the current render request. * - * @experimental + * @publicApi */ export function renderModuleFactory<T>( moduleFactory: NgModuleFactory<T>, diff --git a/packages/platform-server/testing/src/server.ts b/packages/platform-server/testing/src/server.ts index 974d74d8d8..5b7fb79e26 100644 --- a/packages/platform-server/testing/src/server.ts +++ b/packages/platform-server/testing/src/server.ts @@ -15,7 +15,7 @@ import {ɵINTERNAL_SERVER_PLATFORM_PROVIDERS as INTERNAL_SERVER_PLATFORM_PROVIDE /** * Platform for testing * - * @experimental API related to bootstrapping are still under review. + * @publicApi */ export const platformServerTesting = createPlatformFactory( platformCoreDynamicTesting, 'serverTesting', INTERNAL_SERVER_PLATFORM_PROVIDERS); @@ -23,7 +23,7 @@ export const platformServerTesting = createPlatformFactory( /** * NgModule for testing. * - * @experimental API related to bootstrapping are still under review. + * @publicApi */ @NgModule({ exports: [BrowserDynamicTestingModule], diff --git a/packages/platform-webworker-dynamic/src/platform-webworker-dynamic.ts b/packages/platform-webworker-dynamic/src/platform-webworker-dynamic.ts index 0e4feb530a..08f100e41d 100644 --- a/packages/platform-webworker-dynamic/src/platform-webworker-dynamic.ts +++ b/packages/platform-webworker-dynamic/src/platform-webworker-dynamic.ts @@ -15,7 +15,7 @@ export {VERSION} from './version'; /** - * @experimental API related to bootstrapping are still under review. + * @publicApi */ export const platformWorkerAppDynamic = createPlatformFactory(platformCoreDynamic, 'workerAppDynamic', [ diff --git a/packages/platform-webworker/src/platform-webworker.ts b/packages/platform-webworker/src/platform-webworker.ts index 37552b455a..7dab62437f 100644 --- a/packages/platform-webworker/src/platform-webworker.ts +++ b/packages/platform-webworker/src/platform-webworker.ts @@ -23,7 +23,7 @@ export {platformWorkerUi} from './worker_render'; /** * Bootstraps the worker ui. * - * @experimental + * @publicApi */ export function bootstrapWorkerUi( workerScriptUri: string, customProviders: StaticProvider[] = []): Promise<PlatformRef> { diff --git a/packages/platform-webworker/src/web_workers/shared/client_message_broker.ts b/packages/platform-webworker/src/web_workers/shared/client_message_broker.ts index 5950339691..dc974b65e7 100644 --- a/packages/platform-webworker/src/web_workers/shared/client_message_broker.ts +++ b/packages/platform-webworker/src/web_workers/shared/client_message_broker.ts @@ -11,7 +11,7 @@ import {MessageBus} from './message_bus'; import {Serializer, SerializerTypes} from './serializer'; /** - * @experimental WebWorker support in Angular is experimental. + * @publicApi */ @Injectable() export class ClientMessageBrokerFactory { @@ -38,7 +38,7 @@ interface PromiseCompleter { } /** - * @experimental WebWorker support in Angular is experimental. + * @publicApi */ export class ClientMessageBroker { private _pending = new Map<string, PromiseCompleter>(); @@ -141,7 +141,7 @@ interface ResponseMessageData { } /** - * @experimental WebWorker support in Angular is experimental. + * @publicApi */ export class FnArg { constructor( @@ -149,7 +149,7 @@ export class FnArg { } /** - * @experimental WebWorker support in Angular is experimental. + * @publicApi */ export class UiArguments { constructor(public method: string, public args?: FnArg[]) {} diff --git a/packages/platform-webworker/src/web_workers/shared/message_bus.ts b/packages/platform-webworker/src/web_workers/shared/message_bus.ts index bf158c927f..51cd04e87f 100644 --- a/packages/platform-webworker/src/web_workers/shared/message_bus.ts +++ b/packages/platform-webworker/src/web_workers/shared/message_bus.ts @@ -16,7 +16,7 @@ import {EventEmitter, NgZone} from '@angular/core'; * given channel to one MessageBusSink are received on the same channel * by the corresponding MessageBusSource. * - * @experimental WebWorker support in Angular is currenlty experimental. + * @publicApi */ export abstract class MessageBus implements MessageBusSource, MessageBusSink { /** @@ -51,7 +51,7 @@ export abstract class MessageBus implements MessageBusSource, MessageBusSink { } /** - * @experimental WebWorker support in Angular is currenlty experimental. + * @publicApi */ export interface MessageBusSource { /** @@ -77,7 +77,7 @@ export interface MessageBusSource { } /** - * @experimental WebWorker support in Angular is currenlty experimental. + * @publicApi */ export interface MessageBusSink { /** diff --git a/packages/platform-webworker/src/web_workers/shared/serializer.ts b/packages/platform-webworker/src/web_workers/shared/serializer.ts index 3ed371d047..2a47cf7458 100644 --- a/packages/platform-webworker/src/web_workers/shared/serializer.ts +++ b/packages/platform-webworker/src/web_workers/shared/serializer.ts @@ -11,7 +11,7 @@ import {RenderStore} from './render_store'; /** - * @experimental WebWorker support in Angular is currently experimental. + * @publicApi */ export const enum SerializerTypes { // RendererType2 diff --git a/packages/platform-webworker/src/web_workers/shared/service_message_broker.ts b/packages/platform-webworker/src/web_workers/shared/service_message_broker.ts index a2466e228b..ba97a1124f 100644 --- a/packages/platform-webworker/src/web_workers/shared/service_message_broker.ts +++ b/packages/platform-webworker/src/web_workers/shared/service_message_broker.ts @@ -12,7 +12,7 @@ import {Serializer, SerializerTypes} from '../shared/serializer'; /** - * @experimental WebWorker support in Angular is currently experimental. + * @publicApi */ @Injectable() export class ServiceMessageBrokerFactory { @@ -39,7 +39,7 @@ export class ServiceMessageBrokerFactory { * the UIMessageBroker deserializes its arguments and calls the registered method. * If that method returns a promise, the UIMessageBroker returns the result to the worker. * - * @experimental WebWorker support in Angular is currently experimental. + * @publicApi */ export class ServiceMessageBroker { private _sink: EventEmitter<any>; @@ -90,7 +90,7 @@ export class ServiceMessageBroker { } /** - * @experimental WebWorker support in Angular is currently experimental. + * @publicApi */ export interface ReceivedMessage { method: string; diff --git a/packages/platform-webworker/src/web_workers/ui/location_providers.ts b/packages/platform-webworker/src/web_workers/ui/location_providers.ts index 56b6790e56..ac91a2025d 100644 --- a/packages/platform-webworker/src/web_workers/ui/location_providers.ts +++ b/packages/platform-webworker/src/web_workers/ui/location_providers.ts @@ -21,7 +21,7 @@ import {MessageBasedPlatformLocation} from './platform_location'; /** * A list of {@link Provider}s. To use the router in a Worker enabled application you must * include these providers when setting up the render thread. - * @experimental + * @publicApi */ export const WORKER_UI_LOCATION_PROVIDERS = <StaticProvider[]>[ {provide: MessageBasedPlatformLocation, deps: [ServiceMessageBrokerFactory, diff --git a/packages/platform-webworker/src/web_workers/worker/location_providers.ts b/packages/platform-webworker/src/web_workers/worker/location_providers.ts index 25d671dfd2..5438cd1bbe 100644 --- a/packages/platform-webworker/src/web_workers/worker/location_providers.ts +++ b/packages/platform-webworker/src/web_workers/worker/location_providers.ts @@ -16,7 +16,7 @@ import {WebWorkerPlatformLocation} from './platform_location'; * The {@link PlatformLocation} providers that should be added when the {@link Location} is used in * a worker context. * - * @experimental + * @publicApi */ export const WORKER_APP_LOCATION_PROVIDERS = [ {provide: PlatformLocation, useClass: WebWorkerPlatformLocation}, { diff --git a/packages/platform-webworker/src/worker_app.ts b/packages/platform-webworker/src/worker_app.ts index 6fbb10206a..8571fe5798 100644 --- a/packages/platform-webworker/src/worker_app.ts +++ b/packages/platform-webworker/src/worker_app.ts @@ -23,7 +23,7 @@ import {WorkerDomAdapter} from './web_workers/worker/worker_adapter'; /** - * @experimental + * @publicApi */ export const platformWorkerApp = createPlatformFactory( platformCore, 'workerApp', [{provide: PLATFORM_ID, useValue: PLATFORM_WORKER_APP_ID}]); @@ -55,7 +55,7 @@ export function setupWebWorker(): void { /** * The ng module for the worker app side. * - * @experimental + * @publicApi */ @NgModule({ providers: [ diff --git a/packages/platform-webworker/src/worker_render.ts b/packages/platform-webworker/src/worker_render.ts index 0fe5e41946..5454c9e7c3 100644 --- a/packages/platform-webworker/src/worker_render.ts +++ b/packages/platform-webworker/src/worker_render.ts @@ -25,7 +25,7 @@ import {MessageBasedRenderer2} from './web_workers/ui/renderer'; * Wrapper class that exposes the Worker * and underlying {@link MessageBus} for lower level message passing. * - * @experimental WebWorker support is currently experimental. + * @publicApi */ @Injectable() export class WebWorkerInstance { @@ -42,7 +42,7 @@ export class WebWorkerInstance { } /** - * @experimental WebWorker support is currently experimental. + * @publicApi */ export const WORKER_SCRIPT = new InjectionToken<string>('WebWorkerScript'); @@ -50,7 +50,7 @@ export const WORKER_SCRIPT = new InjectionToken<string>('WebWorkerScript'); * A multi-provider used to automatically call the `start()` method after the service is * created. * - * @experimental WebWorker support is currently experimental. + * @publicApi */ export const WORKER_UI_STARTABLE_MESSAGING_SERVICE = new InjectionToken<({start: () => void})[]>('WorkerRenderStartableMsgService'); @@ -146,7 +146,7 @@ function initWebWorkerRenderPlatform(injector: Injector): () => void { } /** - * @experimental WebWorker support is currently experimental. + * @publicApi */ export const platformWorkerUi = createPlatformFactory(platformCore, 'workerUi', _WORKER_UI_PLATFORM_PROVIDERS); diff --git a/packages/private/testing/src/render3.ts b/packages/private/testing/src/render3.ts index 94f359be17..a63ab93d3f 100644 --- a/packages/private/testing/src/render3.ts +++ b/packages/private/testing/src/render3.ts @@ -33,7 +33,7 @@ * * @param html HTML which should be inserted into `body` of the `document`. * @param blockFn function to wrap. The function can return promise or be `async`. -* @experimental +* @publicApi */ export function withBody<T extends Function>(html: string, blockFn: T): T { return function(done: DoneFn) { @@ -74,7 +74,7 @@ const domino: any = (function(domino) { /** * Ensure that global has `Document` if we are in node.js - * @experimental + * @publicApi */ export function ensureDocument(): void { if (domino) { @@ -101,7 +101,7 @@ export function ensureDocument(): void { /** * Restore the state of `Document` between tests. - * @experimental + * @publicApi */ export function cleanupDocument(): void { if (savedDocument) { diff --git a/packages/router/src/config.ts b/packages/router/src/config.ts index 082c466ce3..bc3795af46 100644 --- a/packages/router/src/config.ts +++ b/packages/router/src/config.ts @@ -262,7 +262,7 @@ export type Routes = Route[]; * * `consumed` is an array of the consumed URL segments. * * `posParams` is a map of positional parameters. * - * @experimental + * @publicApi */ export type UrlMatchResult = { consumed: UrlSegment[]; posParams?: {[name: string]: UrlSegment}; @@ -286,7 +286,7 @@ export type UrlMatchResult = { * export const routes = [{ matcher: htmlFiles, component: AnyComponent }]; * ``` * - * @experimental + * @publicApi */ export type UrlMatcher = (segments: UrlSegment[], group: UrlSegmentGroup, route: Route) => UrlMatchResult; @@ -352,7 +352,7 @@ export type QueryParamsHandling = 'merge' | 'preserve' | ''; * The type of `runGuardsAndResolvers`. * * See `Routes` for more details. - * @experimental + * @publicApi */ export type RunGuardsAndResolvers = 'paramsChange' | 'paramsOrQueryParamsChange' | 'always'; diff --git a/packages/router/src/events.ts b/packages/router/src/events.ts index 4459327449..1def61cd30 100644 --- a/packages/router/src/events.ts +++ b/packages/router/src/events.ts @@ -18,7 +18,7 @@ import {ActivatedRouteSnapshot, RouterStateSnapshot} from './router_state'; * * 'popstate'--triggered by a popstate event * * 'hashchange'--triggered by a hashchange event * - * @experimental + * @publicApi */ export type NavigationTrigger = 'imperative' | 'popstate' | 'hashchange'; @@ -40,7 +40,7 @@ export type NavigationTrigger = 'imperative' | 'popstate' | 'hashchange'; * } * ``` * - * @experimental + * @publicApi */ export class RouterEvent { constructor( @@ -200,7 +200,7 @@ export class RoutesRecognized extends RouterEvent { * * Represents the start of the Guard phase of routing. * - * @experimental + * @publicApi */ export class GuardsCheckStart extends RouterEvent { constructor( @@ -225,7 +225,7 @@ export class GuardsCheckStart extends RouterEvent { * * Represents the end of the Guard phase of routing. * - * @experimental + * @publicApi */ export class GuardsCheckEnd extends RouterEvent { constructor( @@ -255,7 +255,7 @@ export class GuardsCheckEnd extends RouterEvent { * in the "resolve" phase whether there's things to resolve or not. In the future this * behavior may change to only run when there are things to be resolved. * - * @experimental + * @publicApi */ export class ResolveStart extends RouterEvent { constructor( @@ -281,7 +281,7 @@ export class ResolveStart extends RouterEvent { * Represents the end of the Resolve phase of routing. See note on * `ResolveStart` for use of this experimental API. * - * @experimental + * @publicApi */ export class ResolveEnd extends RouterEvent { constructor( @@ -306,7 +306,7 @@ export class ResolveEnd extends RouterEvent { * * Represents an event triggered before lazy loading a route config. * - * @experimental + * @publicApi */ export class RouteConfigLoadStart { constructor( @@ -320,7 +320,7 @@ export class RouteConfigLoadStart { * * Represents an event triggered when a route has been lazy loaded. * - * @experimental + * @publicApi */ export class RouteConfigLoadEnd { constructor( @@ -335,7 +335,7 @@ export class RouteConfigLoadEnd { * Represents the start of end of the Resolve phase of routing. See note on * `ChildActivationEnd` for use of this experimental API. * - * @experimental + * @publicApi */ export class ChildActivationStart { constructor( @@ -353,7 +353,7 @@ export class ChildActivationStart { * Represents the start of end of the Resolve phase of routing. See note on * `ChildActivationStart` for use of this experimental API. * - * @experimental + * @publicApi */ export class ChildActivationEnd { constructor( @@ -371,7 +371,7 @@ export class ChildActivationEnd { * Represents the start of end of the Resolve phase of routing. See note on * `ActivationEnd` for use of this experimental API. * - * @experimental + * @publicApi */ export class ActivationStart { constructor( @@ -389,7 +389,7 @@ export class ActivationStart { * Represents the start of end of the Resolve phase of routing. See note on * `ActivationStart` for use of this experimental API. * - * @experimental + * @publicApi */ export class ActivationEnd { constructor( diff --git a/packages/router/src/route_reuse_strategy.ts b/packages/router/src/route_reuse_strategy.ts index 225acaa207..366f225862 100644 --- a/packages/router/src/route_reuse_strategy.ts +++ b/packages/router/src/route_reuse_strategy.ts @@ -20,7 +20,7 @@ import {TreeNode} from './utils/tree'; * This is an opaque value the router will give to a custom route reuse strategy * to store and retrieve later on. * - * @experimental + * @publicApi */ export type DetachedRouteHandle = {}; @@ -36,7 +36,7 @@ export type DetachedRouteHandleInternal = { * * Provides a way to customize when activated routes get reused. * - * @experimental + * @publicApi */ export abstract class RouteReuseStrategy { /** Determines if this route (and its subtree) should be detached to be reused later */ diff --git a/packages/router/src/router_config_loader.ts b/packages/router/src/router_config_loader.ts index 292dc669ac..641ecd856a 100644 --- a/packages/router/src/router_config_loader.ts +++ b/packages/router/src/router_config_loader.ts @@ -15,7 +15,7 @@ import {flatten, wrapIntoObservable} from './utils/collection'; /** * @docsNotRequired - * @experimental + * @publicApi */ export const ROUTES = new InjectionToken<Route[][]>('ROUTES'); diff --git a/packages/router/src/router_module.ts b/packages/router/src/router_module.ts index bc80d4f985..4cc792c52e 100644 --- a/packages/router/src/router_module.ts +++ b/packages/router/src/router_module.ts @@ -268,7 +268,7 @@ export function provideRoutes(routes: Routes): any { * * The 'legacy_enabled' and 'legacy_disabled' should not be used for new applications. * - * @experimental + * @publicApi */ export type InitialNavigation = true | false | 'enabled' | 'disabled' | 'legacy_enabled' | 'legacy_disabled'; @@ -608,7 +608,7 @@ export function getBootstrapListener(r: RouterInitializer) { /** * A token for the router initializer that will be called after the app is bootstrapped. * - * @experimental + * @publicApi */ export const ROUTER_INITIALIZER = new InjectionToken<(compRef: ComponentRef<any>) => void>('Router Initializer'); diff --git a/packages/router/src/router_preloader.ts b/packages/router/src/router_preloader.ts index 712f212c47..276f02639b 100644 --- a/packages/router/src/router_preloader.ts +++ b/packages/router/src/router_preloader.ts @@ -21,7 +21,7 @@ import {RouterConfigLoader} from './router_config_loader'; * * Provides a preloading strategy. * - * @experimental + * @publicApi */ export abstract class PreloadingStrategy { abstract preload(route: Route, fn: () => Observable<any>): Observable<any>; @@ -36,7 +36,7 @@ export abstract class PreloadingStrategy { * RouteModule.forRoot(ROUTES, {preloadingStrategy: PreloadAllModules}) * ``` * - * @experimental + * @publicApi */ export class PreloadAllModules implements PreloadingStrategy { preload(route: Route, fn: () => Observable<any>): Observable<any> { @@ -51,7 +51,7 @@ export class PreloadAllModules implements PreloadingStrategy { * * This strategy is enabled by default. * - * @experimental + * @publicApi */ export class NoPreloading implements PreloadingStrategy { preload(route: Route, fn: () => Observable<any>): Observable<any> { return of (null); } diff --git a/packages/router/src/url_handling_strategy.ts b/packages/router/src/url_handling_strategy.ts index 8394e68681..fad4f84366 100644 --- a/packages/router/src/url_handling_strategy.ts +++ b/packages/router/src/url_handling_strategy.ts @@ -13,7 +13,7 @@ import {UrlTree} from './url_tree'; * * Provides a way to migrate AngularJS applications to Angular. * - * @experimental + * @publicApi */ export abstract class UrlHandlingStrategy { /** @@ -39,7 +39,7 @@ export abstract class UrlHandlingStrategy { } /** - * @experimental + * @publicApi */ export class DefaultUrlHandlingStrategy implements UrlHandlingStrategy { shouldProcessUrl(url: UrlTree): boolean { return true; } diff --git a/packages/router/upgrade/src/upgrade.ts b/packages/router/upgrade/src/upgrade.ts index bd44c6310c..ae0cd19750 100644 --- a/packages/router/upgrade/src/upgrade.ts +++ b/packages/router/upgrade/src/upgrade.ts @@ -32,7 +32,7 @@ import {UpgradeModule} from '@angular/upgrade/static'; * } * ``` * - * @experimental + * @publicApi */ export const RouterUpgradeInitializer = { provide: APP_BOOTSTRAP_LISTENER, @@ -56,7 +56,7 @@ export function locationSyncBootstrapListener(ngUpgrade: UpgradeModule) { * History.pushState does not fire onPopState, so the Angular location * doesn't detect it. The workaround is to attach a location change listener * - * @experimental + * @publicApi */ export function setUpLocationSync(ngUpgrade: UpgradeModule) { if (!ngUpgrade.$injector) { diff --git a/packages/service-worker/config/src/filesystem.ts b/packages/service-worker/config/src/filesystem.ts index 7138d2ef03..0d266e6f19 100644 --- a/packages/service-worker/config/src/filesystem.ts +++ b/packages/service-worker/config/src/filesystem.ts @@ -10,7 +10,7 @@ * An abstraction over a virtual file system used to enable testing and operation * of the config generator in different environments. * - * @experimental + * @publicApi */ export interface Filesystem { list(dir: string): Promise<string[]>; diff --git a/packages/service-worker/config/src/generator.ts b/packages/service-worker/config/src/generator.ts index 659e615afd..fd6bf09c74 100644 --- a/packages/service-worker/config/src/generator.ts +++ b/packages/service-worker/config/src/generator.ts @@ -21,7 +21,7 @@ const DEFAULT_NAVIGATION_URLS = [ /** * Consumes service worker configuration files and processes them into control files. * - * @experimental + * @publicApi */ export class Generator { constructor(readonly fs: Filesystem, private baseHref: string) {} diff --git a/packages/service-worker/config/src/in.ts b/packages/service-worker/config/src/in.ts index 0328a53356..d50c40cd74 100644 --- a/packages/service-worker/config/src/in.ts +++ b/packages/service-worker/config/src/in.ts @@ -7,19 +7,19 @@ */ /** - * @experimental + * @publicApi */ export type Glob = string; /** - * @experimental + * @publicApi */ export type Duration = string; /** * A top-level Angular Service Worker configuration object. * - * @experimental + * @publicApi */ export interface Config { appData?: {}; @@ -32,7 +32,7 @@ export interface Config { /** * Configuration for a particular group of assets. * - * @experimental + * @publicApi */ export interface AssetGroup { name: string; @@ -50,7 +50,7 @@ export interface AssetGroup { /** * Configuration for a particular group of dynamic URLs. * - * @experimental + * @publicApi */ export interface DataGroup { name: string; diff --git a/packages/service-worker/src/low_level.ts b/packages/service-worker/src/low_level.ts index d854e9647f..8d07ee52fc 100644 --- a/packages/service-worker/src/low_level.ts +++ b/packages/service-worker/src/low_level.ts @@ -14,7 +14,7 @@ export const ERR_SW_NOT_SUPPORTED = 'Service workers are disabled or not support /** * An event emitted when a new version of the app is available. * - * @experimental + * @publicApi */ export interface UpdateAvailableEvent { type: 'UPDATE_AVAILABLE'; @@ -25,7 +25,7 @@ export interface UpdateAvailableEvent { /** * An event emitted when a new version of the app has been downloaded and activated. * - * @experimental + * @publicApi */ export interface UpdateActivatedEvent { type: 'UPDATE_ACTIVATED'; @@ -58,7 +58,7 @@ function errorObservable(message: string): Observable<any> { } /** - * @experimental + * @publicApi */ export class NgswCommChannel { readonly worker: Observable<ServiceWorker>; diff --git a/packages/service-worker/src/module.ts b/packages/service-worker/src/module.ts index 4456abd475..4cc7bc3f69 100644 --- a/packages/service-worker/src/module.ts +++ b/packages/service-worker/src/module.ts @@ -57,7 +57,7 @@ export function ngswCommChannelFactory( } /** - * @experimental + * @publicApi */ @NgModule({ providers: [SwPush, SwUpdate], diff --git a/packages/service-worker/src/push.ts b/packages/service-worker/src/push.ts index e18fc21c13..b61b898ba4 100644 --- a/packages/service-worker/src/push.ts +++ b/packages/service-worker/src/push.ts @@ -16,7 +16,7 @@ import {ERR_SW_NOT_SUPPORTED, NgswCommChannel, PushEvent} from './low_level'; /** * Subscribe and listen to push notifications from the Service Worker. * - * @experimental + * @publicApi */ @Injectable() export class SwPush { diff --git a/packages/service-worker/src/update.ts b/packages/service-worker/src/update.ts index aee2090634..73293a7638 100644 --- a/packages/service-worker/src/update.ts +++ b/packages/service-worker/src/update.ts @@ -17,7 +17,7 @@ import {ERR_SW_NOT_SUPPORTED, NgswCommChannel, UpdateActivatedEvent, UpdateAvail * Subscribe to update notifications from the Service Worker, trigger update * checks, and forcibly activate updates. * - * @experimental + * @publicApi */ @Injectable() export class SwUpdate { diff --git a/packages/upgrade/src/common/downgrade_component.ts b/packages/upgrade/src/common/downgrade_component.ts index ed2edc58bb..c9d829c8d4 100644 --- a/packages/upgrade/src/common/downgrade_component.ts +++ b/packages/upgrade/src/common/downgrade_component.ts @@ -56,11 +56,11 @@ interface Thenable<T> { * @returns a factory function that can be used to register the component in an * AngularJS module. * - * @experimental + * @publicApi */ export function downgradeComponent(info: { component: Type<any>; - /** @experimental */ + /** @publicApi */ propagateDigest?: boolean; /** @deprecated since v4. This parameter is no longer used */ inputs?: string[]; diff --git a/packages/upgrade/src/common/downgrade_injectable.ts b/packages/upgrade/src/common/downgrade_injectable.ts index 9c35a82f83..d0cc47d014 100644 --- a/packages/upgrade/src/common/downgrade_injectable.ts +++ b/packages/upgrade/src/common/downgrade_injectable.ts @@ -48,7 +48,7 @@ import {INJECTOR_KEY} from './constants'; * @returns a [factory function](https://docs.angularjs.org/guide/di) that can be * used to register the service on an AngularJS module. * - * @experimental + * @publicApi */ export function downgradeInjectable(token: any): Function { const factory = function(i: Injector) { return i.get(token); }; diff --git a/packages/upgrade/src/static/downgrade_module.ts b/packages/upgrade/src/static/downgrade_module.ts index ed450a7759..00129fda76 100644 --- a/packages/upgrade/src/static/downgrade_module.ts +++ b/packages/upgrade/src/static/downgrade_module.ts @@ -99,7 +99,7 @@ import {NgAdapterInjector} from './util'; * * </div> * - * @experimental + * @publicApi */ export function downgradeModule<T>( moduleFactoryOrBootstrapFn: NgModuleFactory<T>| diff --git a/packages/upgrade/src/static/upgrade_component.ts b/packages/upgrade/src/static/upgrade_component.ts index 48da426945..3cbf93e82b 100644 --- a/packages/upgrade/src/static/upgrade_component.ts +++ b/packages/upgrade/src/static/upgrade_component.ts @@ -63,7 +63,7 @@ class Bindings { * * the AngularJS name of the component (`ng1Hero`) * * the `ElementRef` and `Injector` for the component wrapper * - * @experimental + * @publicApi */ export class UpgradeComponent implements OnInit, OnChanges, DoCheck, OnDestroy { private helper: UpgradeHelper; diff --git a/packages/upgrade/src/static/upgrade_module.ts b/packages/upgrade/src/static/upgrade_module.ts index 001ec7ba83..ac2fd875ac 100644 --- a/packages/upgrade/src/static/upgrade_module.ts +++ b/packages/upgrade/src/static/upgrade_module.ts @@ -139,7 +139,7 @@ import {NgAdapterInjector} from './util'; * * {@example upgrade/static/ts/full/module.ts region="use-ng1-upgraded-service"} * - * @experimental + * @publicApi */ @NgModule({providers: [angular1Providers]}) export class UpgradeModule {