UNPKG

babel-plugin-i18next-extract

Version:

Statically extract translation keys from i18next application.

60 lines (59 loc) 1.43 kB
import { Config } from "../config"; import { TranslationKey } from "../keys"; /** * Generic class thrown by exporters in case of error. */ export declare class ExportError extends Error { } /** * Thrown by exporters when an existing value in a translation * file is incompatible with the value we're trying to set. * * For instance, if the translation file contains a deep key named `foo.bar` * but we extracted a (not deep) `foo` key, this error may be thrown. */ export declare class ConflictError extends ExportError { } /** * Interface implented by exporters. */ export interface Exporter<F, K> { /** * Initialize a new, empty translation file. */ init: (params: { config: Config; }) => F; /** * Parse a translation file givent its content. */ parse: (params: { config: Config; content: string; }) => F; /** * Serialize the translation file before saving it. */ stringify: (params: { config: Config; file: F; }) => string; /** * Get a key given a translation file. */ getKey: (params: { config: Config; file: F; keyPath: string[]; cleanKey: string; }) => K | undefined; /** * Add a key to a translation file. */ addKey: (params: { config: Config; file: F; key: TranslationKey; value: K; }) => F; }