UNPKG

takedown

Version:
43 lines (33 loc) 1.31 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var resourcePool = require('../../lib/resource-pool.js'); var agent = require('./agency/agent.js'); var detabber = require('./detabber.js'); var index = require('./entitor/index.js'); var finalizer = require('./finalizer.js'); var interpolator = require('./interpolator.js'); var parser$1 = require('./parser.js'); let insecureRe = /&#x?0+;/gi; function parser (config) { let detab = detabber.default(config); let madoe = index.default(config); let inter = interpolator.default(config); let finalize = finalizer.default(config, inter); let agentPool = resourcePool.default(() => agent.default(config)); return (source) => { let document = { id: performance.now().toString(16).replace('.', ''), refs: {} }; let parse = parser$1.default({ document, agentPool, madoe }); // replace insecure character source = source.replace(insecureRe, '�'); // replace structural tabs with spaces source = detab(source); // parse document let target = parse(source, 'root'); // render document target = finalize(target, document); return { source, doc: target, meta: document }; } } exports.default = parser;