73 lines
2.2 KiB
TypeScript
73 lines
2.2 KiB
TypeScript
// Type definitions for node-xml2js
|
|
// Project: https://github.com/Leonidas-from-XIV/node-xml2js
|
|
// Definitions by: Michel Salib <https://github.com/michelsalib>, Jason McNeil <https://github.com/jasonrm>
|
|
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
|
|
|
declare module 'xml2js' {
|
|
|
|
export = xml2js;
|
|
|
|
module xml2js {
|
|
function parseString(xml: string, callback: (err: any, result: any) => void): void;
|
|
function parseString(xml: string, options: Options, callback: (err: any, result: any) => void): void;
|
|
|
|
class Builder {
|
|
constructor(options?: BuilderOptions);
|
|
buildObject(rootObj: any): string;
|
|
}
|
|
|
|
class Parser {
|
|
constructor(options?: Options);
|
|
processAsync(): any;
|
|
assignOrPush(obj: any, key: string, newValue: any): any;
|
|
reset(): any;
|
|
parseString(str: string , cb?: Function): void;
|
|
}
|
|
|
|
interface RenderOptions {
|
|
indent?: string;
|
|
newline?: string;
|
|
pretty?: boolean;
|
|
}
|
|
|
|
interface XMLDeclarationOptions {
|
|
encoding?: string;
|
|
standalone?: boolean;
|
|
version?: string;
|
|
}
|
|
|
|
interface BuilderOptions {
|
|
doctype?: any;
|
|
headless?: boolean;
|
|
indent?: string;
|
|
newline?: string;
|
|
pretty?: boolean;
|
|
renderOpts?: RenderOptions;
|
|
rootName?: string;
|
|
xmldec?: XMLDeclarationOptions;
|
|
}
|
|
|
|
interface Options {
|
|
async?: boolean;
|
|
attrkey?: string;
|
|
attrNameProcessors?: (name: string) => string;
|
|
charkey?: string;
|
|
charsAsChildren?: boolean;
|
|
childkey?: string;
|
|
emptyTag?: any;
|
|
explicitArray?: boolean;
|
|
explicitCharkey?: boolean;
|
|
explicitChildren?: boolean;
|
|
explicitRoot?: boolean;
|
|
ignoreAttrs?: boolean;
|
|
mergeAttrs?: boolean;
|
|
normalize?: boolean;
|
|
normalizeTags?: boolean;
|
|
strict?: boolean;
|
|
tagNameProcessors?: [(name: string) => string];
|
|
trim?: boolean;
|
|
validator?: Function;
|
|
xmlns?: boolean;
|
|
}
|
|
}
|
|
}
|