Alternatives
Products that do what Fp-filters – A curated collection of TS/JS array filter functions does
Hello HN, I wanted to share a library I've been working on called: fp-filters - A curated collection of 130+ common-use filter functions that are written (and can be used) in a functional programming style. Why I built this: I have noticed in several codebases the tendency to keep writing the same or similar filter functions over and over again. Often inlined, taxing readability. And realized that most of them do pretty much the same N things. Therefore they could be isolated, curated, and maintained separately. fp-filters provides 130+ composable, point-free filtering functions that make…
- 1FP
Hi HN, I built fp-pack, a small TypeScript functional utility library focused on pipe-first composition. The goal is to keep pipelines simple and readable, while still supporting early exits and side effects — without introducing monads like Option or Either. Most code uses plain pipe/pipeAsync. For the few cases that need early termination, fp-pack provides a SideEffect-based pipeline that short-circuits safely. I also wrote an “AI agent skills” document to help LLMs generate consistent fp-pack-style code. Feedback, criticism, or questions are very welcome.
Jan 2026 · github.com
- 2FA
Hey all, I just released v2.0.0 of FilterQL, a query language and TypeScript library. This version adds support for Operations, which allow you to transform the data after filtering. If you think this would be useful in a project you're working on, give it a try and let me know what you think!
2025 · github.com
- 3JJ
Hi all, I've made a javascript library to simplify searching/sorting/filtering in arrays of objects. Its inspired by both GraphQL and SQL, but implemented using javascript Proxies. Instead of creating a new language, its all just javascript. I've made it as part of an experimental database, which uses javascript as the query engine. The normal javascript map/reduce/sort functions are quite difficult to master for junior developers. JAQT is easier to explain, and can still be used in combination with any existing array functions. Please let me know what you think of the…
2024 · github.com
- 4AT
2022 · github.com
- 5

- 6SA
Hi friends, I started casually working on scrapscript in 2015. I built a few compilers over the years to test out various ideas/implementations, and I think I'm finally happy with the overall design. The code is not public yet. Email me at [email protected] if you're interested in joining the core team later this year. Let me know if you have any questions or feedback :)
2023 · scrapscript.org
- 7RA
2022 · github.com
- 8TF
Hi HN, I built typed-ffmpeg, a Python package that lets you build FFmpeg filter graphs with full type safety, autocomplete, and validation. It’s inspired by ffmpeg-python, but addresses some long-standing issues like lack of IDE support and fragile CLI strings. What’s New in v3.0: • Source filter support (e.g. color, testsrc, etc.) • Input stream selection (e.g. [0:a], [1:v]) • A new interactive playground where you can: • Build filter graphs visually • Generate both FFmpeg CLI and typed Python code • Paste existing FFmpeg commands and reverse-parse them into graphs Playground link:…
2025 · github.com
- 9FF
I have spent several years working on search engines in the backend and have now utilized that experience to develop a fuzzy search library for the frontend. It's fast, accurate and can be used for all languages. It should be easy to integrate into your Javascript / Typescript projects. If you test it and find any edge cases that did not work for you please let me know. The implementation is based on 3-grams by the book, augmented with a novel trick of sorting the characters within the 3-grams for enhanced accuracy. For a detailed explanation you may refer to my related blog post at…
2024 · github.com
- 10UJ
Hello HN! I became frustrated with the unpredictible/poor match quality and opaqueness of "relevance scores" in existing fuzzy and fulltext search libs, so I tried something different and this is the result. The main selling point is the result quality / ordering, with best-in-class memory overhead and excellent performance being bonuses. The API is pretty stable at this point, but looking for feedback before committing to 1.0. TL;DR The test corpus is a 4MB json file with 162k words/phrases, so give it a second for initial download. You can also drag/drop your own…
2022 · github.com
- 11LA
Hey HN! Roughly 4 years ago I started building a lazy functional iteration library for JS/TS. I had a few goals for the library: - Supporting sync, sequential async, and concurrent async iteration - Limiting it to a small number of orthogonal concepts that compose beautifully to solve problems - Making it fully tree-shakeable I built it for myself and have (mostly) been its only user as I refined it. I've used it in lots of personal projects and really enjoyed it. I recently decided it would be nice to spread that enjoyment so I created a documentation website complete with a playground…
2024 · lfi.dev
- 12TC
Hey HN, I’m sharing ts-chan, an NPM package providing Go-like concurrency primitives, including channels and select statements, for TypeScript and JavaScript, supporting Node.js, Deno, Bun, and browsers. This is something I've built to make implementing Go-style "control loops" feasible in JavaScript, but there are many possible applications. Highlights: - Features a FIFO processing Chan class and versatile Select class for concurrency control. - Supports buffered channel and channel close semantics very close to Go's. - TypeScript-first implementation. - Defines a simple "channel protocol"…
2023 · github.com
- 13FF
2016 · github.com
- 14AS
I've been spending some time coding fp. It is a programming language heavily inspired by the language John Backus described in his 1977 Turing Award lecture. There's plenty of examples in the projects github repository for the interested!
2022 · github.com
- 15LA
Initially I started building this for my own projects. The main goal was to define a unified "blueprint" allowing me to develop multi-platform apps using the same code, without code generation. I wanted to be able to develop the same functionality on web, desktop, cli, server, mobile, whatever... I've been able to achieve this by relying on TypeScript, a 4-layer architecture (UseCase => App => Product => Target) and dependency injection. This mechanism allows me to use whatever tech stack I want, provided the good adapters are developed. For instance, I have pre-built ones : node express…
2025 · github.com
- 16LI
2021 · github.com
- 17AJ
2023 · github.com
- 18NM
Introducing the Code ChatGPT Plugin - a new era of seamless interaction between ChatGPT and your codebase. This TypeScript Code Analyzer furnishes a suite of utilities to analyze TypeScript code, enabling ChatGPT to "talk" with YOUR code. Fetch a list of all the files in your project, list of every function in a TypeScript or JavaScript file, or even get the content of a specific function, all while staying in your conversation with ChatGPT. With accessible API endpoints, you can effortlessly navigate your codebase and ask ChatGPT anything you can think of about it. Say goodbye to the days…
2023 · github.com
- 19SA
Hey HN! After years of wrestling with Lodash's quirks and bundle size issues, I decided to build something better. SuperUtilsPlus is my attempt at creating the utility library I wish existed. What makes it different? TypeScript-first approach: Unlike Lodash's retrofitted types, I built this from the ground up with TypeScript. The type inference actually works the way you'd expect it to. Sensible defaults: Some of Lodash's decisions always bugged me. Like isObject([]) returning true - arrays aren't objects in my mental model. Or isNumber(NaN) being true when NaN literally stands for "Not a…
2025 · github.com
- 20UZ
2023 · github.com
- 21AO
Hi Hacker News! My name is Sagar, I’m working on a startup called Speakeasy - we’re making all APIs self-service. The platform is currently in beta, but we’re independently launching this tool which you can use to generate language-idiomatic, statically-typed TS SDKs from any public OpenAPI schemas. We hope to continue iterating on this to give devs a way to easily generate high fidelity client SDKs for all the major languages. Inspiration for this product is from past experiences struggling with OpenAPI. I was originally optimistic about using the OpenAPI tools to build out our offering,…
2022 · easysdk.xyz
- 22EM
Hi HN! I thought you might enjoy this even if you don't know much about Elixir. `es6_maps` is a small library that introduces a "shorthand" map creation syntax, similar to shorthand object construction in JavaScript/TypeScript. For those unfamiliar with Elixir, the most interesting aspect might be how it achieves this. `es6_maps` takes advantage of BEAM (Erlang's VM) hot-reload capabilities to amend the Elixir compiler bytecode at runtime, adding functions that expand the shorthand syntax for further compilation. I think it's a nice showcase of the power you can wield (with care) when…
2024 · github.com
- 23TH
I built a library that lets you find code patterns using familiar CSS-like selectors, then connected it to Claude via MCP so AI assistants can understand and refactor codebases. The Approach // Find code patterns with intuitive selectors: const asyncFunctions = tree.findAll('function[async]'); const todoComments = tree.findAll('comment[text="TODO"]'); const reactHooks = tree.hooks(); // Built-in React support // Chain smart transformations: tree.transform() .rename('oldFunction', 'newFunction') .removeUnusedImports() .toString(); Key Features - CSS-like…
2025
- 24PT
Throughout my career, I tried many tools to query PostgreSQL, and in the end, concluded that for what I do, the simplest is almost always the best: raw SQL queries. Until now, I typed the results manually and relied on tests to catch problems. While this is OK in e.g., GoLang, it is quite annoying in TypeScript. First, because of the more powerful type system (it's easier to guess that updated_at is a date than it is to guess whether it's nullable or not), second, because of idiosyncrasies (INT4s are deserialised as JS numbers, but INT8s are deserialised as strings). So I wrote pg-typesafe,…
Feb 2026 · github.com
Ranked by how close each launch is in meaning, then by votes. Refine with a description →