@leosprograms/vf-graphql-holochain
Version:
GraphQL schema bindings for the Holochain implementation of ValueFlows
44 lines • 4.64 kB
JavaScript
import { makeExecutableSchema } from '@graphql-tools/schema';
import { generateResolvers } from './src/resolvers/index.js';
// @ts-ignore
import { buildSchema, printSchema } from '@valueflows/vf-graphql';
export function createHolochainSchema(params) {
const cell = {
callZome: async function (args) {
return params.appWebSocket.callZome({
cap_secret: null,
role_name: params.roleName,
zome_name: args.zome_name,
fn_name: args.fn_name,
payload: args.payload,
});
}
};
const resolvers = generateResolvers(params.cell || cell);
const enabledVFModules = [
'util',
'pagination',
'history',
'agent',
'action',
'plan',
'util',
'commitment',
'proposal',
'recipe',
'process',
'measurement',
'observation',
'process_specification',
'resource_specification',
'agreement',
'intent',
];
const overriddenExtensionSchemas = [];
const executableSchema = makeExecutableSchema({
typeDefs: printSchema(buildSchema(enabledVFModules, overriddenExtensionSchemas)),
resolvers,
});
return executableSchema;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxhQUFhO0FBQ2IsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQVFqRSxNQUFNLFVBQVUscUJBQXFCLENBQUMsTUFBd0I7SUFDNUQsTUFBTSxJQUFJLEdBQUc7UUFDWCxRQUFRLEVBQUUsS0FBSyxXQUFVLElBQUk7WUFDM0IsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztnQkFDbEMsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFNBQVMsRUFBRSxNQUFNLENBQUMsUUFBUTtnQkFDMUIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ3JCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN0QixDQUFDLENBQUM7UUFDTCxDQUFDO0tBQ0YsQ0FBQTtJQUVELE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUE7SUFDeEQsTUFBTSxnQkFBZ0IsR0FBRztRQUN2QixNQUFNO1FBQ04sWUFBWTtRQUNaLFNBQVM7UUFDVCxPQUFPO1FBQ1AsUUFBUTtRQUNSLE1BQU07UUFDTixNQUFNO1FBQ04sWUFBWTtRQUNaLFVBQVU7UUFDVixRQUFRO1FBQ1IsU0FBUztRQUNULGFBQWE7UUFDYixhQUFhO1FBQ2IsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4QixXQUFXO1FBQ1gsUUFBUTtLQUNULENBQUE7SUFFRCxNQUFNLDBCQUEwQixHQUFHLEVBQUUsQ0FBQTtJQUNyQyxNQUFNLGdCQUFnQixHQUFHLG9CQUFvQixDQUFDO1FBQzVDLFFBQVEsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLDBCQUEwQixDQUFDLENBQUM7UUFDaEYsU0FBUztLQUNWLENBQUMsQ0FBQztJQUVILE9BQU8sZ0JBQWdCLENBQUE7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1ha2VFeGVjdXRhYmxlU2NoZW1hIH0gZnJvbSAnQGdyYXBocWwtdG9vbHMvc2NoZW1hJztcbmltcG9ydCB7IHR5cGUgR3JhcGhRTFNjaGVtYSB9IGZyb20gJ2dyYXBocWwnO1xuaW1wb3J0IHsgZ2VuZXJhdGVSZXNvbHZlcnMgfSBmcm9tICcuL3NyYy9yZXNvbHZlcnMvaW5kZXguanMnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgYnVpbGRTY2hlbWEsIHByaW50U2NoZW1hIH0gZnJvbSAnQHZhbHVlZmxvd3MvdmYtZ3JhcGhxbCdcblxudHlwZSBoUkVBU2NoZW1hUGFyYW1zID0ge1xuICBhcHBXZWJTb2NrZXQ6IGFueTtcbiAgcm9sZU5hbWU6IHN0cmluZztcbiAgY2VsbD86IGFueTsgLy8gSWYgeW91IHdhbnQgdG8gcGFzcyBhIGNlbGwgaW5zdGVhZCBvZiBhcHBXZWJTb2NrZXQgYW5kIHJvbGVOYW1lXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVIb2xvY2hhaW5TY2hlbWEocGFyYW1zOiBoUkVBU2NoZW1hUGFyYW1zKTogR3JhcGhRTFNjaGVtYSB7XG4gIGNvbnN0IGNlbGwgPSB7XG4gICAgY2FsbFpvbWU6IGFzeW5jIGZ1bmN0aW9uKGFyZ3MpIHtcbiAgICAgIHJldHVybiBwYXJhbXMuYXBwV2ViU29ja2V0LmNhbGxab21lKHtcbiAgICAgICAgY2FwX3NlY3JldDogbnVsbCxcbiAgICAgICAgcm9sZV9uYW1lOiBwYXJhbXMucm9sZU5hbWUsXG4gICAgICAgIHpvbWVfbmFtZTogYXJncy56b21lX25hbWUsXG4gICAgICAgIGZuX25hbWU6IGFyZ3MuZm5fbmFtZSxcbiAgICAgICAgcGF5bG9hZDogYXJncy5wYXlsb2FkLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcmVzb2x2ZXJzID0gZ2VuZXJhdGVSZXNvbHZlcnMocGFyYW1zLmNlbGwgfHwgY2VsbClcbiAgY29uc3QgZW5hYmxlZFZGTW9kdWxlcyA9IFtcbiAgICAndXRpbCcsXG4gICAgJ3BhZ2luYXRpb24nLFxuICAgICdoaXN0b3J5JyxcbiAgICAnYWdlbnQnLFxuICAgICdhY3Rpb24nLFxuICAgICdwbGFuJyxcbiAgICAndXRpbCcsXG4gICAgJ2NvbW1pdG1lbnQnLFxuICAgICdwcm9wb3NhbCcsXG4gICAgJ3JlY2lwZScsXG4gICAgJ3Byb2Nlc3MnLFxuICAgICdtZWFzdXJlbWVudCcsXG4gICAgJ29ic2VydmF0aW9uJyxcbiAgICAncHJvY2Vzc19zcGVjaWZpY2F0aW9uJyxcbiAgICAncmVzb3VyY2Vfc3BlY2lmaWNhdGlvbicsXG4gICAgJ2FncmVlbWVudCcsXG4gICAgJ2ludGVudCcsXG4gIF1cblxuICBjb25zdCBvdmVycmlkZGVuRXh0ZW5zaW9uU2NoZW1hcyA9IFtdXG4gIGNvbnN0IGV4ZWN1dGFibGVTY2hlbWEgPSBtYWtlRXhlY3V0YWJsZVNjaGVtYSh7XG4gICAgdHlwZURlZnM6IHByaW50U2NoZW1hKGJ1aWxkU2NoZW1hKGVuYWJsZWRWRk1vZHVsZXMsIG92ZXJyaWRkZW5FeHRlbnNpb25TY2hlbWFzKSksXG4gICAgcmVzb2x2ZXJzLFxuICB9KTtcblxuICByZXR1cm4gZXhlY3V0YWJsZVNjaGVtYVxufVxuIl19