UNPKG

chrominator

Version:

High Level automation framework for chrome

45 lines (33 loc) 1.11 kB
'use strict' const Node = require('./node') const multiResolveResult = {} var rawValue = function (_, result) { return result.value } multiResolveResult['undefined:undefined'] = rawValue multiResolveResult['boolean:undefined'] = rawValue multiResolveResult['number:undefined'] = rawValue multiResolveResult['string:undefined'] = rawValue multiResolveResult['object:null'] = rawValue // troubleshoot why this has issues multiResolveResult['object:node'] = function (driver, result) { return driver.DOM.requestNode({objectId: result.objectId}).then((result) => { const node = new Node(driver, result.nodeId) Object.defineProperty(node, 'objectId', { value: result.objectId, writable: false }) return node }) } // TODO timezone is wrong... multiResolveResult['object:date'] = function (driver, result) { return new Date(result.description) } // need proxy for complex objects module.exports = function (multiType, driver, result) { if (multiResolveResult.hasOwnProperty(multiType)) { return multiResolveResult[multiType](driver, result) } return result }