refactor(core): use Partial<T> for MetadataOverride (#24103)
Allows to write: const fixture = TestBed .overridePipe(DisplayNamePipe, { set: { pure: false } }) .createComponent(MenuComponent); when you only want to set the `pure` metadata, instead of currently: const fixture = TestBed .overridePipe(DisplayNamePipe, { set: { name: 'displayName', pure: false } }) .createComponent(MenuComponent); which forces you to redefine the name of the pipe even if it is useless. Fixes #24102 PR Close #24103
This commit is contained in:
parent
3fd3c2ac4c
commit
41cd8f3efb
@ -2367,9 +2367,9 @@ The [override metadata object](#metadata-override-object) is a generic defined a
|
|||||||
|
|
||||||
<code-example format="." language="javascript">
|
<code-example format="." language="javascript">
|
||||||
type MetadataOverride<T> = {
|
type MetadataOverride<T> = {
|
||||||
add?: T;
|
add?: Partial<T>;
|
||||||
remove?: T;
|
remove?: Partial<T>;
|
||||||
set?: T;
|
set?: Partial<T>;
|
||||||
};
|
};
|
||||||
</code-example>
|
</code-example>
|
||||||
|
|
||||||
@ -2725,9 +2725,9 @@ appropriate to the method, that is, the parameter of an `@NgModule`,
|
|||||||
|
|
||||||
<code-example format="." language="javascript">
|
<code-example format="." language="javascript">
|
||||||
type MetadataOverride<T> = {
|
type MetadataOverride<T> = {
|
||||||
add?: T;
|
add?: Partial<T>;
|
||||||
remove?: T;
|
remove?: Partial<T>;
|
||||||
set?: T;
|
set?: Partial<T>;
|
||||||
};
|
};
|
||||||
</code-example>
|
</code-example>
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
* @experimental
|
* @experimental
|
||||||
*/
|
*/
|
||||||
export type MetadataOverride<T> = {
|
export type MetadataOverride<T> = {
|
||||||
add?: T,
|
add?: Partial<T>,
|
||||||
remove?: T,
|
remove?: Partial<T>,
|
||||||
set?: T
|
set?: Partial<T>
|
||||||
};
|
};
|
||||||
|
@ -376,7 +376,8 @@ class CompWithUrlTemplate {
|
|||||||
TestBed
|
TestBed
|
||||||
.overrideComponent(
|
.overrideComponent(
|
||||||
SomeComponent, {set: {selector: 'comp', template: `{{'hello' | somePipe}}`}})
|
SomeComponent, {set: {selector: 'comp', template: `{{'hello' | somePipe}}`}})
|
||||||
.overridePipe(SomePipe, {set: {name: 'somePipe'}});
|
.overridePipe(SomePipe, {set: {name: 'somePipe'}})
|
||||||
|
.overridePipe(SomePipe, {add: {pure: false}});
|
||||||
});
|
});
|
||||||
it('should work', () => {
|
it('should work', () => {
|
||||||
const compFixture = TestBed.createComponent(SomeComponent);
|
const compFixture = TestBed.createComponent(SomeComponent);
|
||||||
|
6
tools/public_api_guard/core/testing.d.ts
vendored
6
tools/public_api_guard/core/testing.d.ts
vendored
@ -55,9 +55,9 @@ export declare class InjectSetupWrapper {
|
|||||||
|
|
||||||
/** @experimental */
|
/** @experimental */
|
||||||
export declare type MetadataOverride<T> = {
|
export declare type MetadataOverride<T> = {
|
||||||
add?: T;
|
add?: Partial<T>;
|
||||||
remove?: T;
|
remove?: Partial<T>;
|
||||||
set?: T;
|
set?: Partial<T>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/** @experimental */
|
/** @experimental */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user