UNPKG

boats

Version:

Beautiful Open / Async Template System - Write less yaml with BOATS and Nunjucks.

29 lines (28 loc) 918 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = (str, pointer) => { let spaceStart = false; let spaceStartPointer = 0; let spaceEndPointer = 0; for (let i = pointer; i >= 0; --i) { if (str[i] === ' ' && !spaceStart) { spaceStart = true; spaceStartPointer = i; } else if (str[i] === '\n' || i === 0) { spaceEndPointer = i; if (str[i] === '\n' && i === 0 && spaceStartPointer > 2) { ++spaceEndPointer; } else if (str[i] !== '\n' && i === 0 && spaceStartPointer > 0) { --spaceEndPointer; } break; } else if (str[i] !== ' ') { spaceStart = false; spaceStartPointer = 0; } } return spaceStartPointer === 0 ? 0 : spaceStartPointer - spaceEndPointer; };