Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nwylynko/versioned-function

a simple function to handler multiple versions of the same function, eg for versioning sql queries
https://github.com/nwylynko/versioned-function

Last synced: about 1 month ago
JSON representation

a simple function to handler multiple versions of the same function, eg for versioning sql queries

Awesome Lists containing this project

README

        

## versioned-function

```typescript
import { versioned } from "versioned-function";

// --- define our functions ---

const { matcher } = versioned({
"0.0.0": () => ({ crazy: "world" }),
"1.0.0": () => ({ yea: "nah" }),
"2.0.0": (name: string) => ({ hello: name }),
});

// export it out for others to use
export const MyFunction = matcher

// --- consumer ---

// here we pass in the version that we want
const oldFunction = MyFunction("0.0.0")
const latestFunction = MyFunction("1.0.0")
const nextFunction = MyFunction("2.0.0")

oldFunction() // { crazy: "world" }
latestFunction() // { yea: "nah" }
nextFunction("nick") // { hello: "nick" }
```