Socket
Book a DemoInstallSign in
Socket

certlogic-validation

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

certlogic-validation

Validators for CertLogic

latest
Source
npmnpm
Version
0.8.1
Version published
Maintainers
1
Created
Source

CertLogic

CertLogic is a standard for expressing logic, such as the kind you find in business/validation rules, in plain JSON format. It is a specified subset of JsonLogic, extended with necessary custom operations - e.g. for working with dates. It's part of the efforts surrounding the Digital COVID Certificate, and as such serves as the basis for defining interchangeable validation rules on top of the DCC.

This NPM package consists of a validator for CertLogic, conforming to version 1.1.0 of the specification, implemented in JavaScript(/TypeScript).

API

This NPM package exposes the following top-level things:

  • ValidationError: a TypeScript type for reporting validation errors on (sub) expressions.
  • validateFormat: a function that validates CertLogic expressions purely based on the CertLogic format, without regarding types.
  • validate: a function that validates CertLogic expressions, and returns any violations as validation errors. Currently, this is effectively an alias for validateFormat, but that might change in the future.
  • dataAccesses: a function that computes all data accesses that may be performed by the given CertLogic expression.

Note that documentation is...sparse outside of the overall documentation for CertLogic. In particular, code-level documentation is largely absent. On the other hand: the TypeScript source code is likely easy enough to understand.

Commandline

This NPM package exposes a CLI command, which can be used as follows:

$ npx certlogic-validate <path of JSON file containing CertLogic expression>

or as

$ ./node_modules/.bin/certlogic-validate <path of JSON file containing CertLogic expression>

inside any NPM package that has certlogic-validation installed as dependency.

Testing

Executing the tests requires the test suite, located directly next to this directory.

Licensing

Copyright (c) 2021 Meinte Boersma (as working for the Dutch Ministry of Health, Science, and Sports, and on behalf of/in support of the European Health Network), and all other contributors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE for the specific language governing permissions and limitations under the License.

Keywords

json

FAQs

Package last updated on 26 Jul 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts