piral-core
Version:
The core library for creating a Piral instance.
25 lines • 756 B
JavaScript
import { isfunc, initializeApi, mergeApis } from 'piral-base';
import { createCoreApi } from './core';
export function createExtenders(context, apis) {
const creators = [createCoreApi, ...apis.filter(isfunc)];
return creators.map((c) => {
const ctx = c(context);
if (isfunc(ctx)) {
return ctx;
}
else {
return () => ({
...ctx,
});
}
});
}
export function defaultApiFactory(context, apis) {
const extenders = createExtenders(context, apis);
return (target) => {
const api = initializeApi(target, context);
context.apis[target.name] = api;
return mergeApis(api, extenders, target);
};
}
//# sourceMappingURL=api.js.map