UNPKG

@leosprograms/vf-graphql-holochain

Version:

GraphQL schema bindings for the Holochain implementation of ValueFlows

52 lines 10.1 kB
/** * Recipe Process record reference resolvers * * @package: HoloREA * @since: 2019-08-31 */ import { DEFAULT_VF_MODULES, VfModule } from '../types.js'; import { extractEdges, mapZomeFn } from '../connection.js'; // const extractProposedIntent = (data): ProposedIntent => data.proposedIntent export default (enabledVFModules = DEFAULT_VF_MODULES, dnaConfig, conductorUri) => { // const hasAction = -1 !== enabledVFModules.indexOf(VfModule.Action) const hasHistory = -1 !== enabledVFModules.indexOf(VfModule.History); const hasProcessSpecification = -1 !== enabledVFModules.indexOf(VfModule.ProcessSpecification); const readRevision = mapZomeFn(dnaConfig, conductorUri, 'combined', 'recipe_process', 'get_revision'); // const readAction = mapZomeFn<ById, Action>(dnaConfig, conductorUri, 'specification', 'action', 'get_action') const readProcessSpecification = mapZomeFn(dnaConfig, conductorUri, 'combined', 'process_specification', 'get_process_specification'); // const readProcesses = mapZomeFn<ProcessSearchInput, ProcessConnection>(dnaConfig, conductorUri, 'observation', 'process_index', 'query_processes') const readRecipeFlows = mapZomeFn(dnaConfig, conductorUri, 'combined', 'indexing', 'query_recipe_flows'); return Object.assign({ recipeInputs: async (record) => { const recipeFlows = await readRecipeFlows({ params: { recipeInputOf: record.id } }); return extractEdges(recipeFlows); }, recipeOutputs: async (record) => { const recipeFlows = await readRecipeFlows({ params: { recipeOutputOf: record.id } }); return extractEdges(recipeFlows); } }, (hasHistory ? { revision: async (record, args) => { return (await readRevision(args)).recipeProcess; }, } : {}), // (hasAction ? { // action: async (record: { action: AddressableIdentifier }): Promise<Action> => { // return (await readAction({ id: record.action })) // }, // } : {}), (hasProcessSpecification ? { processConformsToId: async (record) => { return record.processConformsTo; }, processConformsTo: async (record) => { try { return (await readProcessSpecification({ address: record.processConformsTo })).processSpecification; } catch (e) { return undefined; } }, } : {})); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlUHJvY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Jlc29sdmVycy9yZWNpcGVQcm9jZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFpQixrQkFBa0IsRUFBRSxRQUFRLEVBQXVHLE1BQU0sYUFBYSxDQUFBO0FBQzlLLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFlMUQsOEVBQThFO0FBRTlFLGVBQWUsQ0FBQyxtQkFBK0Isa0JBQWtCLEVBQUUsU0FBd0IsRUFBRSxZQUFvQixFQUFFLEVBQUU7SUFDbkgscUVBQXFFO0lBQ3JFLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDcEUsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLENBQUMsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFFOUYsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFvQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQTtJQUN4SSwrR0FBK0c7SUFDL0csTUFBTSx3QkFBd0IsR0FBRyxTQUFTLENBQTJDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixDQUFDLENBQUE7SUFDL0sscUpBQXFKO0lBQ3JKLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBOEMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixDQUFDLENBQUE7SUFFckosT0FBTyxNQUFNLENBQUMsTUFBTSxDQUNsQjtRQUNFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBcUIsRUFBeUIsRUFBRTtZQUNuRSxNQUFNLFdBQVcsR0FBRyxNQUFNLGVBQWUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1lBQ25GLE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ2xDLENBQUM7UUFDRCxhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQXFCLEVBQXlCLEVBQUU7WUFDcEUsTUFBTSxXQUFXLEdBQUcsTUFBTSxlQUFlLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUNwRixPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNsQyxDQUFDO0tBQ0YsRUFDRCxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDWixRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQXFCLEVBQUUsSUFBMkMsRUFBMEIsRUFBRTtZQUM3RyxPQUFPLENBQUMsTUFBTSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUE7UUFDakQsQ0FBQztLQUNGLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNQLGlCQUFpQjtJQUNqQixvRkFBb0Y7SUFDcEYsdURBQXVEO0lBQ3ZELE9BQU87SUFDUCxXQUFXO0lBQ1gsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7UUFDekIsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLE1BQTBELEVBQXdDLEVBQUU7WUFDOUgsT0FBTyxNQUFNLENBQUMsaUJBQWlCLENBQUE7UUFDakMsQ0FBQztRQUNELGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUEwRCxFQUE2QyxFQUFFO1lBQ2pJLElBQUk7Z0JBQ0YsT0FBTyxDQUFDLE1BQU0sd0JBQXdCLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFBO2FBQ3BHO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsT0FBTyxTQUFTLENBQUE7YUFDakI7UUFDSCxDQUFDO0tBQ0YsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBYVIsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVjaXBlIFByb2Nlc3MgcmVjb3JkIHJlZmVyZW5jZSByZXNvbHZlcnNcbiAqXG4gKiBAcGFja2FnZTogSG9sb1JFQVxuICogQHNpbmNlOiAgIDIwMTktMDgtMzFcbiAqL1xuXG5pbXBvcnQgeyBETkFJZE1hcHBpbmdzLCBERUZBVUxUX1ZGX01PRFVMRVMsIFZmTW9kdWxlLCBSZWFkUGFyYW1zLCBCeUlkLCBCeVJldmlzaW9uLCBQcm9jZXNzU3BlY2lmaWNhdGlvbkFkZHJlc3MsIEFkZHJlc3NhYmxlSWRlbnRpZmllciwgUmVjaXBlRmxvd0FkZHJlc3MgfSBmcm9tICcuLi90eXBlcy5qcydcbmltcG9ydCB7IGV4dHJhY3RFZGdlcywgbWFwWm9tZUZuIH0gZnJvbSAnLi4vY29ubmVjdGlvbi5qcydcblxuaW1wb3J0IHtcbiAgUmVjaXBlUHJvY2VzcyxcbiAgUmVjaXBlUHJvY2Vzc1Jlc3BvbnNlLFxuICBBY3Rpb24sXG4gIFByb2Nlc3NTcGVjaWZpY2F0aW9uLFxuICBQcm9jZXNzU3BlY2lmaWNhdGlvblJlc3BvbnNlLFxuICBSZWNpcGVGbG93LFxuICBSZWNpcGVGbG93UmVzcG9uc2UsXG4gIFJlY2lwZUZsb3dDb25uZWN0aW9uLFxufSBmcm9tICdAbGVvc3Byb2dyYW1zL3ZmLWdyYXBocWwnXG5cbmltcG9ydCB7IFJlY2lwZUZsb3dTZWFyY2hJbnB1dCB9IGZyb20gJy4vem9tZVNlYXJjaElucHV0VHlwZXMuanMnXG5cbi8vIGNvbnN0IGV4dHJhY3RQcm9wb3NlZEludGVudCA9IChkYXRhKTogUHJvcG9zZWRJbnRlbnQgPT4gZGF0YS5wcm9wb3NlZEludGVudFxuXG5leHBvcnQgZGVmYXVsdCAoZW5hYmxlZFZGTW9kdWxlczogVmZNb2R1bGVbXSA9IERFRkFVTFRfVkZfTU9EVUxFUywgZG5hQ29uZmlnOiBETkFJZE1hcHBpbmdzLCBjb25kdWN0b3JVcmk6IHN0cmluZykgPT4ge1xuICAvLyBjb25zdCBoYXNBY3Rpb24gPSAtMSAhPT0gZW5hYmxlZFZGTW9kdWxlcy5pbmRleE9mKFZmTW9kdWxlLkFjdGlvbilcbiAgY29uc3QgaGFzSGlzdG9yeSA9IC0xICE9PSBlbmFibGVkVkZNb2R1bGVzLmluZGV4T2YoVmZNb2R1bGUuSGlzdG9yeSlcbiAgY29uc3QgaGFzUHJvY2Vzc1NwZWNpZmljYXRpb24gPSAtMSAhPT0gZW5hYmxlZFZGTW9kdWxlcy5pbmRleE9mKFZmTW9kdWxlLlByb2Nlc3NTcGVjaWZpY2F0aW9uKVxuICBcbiAgY29uc3QgcmVhZFJldmlzaW9uID0gbWFwWm9tZUZuPEJ5UmV2aXNpb24sIFJlY2lwZVByb2Nlc3NSZXNwb25zZT4oZG5hQ29uZmlnLCBjb25kdWN0b3JVcmksICdjb21iaW5lZCcsICdyZWNpcGVfcHJvY2VzcycsICdnZXRfcmV2aXNpb24nKVxuICAvLyBjb25zdCByZWFkQWN0aW9uID0gbWFwWm9tZUZuPEJ5SWQsIEFjdGlvbj4oZG5hQ29uZmlnLCBjb25kdWN0b3JVcmksICdzcGVjaWZpY2F0aW9uJywgJ2FjdGlvbicsICdnZXRfYWN0aW9uJylcbiAgY29uc3QgcmVhZFByb2Nlc3NTcGVjaWZpY2F0aW9uID0gbWFwWm9tZUZuPFJlYWRQYXJhbXMsIFByb2Nlc3NTcGVjaWZpY2F0aW9uUmVzcG9uc2U+KGRuYUNvbmZpZywgY29uZHVjdG9yVXJpLCAnY29tYmluZWQnLCAncHJvY2Vzc19zcGVjaWZpY2F0aW9uJywgJ2dldF9wcm9jZXNzX3NwZWNpZmljYXRpb24nKVxuICAvLyBjb25zdCByZWFkUHJvY2Vzc2VzID0gbWFwWm9tZUZuPFByb2Nlc3NTZWFyY2hJbnB1dCwgUHJvY2Vzc0Nvbm5lY3Rpb24+KGRuYUNvbmZpZywgY29uZHVjdG9yVXJpLCAnb2JzZXJ2YXRpb24nLCAncHJvY2Vzc19pbmRleCcsICdxdWVyeV9wcm9jZXNzZXMnKVxuICBjb25zdCByZWFkUmVjaXBlRmxvd3MgPSBtYXBab21lRm48UmVjaXBlRmxvd1NlYXJjaElucHV0LCBSZWNpcGVGbG93Q29ubmVjdGlvbj4oZG5hQ29uZmlnLCBjb25kdWN0b3JVcmksICdjb21iaW5lZCcsICdpbmRleGluZycsICdxdWVyeV9yZWNpcGVfZmxvd3MnKVxuXG4gIHJldHVybiBPYmplY3QuYXNzaWduKFxuICAgIHtcbiAgICAgIHJlY2lwZUlucHV0czogYXN5bmMgKHJlY29yZDogUmVjaXBlUHJvY2Vzcyk6IFByb21pc2U8UmVjaXBlRmxvd1tdPiA9PiB7XG4gICAgICAgIGNvbnN0IHJlY2lwZUZsb3dzID0gYXdhaXQgcmVhZFJlY2lwZUZsb3dzKHsgcGFyYW1zOiB7IHJlY2lwZUlucHV0T2Y6IHJlY29yZC5pZCB9IH0pXG4gICAgICAgIHJldHVybiBleHRyYWN0RWRnZXMocmVjaXBlRmxvd3MpXG4gICAgICB9LFxuICAgICAgcmVjaXBlT3V0cHV0czogYXN5bmMgKHJlY29yZDogUmVjaXBlUHJvY2Vzcyk6IFByb21pc2U8UmVjaXBlRmxvd1tdPiA9PiB7XG4gICAgICAgIGNvbnN0IHJlY2lwZUZsb3dzID0gYXdhaXQgcmVhZFJlY2lwZUZsb3dzKHsgcGFyYW1zOiB7IHJlY2lwZU91dHB1dE9mOiByZWNvcmQuaWQgfSB9KVxuICAgICAgICByZXR1cm4gZXh0cmFjdEVkZ2VzKHJlY2lwZUZsb3dzKVxuICAgICAgfVxuICAgIH0sICAgIFxuICAgIChoYXNIaXN0b3J5ID8ge1xuICAgICAgcmV2aXNpb246IGFzeW5jIChyZWNvcmQ6IFJlY2lwZVByb2Nlc3MsIGFyZ3M6IHsgcmV2aXNpb25JZDogQWRkcmVzc2FibGVJZGVudGlmaWVyIH0pOiBQcm9taXNlPFJlY2lwZVByb2Nlc3M+ID0+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCByZWFkUmV2aXNpb24oYXJncykpLnJlY2lwZVByb2Nlc3NcbiAgICAgIH0sXG4gICAgfSA6IHt9KSxcbiAgICAvLyAoaGFzQWN0aW9uID8ge1xuICAgIC8vICAgYWN0aW9uOiBhc3luYyAocmVjb3JkOiB7IGFjdGlvbjogQWRkcmVzc2FibGVJZGVudGlmaWVyIH0pOiBQcm9taXNlPEFjdGlvbj4gPT4ge1xuICAgIC8vICAgICByZXR1cm4gKGF3YWl0IHJlYWRBY3Rpb24oeyBpZDogcmVjb3JkLmFjdGlvbiB9KSlcbiAgICAvLyAgIH0sXG4gICAgLy8gfSA6IHt9KSxcbiAgICAoaGFzUHJvY2Vzc1NwZWNpZmljYXRpb24gPyB7XG4gICAgICBwcm9jZXNzQ29uZm9ybXNUb0lkOiBhc3luYyAocmVjb3JkOiB7IHByb2Nlc3NDb25mb3Jtc1RvOiBQcm9jZXNzU3BlY2lmaWNhdGlvbkFkZHJlc3MgfSk6IFByb21pc2U8UHJvY2Vzc1NwZWNpZmljYXRpb25BZGRyZXNzPiA9PiB7XG4gICAgICAgIHJldHVybiByZWNvcmQucHJvY2Vzc0NvbmZvcm1zVG9cbiAgICAgIH0sXG4gICAgICBwcm9jZXNzQ29uZm9ybXNUbzogYXN5bmMgKHJlY29yZDogeyBwcm9jZXNzQ29uZm9ybXNUbzogUHJvY2Vzc1NwZWNpZmljYXRpb25BZGRyZXNzIH0pOiBQcm9taXNlPFByb2Nlc3NTcGVjaWZpY2F0aW9uIHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIChhd2FpdCByZWFkUHJvY2Vzc1NwZWNpZmljYXRpb24oeyBhZGRyZXNzOiByZWNvcmQucHJvY2Vzc0NvbmZvcm1zVG8gfSkpLnByb2Nlc3NTcGVjaWZpY2F0aW9uXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSA6IHt9KSxcbiAgICBcbiAgICAvLyAoaGFzUHJvY2VzcyA/IHtcbiAgICAvLyAgIGlucHV0T2Y6IGFzeW5jIChyZWNvcmQ6IFJlY2lwZVByb2Nlc3MpOiBQcm9taXNlPFByb2Nlc3M+ID0+IHtcbiAgICAvLyAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHJlYWRQcm9jZXNzZXMoeyBwYXJhbXM6IHsgaW50ZW5kZWRJbnB1dHM6IHJlY29yZC5pZCB9IH0pXG4gICAgLy8gICAgIHJldHVybiByZXN1bHRzLmVkZ2VzLnBvcCgpIVsnbm9kZSddXG4gICAgLy8gICB9LFxuXG4gICAgLy8gICBvdXRwdXRPZjogYXN5bmMgKHJlY29yZDogUmVjaXBlUHJvY2Vzcyk6IFByb21pc2U8UHJvY2Vzcz4gPT4ge1xuICAgIC8vICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgcmVhZFByb2Nlc3Nlcyh7IHBhcmFtczogeyBpbnRlbmRlZE91dHB1dHM6IHJlY29yZC5pZCB9IH0pXG4gICAgLy8gICAgIHJldHVybiByZXN1bHRzLmVkZ2VzLnBvcCgpIVsnbm9kZSddXG4gICAgLy8gICB9LFxuICAgIC8vIH0gOiB7fSksXG4gIClcbn1cbiJdfQ==