truss - Assertions API for Clojure/Script

  •        19

Or: A lightweight alternative to static typing, clojure.spec, core.typed, @plumatic/schema, etc.Truss is a micro library for Clojure/Script that provides fast, flexible runtime condition assertions with great error messages. It can be used to get many of the most important benefits of static/gradual typing without the usual rigidity or onboarding costs.

https://www.taoensso.com
https://github.com/ptaoussanis/truss

Tags
Implementation
License
Platform

   




Related Projects

sente - Realtime web comms for Clojure/Script

  •    Clojure

Sente is a small client+server library that makes it easy to build reliable, high-performance realtime web applications with Clojure + ClojureScript.Sen-te (先手) is a Japanese Go term used to describe a play with such an overwhelming follow-up that it demands an immediate response, leaving its player with the initiative.

spec-tools - Clojure(Script) tools for clojure.spec

  •    Clojure

Clojure/Script tools for clojure.spec. Status: Alpha (as spec is still alpha too).

Clojurescript - Clojure to JS compiler

  •    Clojure

ClojureScript is a compiler for Clojure that targets JavaScript. It is designed to emit JavaScript code which is compatible with the advanced compilation mode of the Google Closure optimizing compiler. ClojureScript combines the reach of the JavaScript platform, the flexibility and interactive development of Clojure, and the whole-program optimization of Google Closure to provide the most powerful language for programming the web.

core.logic - A logic programming library for Clojure & ClojureScript

  •    Clojure

A logic programming library for Clojure & ClojureScript. core.logic offers Prolog-like relational programming, constraint logic programming, and nominal logic programming for Clojure. At its heart is an original implementation of miniKanren as described in William Byrd's dissertation Relational Programming in miniKanren: Techniques, Applications, and Implementations as well as the extensions described in cKanren and αKanren. It is designed to be easily extended to forms of logic programming beyond the ones provided.

ring-swagger - Swagger Spec for Clojure Web Apps

  •    Clojure

Swagger 2.0 implementation for Clojure/Ring using Plumatic Schema (support for clojure.spec via spec-tools. The CHANGELOG.


bouncer - A validation DSL for Clojure & Clojurescript applications

  •    Clojure

Check out the CHANGELOG to see what's new. validate takes a map and one or more validation forms and returns a vector.

ghostwheel - Hassle-free clojure

  •    Clojure

Ghostwheel makes using clojure.spec easy, minimises the need for unit tests, detects unexpected side effects at compile time, and helps you see what your code is doing so that you can play, explore and refactor fearlessly. It’s about getting the mundane, frustrating stuff out of the way in order to let you focus on the creative side of building software and maybe even get some quality hammock time without cryptic stack traces invading your dreams.

expectations - A minimalist's unit testing framework

  •    Clojure

This will run the (successful) expectations for Clojure and the (unsuccessful) clojure.test-compatible tests for Clojure (currently 83/83 and 15/25 tests/assertions respectively, the latter should show 20 failures and 2 errors). This will run the (successful) expectations that are compatible with ClojureScript (currently 69/69).

garden - Generate CSS with Clojure

  •    Clojure

Garden is a library for rendering CSS in Clojure and ClojureScript. Conceptually similar to Hiccup, it uses vectors to represent rules and maps to represent declarations. It is designed for stylesheet authors who are interested in what's possible when you trade a preprocessor for a programming language. Garden 1.2.5 and below requires Clojure 1.6.0 and is known to work with ClojureScript 0.0-2342. However, starting with Garden 1.3.0 Garden requires Clojure 1.7 and ClojureScript 1.7.x to leverage a unified syntax with reader conditionals, and other major changes in the compiler and repl in Clojurescript.

schema - Clojure(Script) library for declarative data description and validation

  •    Clojure

Clojure(Script) library for declarative data description and validation

schema - Clojure(Script) library for declarative data description and validation

  •    Clojure

A Clojure(Script) library for declarative data description and validation. Latest codox API docs.

spec-provider - Infer Clojure specs from sample data. Inspired by F#'s type providers.

  •    Clojure

This is a library that will produce a best-guess Clojure spec based on multiple examples of in-memory data. The inferred spec is not meant to be used as is and without human supervision, it is rather a starting point that can (and should) be refined. The idea is analogous to F# type providers -- specifically the JSON type provider, but the input in the case of spec-provider is any in-memory Clojure data structure.

calva - Calva: Clojure & Clojurescript interactive programming made easy - Evaluate code, run tests, navigate to definitions, see docs, interactive REPLs, etcetera

  •    TypeScript

Welcome to Calva, an easy to use, integrated REPL powered environment for enjoyable and productive Clojure and ClojureScript coding. It includes inline code evaluation, Paredit (and some little Parinfer), a Clojure formatter, a test runner, Clojure syntax highlighting, and more. Much of the power is provided by The Orchard. Calva is short for Calvados, a liquid gifted to humanity from God. It is distilled from Cider.

datascript - Immutable database and Datalog query engine for Clojure, ClojureScript and JS

  •    Clojure

An immutable in-memory database and Datalog query engine in Clojure and ClojureScript. DataScript is meant to run inside the browser. It is cheap to create, quick to query and ephemeral. You create a database on page load, put some data in it, track changes, do queries and forget about it when the user closes the page.

cljs-ajax - simple Ajax client for ClojureScript and Clojure

  •    Clojure

cljs-ajax exposes the same interface (where useful) in both Clojure and ClojureScript. On ClojureScript it operates as a wrapper around goog.net.XhrIo or js/XmlHttpRequest, while on the JVM it's a wrapper around the Apache HttpAsyncClient library. In addition to this document, there's an FAQ, a change log and a contribution document. Furthermore, there is detailed documentation on specific features and design advice in the docs folder.

chestnut - Application template for Clojure + ClojureScript web apps

  •    Clojure

Getting value out of Chestnut? Consider making a small donation. Chestnut is a Clojure/ClojureScript application template. It takes the pain out of getting a working ClojureScript setup with live reloading plus a browser connected REPL.

mount - managing Clojure and ClojureScript app state since (reset)

  •    Clojure

Depending on how application state is managed during development, the above three superpowers can either stay, go somewhat, or go completely. If Clojure REPL (i.e. lein repl, boot repl) fired up instantly, the need to reload application state inside the REPL would go away. But at the moment, and for some time in the future, managing state by making it reloadable within the same REPL session is important to retain all the Clojure superpowers.

markdown-clj - Markdown parser in Clojure

  •    Clojure

You can try out the parser here. A markdown parser that compiles to both Clojure and ClojureScript.

rewrite-clj - Rewrite Clojure Code and EDN!

  •    Clojure

A library that reads and writes Clojure, ClojureScript and EDN from Clojure and ClojureScript in a whitespace and comment preserving way. Migration from rewrite-cljc-playground complete. Rewrite-cljc-playground is where I first merged rewrite-clj v0 and rewrite-cljs.

compojure-api - Sweet web apis with Compojure & Swagger

  •    Clojure

Stuff on top of Compojure for making sweet web apis. Latest non-alpha: [metosin/compojure-api "1.1.11"].






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.