@mieweb/wikigdrive
Version:
Google Drive to MarkDown synchronization
45 lines • 1.56 kB
TypeScript
import * as htmlparser2 from 'htmlparser2';
interface XmlClassType {
_xmlTextField?: string;
_elems: {
[xmlElementTag: string]: {
fieldName: string;
classTypeName: string;
};
};
onOpenTag?(param: UnMarshaller, tagname: string, attributes: {
[p: string]: string;
}): void;
onText?(param: UnMarshaller, text: string): void;
onCloseTag?(param: UnMarshaller, tagname: string): void;
}
interface StackPos<ValType> {
val: ValType;
classType: XmlClassType;
closeTag: string;
}
export declare function XmlRootElement(xmlElementTag: any): (classType: any) => void;
export declare function XmlElement(): (classType: any) => void;
export declare function XmlAttribute(xmlAttrName: any, fieldName: any): (classType: any) => void;
export declare function XmlElementChild(xmlElementTag: string, fieldName: string, subClassTypeName: string, props?: {
isArray: boolean;
}): (classType: any) => void;
export declare function XmlText(fieldName: any, props?: {
isArray: boolean;
}): (classType: any) => void;
export declare class UnMarshaller {
private classes;
private rootClassTypeName;
readonly parser: htmlparser2.Parser;
private stack;
constructor(classes: {
[name: string]: any;
}, rootClassTypeName: string);
get top(): StackPos<any>;
push(val: StackPos<any>): void;
pop(): StackPos<any> | undefined;
unmarshal(content: any): any;
getClass(classTypeName: string): any;
}
export {};
//# sourceMappingURL=UnMarshaller.d.ts.map