UNPKG

minauth

Version:

A TypeScript library for building authentication systems on top of the Mina blockchain and other zero-knowledge proofs solutions.

34 lines 1.3 kB
import { combineEncDec, tsToFpDecoder, tsToFpEncoder } from './encodedecoder.js'; import { fromFailablePromise } from '../utils/fp/taskeither.js'; export const outputValid = { isValid: true }; export const outputInvalid = (reason) => { return { isValid: false, reason }; }; // ts -> fp /** * Convert a plugin factory from the idiomatic typescript interface to the functional style */ export const tsToFpMinAuthPlugin = (i) => { return { __interface_tag: 'fp', verifyAndGetOutput: (inp) => fromFailablePromise(() => i.verifyAndGetOutput(inp)), checkOutputValidity: (o) => fromFailablePromise(() => i.checkOutputValidity(o)), customRoutes: i.customRoutes }; }; /** * Convert a plugin factory from the idiomatic typescript interface to the functional style */ export const tsToFpMinAuthPluginFactory = (i) => { return { __interface_tag: 'fp', configurationDec: tsToFpDecoder(i.configurationDec), inputDecoder: tsToFpDecoder(i.inputDecoder), outputEncDec: combineEncDec(tsToFpEncoder(i.outputEncDec), tsToFpDecoder(i.outputEncDec)), initialize: (cfg, logger) => fromFailablePromise(() => i.initialize(cfg, logger).then(tsToFpMinAuthPlugin)) }; }; //# sourceMappingURL=plugintype.js.map