open-index/open-npm huggingface dataset:
npm package: @inato/effect-fpts-interop
Description: Helper functions to interoperate between the Effect framework and the fp-ts library
Author: Inato
Latest version: 0.12.0

# @inato/effect-fpts-interop

Helper functions to interoperate between the Effect type and the ReaderTaskEither type.

> [!NOTE]
> _This repository acts as supporting document for [this article](https://medium.com/inato/how-we-migrated-our-codebase-from-fp-ts-to-effect-b71acd0c5640) that describe how at Inato we successfully migrated to Effect._

## Installation

You can install this package via pnpm:

```bash
pnpm install @inato/effect-fpts-interop
```

## Usage

### portToEffect
```ts
import {
  getFptsMapping,
  portToEffect,
  type FptsAccess,
  type FptsConvertible,
} from "@inato/effect-fpts-interop";

interface MeasureString extends FptsConvertible<"measureString"> {
  measure: (value: string) => ReaderTaskEither<unknown, Error, number>
}

interface MeasureStringAccess extends FptsAccess<MeasureString> { }

declare const MeasureStringFpts: {
  measure: (value: string) => ReaderTaskEither<MeasureString, Error, number>
}

const Tag = Context.GenericTag<MeasureString>("MeasureString")

const MeasureString = portToEffect(
  MeasureStringFpts, 
  getFptsMapping(Tag, "measureString")
)

MeasureString.measure("hello 👋") // Effect<number, Error, MeasureString>
```

### portToFpts
```ts
import {
  getFptsMapping,
  portToFpts,
  type FptsAccess,
  type FptsConvertible,
} from "@inato/effect-fpts-interop";

interface MeasureString extends FptsConvertible<"measureString"> {
  measure: (value: string) => Effect<number, Error>
}

interface MeasureStringAccess extends FptsAccess<MeasureString> { }

declare const MeasureStringFpts: {
  measure: (value: string) => ReaderTaskEither<MeasureString, Error, number>
}

const Tag = Context.GenericTag<MeasureString>("MeasureString")

const MeasureString = Effect.serviceFunctions(Tag)

const MeasureStringFpts = portToFpts(
  MeasureString, 
  getFptsMapping(Tag, "measureString")
)

MeasureStringFpts.measure("hello 👋") // ReaderTaskEither<MeasureStringAccess, Error, number>
```

And more.. Have a look at the [example](/example/program.ts) section!
npm package: @inato/secret-manager-config-provider
Description: A basic Effect package
Latest version: 0.3.3

# Effect Package Template

This template provides a solid foundation for building scalable and maintainable TypeScript package with Effect. 

## Running Code

This template leverages [tsx](https://tsx.is) to allow execution of TypeScript files via NodeJS as if they were written in plain JavaScript.

To execute a file with `tsx`:

```sh
pnpm tsx ./path/to/the/file.ts
```

## Operations

**Building**

To build the package:

```sh
pnpm build
```

**Testing**

To test the package:

```sh
pnpm test
```
npm package: @inator/express-jwt-pouchdb
Description: Express-PouchDB with JSON Web Token Support.
Author: Orginal: Tyler Johnson
Latest version: 1.0.0

# express-jwt-pouchdb

This forked variant of express-jwt-pouchdb brings express-pouch up to date and also makes the username_claim configuration behave as intended by couch_jwt_auth.  See https://github.com/tyler-johnson/express-jwt-pouchdb/pull/4.

[![npm](https://img.shields.io/npm/v/express-jwt-pouchdb.svg)](https://www.npmjs.com/package/express-jwt-pouchdb) [![David](https://img.shields.io/david/tyler-johnson/express-jwt-pouchdb.svg)](https://david-dm.org/tyler-johnson/express-jwt-pouchdb) [![Build Status](https://travis-ci.org/tyler-johnson/express-jwt-pouchdb.svg?branch=master)](https://travis-ci.org/tyler-johnson/express-jwt-pouchdb)

[Express-PouchDB](http://ghub.io/express-pouchdb) clone with [JSON Web Token](https://jwt.io) support. This is designed to mimic the [couch_jwt_auth](https://github.com/softapalvelin/couch_jwt_auth) plugin for CouchDB so it can serve as a testing server. Configuration and usage matches that plugin.

## Usage

Install with NPM:

```sh
npm i express-jwt-pouchdb --save
```

And use just like you would express-pouchdb:

```js
var express = require("express"),
    app     = express(),
    PouchDB = require("pouchdb");

app.use("/db", require("express-jwt-pouchdb")(PouchDB));

app.listen(3000);
```