@reactant/context
Version:
246 lines (199 loc) • 15.6 kB
JavaScript
;
require("core-js/modules/es.function.name");
require("core-js/modules/es.object.to-string");
require("core-js/modules/es.promise");
require("core-js/modules/es.regexp.constructor");
require("core-js/modules/es.regexp.exec");
require("core-js/modules/es.regexp.to-string");
require("core-js/modules/es.string.replace");
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {
requireDefault: true,
state: true,
setContext: true,
finish: true,
syncContext: true,
sanitizeJsonString: true,
sanitizeConfig: true,
sanitizeContext: true,
bootstrap: true,
defaultContext: true,
merge: true
};
exports.requireDefault = requireDefault;
exports.default = getContext;
exports.setContext = setContext;
exports.finish = finish;
exports.syncContext = syncContext;
exports.sanitizeJsonString = sanitizeJsonString;
exports.sanitizeConfig = sanitizeConfig;
exports.sanitizeContext = sanitizeContext;
Object.defineProperty(exports, "bootstrap", {
enumerable: true,
get: function get() {
return _bootstrap.default;
}
});
Object.defineProperty(exports, "defaultContext", {
enumerable: true,
get: function get() {
return _defaultContext.default;
}
});
Object.defineProperty(exports, "merge", {
enumerable: true,
get: function get() {
return _merge.default;
}
});
exports.state = void 0;
require("regenerator-runtime/runtime");
var _flatted = require("flatted");
var _state = _interopRequireDefault(require("./state"));
var _bootstrap = _interopRequireDefault(require("./bootstrap"));
var _defaultContext = _interopRequireDefault(require("./defaultContext"));
var _merge = _interopRequireDefault(require("./merge"));
var _pkg = require("./pkg");
Object.keys(_pkg).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _pkg[key];
}
});
});
var _platform = require("./platform");
Object.keys(_platform).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _platform[key];
}
});
});
var _plugin = require("./plugin");
Object.keys(_plugin).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _plugin[key];
}
});
});
var _processes = require("./processes");
Object.keys(_processes).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _processes[key];
}
});
});
var _context2 = require("@reactant/types/lib/context");
Object.keys(_context2).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _context2[key];
}
});
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function requireDefault(moduleName) {
// eslint-disable-next-line global-require,import/no-dynamic-require
var required = require(moduleName);
if (required.__esModule && required.default) return required.default;
return required;
}
function postprocess(context) {
// TODO
return context;
}
var state = new _state.default('context', postprocess);
exports.state = state;
function getContext() {
var context = state.state;
return typeof context === 'undefined' ? _defaultContext.default : context;
}
function setContext(context) {
state.state = context;
return getContext();
}
function finish() {
return state.finish();
}
function syncContext(callback) {
var _callback$constructor, _callback$constructor2;
var context = getContext();
if (!callback) return context;
if ( // eslint-disable-next-line no-undef,no-restricted-globals
(callback === null || callback === void 0 ? void 0 : (_callback$constructor = callback.constructor) === null || _callback$constructor === void 0 ? void 0 : _callback$constructor.name) === 'AsyncFunction' || // eslint-disable-next-line no-undef,no-restricted-globals
(callback === null || callback === void 0 ? void 0 : (_callback$constructor2 = callback.constructor) === null || _callback$constructor2 === void 0 ? void 0 : _callback$constructor2.name) === 'Promise') {
// eslint-disable-next-line no-async-promise-executor
return new Promise( /*#__PURE__*/function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(resolve, reject) {
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
_context.t0 = resolve;
_context.t1 = setContext;
_context.next = 5;
return callback(context);
case 5:
_context.t2 = _context.sent;
_context.t3 = (0, _context.t1)(_context.t2);
return _context.abrupt("return", (0, _context.t0)(_context.t3));
case 10:
_context.prev = 10;
_context.t4 = _context["catch"](0);
return _context.abrupt("return", reject(_context.t4));
case 13:
case "end":
return _context.stop();
}
}
}, _callee, null, [[0, 10]]);
}));
return function (_x, _x2) {
return _ref.apply(this, arguments);
};
}());
}
return setContext(callback(context));
}
function sanitizeJsonString(json, rootPath) {
return json.replace(new RegExp("".concat(rootPath.replace(/\//g, '/'), "\\/?"), 'g'), '');
}
function sanitizeConfig(config, rootPath) {
var configString = (0, _flatted.stringify)(config);
if (rootPath) configString = sanitizeJsonString(configString, rootPath);
var sanitizedConfig = (0, _flatted.parse)(configString);
return sanitizedConfig;
}
function sanitizeContext(context) {
var contextString = sanitizeJsonString((0, _flatted.stringify)(context), context.paths.root);
var sanitizedContext = (0, _flatted.parse)(contextString);
sanitizedContext.paths.root = '.';
if (context.config) {
sanitizedContext.config = sanitizeConfig(context.config, context.paths.root);
}
sanitizedContext.state.sanitized = true;
return sanitizedContext;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub2RlLnRzIl0sIm5hbWVzIjpbInJlcXVpcmVEZWZhdWx0IiwibW9kdWxlTmFtZSIsInJlcXVpcmVkIiwicmVxdWlyZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwicG9zdHByb2Nlc3MiLCJjb250ZXh0Iiwic3RhdGUiLCJTdGF0ZSIsImdldENvbnRleHQiLCJkZWZhdWx0Q29udGV4dCIsInNldENvbnRleHQiLCJmaW5pc2giLCJzeW5jQ29udGV4dCIsImNhbGxiYWNrIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJzYW5pdGl6ZUpzb25TdHJpbmciLCJqc29uIiwicm9vdFBhdGgiLCJyZXBsYWNlIiwiUmVnRXhwIiwic2FuaXRpemVDb25maWciLCJjb25maWciLCJjb25maWdTdHJpbmciLCJzYW5pdGl6ZWRDb25maWciLCJzYW5pdGl6ZUNvbnRleHQiLCJjb250ZXh0U3RyaW5nIiwicGF0aHMiLCJyb290Iiwic2FuaXRpemVkQ29udGV4dCIsInNhbml0aXplZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFxRkE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7O0FBdkZPLFNBQVNBLGNB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RyxvQkFBTUgsYUFBTixDQUFsQztBQUNBRyxFQUFBQSxnQkFBZ0IsQ0FBQ0YsS0FBakIsQ0FBdUJDLElBQXZCLEdBQThCLEdBQTlCOztBQUNBLE1BQUkxQixPQUFPLENBQUNvQixNQUFaLEVBQW9CO0FBQ2xCTyxJQUFBQSxnQkFBZ0IsQ0FBQ1AsTUFBakIsR0FBMEJELGNBQWMsQ0FDdENuQixPQUFPLENBQUNvQixNQUQ4QixFQUV0Q3BCLE9BQU8sQ0FBQ3lCLEtBQVIsQ0FBY0MsSUFGd0IsQ0FBeEM7QUFJRDs7QUFDREMsRUFBQUEsZ0JBQWdCLENBQUMxQixLQUFqQixDQUF1QjJCLFNBQXZCLEdBQW1DLElBQW5DO0FBQ0EsU0FBT0QsZ0JBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlLCBzdHJpbmdpZnkgfSBmcm9tICdmbGF0dGVkJztcbmltcG9ydCB7IENvbmZpZywgQ29udGV4dCwgU3luY0NvbnRleHRDYWxsYmFjayB9IGZyb20gJ0ByZWFjdGFudC90eXBlcyc7XG5pbXBvcnQgU3RhdGUgZnJvbSAnLi9zdGF0ZSc7XG5pbXBvcnQgYm9vdHN0cmFwIGZyb20gJy4vYm9vdHN0cmFwJztcbmltcG9ydCBkZWZhdWx0Q29udGV4dCBmcm9tICcuL2RlZmF1bHRDb250ZXh0JztcbmltcG9ydCBtZXJnZSBmcm9tICcuL21lcmdlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVEZWZhdWx0PFQgPSBhbnk+KG1vZHVsZU5hbWU6IHN0cmluZyk6IFQge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZ2xvYmFsLXJlcXVpcmUsaW1wb3J0L25vLWR5bmFtaWMtcmVxdWlyZVxuICBjb25zdCByZXF1aXJlZCA9IHJlcXVpcmUobW9kdWxlTmFtZSk7XG4gIGlmIChyZXF1aXJlZC5fX2VzTW9kdWxlICYmIHJlcXVpcmVkLmRlZmF1bHQpIHJldHVybiByZXF1aXJlZC5kZWZhdWx0O1xuICByZXR1cm4gcmVxdWlyZWQ7XG59XG5cbmZ1bmN0aW9uIHBvc3Rwcm9jZXNzKGNvbnRleHQ6IENvbnRleHQpOiBDb250ZXh0IHtcbiAgLy8gVE9ET1xuICByZXR1cm4gY29udGV4dDtcbn1cblxuZXhwb3J0IGNvbnN0IHN0YXRlID0gbmV3IFN0YXRlPENvbnRleHQ+KCdjb250ZXh0JywgcG9zdHByb2Nlc3MpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRDb250ZXh0KCk6IENvbnRleHQge1xuICBjb25zdCBjb250ZXh0ID0gc3RhdGUuc3RhdGU7XG4gIHJldHVybiB0eXBlb2YgY29udGV4dCA9PT0gJ3VuZGVmaW5lZCcgPyBkZWZhdWx0Q29udGV4dCA6IGNvbnRleHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRDb250ZXh0KGNvbnRleHQ6IENvbnRleHQpOiBDb250ZXh0IHtcbiAgc3RhdGUuc3RhdGUgPSBjb250ZXh0O1xuICByZXR1cm4gZ2V0Q29udGV4dCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluaXNoKCkge1xuICByZXR1cm4gc3RhdGUuZmluaXNoKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jQ29udGV4dChcbiAgY2FsbGJhY2s/OiBTeW5jQ29udGV4dENhbGxiYWNrXG4pOiBDb250ZXh0IHwgUHJvbWlzZTxDb250ZXh0PiB7XG4gIGNvbnN0IGNvbnRleHQgPSBnZXRDb250ZXh0KCk7XG4gIGlmICghY2FsbGJhY2spIHJldHVybiBjb250ZXh0O1xuICBpZiAoXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmLG5vLXJlc3RyaWN0ZWQtZ2xvYmFsc1xuICAgIGNhbGxiYWNrPy5jb25zdHJ1Y3Rvcj8ubmFtZSA9PT0gJ0FzeW5jRnVuY3Rpb24nIHx8XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmLG5vLXJlc3RyaWN0ZWQtZ2xvYmFsc1xuICAgIGNhbGxiYWNrPy5jb25zdHJ1Y3Rvcj8ubmFtZSA9PT0gJ1Byb21pc2UnXG4gICkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1hc3luYy1wcm9taXNlLWV4ZWN1dG9yXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlKHNldENvbnRleHQoYXdhaXQgY2FsbGJhY2soY29udGV4dCkpKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHNldENvbnRleHQoY2FsbGJhY2soY29udGV4dCkgYXMgQ29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzYW5pdGl6ZUpzb25TdHJpbmcoanNvbjogc3RyaW5nLCByb290UGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGpzb24ucmVwbGFjZShcbiAgICBuZXcgUmVnRXhwKGAke3Jvb3RQYXRoLnJlcGxhY2UoL1xcLy9nLCAnLycpfVxcXFwvP2AsICdnJyksXG4gICAgJydcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplQ29uZmlnKGNvbmZpZzogQ29uZmlnLCByb290UGF0aD86IHN0cmluZyk6IENvbmZpZyB7XG4gIGxldCBjb25maWdTdHJpbmcgPSBzdHJpbmdpZnkoY29uZmlnKTtcbiAgaWYgKHJvb3RQYXRoKSBjb25maWdTdHJpbmcgPSBzYW5pdGl6ZUpzb25TdHJpbmcoY29uZmlnU3RyaW5nLCByb290UGF0aCk7XG4gIGNvbnN0IHNhbml0aXplZENvbmZpZzogQ29uZmlnID0gcGFyc2UoY29uZmlnU3RyaW5nKTtcbiAgcmV0dXJuIHNhbml0aXplZENvbmZpZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplQ29udGV4dChjb250ZXh0OiBDb250ZXh0KTogQ29udGV4dCB7XG4gIGNvbnN0IGNvbnRleHRTdHJpbmcgPSBzYW5pdGl6ZUpzb25TdHJpbmcoXG4gICAgc3RyaW5naWZ5KGNvbnRleHQpLFxuICAgIGNvbnRleHQucGF0aHMucm9vdFxuICApO1xuICBjb25zdCBzYW5pdGl6ZWRDb250ZXh0OiBDb250ZXh0ID0gcGFyc2UoY29udGV4dFN0cmluZyk7XG4gIHNhbml0aXplZENvbnRleHQucGF0aHMucm9vdCA9ICcuJztcbiAgaWYgKGNvbnRleHQuY29uZmlnKSB7XG4gICAgc2FuaXRpemVkQ29udGV4dC5jb25maWcgPSBzYW5pdGl6ZUNvbmZpZyhcbiAgICAgIGNvbnRleHQuY29uZmlnLFxuICAgICAgY29udGV4dC5wYXRocy5yb290XG4gICAgKTtcbiAgfVxuICBzYW5pdGl6ZWRDb250ZXh0LnN0YXRlLnNhbml0aXplZCA9IHRydWU7XG4gIHJldHVybiBzYW5pdGl6ZWRDb250ZXh0O1xufVxuXG5leHBvcnQgeyBib290c3RyYXAsIGRlZmF1bHRDb250ZXh0LCBtZXJnZSB9O1xuZXhwb3J0ICogZnJvbSAnLi9wa2cnO1xuZXhwb3J0ICogZnJvbSAnLi9wbGF0Zm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3BsdWdpbic7XG5leHBvcnQgKiBmcm9tICcuL3Byb2Nlc3Nlcyc7XG5leHBvcnQgKiBmcm9tICdAcmVhY3RhbnQvdHlwZXMvbGliL2NvbnRleHQnO1xuIl19