UNPKG

@valueflows/vf-graphql-holochain

Version:

GraphQL schema bindings for the Holochain implementation of ValueFlows

44 lines 8.81 kB
/** * Resolvers for Proposal fields * * @package: HoloREA * @since: 2019-08-27 */ import { DEFAULT_VF_MODULES, VfModule } from '../types.js'; import { mapZomeFn } from '../connection.js'; import agentQueries from '../queries/agent.js'; const extractProposedTo = (data) => data.proposedTo; const extractProposedIntent = (data) => data.proposedIntent; export default (enabledVFModules = DEFAULT_VF_MODULES, dnaConfig, conductorUri) => { const hasHistory = -1 !== enabledVFModules.indexOf(VfModule.History); const hasAgent = -1 !== enabledVFModules.indexOf(VfModule.Agent); const hasIntent = -1 !== enabledVFModules.indexOf(VfModule.Intent); const readRevision = mapZomeFn(dnaConfig, conductorUri, 'proposal', 'proposal', 'get_revision'); const readProposedTo = mapZomeFn(dnaConfig, conductorUri, 'proposal', 'proposed_to', 'get_proposed_to'); const readProposedIntent = mapZomeFn(dnaConfig, conductorUri, 'proposal', 'proposed_intent', 'get_proposed_intent'); const readAgent = agentQueries(dnaConfig, conductorUri)['agent']; return Object.assign({ publishes: async (record) => { return (await Promise.all((record.publishes || []).map((address) => readProposedIntent({ address })))).map(extractProposedIntent); } }, (hasAgent ? { publishedTo: async (record) => { return (await Promise.all((record.publishedTo || []).map((address) => readProposedTo({ address })))).map(extractProposedTo); }, inScopeOf: async (record) => { return (await Promise.all((record.inScopeOf || []).map((address) => readAgent(record, { address })))); }, } : {}), (hasIntent ? { primaryIntents: () => { throw new Error('resolver unimplemented'); }, reciprocalIntents: () => { throw new Error('resolver unimplemented'); }, } : {}), (hasHistory ? { revision: async (record, args) => { return (await readRevision(args)).proposal; }, } : {})); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcG9zYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9yZXNvbHZlcnMvcHJvcG9zYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQWlCLGtCQUFrQixFQUFFLFFBQVEsRUFBc0YsTUFBTSxhQUFhLENBQUE7QUFDN0osT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBVzVDLE9BQU8sWUFBWSxNQUFNLHFCQUFxQixDQUFBO0FBRTlDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFJLEVBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUE7QUFDL0QsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLElBQUksRUFBa0IsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUE7QUFFM0UsZUFBZSxDQUFDLG1CQUErQixrQkFBa0IsRUFBRSxTQUF3QixFQUFFLFlBQW9CLEVBQUUsRUFBRTtJQUNuSCxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3BFLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEtBQUssZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUVsRSxNQUFNLFlBQVksR0FBRyxTQUFTLENBQStCLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQTtJQUM3SCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQWlDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3ZJLE1BQU0sa0JBQWtCLEdBQUcsU0FBUyxDQUFxQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsQ0FBQyxDQUFBO0lBQ3ZKLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFaEUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUNsQjtRQUNFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBOEMsRUFBNkIsRUFBRTtZQUM3RixPQUFPLENBQUMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUMsRUFBRSxDQUFBLGtCQUFrQixDQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQTtRQUMvSCxDQUFDO0tBQ0YsRUFDRCxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDVixXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQWdELEVBQXlCLEVBQUU7WUFDN0YsT0FBTyxDQUFDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFDLEVBQUUsQ0FBQSxjQUFjLENBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pILENBQUM7UUFDRCxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQXFDLEVBQThCLEVBQUU7WUFDckYsT0FBTyxDQUFDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFDLEVBQUUsQ0FBQSxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNuRyxDQUFDO0tBQ0YsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQ1AsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ1gsY0FBYyxFQUFFLEdBQUcsRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDM0MsQ0FBQztRQUNELGlCQUFpQixFQUFFLEdBQUcsRUFBRTtZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDM0MsQ0FBQztLQUNGLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNQLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNaLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBZ0IsRUFBRSxJQUEyQyxFQUFxQixFQUFFO1lBQ25HLE9BQU8sQ0FBQyxNQUFNLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtRQUM1QyxDQUFDO0tBQ0YsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ1IsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVzb2x2ZXJzIGZvciBQcm9wb3NhbCBmaWVsZHNcbiAqXG4gKiBAcGFja2FnZTogSG9sb1JFQVxuICogQHNpbmNlOiAgIDIwMTktMDgtMjdcbiAqL1xuXG5pbXBvcnQgeyBETkFJZE1hcHBpbmdzLCBERUZBVUxUX1ZGX01PRFVMRVMsIFZmTW9kdWxlLCBSZWFkUGFyYW1zLCBCeVJldmlzaW9uLCBQcm9wb3NlZEludGVudEFkZHJlc3MsIEFkZHJlc3NhYmxlSWRlbnRpZmllciwgQWdlbnRBZGRyZXNzIH0gZnJvbSAnLi4vdHlwZXMuanMnXG5pbXBvcnQgeyBtYXBab21lRm4gfSBmcm9tICcuLi9jb25uZWN0aW9uLmpzJ1xuXG5pbXBvcnQge1xuICBQcm9wb3NhbCxcbiAgUHJvcG9zYWxSZXNwb25zZSxcbiAgUHJvcG9zZWRUbyxcbiAgUHJvcG9zZWRJbnRlbnQsXG4gIFByb3Bvc2VkVG9SZXNwb25zZSxcbiAgUHJvcG9zZWRJbnRlbnRSZXNwb25zZSxcbiAgQWNjb3VudGluZ1Njb3BlLFxufSBmcm9tICdAdmFsdWVmbG93cy92Zi1ncmFwaHFsJ1xuaW1wb3J0IGFnZW50UXVlcmllcyBmcm9tICcuLi9xdWVyaWVzL2FnZW50LmpzJ1xuXG5jb25zdCBleHRyYWN0UHJvcG9zZWRUbyA9IChkYXRhKTogUHJvcG9zZWRUbyA9PiBkYXRhLnByb3Bvc2VkVG9cbmNvbnN0IGV4dHJhY3RQcm9wb3NlZEludGVudCA9IChkYXRhKTogUHJvcG9zZWRJbnRlbnQgPT4gZGF0YS5wcm9wb3NlZEludGVudFxuXG5leHBvcnQgZGVmYXVsdCAoZW5hYmxlZFZGTW9kdWxlczogVmZNb2R1bGVbXSA9IERFRkFVTFRfVkZfTU9EVUxFUywgZG5hQ29uZmlnOiBETkFJZE1hcHBpbmdzLCBjb25kdWN0b3JVcmk6IHN0cmluZykgPT4ge1xuICBjb25zdCBoYXNIaXN0b3J5ID0gLTEgIT09IGVuYWJsZWRWRk1vZHVsZXMuaW5kZXhPZihWZk1vZHVsZS5IaXN0b3J5KVxuICBjb25zdCBoYXNBZ2VudCA9IC0xICE9PSBlbmFibGVkVkZNb2R1bGVzLmluZGV4T2YoVmZNb2R1bGUuQWdlbnQpXG4gIGNvbnN0IGhhc0ludGVudCA9IC0xICE9PSBlbmFibGVkVkZNb2R1bGVzLmluZGV4T2YoVmZNb2R1bGUuSW50ZW50KVxuXG4gIGNvbnN0IHJlYWRSZXZpc2lvbiA9IG1hcFpvbWVGbjxCeVJldmlzaW9uLCBQcm9wb3NhbFJlc3BvbnNlPihkbmFDb25maWcsIGNvbmR1Y3RvclVyaSwgJ3Byb3Bvc2FsJywgJ3Byb3Bvc2FsJywgJ2dldF9yZXZpc2lvbicpXG4gIGNvbnN0IHJlYWRQcm9wb3NlZFRvID0gbWFwWm9tZUZuPFJlYWRQYXJhbXMsIFByb3Bvc2VkVG9SZXNwb25zZT4oZG5hQ29uZmlnLCBjb25kdWN0b3JVcmksICdwcm9wb3NhbCcsICdwcm9wb3NlZF90bycsICdnZXRfcHJvcG9zZWRfdG8nKVxuICBjb25zdCByZWFkUHJvcG9zZWRJbnRlbnQgPSBtYXBab21lRm48UmVhZFBhcmFtcywgUHJvcG9zZWRJbnRlbnRSZXNwb25zZT4oZG5hQ29uZmlnLCBjb25kdWN0b3JVcmksICdwcm9wb3NhbCcsICdwcm9wb3NlZF9pbnRlbnQnLCAnZ2V0X3Byb3Bvc2VkX2ludGVudCcpXG4gIGNvbnN0IHJlYWRBZ2VudCA9IGFnZW50UXVlcmllcyhkbmFDb25maWcsIGNvbmR1Y3RvclVyaSlbJ2FnZW50J11cblxuICByZXR1cm4gT2JqZWN0LmFzc2lnbihcbiAgICB7XG4gICAgICBwdWJsaXNoZXM6IGFzeW5jIChyZWNvcmQ6IHsgcHVibGlzaGVzOiBQcm9wb3NlZEludGVudEFkZHJlc3NbXSB9KTogUHJvbWlzZTxQcm9wb3NlZEludGVudFtdPiA9PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgUHJvbWlzZS5hbGwoKHJlY29yZC5wdWJsaXNoZXMgfHwgW10pLm1hcCgoYWRkcmVzcyk9PnJlYWRQcm9wb3NlZEludGVudCh7YWRkcmVzc30pKSkpLm1hcChleHRyYWN0UHJvcG9zZWRJbnRlbnQpXG4gICAgICB9XG4gICAgfSxcbiAgICAoaGFzQWdlbnQgPyB7XG4gICAgICBwdWJsaXNoZWRUbzogYXN5bmMgKHJlY29yZDogeyBwdWJsaXNoZWRUbzogQWRkcmVzc2FibGVJZGVudGlmaWVyW10gfSk6IFByb21pc2U8UHJvcG9zZWRUb1tdPiA9PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgUHJvbWlzZS5hbGwoKHJlY29yZC5wdWJsaXNoZWRUbyB8fCBbXSkubWFwKChhZGRyZXNzKT0+cmVhZFByb3Bvc2VkVG8oe2FkZHJlc3N9KSkpKS5tYXAoZXh0cmFjdFByb3Bvc2VkVG8pXG4gICAgICB9LFxuICAgICAgaW5TY29wZU9mOiBhc3luYyAocmVjb3JkOiB7IGluU2NvcGVPZjogQWdlbnRBZGRyZXNzW10gfSk6IFByb21pc2U8QWNjb3VudGluZ1Njb3BlW10+ID0+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCBQcm9taXNlLmFsbCgocmVjb3JkLmluU2NvcGVPZiB8fCBbXSkubWFwKChhZGRyZXNzKT0+cmVhZEFnZW50KHJlY29yZCwge2FkZHJlc3N9KSkpKVxuICAgICAgfSxcbiAgICB9IDoge30pLFxuICAgIChoYXNJbnRlbnQgPyB7XG4gICAgICBwcmltYXJ5SW50ZW50czogKCkgPT4ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Jlc29sdmVyIHVuaW1wbGVtZW50ZWQnKVxuICAgICAgfSxcbiAgICAgIHJlY2lwcm9jYWxJbnRlbnRzOiAoKSA9PiB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigncmVzb2x2ZXIgdW5pbXBsZW1lbnRlZCcpXG4gICAgICB9LFxuICAgIH0gOiB7fSksXG4gICAgKGhhc0hpc3RvcnkgPyB7XG4gICAgICByZXZpc2lvbjogYXN5bmMgKHJlY29yZDogUHJvcG9zYWwsIGFyZ3M6IHsgcmV2aXNpb25JZDogQWRkcmVzc2FibGVJZGVudGlmaWVyIH0pOiBQcm9taXNlPFByb3Bvc2FsPiA9PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgcmVhZFJldmlzaW9uKGFyZ3MpKS5wcm9wb3NhbFxuICAgICAgfSxcbiAgICB9IDoge30pLFxuICApXG59XG4iXX0=