import { BifunctorMap } from "https://deno.land/x/fun@v.2.0.0-alpha.11/map.ts";
Module
A collection of algebraic data types, lenses, and schemables based on a light weight higher kinded type implementation. Written for deno.
benchmarksexamplesscriptsaltapplicativeapplyarrayasyncasync_eitherasync_iterablebifunctorbooleancategorychainconstcontravariantdecodereithereqfilterablefnfn_eitherfoldablefreefunctorgroupidentityiterablejson_schemamapnewtypenilablenumberopticsoptionpairpredicateprofunctorpromiserefinementschemablesemigroupsetshowstatestringsyncsync_eitherthesetraversabletreeKindArrayAnyArrayNonEmptyArrayTypeOfAltArrayApplicativeArrayApplyArrayChainArrayFilterableArrayFoldableArrayFunctorArrayMonadArrayTraversableArray_unsafeAppend_unsafeDeleteAt_unsafeInsertAt_unsafeJoin_unsafePrepend_unsafePush_unsafeUpdateAtaltapappendarraybinarySearchchainconcatdeleteAtemptyfilterfilterMapgetEqgetMonoidgetOrdgetSemigroupgetShowinsertinsertAtisEmptyisNonEmptyisOutOfBoundsjoinlookupmapmodifymodifyAtoforderedInsertpartitionpartitionMapprependrangereducesequencesorttraverseupdateupdateAtzipKindAsyncEitherAsyncEitherAltAsyncEitherBifunctorAsyncEitherMonadAsyncEitherParallelMonadAsyncEitherSequentialaltapParallelapSequentialbimapchainchainFirstchainLeftfromAsyncfromEitherjoinleftmapmapLeftmatchofrightthrowErrortryCatchKindAsyncIterableFilterableAsyncIterableMonadAsyncIterableapchainclonedelayfilterfilterMapforEachfromIterablejoinmakemapofpartitionpartitionMapreducerepeatscantaketakeUntiltakeWhiletapKindAsyncAsyncMonadAsyncParallelMonadAsyncSequentialapParallelapSequentialchaindelayfromSyncjoinmapoftryCatchconstFalseconstTrueEqBooleanMonoidBooleanAllMonoidBooleanAnyOrdBooleanSemigroupBooleanAllSemigroupBooleanAnyShowBooleanandcompareequalsisBooleanmatchnotorKindConstKindRightConstConstBifunctorConstContravariantConstFunctorConstgetApplicativegetApplygetEqgetMonoidgetOrdgetSemigroupgetShowbimapcontramapmakemapmapLeftKindDatumDatumInitialLoadingNonePendingRefreshRepleteSomeAltDatuminitialMonadDatumpendingTraversableDatumaltapchainconstInitialconstPendingfromNullablegetEqgetMonoidgetOrdgetOrElsegetSemigroupgetShowisInitialisLoadingisNoneisPendingisRefreshisRepleteisSomejoinmapmatchofreducerefreshrepletethrowErrortoLoadingtraversetryCatchKindDecodedKindDecoderKindUnknownDecoderAnyDecoderDecodedDecodeErrorDecoderIndexIntersectionKeyLeafManyPropertyUnionWrap_null_undefinedAltDecoderApplicativeDecoderApplyDecoderbooleanChainDecoderFunctorDecoderMonadDecodedMonadDecoderMonoidDecodeErrornumberoptionalrequiredSchemableDecoderSemigroupDecodeErrorstringunknownaltannotateaparrayarrayNchaincomposeconcatcontramapdatedimapdrawemptyextractfailurefromDecodeErrorfromPredicateidindexErrintersectintersectionErrisIndexisIntersectionisKeyisLeafisManyisUnionisWrapjoinjsonkeyErrlazyleafErrliteralmanyErrmapmatchnullableofpartialrecordrefinestructsuccesstupleundefinableunionunionErrwrapErrKindEitherKindRightEitherEitherLeftRightAltEitherBifunctorEitherExtendEitherMonadEitherTraversableEitheraltapbimapchainchainLeftextendfromNullablefromPredicategetEqgetLeftgetLeftSemigroupgetOrdgetOrElsegetRightgetRightMonadgetRightMonoidgetRightSemigroupgetShowisLeftisRightjoinleftmapmapLeftmatchofreducerightstringifyJSONswapthrowErrortraversetryCatchtryCatchWrapEqKindContraEqKindEqbooleanContravariantEqnumberSchemableEqstringunknownarraycontramapfromEqualsintersectiolazyliteralmethodnullablepartialreadonlyrecordstructtupleundefinableunionKindFnEitherKindRightFnEitherAnyFnEitherFnEitherAltFnEitherBifunctorFnEitherCategoryFnEitherContravariantFnEitherMonadFnEitherProfunctorFnEitheraltapbimapchainchainLeftcomposecontramapdimapfromEitherfromFnfromPredicategetRightMonadididLeftjoinleftmapmapLeftofrighttryCatchKindFnAnyFnFnApplicativeFnApplyFnCategoryFnChainFnContravariantFnFunctorFnMonadFnProfunctorFnapapplychaincomposeconstantcontramapdimapflowhandleThrowididentityjoinmapmemoizeofoverpipetodotryThunkunaryunsafeCoerceKindJsonBuilderJsonBuilderJsonSchemaJsonSchemaAllOfJsonSchemaAnyOfJsonSchemaArrayJsonSchemaBooleanJsonSchemaDateJsonSchemaDefinitionsJsonSchemaEnumJsonSchemaNullJsonSchemaNumberJsonSchemaObjectJsonSchemaOneOfJsonSchemaRefJsonSchemaStringJsonSchemaUnknownTypeOfapchainjoinmapMonadJsonBuilderofSchemableJsonBuildersequenceArraysequenceRecordarraybooleandateintersectlazyliteralnullablenumberpartialprintrecordstringstructtupleundefinableunionunknownKindReadonlyMapBifunctorMapFunctorMapbimapcollectdeleteAtelememptyentriesgetEqgetMonoidgetShowinsertinsertAtisEmptyisSubmapkeyslookuplookupWithKeymapmapLeftmembermodifymodifyAtpopreducesingletonsizeupdateupdateAtvaluesKindNilableNilNilableAltNilableMonadNilablenilaltapchainconstNilfromPredicategetOrElsegetShowisNilisNotNiljoinmakemapmatchofthrowErrortoNulltoUndefinedtryCatchEqNumberMonoidNumberMaxMonoidNumberMinMonoidNumberProductMonoidNumberSumOrdNumberSemigroupNumberMaxSemigroupNumberMinSemigroupNumberProductSemigroupNumberSumShowNumberaddcomparedividesemptyNegInfemptyOneemptyPosInfemptyZeroequalsltemodmultiplyModifierOpticReviewerViewerAffineFoldAffineTagFoldFoldTagIsoLensLensTagPrismRefoldTagarrayfirstleftnilablerecordrightsecondsetsometree_unsafeCastaffineFoldapatKeyatMapcomposecomposeReviewerconcatAllfilterfoldfromPredicateidimapindexisokeylensmapmodifiermodifyofopticprismproppropsrefoldreplacereviewreviewertraverseviewviewerKindOptionNoneOptionSomeAltOptionApplicativeOptionApplyOptionChainOptionExtendsOptionFilterableOptionFoldableOptionFunctorOptionMonadOptionnoneTraversableOptionaltapchainconstNoneemptyexistsextendfilterfilterMapfromNullablefromPredicategetEqgetMonoidgetOrdgetOrElsegetSemigroupgetShowisNoneisSomejoinmapmapNullablematchofpartitionpartitionMapreducesometoNulltoUndefinedtraversetryCatchKindOrdOrdCompareOrderingContravariantOrdbetweenclampcontramapfromComparegtgteltltemaxminreversesignstructtrivialtupleKindPairKindRightPairPairBifunctorPairComonadPairExtendPairFoldablePairFunctorPairTraversablePairbimapdupextendextractfirstgetFirstgetRightMonadgetSecondgetShowmapmapLeftmergemergeSecondpairreducesecondswaptraverseKindPredicatePredicateContravariantPredicateandcontramapgetMonoidAllgetMonoidAnygetSemigroupAllgetSemigroupAnynotorKindPromiseAnyPromiseDeferredTypeOfApplicativePromiseApplyPromiseChainPromiseFunctorPromiseMonadPromiseabortableallapcatchErrorchaindeferreddelayjoinmapofracerejectresolvethentryCatchwaitKindReadonlyRecordNonEmptyRecordReadonlyRecordTypeOfFilterableRecordFoldableRecordFunctorRecordTraversableRecordcollapsecollectdeleteAtdeleteAtWithValueentriesfilterfilterMapgetShowinsertinsertAtisSubrecordkeyslookupAtlookupWithKeymapmodifymodifyAtomitpartitionpartitionMappickreducesequencetraverseupdateupdateAtKindRefinementKindUnknownRefinementAnyRefinementRefinementToInToOutSchemableRefinementandarraybooleancomposefromEitherfromOptionidintersectisArrayisArrayNisRecordlazyliteralnullablenumberorpartialrecordstringstructtupleundefinableunionunknownArraySchemableBooleanSchemableIntersectSchemableLazySchemableLiteralLiteralSchemableNullableSchemableNumberSchemablePartialSchemableRecordSchemableSchemaSchemableSpreadStringSchemableStructSchemableTupleSchemableTypeOfUndefinableSchemableUnionSchemableUnknownSchemableschemaSemigroupAnySemigroupTypeOfconcatAllconstantdualfirstintercalcatelastmaxminstructtupleKindReadonlySetTypeOfApplicativeSetApplySetChainSetFilterableSetFoldableSetFunctorSetMonadSetTraversableSetapchaincompactcopyelemelemOfemptyeveryfilterfilterMapgetEqgetShowgetUnionMonoidintersectionisSubsetjoinmapofpartitionpartitionMapreducesetsometraverseunionEqStringMonoidStringOrdStringSemigroupStringShowStringcompareconcatemptyendsWithequalsincludesisEmptyisStringlengthmatchpluralreplaceslicesplitstartsWithtesttoLowerCasetoUpperCasetrimtrimEndtrimStartKindSyncEitherSyncEitherAltSyncEitherBifunctorSyncEitherExtendsSyncEitherFoldableSyncEitherMonadSyncEitheraltapbimapchainchainLeftextendfromEitherfromSyncjoinleftmapmapLeftofreducerightthrowErrortryCatchKindSyncSyncExtendsSyncMonadSyncTraversableSyncapchainextendjoinmapofreducetraverse
mod.ts (default module)
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
array.ts
I
T
T
T
v
v
v
v
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
async_either.ts
I
T
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
async_iterable.ts
I
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
async.ts
I
T
v
v
f
f
f
f
f
f
f
f
f
boolean.ts
v
v
v
v
v
v
v
v
v
f
f
f
f
f
f
f
const.ts
I
I
T
v
v
v
v
v
v
v
v
v
v
f
f
f
f
f
datum.ts
I
T
T
T
T
T
T
T
T
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
decoder.ts
I
I
I
T
T
T
T
T
T
T
T
T
T
T
T
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
either.ts
I
I
T
T
T
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
eq.ts
I
I
I
v
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
fn_either.ts
I
I
T
T
v
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
fn.ts
I
T
T
v
v
v
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
json_schema.ts
I
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
v
v
v
v
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
map.ts
I
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
nilable.ts
I
T
T
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
number.ts
v
v
v
v
v
v
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
optics.ts
I
I
I
I
T
T
v
T
T
v
T
T
T
v
T
T
T
v
v
v
v
v
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
option.ts
I
T
T
T
v
v
v
v
v
v
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
ord.ts
I
I
T
T
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
pair.ts
I
I
T
v
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
predicate.ts
I
T
v
f
f
f
f
f
f
f
f
promise.ts
I
T
T
T
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
record.ts
I
T
T
T
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
refinement.ts
I
I
T
T
T
T
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
schemable.ts
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
f
semigroup.ts
I
T
T
f
f
f
f
f
f
f
f
f
f
set.ts
I
T
v
v
v
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
string.ts
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
sync_either.ts
I
T
v
v
v
v
v
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
sync.ts
I
T
v
v
v
f
f
f
f
f
f
f
f