A light weight pure functional library with single type utility functions and it only depends on itself.
Contents
Philosophy
The goal for the library is to be stripped down, light weight, and intuitive. With Kyanite, The idea is to be performant and easy to use in a functional setting, it's easy to build powerful and organized, yet small, algorithmic pipes into reusable functions for your codebase. The hope is that it will continue to bring functionality to the world of JavaScript with continued improvement as it grows!
Key Features
- Purely Functional - This was a main focus for the project. I wanted it to be an easy to use, functional system while also being completely pure by making use of piping and transducers to boost performance.
- Single type utility functions - Theoretically, all of the functionality is based around accepting a single data type, doing what it does, and giving you back a result, thus making it reliable, stable, and lightweight.
- Everything is curried! Setup static in one spot and then pass the rest of the dynamic data in later.
- Data last ideaology
How To
npm i kyanite
Standard module system
import K from 'kyanite'
import K from 'kyanite/dist/kyanite.js'
Common JS
const K = require('kyanite')
const K = require('kyanite/dist/kyanite.js')
CDN
<script src="https://cdn.jsdelivr.net/npm/kyanite@latest/dist/kyanite.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/kyanite@latest/dist/kyanite.js"></script>
<script>
const K = kyanite
K.isEmpty({})
</script>
Local copy script tag
<script src="/path/to/kyanite.min.js"></script>
<script src="/path/to/kyanite.js"></script>
<script>
const K = kyanite
K.isEmpty({})
</script>
Credit
A lot of the if not most of the inpiration for this library came from 2 libraries I follow closely, Primarily most of it stems from:
- foreword by Abstract Tools which is a very nice and easy to use library developed by a close friend. This is where a lot of functionality, AND the idea of a pure single data type system came from I can't recommend it enough.
- Ramdajs by Ramda a large and fairly handy library where the original idea sparked