UNPKG

js-markdown

Version:
76 lines (59 loc) 1.68 kB
'use strict'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _Str = _interopRequireDefault(require("./Str")); function preOrderTraverse(node, callback) { var deep = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; if (!callback.call(this, node, deep)) { return; } if (node.children && node.children.length > 0) { for (var i = 0, len = node.children.length; i < len; i++) { preOrderTraverse.call(this, node.children[i], callback, deep + 1); } } } /** * a tree traverse method * @param node * @param callback * @param deep */ function postOrderTraverse(node, callback) { var deep = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; if (node.children && node.children.length > 0) { for (var i = 0, len = node.children.length; i < len; i++) { postOrderTraverse.call(this, node.children[i], callback, deep + 1); } } callback.call(this, node, deep); } /** * remove blank(or only includes space and tab) item in array * @param array * @returns {*} */ function trimEndBlankLines(array) { if (!array || array.length < 1) { return array; } var temp; while (array.length > 0) { temp = array[array.length - 1]; if (temp === '' || _Str["default"].trim(temp, ' \t') === '') { array.pop(); } else { break; } } return array; } var _default = { preOrderTraverse: preOrderTraverse, postOrderTraverse: postOrderTraverse, trimEndBlankLines: trimEndBlankLines }; exports["default"] = _default;