UNPKG

@leosprograms/vf-graphql-holochain

Version:

GraphQL schema bindings for the Holochain implementation of ValueFlows

57 lines 12.6 kB
/** * Recipe Flow record reference resolvers * * @package: HoloREA * @since: 2019-08-31 */ import { DEFAULT_VF_MODULES, VfModule } from '../types.js'; import { mapZomeFn } from '../connection.js'; const extractProposedIntent = (data) => data.proposedIntent; export default (enabledVFModules = DEFAULT_VF_MODULES, dnaConfig, conductorUri) => { const hasResourceSpecification = -1 !== enabledVFModules.indexOf(VfModule.ResourceSpecification); const hasProcessSpecification = -1 !== enabledVFModules.indexOf(VfModule.ProcessSpecification); const hasAction = -1 !== enabledVFModules.indexOf(VfModule.Action); const hasHistory = -1 !== enabledVFModules.indexOf(VfModule.History); const readResourceSpecification = mapZomeFn(dnaConfig, conductorUri, 'combined', 'resource_specification', 'get_resource_specification'); const readProcessSpecification = mapZomeFn(dnaConfig, conductorUri, 'combined', 'process_specification', 'get_process_specification'); const readAction = mapZomeFn(dnaConfig, conductorUri, 'combined', 'action', 'get_action'); const readRecipeProcess = mapZomeFn(dnaConfig, conductorUri, 'combined', 'recipe_process', 'get_recipe_process'); const readRecipeExchange = mapZomeFn(dnaConfig, conductorUri, 'combined', 'recipe_exchange', 'get_recipe_exchange'); const readRevision = mapZomeFn(dnaConfig, conductorUri, 'combined', 'recipe_flow', 'get_revision'); return Object.assign({ recipeInputOf: async (record) => { return (await readRecipeProcess({ address: record.recipeInputOf })).recipeProcess; }, recipeOutputOf: async (record) => { return (await readRecipeProcess({ address: record.recipeOutputOf })).recipeProcess; }, recipeClauseOf: async (record) => { return (await readRecipeExchange({ address: record.recipeClauseOf })).recipeExchange; }, recipeReciprocalClauseOf: async (record) => { return (await readRecipeExchange({ address: record.recipeReciprocalClauseOf })).recipeExchange; }, }, (hasResourceSpecification ? { resourceConformsTo: async (record) => { return (await readResourceSpecification({ address: record.resourceConformsTo })).resourceSpecification; }, } : {}), (hasProcessSpecification ? { stage: async (record) => { try { return (await readProcessSpecification({ address: record.stage })).processSpecification; } catch (e) { return null; } }, } : {}), (hasAction ? { action: async (record) => { return (await readAction({ id: record.action })); }, } : {}), (hasHistory ? { revision: async (record, args) => { return (await readRevision(args)).recipeFlow; }, } : {})); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlRmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Jlc29sdmVycy9yZWNpcGVGbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFpQixrQkFBa0IsRUFBRSxRQUFRLEVBQ1UsTUFBTSxhQUFhLENBQUE7QUFDakYsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQTRCMUQsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLElBQUksRUFBa0IsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUE7QUFFM0UsZUFBZSxDQUFDLG1CQUErQixrQkFBa0IsRUFBRSxTQUF3QixFQUFFLFlBQW9CLEVBQUUsRUFBRTtJQUNuSCxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQUNoRyxNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUM5RixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2xFLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFcEUsTUFBTSx5QkFBeUIsR0FBRyxTQUFTLENBQTRDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLHdCQUF3QixFQUFFLDRCQUE0QixDQUFDLENBQUE7SUFDbkwsTUFBTSx3QkFBd0IsR0FBRyxTQUFTLENBQTJDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixDQUFDLENBQUE7SUFDL0ssTUFBTSxV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QzlDLENBQUM7S0FDRixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDUixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZWNpcGUgRmxvdyByZWNvcmQgcmVmZXJlbmNlIHJlc29sdmVyc1xuICpcbiAqIEBwYWNrYWdlOiBIb2xvUkVBXG4gKiBAc2luY2U6ICAgMjAxOS0wOC0zMVxuICovXG5cbmltcG9ydCB7IEROQUlkTWFwcGluZ3MsIERFRkFVTFRfVkZfTU9EVUxFUywgVmZNb2R1bGUsIFJlYWRQYXJhbXMsIEJ5SWQsIEJ5UmV2aXNpb24sIFByb3Bvc2VkSW50ZW50QWRkcmVzcywgUmVzb3VyY2VTcGVjaWZpY2F0aW9uQWRkcmVzcywgUHJvY2Vzc1NwZWNpZmljYXRpb25BZGRyZXNzLCBSZWNpcGVQcm9jZXNzQWRkcmVzcywgXG4gIFJlY2lwZUV4Y2hhbmdlQWRkcmVzcywgQWRkcmVzc2FibGVJZGVudGlmaWVyLCBBZ2VudEFkZHJlc3MgfSBmcm9tICcuLi90eXBlcy5qcydcbmltcG9ydCB7IGV4dHJhY3RFZGdlcywgbWFwWm9tZUZuIH0gZnJvbSAnLi4vY29ubmVjdGlvbi5qcydcblxuaW1wb3J0IHtcbiAgTWF5YmUsXG4gIEFnZW50LFxuICBSZWNpcGVGbG93LFxuICBSZWNpcGVGbG93UmVzcG9uc2UsXG4gIFNhdGlzZmFjdGlvbixcbiAgUHJvY2VzcyxcbiAgUmVzb3VyY2VTcGVjaWZpY2F0aW9uLFxuICBQcm9jZXNzU3BlY2lmaWNhdGlvbixcbiAgUHJvcG9zZWRJbnRlbnQsXG4gIEFjdGlvbixcbiAgU2F0aXNmYWN0aW9uQ29ubmVjdGlvbixcbiAgUHJvY2Vzc0Nvbm5lY3Rpb24sXG4gIFByb3Bvc2VkSW50ZW50UmVzcG9uc2UsXG4gIFJlc291cmNlU3BlY2lmaWNhdGlvblJlc3BvbnNlLFxuICBQcm9jZXNzU3BlY2lmaWNhdGlvblJlc3BvbnNlLFxuICBBY2NvdW50aW5nU2NvcGUsXG4gIFJlY2lwZVByb2Nlc3MsXG4gIFJlY2lwZVByb2Nlc3NSZXNwb25zZSxcbiAgUmVjaXBlRXhjaGFuZ2UsXG4gIFJlY2lwZUV4Y2hhbmdlUmVzcG9uc2UsXG59IGZyb20gJ0BsZW9zcHJvZ3JhbXMvdmYtZ3JhcGhxbCdcblxuaW1wb3J0IGFnZW50UXVlcmllcyBmcm9tICcuLi9xdWVyaWVzL2FnZW50LmpzJ1xuaW1wb3J0IHsgUHJvY2Vzc1NlYXJjaElucHV0LCBTYXRpc2ZhY3Rpb25TZWFyY2hJbnB1dCB9IGZyb20gJy4vem9tZVNlYXJjaElucHV0VHlwZXMuanMnXG5cbmNvbnN0IGV4dHJhY3RQcm9wb3NlZEludGVudCA9IChkYXRhKTogUHJvcG9zZWRJbnRlbnQgPT4gZGF0YS5wcm9wb3NlZEludGVudFxuXG5leHBvcnQgZGVmYXVsdCAoZW5hYmxlZFZGTW9kdWxlczogVmZNb2R1bGVbXSA9IERFRkFVTFRfVkZfTU9EVUxFUywgZG5hQ29uZmlnOiBETkFJZE1hcHBpbmdzLCBjb25kdWN0b3JVcmk6IHN0cmluZykgPT4ge1xuICBjb25zdCBoYXNSZXNvdXJjZVNwZWNpZmljYXRpb24gPSAtMSAhPT0gZW5hYmxlZFZGTW9kdWxlcy5pbmRleE9mKFZmTW9kdWxlLlJlc291cmNlU3BlY2lmaWNhdGlvbilcbiAgY29uc3QgaGFzUHJvY2Vzc1NwZWNpZmljYXRpb24gPSAtMSAhPT0gZW5hYmxlZFZGTW9kdWxlcy5pbmRleE9mKFZmTW9kdWxlLlByb2Nlc3NTcGVjaWZpY2F0aW9uKVxuICBjb25zdCBoYXNBY3Rpb24gPSAtMSAhPT0gZW5hYmxlZFZGTW9kdWxlcy5pbmRleE9mKFZmTW9kdWxlLkFjdGlvbilcbiAgY29uc3QgaGFzSGlzdG9yeSA9IC0xICE9PSBlbmFibGVkVkZNb2R1bGVzLmluZGV4T2YoVmZNb2R1bGUuSGlzdG9yeSlcblxuICBjb25zdCByZWFkUmVzb3VyY2VTcGVjaWZpY2F0aW9uID0gbWFwWm9tZUZuPFJlYWRQYXJhbXMsIFJlc291cmNlU3BlY2lmaWNhdGlvblJlc3BvbnNlPihkbmFDb25maWcsIGNvbmR1Y3RvclVyaSwgJ2NvbWJpbmVkJywgJ3Jlc291cmNlX3NwZWNpZmljYXRpb24nLCAnZ2V0X3Jlc291cmNlX3NwZWNpZmljYXRpb24nKVxuICBjb25zdCByZWFkUHJvY2Vzc1NwZWNpZmljYXRpb24gPSBtYXBab21lRm48UmVhZFBhcmFtcywgUHJvY2Vzc1NwZWNpZmljYXRpb25SZXNwb25zZT4oZG5hQ29uZmlnLCBjb25kdWN0b3JVcmksICdjb21iaW5lZCcsICdwcm9jZXNzX3NwZWNpZmljYXRpb24nLCAnZ2V0X3Byb2Nlc3Nfc3BlY2lmaWNhdGlvbicpXG4gIGNvbnN0IHJlYWRBY3Rpb24gPSBtYXBab21lRm48QnlJZCwgQWN0aW9uPihkbmFDb25maWcsIGNvbmR1Y3RvclVyaSwgJ2NvbWJpbmVkJywgJ2FjdGlvbicsICdnZXRfYWN0aW9uJylcbiAgY29uc3QgcmVhZFJlY2lwZVByb2Nlc3MgPSBtYXBab21lRm48UmVhZFBhcmFtcywgUmVjaXBlUHJvY2Vzc1Jlc3BvbnNlPihkbmFDb25maWcsIGNvbmR1Y3RvclVyaSwgJ2NvbWJpbmVkJywgJ3JlY2lwZV9wcm9jZXNzJywgJ2dldF9yZWNpcGVfcHJvY2VzcycpXG4gIGNvbnN0IHJlYWRSZWNpcGVFeGNoYW5nZSA9IG1hcFpvbWVGbjxSZWFkUGFyYW1zLCBSZWNpcGVFeGNoYW5nZVJlc3BvbnNlPihkbmFDb25maWcsIGNvbmR1Y3RvclVyaSwgJ2NvbWJpbmVkJywgJ3JlY2lwZV9leGNoYW5nZScsICdnZXRfcmVjaXBlX2V4Y2hhbmdlJylcbiAgY29uc3QgcmVhZFJldmlzaW9uID0gbWFwWm9tZUZuPEJ5UmV2aXNpb24sIFJlY2lwZUZsb3dSZXNwb25zZT4oZG5hQ29uZmlnLCBjb25kdWN0b3JVcmksICdjb21iaW5lZCcsICdyZWNpcGVfZmxvdycsICdnZXRfcmV2aXNpb24nKVxuXG4gIHJldHVybiBPYmplY3QuYXNzaWduKFxuICAgIHtcbiAgICAgIHJlY2lwZUlucHV0T2Y6IGFzeW5jIChyZWNvcmQ6IHsgcmVjaXBlSW5wdXRPZjogUmVjaXBlUHJvY2Vzc0FkZHJlc3MgfSk6IFByb21pc2U8UmVjaXBlUHJvY2Vzcz4gPT4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHJlYWRSZWNpcGVQcm9jZXNzKHsgYWRkcmVzczogcmVjb3JkLnJlY2lwZUlucHV0T2YgfSkpLnJlY2lwZVByb2Nlc3NcbiAgICAgIH0sXG4gICAgICByZWNpcGVPdXRwdXRPZjogYXN5bmMgKHJlY29yZDogeyByZWNpcGVPdXRwdXRPZjogUmVjaXBlUHJvY2Vzc0FkZHJlc3MgfSk6IFByb21pc2U8UmVjaXBlUHJvY2Vzcz4gPT4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHJlYWRSZWNpcGVQcm9jZXNzKHsgYWRkcmVzczogcmVjb3JkLnJlY2lwZU91dHB1dE9mIH0pKS5yZWNpcGVQcm9jZXNzXG4gICAgICB9LFxuICAgICAgcmVjaXBlQ2xhdXNlT2Y6IGFzeW5jIChyZWNvcmQ6IHsgcmVjaXBlQ2xhdXNlT2Y6IFJlY2lwZUV4Y2hhbmdlQWRkcmVzcyB9KTogUHJvbWlzZTxSZWNpcGVFeGNoYW5nZT4gPT4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHJlYWRSZWNpcGVFeGNoYW5nZSh7IGFkZHJlc3M6IHJlY29yZC5yZWNpcGVDbGF1c2VPZiB9KSkucmVjaXBlRXhjaGFuZ2VcbiAgICAgIH0sXG4gICAgICByZWNpcGVSZWNpcHJvY2FsQ2xhdXNlT2Y6IGFzeW5jIChyZWNvcmQ6IHsgcmVjaXBlUmVjaXByb2NhbENsYXVzZU9mOiBSZWNpcGVFeGNoYW5nZUFkZHJlc3MgfSk6IFByb21pc2U8UmVjaXBlRXhjaGFuZ2U+ID0+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCByZWFkUmVjaXBlRXhjaGFuZ2UoeyBhZGRyZXNzOiByZWNvcmQucmVjaXBlUmVjaXByb2NhbENsYXVzZU9mIH0pKS5yZWNpcGVFeGNoYW5nZVxuICAgICAgfSxcbiAgICB9LCAgICBcbiAgICAoaGFzUmVzb3VyY2VTcGVjaWZpY2F0aW9uID8ge1xuICAgICAgcmVzb3VyY2VDb25mb3Jtc1RvOiBhc3luYyAocmVjb3JkOiB7IHJlc291cmNlQ29uZm9ybXNUbzogUmVzb3VyY2VTcGVjaWZpY2F0aW9uQWRkcmVzcyB9KTogUHJvbWlzZTxSZXNvdXJjZVNwZWNpZmljYXRpb24+ID0+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCByZWFkUmVzb3VyY2VTcGVjaWZpY2F0aW9uKHsgYWRkcmVzczogcmVjb3JkLnJlc291cmNlQ29uZm9ybXNUbyB9KSkucmVzb3VyY2VTcGVjaWZpY2F0aW9uXG4gICAgICB9LFxuICAgIH0gOiB7fSksXG4gICAgKGhhc1Byb2Nlc3NTcGVjaWZpY2F0aW9uID8ge1xuICAgICAgc3RhZ2U6IGFzeW5jIChyZWNvcmQ6IHsgc3RhZ2U6IFByb2Nlc3NTcGVjaWZpY2F0aW9uQWRkcmVzcyB9KTogUHJvbWlzZTxNYXliZTxQcm9jZXNzU3BlY2lmaWNhdGlvbj4+ID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gKGF3YWl0IHJlYWRQcm9jZXNzU3BlY2lmaWNhdGlvbih7IGFkZHJlc3M6IHJlY29yZC5zdGFnZSB9KSkucHJvY2Vzc1NwZWNpZmljYXRpb25cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSA6IHt9KSxcbiAgICAoaGFzQWN0aW9uID8ge1xuICAgICAgYWN0aW9uOiBhc3luYyAocmVjb3JkOiB7IGFjdGlvbjogQWRkcmVzc2FibGVJZGVudGlmaWVyIH0pOiBQcm9taXNlPEFjdGlvbj4gPT4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHJlYWRBY3Rpb24oeyBpZDogcmVjb3JkLmFjdGlvbiB9KSlcbiAgICAgIH0sXG4gICAgfSA6IHt9KSxcbiAgICAoaGFzSGlzdG9yeSA/IHtcbiAgICAgIHJldmlzaW9uOiBhc3luYyAocmVjb3JkOiBSZWNpcGVGbG93LCBhcmdzOiB7IHJldmlzaW9uSWQ6IEFkZHJlc3NhYmxlSWRlbnRpZmllciB9KTogUHJvbWlzZTxSZWNpcGVGbG93PiA9PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgcmVhZFJldmlzaW9uKGFyZ3MpKS5yZWNpcGVGbG93XG4gICAgICB9LFxuICAgIH0gOiB7fSksXG4gIClcbn1cbiJdfQ==