JSObjectRef JSNode_construct(JSContextRef context, JSObjectRef object, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) { UNUSED_PARAM(object); UNUSED_PARAM(argumentCount); UNUSED_PARAM(arguments); UNUSED_PARAM(exception); return JSNode_new(context, Node_new()); }
static JSValueRef JSNodeList_getProperty(JSContextRef context, JSObjectRef thisObject, JSStringRef propertyName, JSValueRef* exception) { NodeList* nodeList = JSObjectGetPrivate(thisObject); ASSERT(nodeList); double index = JSValueToNumber(context, JSValueMakeString(context, propertyName), exception); unsigned uindex = (unsigned)index; if (uindex == index) { /* false for NaN */ Node* node = NodeList_item(nodeList, uindex); if (node) return JSNode_new(context, node); } return NULL; }
static JSValueRef JSNodeList_item(JSContextRef context, JSObjectRef object, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) { UNUSED_PARAM(object); if (argumentCount > 0) { NodeList* nodeList = JSObjectGetPrivate(thisObject); ASSERT(nodeList); Node* node = NodeList_item(nodeList, (unsigned)JSValueToNumber(context, arguments[0], exception)); if (node) return JSNode_new(context, node); } return JSValueMakeUndefined(context); }