piral-core
Version:
The core library for creating a Piral instance.
27 lines • 807 B
JavaScript
import * as actions from '../actions';
import { createNavigation, publicPath } from '../../app.codegen';
function createContext(state, events) {
const ctx = {
...events,
apis: {},
converters: {
html: ({ component }) => component,
},
navigation: createNavigation(publicPath),
state,
};
return ctx;
}
export function includeActions(ctx, actions) {
const actionNames = Object.keys(actions);
for (const actionName of actionNames) {
const action = actions[actionName];
ctx[actionName] = action.bind(ctx, ctx);
}
}
export function createActions(state, events) {
const context = createContext(state, events);
includeActions(context, actions);
return context;
}
//# sourceMappingURL=createActions.js.map