{"id":19921860,"url":"https://github.com/dhershman1/kyanite","last_synced_at":"2025-04-10T00:18:58.589Z","repository":{"id":32509364,"uuid":"135320258","full_name":"dhershman1/kyanite","owner":"dhershman1","description":"A small purely functional library of curried functions, with great piping possibilities!","archived":false,"fork":false,"pushed_at":"2024-10-14T00:50:43.000Z","size":3607,"stargazers_count":26,"open_issues_count":0,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-10T00:18:45.803Z","etag":null,"topics":["functional-js","javascript","library","light","modular","pure","utility"],"latest_commit_sha":null,"homepage":"https://kyanite.dusty.codes/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dhershman1.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-29T15:57:42.000Z","updated_at":"2024-10-14T00:49:22.000Z","dependencies_parsed_at":"2024-01-31T17:02:19.735Z","dependency_job_id":"84937169-c029-4ed0-be94-d4466e34751a","html_url":"https://github.com/dhershman1/kyanite","commit_stats":{"total_commits":1025,"total_committers":4,"mean_commits":256.25,"dds":"0.12390243902439024","last_synced_commit":"9e2e83093409eab0e5318ca403abdfaaab8cd0fe"},"previous_names":[],"tags_count":57,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhershman1%2Fkyanite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhershman1%2Fkyanite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhershman1%2Fkyanite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhershman1%2Fkyanite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dhershman1","download_url":"https://codeload.github.com/dhershman1/kyanite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248131393,"owners_count":21052833,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["functional-js","javascript","library","light","modular","pure","utility"],"created_at":"2024-11-12T22:08:39.353Z","updated_at":"2025-04-10T00:18:58.561Z","avatar_url":"https://github.com/dhershman1.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=center\u003e\r\n  \u003ca href=\"https://kyanite.dusty.codes/\" title=\"Kyanite Documentation\"\u003e\r\n    \u003cimg alt=\"Kyanite Logo\" src=\"https://user-images.githubusercontent.com/8997380/48008308-69174500-e0e7-11e8-9a57-ebd558f094f8.png\"\u003e\r\n  \u003c/a\u003e\r\n\u003c/p\u003e\r\n\u003cbr /\u003e\r\n\u003cp align=center\u003e\r\n  A light weight functional JavaScript library that only depends on itself.\r\n\u003c/p\u003e\r\n\u003cp align=center\u003e\r\n  \u003ca href=\"./LICENSE\"\u003e\r\n    \u003cimg\r\n      alt=\"license:mit\"\r\n      src=\"https://img.shields.io/badge/license-mit-green.svg?style=flat-square\"\r\n    /\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://codecov.io/gh/dhershman1/kyanite\" \u003e\r\n    \u003cimg src=\"https://codecov.io/gh/dhershman1/kyanite/branch/master/graph/badge.svg?token=fF0sm70rWH\"/\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://kyanite.dusty.codes/\"\u003e\r\n    \u003cimg alt=\"Netlify Status\" src=\"https://api.netlify.com/api/v1/badges/fc0f65da-107d-43d4-9cb3-d74f46f2b472/deploy-status\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://www.npmjs.com/package/kyanite\"\u003e\r\n    \u003cimg alt=\"Npm Version\" src=\"https://img.shields.io/npm/v/kyanite.svg?style=flat-square\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://github.com/dhershman1/kyanite/actions/workflows/kyanite.yml\"\u003e\r\n    \u003cimg alt=\"Build Status\" src=\"https://img.shields.io/github/actions/workflow/status/dhershman1/kyanite/kyanite.yml?style=flat-square\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://codebeat.co/projects/github-com-dhershman1-kyanite-master\"\u003e\r\n    \u003cimg alt=\"codebeat badge\" src=\"https://codebeat.co/badges/4eeb4e32-dfe2-4d12-ac1a-bd13cf31ee55\" /\u003e\r\n  \u003c/a\u003e\r\n\u003c/p\u003e\r\n\u003cbr /\u003e\r\n\u003cp align=center\u003e\r\n  \u003ca href=\"https://github.com/standard/standard\"\u003e\r\n    \u003cimg alt=\"Standard JS\" src=\"https://cdn.rawgit.com/standard/standard/master/badge.svg\"\u003e\r\n  \u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\n## Why The Name Kyanite?\r\n\r\nBecause I think mineral names are cool\r\n\r\n## Contents\r\n\r\n- [View the Changelog](https://github.com/dhershman1/kyanite/blob/master/CHANGELOG.md)\r\n- [View the Documentation](https://kyanite.dusty.codes)\r\n- [Philosophy](#philosophy)\r\n- [Key Features](#key-features)\r\n- [How To](#how-to)\r\n- [Testing](#testing)\r\n- [Credit](#credit)\r\n\r\n## Philosophy\r\n\r\nThe 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\r\n\r\n## Key Features\r\n\r\n- 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.\r\n- 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.\r\n- Everything is curried! Setup static in one spot and then pass the rest of the dynamic data in later.\r\n- Data last ideology\r\n\r\n## How To\r\n\r\n\u003e **Note:** As of `v2.0.0` the module should be imported as just `K` instead of `kyanite`\r\n\u003e The unminified version of the library is no longer available as of 2.0.0\r\n\r\nWith a CDN\r\n\r\n```html\r\n\u003c!-- It is recommended to replace the @latest with a strict version number for production --\u003e\r\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/kyanite@latest/dist/kyanite.iife.min.js\"\u003e\u003c/script\u003e\r\n\r\n\u003cscript\u003e\r\n  K.isEmpty({})\r\n\u003c/script\u003e\r\n```\r\n\r\nOr installing with `npm i kyanite` and then:\r\n\r\nStandard module system\r\n\r\n```js\r\n// This will use the module path in the package.json (src/index.js)\r\nimport * as K from 'kyanite'\r\n```\r\n\r\nCommon JS\r\n\r\n```js\r\n// For the prod minified version\r\nconst K = require('kyanite')\r\n```\r\n\r\n## Testing\r\n\r\nKyanite follows the [tap](http://testanything.org/) setup using the [tape](https://github.com/substack/tape) testing suite.\r\n\r\nTo run the tests:\r\n\r\n- `git clone` the repo\r\n- `cd` into the repo folder\r\n- Run `npm i`\r\n- Run `npm t`\r\n\r\n## Credit\r\n\r\nA lot of the if not most of the inspiration for this library came from 2 libraries I follow closely, Primarily most of it stems from:\r\n\r\n- [foreword](https://github.com/abstract-tools/foreword) by [Abstract Tools](https://github.com/abstract-tools) which is a very nice and easy to use library developed by a close friend and mentor. This is where a lot of functionality ideas came from I can't recommend it enough.\r\n- [Ramdajs](http://ramdajs.com/) by [Ramda](https://github.com/ramda) a beautiful and feature packed library where the original idea started\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhershman1%2Fkyanite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdhershman1%2Fkyanite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhershman1%2Fkyanite/lists"}