mframejs
Version:
simple framework
65 lines (53 loc) • 1.32 kB
text/typescript
let DOCUMENT: any;
let WINDOW: any;
let NODE_FILTER: any = {
SHOW_ALL: -1,
FILTER_ACCEPT: 1,
FILTER_REJECT: 2
};
{
try {
if (document) {
DOCUMENT = document;
}
if (window) {
WINDOW = window;
}
if (NodeFilter) {
NODE_FILTER = NodeFilter;
}
} catch (e) {
// todo
}
}
export class DOM {
public static get document(): Document {
return DOCUMENT;
}
public static get window(): Window {
return WINDOW;
}
public static get nodeFilter(): NodeFilter | any {
return <any>NODE_FILTER;
}
public static setConfig(win: Window, doc: Document) {
DOCUMENT = doc;
WINDOW = win;
}
public static waitFor(time = 30, intervals = 0): Promise<void> {
return new Promise((resolve: Function) => {
let no = 0;
const waiter = () => {
setTimeout(() => {
if (no === intervals) {
resolve();
} else {
no++;
waiter();
}
}, time);
};
waiter();
});
}
}