@hyperledger/cactus-core-api
TypeScript icon, indicating that this package has built-in type declarations

2.0.0-alpha.2 • Public • Published

@hyperledger/cactus-core-api

This package is meant to be depended on by most of the other packages for interface definitions, abstract classes and generated code. All of which is to be kept with as few dependencies as possible in order to reduce the potential for circular dependencies.

From the above it also comes that the core-api package is rarely used by developers who are implementing projects with Hyperledger Cactus and instead it is mostly consumed by the framework's other packages internally (e.g. the Hyperledger Cactus contributors).

Usage

Installation

You can install the package via your favorite package manager.

Yarn:

yarn add --exact @hyperledger/cactus-core-api

npm:

npm install --save-exact=true @hyperledger/cactus-core-api

We highly recommend using exact versions in general when managing your dependencies in order to achieve (or get closer to) reproducible builds and to enhance your security posture against malicious package versions that might get pushed to the registries without the knowledge or consent or well intentioned maintainers.

Import

import {
  GetKeychainEntryRequestV1,
  isICactusPlugin,
  IEndpointAuthzOptions,
  IExpressRequestHandler,
  IWebServiceEndpoint,
} from "@hyperledger/cactus-core-api";

Check If POJO is a Cactus Plugin

if (!isICactusPlugin(plugin)) {
    throw new Error(`PluginRegistry#add() plugin not an ICactusPlugin`);
}

Development

Weaver Protocol Buffers

To test the Rust build, you need to run either one of the following:

yarn lerna run proto:protoc-gen-rust (from the project root)

or a regular cargo build from the core-api package directory, e.g.:

cd packages/cactus-core-api/
cargo build

If you prefer to use make that also works from the package directory:

cd packages/cactus-core-api/
make

The protocol buffer to Rust compilation is not yet part of the project build by default because we need some time to include the Rust toolchain in the project-wide list of build dependencies for developers.

Package Sidebar

Install

npm i @hyperledger/cactus-core-api

Weekly Downloads

140

Version

2.0.0-alpha.2

License

Apache-2.0

Unpacked Size

6.04 MB

Total Files

85

Last publish

Collaborators

  • peter.somogyvari
  • hyperledger-ghci
  • hyperledger-lf