3 var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
5 var last = function last(array) {
6 return array[array.length - 1];
12 * Parse string to nodes tree
14 parse: function parse(str) {
16 var stack = [current];
18 for (var i = 0; i < str.length; i++) {
22 last(stack).push(current);
29 current = last(stack);
34 current[current.length - 1] += sym;
42 * Generate output string by nodes tree
44 stringify: function stringify(ast) {
46 for (var _iterator = ast, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
50 if (_i >= _iterator.length) break;
51 _ref = _iterator[_i++];
53 _i = _iterator.next();
60 if ((typeof i === 'undefined' ? 'undefined' : _typeof(i)) === 'object') {
61 result += '(' + brackets.stringify(i) + ')';
71 module.exports = brackets;