@rlay/utils v0.2.0
Rlay Utils
Provides a helpful CLI interface for common tasks such as seeding the schema and generating the application rlay-client ORM.
See here for the documentation for the Rlay Client Library.
Install
npm install --g @rlay/utilsUsage
The typical flow is to first call rlay-seed to submit the schema and create the CIDs for the schema entities such as Class, Annotation, DataProperty, ObjectProperty and so on. Afterwards rlay-generate uses that output file to instantiate the custom rlay client from that schema via rlay-client-lib.
Commands
Rlay Utils exposes the following commands:
rlay-seed
rlay-dump
rlay-generate
rlay-generate takes two inputs, (1) the output of rlay-seed stored as a .json and (2) the path to the seed file which served as input for the rlay-seed command. It then generates a .js file as output that exports the instantiated custom rlay client with the seeded schema.
The input and output information can be controlled via the following options:
--seed-file-output: path to the file that contains the output of the rlay-seed command. Default:./generated/seed.json--seed-file: path to the file that served as input for the rlay-seed command. Default:./seed.js--output: path to the file where the generated rlay client should be written to. Default:./generated/rlay-client/index.js
Usage
You can then require the generated file in your application. Example:
const defaultClient = require('./generated/rlay-client'); // for the default client
const { getClient } = require('./generated/rlay-client'); // for configuring your own custom client
const customClient = getClient({ ...config });
// calling getClient({ ...config }) anywhere else in your code with the same config will always return the same instance.
// You can create as many custom clients as you likeExample of a { ...config }:
{
address: '0xc02345a911471fd46c47c4d3c2e5c85f5ae93d13',
backend: 'myneo4j',
RpcUrl: 'http://localhost:8546',
storeLimit: 50,
readLimit: 50
}