/**
*
* Get source code of specified DOM element by selector.
*
* <example>
:index.html
<div id="test">
<span>Lorem ipsum dolor amet</span>
</div>
:getHTML.js
client
.getHTML('#test', function(err, html) {
console.log(html);
// outputs the following:
// "<div id="test"><span>Lorem ipsum dolor amet</span></div>"
})
.getHTML('#test', false, function(err, html) {
console.log(html);
// outputs the following:
// "<span>Lorem ipsum dolor amet</span>"
});
* </example>
*
* @param {String} selector element to get the current DOM structure from
* @param {Boolean=} includeSelectorTag if true it includes the selector element tag (default: true)
*
* @uses action/selectorExecute
* @type property
*
*/
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
// istanbul ignore next
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _utilsErrorHandler = require('../utils/ErrorHandler');
var _scriptsGetHTML = require('../scripts/getHTML');
var _scriptsGetHTML2 = _interopRequireDefault(_scriptsGetHTML);
var getHTML = function getHTML(selector) {
var includeSelectorTag = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1];
/*!
* parameter check
*/
if (typeof selector !== 'string') {
throw new _utilsErrorHandler.CommandError('number or type of arguments don\'t agree with getHTML command');
}
return this.selectorExecute(selector, _scriptsGetHTML2['default'], includeSelectorTag).then(function (html) {
/**
* throw NoSuchElement error if no element was found
*/
if (!html) {
throw new _utilsErrorHandler.CommandError(7);
}
return html && html.length === 1 ? html[0] : html;
});
};
exports['default'] = getHTML;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvY29tbWFuZHMvZ2V0SFRNTC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztpQ0FnQzZCLHVCQUF1Qjs7OEJBQzFCLG9CQUFvQjs7OztBQUU5QyxJQUFJLE9BQU8sR0FBRyxTQUFWLE9BQU8sQ0FBYSxRQUFRLEVBQTZCO1FBQTNCLGtCQUFrQix5REFBRyxJQUFJOzs7OztBQUl2RCxRQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtBQUM5QixjQUFNLG9DQUFpQiwrREFBK0QsQ0FBQyxDQUFBO0tBQzFGOztBQUVELFdBQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLCtCQUFpQixrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLElBQUksRUFBSzs7OztBQUlwRixZQUFJLENBQUMsSUFBSSxFQUFFO0FBQ1Asa0JBQU0sb0NBQWlCLENBQUMsQ0FBQyxDQUFBO1NBQzVCOztBQUVELGVBQU8sSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUE7S0FDcEQsQ0FBQyxDQUFBO0NBQ0wsQ0FBQTs7cUJBRWMsT0FBTyIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL2NvbW1hbmRzL2dldEhUTUwuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBHZXQgc291cmNlIGNvZGUgb2Ygc3BlY2lmaWVkIERPTSBlbGVtZW50IGJ5IHNlbGVjdG9yLlxuICpcbiAqIDxleGFtcGxlPlxuICAgIDppbmRleC5odG1sXG4gICAgPGRpdiBpZD1cInRlc3RcIj5cbiAgICAgICAgPHNwYW4+TG9yZW0gaXBzdW0gZG9sb3IgYW1ldDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDpnZXRIVE1MLmpzXG4gICAgY2xpZW50XG4gICAgICAgIC5nZXRIVE1MKCcjdGVzdCcsIGZ1bmN0aW9uKGVyciwgaHRtbCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coaHRtbCk7XG4gICAgICAgICAgICAvLyBvdXRwdXRzIHRoZSBmb2xsb3dpbmc6XG4gICAgICAgICAgICAvLyBcIjxkaXYgaWQ9XCJ0ZXN0XCI+PHNwYW4+TG9yZW0gaXBzdW0gZG9sb3IgYW1ldDwvc3Bhbj48L2Rpdj5cIlxuICAgICAgICB9KVxuICAgICAgICAuZ2V0SFRNTCgnI3Rlc3QnLCBmYWxzZSwgZnVuY3Rpb24oZXJyLCBodG1sKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhodG1sKTtcbiAgICAgICAgICAgIC8vIG91dHB1dHMgdGhlIGZvbGxvd2luZzpcbiAgICAgICAgICAgIC8vIFwiPHNwYW4+TG9yZW0gaXBzdW0gZG9sb3IgYW1ldDwvc3Bhbj5cIlxuICAgICAgICB9KTtcbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gICBzZWxlY3RvciAgICAgICAgICAgZWxlbWVudCB0byBnZXQgdGhlIGN1cnJlbnQgRE9NIHN0cnVjdHVyZSBmcm9tXG4gKiBAcGFyYW0ge0Jvb2xlYW49fSBpbmNsdWRlU2VsZWN0b3JUYWcgaWYgdHJ1ZSBpdCBpbmNsdWRlcyB0aGUgc2VsZWN0b3IgZWxlbWVudCB0YWcgKGRlZmF1bHQ6IHRydWUpXG4gKlxuICogQHVzZXMgYWN0aW9uL3NlbGVjdG9yRXhlY3V0ZVxuICogQHR5cGUgcHJvcGVydHlcbiAqXG4gKi9cblxuaW1wb3J0IHsgQ29tbWFuZEVycm9yIH0gZnJvbSAnLi4vdXRpbHMvRXJyb3JIYW5kbGVyJ1xuaW1wb3J0IGdldEhUTUxIZWxwZXIgZnJvbSAnLi4vc2NyaXB0cy9nZXRIVE1MJ1xuXG5sZXQgZ2V0SFRNTCA9IGZ1bmN0aW9uIChzZWxlY3RvciwgaW5jbHVkZVNlbGVjdG9yVGFnID0gdHJ1ZSkge1xuICAgIC8qIVxuICAgICAqIHBhcmFtZXRlciBjaGVja1xuICAgICAqL1xuICAgIGlmICh0eXBlb2Ygc2VsZWN0b3IgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRocm93IG5ldyBDb21tYW5kRXJyb3IoJ251bWJlciBvciB0eXBlIG9mIGFyZ3VtZW50cyBkb25cXCd0IGFncmVlIHdpdGggZ2V0SFRNTCBjb21tYW5kJylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZWxlY3RvckV4ZWN1dGUoc2VsZWN0b3IsIGdldEhUTUxIZWxwZXIsIGluY2x1ZGVTZWxlY3RvclRhZykudGhlbigoaHRtbCkgPT4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogdGhyb3cgTm9TdWNoRWxlbWVudCBlcnJvciBpZiBubyBlbGVtZW50IHdhcyBmb3VuZFxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKCFodG1sKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbWFuZEVycm9yKDcpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaHRtbCAmJiBodG1sLmxlbmd0aCA9PT0gMSA/IGh0bWxbMF0gOiBodG1sXG4gICAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgZ2V0SFRNTFxuIl19 |