UNPKG

json-joy

Version:

Collection of libraries for building collaborative editing apps.

32 lines (31 loc) 893 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.apply = void 0; const apply = (str, op) => { const length = op.length; let res = ''; let offset = 0; for (let i = 0; i < length; i++) { const component = op[i]; switch (typeof component) { case 'number': { if (component > 0) { const end = offset + component; res += str.substring(offset, end); offset = end; } else offset -= component; break; } case 'string': res += component; break; case 'object': offset += component[0].length; break; } } return res + str.substring(offset); }; exports.apply = apply;