{"id":13961798,"url":"https://github.com/Jozty/Fae","last_synced_at":"2025-07-21T06:31:54.109Z","repository":{"id":37000064,"uuid":"267566501","full_name":"Jozty/Fae","owner":"Jozty","description":"A functional module for Deno inspired from Ramda.","archived":false,"fork":false,"pushed_at":"2022-08-04T07:16:48.000Z","size":874,"stargazers_count":45,"open_issues_count":13,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-19T20:47:57.702Z","etag":null,"topics":["deno","deno-module","denoland","fae","functional","functional-js","functional-programming","javascript","jozty","krow","ramda","ramdajs","typescript"],"latest_commit_sha":null,"homepage":"http://fae.jozty.io/","language":"TypeScript","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/Jozty.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-28T11:00:19.000Z","updated_at":"2025-07-04T18:32:54.000Z","dependencies_parsed_at":"2022-07-13T15:31:40.335Z","dependency_job_id":null,"html_url":"https://github.com/Jozty/Fae","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/Jozty/Fae","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jozty%2FFae","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jozty%2FFae/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jozty%2FFae/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jozty%2FFae/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jozty","download_url":"https://codeload.github.com/Jozty/Fae/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jozty%2FFae/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266253582,"owners_count":23900052,"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":["deno","deno-module","denoland","fae","functional","functional-js","functional-programming","javascript","jozty","krow","ramda","ramdajs","typescript"],"created_at":"2024-08-08T17:01:27.419Z","updated_at":"2025-07-21T06:31:49.099Z","avatar_url":"https://github.com/Jozty.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"![](./assets/logo-160x160-2.png)\n\n# Fae\n\n[![CodeFactor](https://www.codefactor.io/repository/github/jozty/fae/badge)](https://www.codefactor.io/repository/github/jozty/fae)\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/jozty/fae)\n![GitHub Workflow Status](https://img.shields.io/github/workflow/status/jozty/fae/Tests?label=tests)\n![GitHub](https://img.shields.io/github/license/jozty/fae)\n[![codecov](https://codecov.io/gh/Jozty/Fae/branch/master/graph/badge.svg)](https://codecov.io/gh/Jozty/Fae)\n\nFae is a fully-fledged library that supports the functional style of programming\nin Deno and is inspired from [Ramda](https://ramdajs.com). This style provides\nmany benefits like it never mutates input data and is used to create function\npipelines. Fae functions are automatically curried. The data to be operated on\nis generally supplied last. It results in easy to build functions as sequences\nof simpler or atomic functions (pipelines), each of which transforms the data\nand passes it along to the next.\n\nFae provides over 110 functions that help programmers to write clean and concise\ncode.\n\n## Installing\n\n_Deno allows you to directly import modules from URLs!_\n\nTo import and use the client in your file, add the following import statement:\n\n```typescript\nimport * as Fae from 'https://deno.land/x/fae@v1.0.0/mod.ts';\n```\n\nFunction usage and documentation can be found [here](https://fae.jozty.io/)\n\n### Running tests\n\n```shell\ndeno test\n# for coverage tests\ndeno test --coverage --unstable\n```\n\n### Usage\n\n```typescript\nimport * as Fae from 'https://deno.land/x/fae@v1.0.0/mod.ts';\n\n// arithmetic functions\nFae.add(10, 20); // 30\nFae.add(10)(20); // 30\n\nconst add20 = Fae.add(20);\nadd20(10); // 30\nadd20(125); // 145\n\n// Expression - (2*5+5-10)/2\nconst double = Fae.multiply(2);\nconst half = Fae.divide(Fae._, 2);\nconst add5 = Fae.add(5);\nconst subtract10 = Fae.subtract(Fae._, 10);\n\nhalf(subtract10(add5(double(15)))); // 12.5\nFae.compose(half, subtract10, add5, double)(15); // 12.5\nFae.pipe(double, add5, subtract10, half)(15); // 12.5\n```\n\n**With lenses**\n\n```typescript\nimport {\n  inc,\n  lens,\n  over,\n  set,\n  view,\n} from 'https://deno.land/x/fae@v1.0.0/mod.ts';\n\nconst array = [1, 2, 3, 4, 5, 6, 7, 8];\n\n// gets element at index `0`\nfunction getter(a: number[]) {\n  return a[0];\n}\n\n// returns a new array by setting passed value `val` at index `0`\nfunction setter(val: number, a: number[]) {\n  const x = [...a];\n  x[0] = val;\n  return x;\n}\n\nconst l = lens(getter, setter);\n\nconst viewResult = view(l, array);\nconst overResult = over(l, inc, array);\nconst setResult = set(l, 12, array);\n\nconsole.log(viewResult); // 1\nconsole.log(overResult); // [2, 2, 3, 4, 5, 6, 7, 8]\nconsole.log(setResult); // [12, 2, 3, 4, 5, 6, 7, 8]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJozty%2FFae","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJozty%2FFae","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJozty%2FFae/lists"}