TypeScript icon, indicating that this package has built-in type declarations

2.1.0 • Public • Published

logo image


A modern practical functional library

test GitHub release deno land nest badge deno version node support version bundle size

GitHub (Pre-)Release Date dependencies Status codecov Codacy Badge npm type definitions Commitizen friendly Gitmoji semantic-release code style: prettier License: MIT FOSSA Status


  • 💚 Friendly type definition
  • 🌎 Universal functions providing ESM and Commonjs
  • 📦 Optimized, super slim size
  • 📄 TSDoc-style comments
  • 🔢 Bigint support
  • 🦕 Deno support

Fonction (French word for "function", not typo😅) is modern practical functional library. Special attention is paid to bundle size and strict type definitions. Therefore, you can take out and use only what you want to use without worrying about the size.

📝 Docs

Read the Docs to Learn More.

💚 Supports

The TypeScript version must be 4.1.0 or higher.

This project provide ES modules and Commonjs.

If you have an opinion about what to support, you can open an issue to discuss it.

The browserslist has the following settings.

> 0.5%
last 1 version
not IE <= 11
not ie_mob <= 11
node 14
DenoDeno Node.jsNode.js IE / EdgeEdge FirefoxFirefox ChromeChrome SafariSafari iOS SafariiOS Safari SamsungSamsung OperaOpera
^1.6.0 ^14.16.0 ^88 ^86 ^87 ^13.1 ^13.4 ^13.0 ^73

💫 Usage

fonction provides multi platform modules.

You can see all the functions here.

🦕 Deno

import { add } from ''

add(1, 2) // 3

import { add } from ''

add(1, 2) // 3

📦 Node.js


npm i fonction
yarn add fonction


import { add } from 'fonction'

add(1, 2) // 3


const { add } = require('fonction')

add(1, 2) // 3


The module that bundles the dependencies is obtained from skypack.

<script type="module">
  import { add } from ''
  console.log(add(1, 2)) // 3

🗺️ Loadmap

For the time being, my goal is to implement the functions implemented in the great starting projects (lodash, ramda, rambda, ... etc).

The release will be a public release when it is fully tested in the beta release and then merged into the main branch.

You can check the implementation status of all functions here.

You can also try all the features including the beta version with the following command or URL.

npm i fonction@beta
yarn add fonction@beta
import { _ } from ''

@VERSION format is like v1.5.0-beta.1.

Other projects

🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues.

🌱 Show your support

Give a ⭐️ if this project helped you!

💡 License

Copyright © 2021-present TomokiMiyauci.

Released under the MIT license

FOSSA Status

Package Sidebar


npm i fonction

Weekly Downloads






Unpacked Size

189 kB

Total Files


Last publish


  • miyauci