traits.ts
73 lines
| 2.0 KiB
| video/mp2t
|
TypeScriptLexer
cin
|
r7 | import _WidgetBase = require("dijit/_WidgetBase"); | ||
type _WidgetBaseConstructor = typeof _WidgetBase; | ||||
cin
|
r14 | export type DojoNodePosition = "first" | "after" | "before" | "last" | "replace" | "only" | number; | ||
cin
|
r7 | |||
cin
|
r22 | export interface BuildContext<TNode extends Node = Node> { | ||
getDomNode(): TNode; | ||||
cin
|
r14 | |||
placeAt(refNode: string | Node, position?: DojoNodePosition): void; | ||||
cin
|
r7 | } | ||
cin
|
r19 | export function isNode(el: any): el is Node { | ||
cin
|
r7 | return el && el.nodeName && el.nodeType; | ||
} | ||||
cin
|
r19 | export function isElementNode(el: any): el is Element { | ||
return isNode(el) && el.nodeType === 1; | ||||
} | ||||
export function isTextNode(el: any): el is Text { | ||||
return isNode(el) && el.nodeType === 3; | ||||
} | ||||
export function isProcessingInstructionNode(el: any): el is ProcessingInstruction { | ||||
return isNode(el) && el.nodeType === 7; | ||||
} | ||||
export function isCommentNode(el: any): el is Comment { | ||||
return isNode(el) && el.nodeType === 8; | ||||
} | ||||
export function isDocumentNode(el: any): el is Document { | ||||
return isNode(el) && el.nodeType === 9; | ||||
} | ||||
export function isDocumentTypeNode(el: any): el is DocumentType { | ||||
return isNode(el) && el.nodeType === 10; | ||||
} | ||||
export function isDocumentFragmentNode(el: any): el is DocumentFragment { | ||||
return isNode(el) && el.nodeType === 11; | ||||
} | ||||
cin
|
r7 | export function isWidget(v: any): v is _WidgetBase { | ||
return v && "domNode" in v; | ||||
} | ||||
export function isBuildContext(v: any): v is BuildContext { | ||||
return typeof v === "object" && typeof v.getDomElement === "function"; | ||||
} | ||||
export function isPlainObject(v: object) { | ||||
if (typeof v !== "object") | ||||
return false; | ||||
const vp = Object.getPrototypeOf(v); | ||||
return !vp || vp === Object.prototype; | ||||
} | ||||
export function isWidgetConstructor(v: any): v is _WidgetBaseConstructor { | ||||
cin
|
r38 | return typeof v === "function" && v.prototype && ( | ||
"domNode" in v.prototype || | ||||
"buildRendering" in v.prototype | ||||
); | ||||
cin
|
r7 | } | ||
cin
|
r48 | |||
/** Tests whether the specified node is placed in visible dom. | ||||
* @param {Node} node The node to test | ||||
*/ | ||||
export function isInPage(node: Node) { | ||||
return (node === document.body) ? false : document.body.contains(node); | ||||
} | ||||