diff --git a/packages/core/src/di/r3_injector.ts b/packages/core/src/di/r3_injector.ts index c993e6a738f..9596c3c4ea5 100644 --- a/packages/core/src/di/r3_injector.ts +++ b/packages/core/src/di/r3_injector.ts @@ -13,6 +13,7 @@ import {AbstractType, Type} from '../interface/type'; import {FactoryFn, getFactoryDef} from '../render3/definition_factory'; import {throwCyclicDependencyError, throwInvalidProviderError, throwMixedMultiProviderError} from '../render3/errors_di'; import {deepForEach, newArray} from '../util/array_utils'; +import {EMPTY_ARRAY} from '../util/empty'; import {stringify} from '../util/stringify'; import {resolveForwardRef} from './forward_ref'; @@ -48,8 +49,6 @@ const NOT_YET = {}; */ const CIRCULAR = {}; -const EMPTY_ARRAY = [] as any[]; - /** * A lazily initialized NullInjector. */ diff --git a/packages/core/src/di/util.ts b/packages/core/src/di/util.ts index 2070b057e37..1bb55375813 100644 --- a/packages/core/src/di/util.ts +++ b/packages/core/src/di/util.ts @@ -8,6 +8,7 @@ import {Type} from '../interface/type'; import {ReflectionCapabilities} from '../reflection/reflection_capabilities'; +import {EMPTY_ARRAY} from '../util/empty'; import {getClosureSafeProperty} from '../util/property'; import {resolveForwardRef} from './forward_ref'; @@ -16,7 +17,6 @@ import {ClassSansProvider, ConstructorSansProvider, ExistingSansProvider, Factor const USE_VALUE = getClosureSafeProperty({provide: String, useValue: getClosureSafeProperty}); -const EMPTY_ARRAY: any[] = []; export function convertInjectableProviderToFactory( type: Type, diff --git a/packages/core/src/render3/context_discovery.ts b/packages/core/src/render3/context_discovery.ts index 096d4f2056c..49dc61d1697 100644 --- a/packages/core/src/render3/context_discovery.ts +++ b/packages/core/src/render3/context_discovery.ts @@ -9,7 +9,7 @@ import '../util/ng_dev_mode'; import {assertDomNode} from '../util/assert'; -import {EMPTY_ARRAY} from './empty'; +import {EMPTY_ARRAY} from '../util/empty'; import {LContext, MONKEY_PATCH_KEY_NAME} from './interfaces/context'; import {TNode, TNodeFlags} from './interfaces/node'; import {RElement, RNode} from './interfaces/renderer_dom'; diff --git a/packages/core/src/render3/definition.ts b/packages/core/src/render3/definition.ts index 0b75b5c8369..03d665978c8 100644 --- a/packages/core/src/render3/definition.ts +++ b/packages/core/src/render3/definition.ts @@ -12,9 +12,10 @@ import {NgModuleDef, NgModuleType} from '../metadata/ng_module_def'; import {SchemaMetadata} from '../metadata/schema'; import {ViewEncapsulation} from '../metadata/view'; import {noSideEffects} from '../util/closure'; +import {EMPTY_ARRAY} from '../util/empty'; import {initNgDevMode} from '../util/ng_dev_mode'; import {stringify} from '../util/stringify'; -import {EMPTY_ARRAY, EMPTY_OBJ} from './empty'; +import {EMPTY_OBJ} from './empty'; import {NG_COMP_DEF, NG_DIR_DEF, NG_LOC_ID_DEF, NG_MOD_DEF, NG_PIPE_DEF} from './fields'; import {ComponentDef, ComponentDefFeature, ComponentTemplate, ComponentType, ContentQueriesFunction, DirectiveDef, DirectiveDefFeature, DirectiveTypesOrFactory, HostBindingsFunction, PipeDef, PipeTypesOrFactory, ViewQueriesFunction} from './interfaces/definition'; import {AttributeMarker, TAttributes, TConstantsOrFactory} from './interfaces/node'; diff --git a/packages/core/src/render3/empty.ts b/packages/core/src/render3/empty.ts index 52382fcf72d..78ef36a82d6 100644 --- a/packages/core/src/render3/empty.ts +++ b/packages/core/src/render3/empty.ts @@ -15,7 +15,6 @@ import {initNgDevMode} from '../util/ng_dev_mode'; */ export const EMPTY_OBJ: {} = {}; -export const EMPTY_ARRAY: any[] = []; // freezing the values prevents any code from accidentally inserting new values in if ((typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode()) { @@ -23,6 +22,4 @@ if ((typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode()) { // when optimizing code and the whole if statement will be dropped. // tslint:disable-next-line:no-toplevel-property-access Object.freeze(EMPTY_OBJ); - // tslint:disable-next-line:no-toplevel-property-access - Object.freeze(EMPTY_ARRAY); } diff --git a/packages/core/src/render3/features/inherit_definition_feature.ts b/packages/core/src/render3/features/inherit_definition_feature.ts index 891a2b9a922..7f454c65886 100644 --- a/packages/core/src/render3/features/inherit_definition_feature.ts +++ b/packages/core/src/render3/features/inherit_definition_feature.ts @@ -7,8 +7,9 @@ */ import {Type, Writable} from '../../interface/type'; +import {EMPTY_ARRAY} from '../../util/empty'; import {fillProperties} from '../../util/property'; -import {EMPTY_ARRAY, EMPTY_OBJ} from '../empty'; +import {EMPTY_OBJ} from '../empty'; import {ComponentDef, ContentQueriesFunction, DirectiveDef, DirectiveDefFeature, HostBindingsFunction, RenderFlags, ViewQueriesFunction} from '../interfaces/definition'; import {TAttributes} from '../interfaces/node'; import {isComponentDef} from '../interfaces/type_checks'; diff --git a/packages/core/src/render3/instructions/i18n_icu_container_visitor.ts b/packages/core/src/render3/instructions/i18n_icu_container_visitor.ts index 1d203a2acfc..acb42f498cf 100644 --- a/packages/core/src/render3/instructions/i18n_icu_container_visitor.ts +++ b/packages/core/src/render3/instructions/i18n_icu_container_visitor.ts @@ -7,8 +7,8 @@ */ import {assertDomNode, assertNumber, assertNumberInRange} from '../../util/assert'; +import {EMPTY_ARRAY} from '../../util/empty'; import {assertTIcu, assertTNodeForLView} from '../assert'; -import {EMPTY_ARRAY} from '../empty'; import {getCurrentICUCaseIndex} from '../i18n/i18n_util'; import {I18nRemoveOpCodes, TIcu} from '../interfaces/i18n'; import {TIcuContainerNode} from '../interfaces/node'; diff --git a/packages/core/src/render3/jit/directive.ts b/packages/core/src/render3/jit/directive.ts index 1b7085ebd30..91ce5262ddc 100644 --- a/packages/core/src/render3/jit/directive.ts +++ b/packages/core/src/render3/jit/directive.ts @@ -15,9 +15,10 @@ import {Query} from '../../metadata/di'; import {Component, Directive, Input} from '../../metadata/directives'; import {componentNeedsResolution, maybeQueueResolutionOfComponentResources} from '../../metadata/resource_loading'; import {ViewEncapsulation} from '../../metadata/view'; +import {EMPTY_ARRAY} from '../../util/empty'; import {initNgDevMode} from '../../util/ng_dev_mode'; import {getComponentDef, getDirectiveDef} from '../definition'; -import {EMPTY_ARRAY, EMPTY_OBJ} from '../empty'; +import {EMPTY_OBJ} from '../empty'; import {NG_COMP_DEF, NG_DIR_DEF, NG_FACTORY_DEF} from '../fields'; import {ComponentType} from '../interfaces/definition'; import {stringifyForError} from '../util/stringify_utils'; diff --git a/packages/core/src/render3/jit/module.ts b/packages/core/src/render3/jit/module.ts index 7450c5dc7fb..478a8f544cb 100644 --- a/packages/core/src/render3/jit/module.ts +++ b/packages/core/src/render3/jit/module.ts @@ -16,6 +16,7 @@ import {ModuleWithProviders, NgModule} from '../../metadata/ng_module'; import {NgModuleDef, NgModuleTransitiveScopes, NgModuleType} from '../../metadata/ng_module_def'; import {deepForEach, flatten} from '../../util/array_utils'; import {assertDefined} from '../../util/assert'; +import {EMPTY_ARRAY} from '../../util/empty'; import {getComponentDef, getDirectiveDef, getNgModuleDef, getPipeDef} from '../definition'; import {NG_COMP_DEF, NG_DIR_DEF, NG_MOD_DEF, NG_PIPE_DEF} from '../fields'; import {ComponentDef} from '../interfaces/definition'; @@ -24,8 +25,6 @@ import {stringifyForError} from '../util/stringify_utils'; import {angularCoreEnv} from './environment'; -const EMPTY_ARRAY: Type[] = []; - interface ModuleQueueItem { moduleType: Type; ngModule: NgModule; diff --git a/packages/core/src/view/index.ts b/packages/core/src/view/index.ts index 7a828eb1dc9..74e9cfc8a23 100644 --- a/packages/core/src/view/index.ts +++ b/packages/core/src/view/index.ts @@ -6,6 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ +export {EMPTY_ARRAY} from '../util/empty'; export {anchorDef, elementDef} from './element'; export {clearOverrides, createNgModuleFactory, overrideComponentView, overrideProvider} from './entrypoint'; export {ngContentDef} from './ng_content'; @@ -16,7 +17,7 @@ export {queryDef} from './query'; export {createComponentFactory, getComponentViewDefinitionFactory, nodeValue, ViewRef_} from './refs'; export {initServicesIfNeeded} from './services'; export {textDef} from './text'; -export {createRendererType2, elementEventFullName, EMPTY_ARRAY, EMPTY_MAP, inlineInterpolate, interpolate, rootRenderNodes, tokenKey, unwrapValue} from './util'; +export {createRendererType2, elementEventFullName, EMPTY_MAP, inlineInterpolate, interpolate, rootRenderNodes, tokenKey, unwrapValue} from './util'; export {viewDef} from './view'; export {attachEmbeddedView, detachEmbeddedView, moveEmbeddedView} from './view_attach'; diff --git a/packages/core/src/view/util.ts b/packages/core/src/view/util.ts index 459b222381c..c83b49360cb 100644 --- a/packages/core/src/view/util.ts +++ b/packages/core/src/view/util.ts @@ -444,5 +444,4 @@ function _toStringWithNull(v: any): string { return v != null ? v.toString() : ''; } -export const EMPTY_ARRAY: any[] = []; export const EMPTY_MAP: {[key: string]: any} = {}; diff --git a/packages/core/test/bundling/forms/bundle.golden_symbols.json b/packages/core/test/bundling/forms/bundle.golden_symbols.json index 8ef0dcdff91..91167e7414d 100644 --- a/packages/core/test/bundling/forms/bundle.golden_symbols.json +++ b/packages/core/test/bundling/forms/bundle.golden_symbols.json @@ -173,12 +173,6 @@ { "name": "EMPTY_ARRAY" }, - { - "name": "EMPTY_ARRAY" - }, - { - "name": "EMPTY_ARRAY" - }, { "name": "EMPTY_OBJ" }, diff --git a/packages/core/test/bundling/router/bundle.golden_symbols.json b/packages/core/test/bundling/router/bundle.golden_symbols.json index d7ca828b945..b131ed3a3c2 100644 --- a/packages/core/test/bundling/router/bundle.golden_symbols.json +++ b/packages/core/test/bundling/router/bundle.golden_symbols.json @@ -236,9 +236,6 @@ { "name": "EMPTY_ARRAY" }, - { - "name": "EMPTY_ARRAY" - }, { "name": "EMPTY_OBJ" }, diff --git a/packages/core/test/bundling/todo/bundle.golden_symbols.json b/packages/core/test/bundling/todo/bundle.golden_symbols.json index 86bd5b20cfe..b070bffaddf 100644 --- a/packages/core/test/bundling/todo/bundle.golden_symbols.json +++ b/packages/core/test/bundling/todo/bundle.golden_symbols.json @@ -14,9 +14,6 @@ { "name": "EMPTY_ARRAY" }, - { - "name": "EMPTY_ARRAY" - }, { "name": "EMPTY_OBJ" },