Skip to content

Commit

Permalink
Merge pull request #71 from sveltekit-i18n/fix/config-types
Browse files Browse the repository at this point in the history
Type improvements
  • Loading branch information
jarda-svoboda authored May 22, 2022
2 parents e418541 + 303397e commit e7207c8
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
import Base from '@sveltekit-i18n/base';
import parser from '@sveltekit-i18n/parser-default';

import type { Parser } from '@sveltekit-i18n/parser-default';
import type { Parser, Modifier } from '@sveltekit-i18n/parser-default';
import type { Config } from './types';

export type { Config };
export type { Config, Parser, Modifier };

const normalizeConfig = ({ parserOptions = {}, ...rest }: Config) => ({
const normalizeConfig = <P = Parser.PayloadDefault, M = Modifier.DefaultProps>({ parserOptions = {}, ...rest }: Config<P, M>) => ({
...rest,
parser: parser(parserOptions),
});

class I18n<Params extends Parser.Params> extends Base<Params> {
constructor(config?: Config) {
class I18n<Params extends Parser.Params<P, M>, P = Parser.PayloadDefault, M = Modifier.DefaultProps> extends Base<Params> {
constructor(config?: Config<P, M>) {
super(config && normalizeConfig(config));
}

loadConfig = (config: Config) => super.configLoader(normalizeConfig(config));
loadConfig = (config: Config<P, M>) => super.configLoader(normalizeConfig<P, M>(config));
}

export default I18n;

0 comments on commit e7207c8

Please sign in to comment.