react-torch
Version:
A lib to server-side render with react.
42 lines (41 loc) • 1.51 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.runCreater = exports.usePageSetup = exports.setupPage = exports.createRenderHook = void 0;
var hook_1 = require("./hook");
var publish = function (callbackList) {
var resultList = [];
for (var i = 0; i < callbackList.length; i++) {
var callback = callbackList[i];
resultList.push(callback());
}
return resultList;
};
var createRenderHook = function () {
var _a = (0, hook_1.createHooks)({
usePageSetup: function () {
debugger;
throw new Error("usePageSetup can't not be called after initilizing");
},
}), run = _a.run, hooks = _a.hooks;
var usePageSetup = hooks.usePageSetup;
var setupPageCallbackList = [];
var implementations = {
usePageSetup: function (setupPageCallback) {
if (!setupPageCallbackList.includes(setupPageCallback)) {
setupPageCallbackList.push(setupPageCallback);
}
},
};
var runCreater = function (f) {
return run(f, implementations);
};
var setupPage = function () { return publish(setupPageCallbackList); };
return {
runCreater: runCreater,
usePageSetup: usePageSetup,
setupPage: setupPage,
};
};
exports.createRenderHook = createRenderHook;
exports.setupPage = (_a = (0, exports.createRenderHook)(), _a.setupPage), exports.usePageSetup = _a.usePageSetup, exports.runCreater = _a.runCreater;