Skip to content

Commit 0d2b348

Browse files
committed
feat(theming): extract apply() as an individual method
1 parent bed7cd3 commit 0d2b348

2 files changed

Lines changed: 9 additions & 4 deletions

File tree

packages/theming/src/manager.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@ import { ThemeTokenRegistry, ThemeTokens } from './token';
1414
useExisting: forwardRef(() => SimpleThemeManager),
1515
})
1616
export abstract class ThemeManager {
17-
abstract apply<Builders extends ThemeBuilderMap>(
17+
abstract buildAndApply<Builders extends ThemeBuilderMap>(
1818
builders: Builders,
1919
configs: ThemeBuilderConfigMapOf<Builders>,
2020
): void;
2121
abstract build<Builders extends ThemeBuilderMap>(
2222
builders: Builders,
2323
configs: ThemeBuilderConfigMapOf<Builders>,
2424
): ThemeTokens;
25+
abstract apply(tokens: ThemeTokens): void;
2526
}
2627

2728
export interface ThemeBuilderMap {
@@ -41,12 +42,12 @@ export class SimpleThemeManager implements ThemeManager {
4142
protected injector = inject(Injector);
4243
protected tokens = inject(ThemeTokenRegistry);
4344

44-
apply<Builders extends ThemeBuilderMap>(
45+
buildAndApply<Builders extends ThemeBuilderMap>(
4546
builders: Builders,
4647
configs: ThemeBuilderConfigMapOf<Builders>,
4748
): void {
4849
const tokens = this.build(builders, configs);
49-
for (const name in tokens) this.tokens.set(name, tokens[name]);
50+
this.apply(tokens);
5051
}
5152

5253
build<Builders extends ThemeBuilderMap>(
@@ -61,4 +62,8 @@ export class SimpleThemeManager implements ThemeManager {
6162
{},
6263
);
6364
}
65+
66+
apply(tokens: ThemeTokens): void {
67+
for (const name in tokens) this.tokens.set(name, tokens[name]);
68+
}
6469
}

packages/theming/src/provide.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export function provideTheme<Builders extends ThemeBuilderMap>(
2323
useFactory:
2424
(themeManager = inject(ThemeManager)) =>
2525
() =>
26-
themeManager.apply(builders, configs),
26+
themeManager.buildAndApply(builders, configs),
2727
}),
2828
]);
2929
}

0 commit comments

Comments
 (0)