vscode-nls-dev
Version:
Development time npm module to generate strings bundles from Javascript files
81 lines (80 loc) • 3 kB
TypeScript
import { RawSourceMap } from 'source-map';
export interface Map<V> {
[key: string]: V;
}
export interface LocalizeInfo {
key: string;
comment: string[];
}
export declare namespace LocalizeInfo {
function is(value: any): value is LocalizeInfo;
}
export declare type KeyInfo = string | LocalizeInfo;
export declare namespace KeyInfo {
function key(value: KeyInfo): string;
function comment(value: KeyInfo): string[] | undefined;
}
export interface JavaScriptMessageBundle {
messages: string[];
keys: KeyInfo[];
}
export declare namespace JavaScriptMessageBundle {
function is(value: any): value is JavaScriptMessageBundle;
}
export interface ResolvedJavaScriptMessageBundle {
messages: string[];
keys: string[];
map: Map<string>;
}
export declare namespace ResolvedJavaScriptMessageBundle {
function is(value: any): value is ResolvedJavaScriptMessageBundle;
function asTranslatedMessages(bundle: ResolvedJavaScriptMessageBundle, translatedMessages: Map<string> | undefined, problems: string[]): string[];
}
export interface PackageJsonMessageBundle {
[key: string]: string;
}
export declare namespace PackageJsonMessageBundle {
function asTranslatedMessages(bundle: PackageJsonMessageBundle, translatedMessages: Map<string> | undefined, problems: string[]): Map<string>;
}
export declare function processFile(contents: string, relativeFileName?: string, baseDir?: string, sourceMap?: string | RawSourceMap): {
contents?: string;
sourceMap?: string;
bundle?: JavaScriptMessageBundle;
errors: string[];
};
export declare function resolveMessageBundle(bundle: JavaScriptMessageBundle): ResolvedJavaScriptMessageBundle;
export declare function resolveMessageBundle(bundle: PackageJsonMessageBundle): PackageJsonMessageBundle;
export interface LocalizedMessagesResult {
messages: string[] | Map<String>;
problems: string[];
}
export declare function createLocalizedMessages(filename: string, bundle: ResolvedJavaScriptMessageBundle | PackageJsonMessageBundle, languageFolderName: string, i18nBaseDir: string, baseDir?: string): LocalizedMessagesResult;
export declare function bundle2keyValuePair(bundle: JavaScriptMessageBundle, commentSeparator?: string | undefined): any;
export declare function removePathPrefix(path: string, prefix: string): string;
export interface SingleMetaDataFile {
messages: string[];
keys: KeyInfo[];
filePath: string;
}
export interface BundledMetaDataEntry {
messages: string[];
keys: KeyInfo[];
}
export interface BundledMetaDataHeader {
id: string;
type: string;
hash: string;
outDir: string;
}
export interface BundledMetaDataFile {
[key: string]: BundledMetaDataEntry;
}
export declare class MetaDataBundler {
private id;
private outDir;
private content;
get size(): number;
constructor(id: string, outDir: string);
add(file: SingleMetaDataFile): void;
bundle(): [BundledMetaDataHeader, BundledMetaDataFile];
}