Socket
Socket
Sign inDemoInstall

kyanite

Package Overview
Dependencies
0
Maintainers
1
Versions
55
Alerts
File Explorer

Advanced tools

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.1K
increased by9.16%
Maintainers
1
Install size
311 kB
Created
Weekly downloads
 

Changelog

Source

v0.10.1

Fixed

  • omit documentation to show correct input

New

  • Added over function which applies a function over a object value

Readme

Source

npm David David Travis Coverage Status

kyanite-scaled

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

JavaScript Style Guide

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

// This will use the module path in the package.json (src/index.js)
import K from 'kyanite'
// However if you want to grab the dev version
import 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')

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>

Local copy script tag

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

Keywords

FAQs

Last updated on 09 Nov 2018

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc