Several implementations of CertLogic and compatible implementations of JsonLogic exist - links to these are given below.
Note that the compatibility of JsonLogic implementations does not necessarily include the custom operations, such as plusTime
, and extractFromUVCI
.
These custom operations:
- Are defined in the CertLogic specification.
- Can be implemented by mimicking any of the existing implementations in
- Java-/TypeScript,
- Kotlin,
- or Dart.
- Can be tested using the test suite, and by mimicking the various unit tests available, such as:
- in Java-/TypeScript
- in Kotlin
- in Dart.
certlogic-js
: a TypeScript implementation, usable from JavaScript as well, and available as NPM package.
It can be installed by running
$ npm certlogic-js
and adding the following import to TS/ES6+ source
import { evaluate } from "certlogic-js"
or the equivalent ES6- statement
const { evaluate } = require("certlogic-js")
-
certlogic-kotlin
: a greenfield Kotlin implementation, Releases are available on GitHub, and also as GitHub Package. Note that you have to modify your~/.m2/settings.xml
to be able to retrieve a GitHub Package: see this page. -
json-logic-java
: Java implementation of JsonLogic which has been verified to comply with the CertLogic test suite. Releases are available on GitHub, and also on Maven Central.
json-logic-swift
: a Swift implementation of JsonLogic, conforming to the CertLogic spec.
Releases are available on GitHub.
json-logic-go
: an implementation of JsonLogic in Go, contributed through the hard work of Ilie Circiumaru.
certlogic-dart
: a Dart implementation of CertLogic.