mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-01 18:22:41 -08:00
feat(core): add Electron runtime, services, and app composition
This commit is contained in:
27
src/token-mergers/index.ts
Normal file
27
src/token-mergers/index.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { mergeTokens as defaultMergeTokens } from '../token-merger';
|
||||
import { MergedToken, Token } from '../types';
|
||||
|
||||
export interface TokenMergerProvider {
|
||||
id: string;
|
||||
merge: (tokens: Token[]) => MergedToken[];
|
||||
}
|
||||
|
||||
type TokenMergerProviderFactory = () => TokenMergerProvider;
|
||||
|
||||
const tokenMergerProviderFactories = new Map<string, TokenMergerProviderFactory>();
|
||||
|
||||
export function registerTokenMergerProvider(id: string, factory: TokenMergerProviderFactory): void {
|
||||
if (tokenMergerProviderFactories.has(id)) {
|
||||
return;
|
||||
}
|
||||
tokenMergerProviderFactories.set(id, factory);
|
||||
}
|
||||
|
||||
function registerDefaultTokenMergerProviders(): void {
|
||||
registerTokenMergerProvider('default', () => ({
|
||||
id: 'default',
|
||||
merge: (tokens: Token[]) => defaultMergeTokens(tokens),
|
||||
}));
|
||||
}
|
||||
|
||||
registerDefaultTokenMergerProviders();
|
||||
Reference in New Issue
Block a user