Socket
Socket
Sign inDemoInstall

kyanite

Package Overview
Dependencies
Maintainers
1
Versions
56
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

kyanite

A small library of pure functional utilities to make life easier and data better


Version published
Weekly downloads
2.4K
increased by22.89%
Maintainers
1
Weekly downloads
 
Created
Source

Kyanite Logo


A light weight pure functional library with single type utility functions and it only depends on itself.

license:mit Npm Version Dependencies Dev Dependencies Build Status Coverage


Standard JS

Contents

Philosophy

The goal for Kyanite is to be stripped down, light weight, and intuitive. The idea is to be performant and easy to use in a functional setting, making it simple to build reusable functions in your code base with powerful and organized algorithmic pipes. Ultimately, Kyanite’s continued growth and improvement will support the growth and improvement of the JavaScript community

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 ideology

How To

With a CDN

<!-- It is recommended to replace the @latest with a strict version number for production -->
<script src="https://cdn.jsdelivr.net/npm/kyanite@latest/dist/kyanite.min.js"></script>
<!-- To use the debug friendly kyanite simply remove .min from the filename -->
<script src="https://cdn.jsdelivr.net/npm/kyanite@latest/dist/kyanite.js"></script>
<script>
  const K = kyanite

  K.isEmpty({})
</script>

Or installing with npm i kyanite and then:

Standard module system

// This will use the module path in the package.json (src/index.js)
import * as K from 'kyanite'
// However if you want to grab the dev version
import * as K from 'kyanite/dist/kyanite.js'

Common JS

// For the prod minified version
const K = require('kyanite')
// For the dev/debug friendly version
const K = require('kyanite/dist/kyanite.js')

Local copy script tag

<!-- To use the prod minified version -->
<script src="/path/to/dist/kyanite.min.js"></script>
<!-- To use the dev/debug friendly version -->
<script src="/path/to/dist/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

Keywords

FAQs

Package last updated on 22 Jan 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc