UNPKG

@darkgl/slow-json-stringify

Version:
24 lines 938 B
import { _makeChunks } from './_makeChunks.js'; import { _makeQueue } from './_makeQueue.js'; import { _prepare } from './_prepare.js'; import { _select } from './_select.js'; import { attr, escape } from './_utils.js'; const sjs = (schema) => { const { preparedString, preparedSchema } = _prepare(schema); const queue = _makeQueue(preparedSchema, schema); const chunks = _makeChunks(preparedString, queue); const chunkLength = chunks.length - 1; const queueLength = queue.length; const selectChunk = _select(chunks); return (obj) => { let temp = ''; for (let i = 0; i < queueLength; ++i) { const { serializer, find } = queue[i]; temp += selectChunk(serializer(find(obj)), i); } const { flag, pure, prevUndef } = chunks[chunkLength]; return temp + (flag ? prevUndef : pure); }; }; export { sjs, attr, escape }; //# sourceMappingURL=sjs.js.map