Several implementations of CertLogic and compatible implementations of JsonLogic exist - links to these are given below.
Note JsonLogic implementations include the custom rule operations, such as plusTime
, and extractFromUVCI
in iOS librarry
json-logic-swift
: a Swift implementation of JsonLogic, conforming to the CertLogic spec.
Releases are available on GitHub.
Note that the compatibility of JsonLogic implementations does not necessarily include the custom operations, such as plusTime
, and extractFromUVCI
in Android
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-go
: an implementation of JsonLogic in Go, contributed through the hard work of Ilie Circiumaru.
certlogic-dart
: a Dart implementation of CertLogic.