2.1.2 • Published 11 months ago

@scalar-labs/scalar-admin v2.1.2

Weekly downloads
-
License
AGPL-3.0-or-later
Repository
-
Last release
11 months ago

Scalar Admin Library for Node.js

This library provides the following classes to se pause and unpause requests to Scalar Admin gRPC servers.

  • AdminClient
  • RequsetCoordinator

AdminClient

AdminClient is used to send pause/unpause requests to a single server.

const client = new AdminClient(ip, port);
const waitOutstanding = true;

try {
	await client.pause(waitOutstanding);
	await client.unpause();
} catch (e) {
	// ...
}

RequestCoordinator

RequsetCoordinator can be used to send pause/unpause requests to all servers behine the given service record. When it fails to pause any of the servers, it tries to unpause (rollback) all of them.

const coordinator = new RequestCoordinator(srv);
const waitOutstanding = true;

try {
	await coordinator.pause(waitOutstanding);
	await coordinator.unpause();
} catch (e) {
	// ...
}

Build JavaScript bundle and TypeScript declaration

This is a TypeScript project. You can use

npm run build

to generate the JavaScript bundle file and the TypeScript declaration file.

(Re)generate protobuf static files

grpc_tools_node_protoc --js_out=import_style=commonjs,binary:. --grpc_out=grpc_js:src --plugin=protoc-gen-grpc=`which grpc_tools_node_protoc_plugin` [the admin Proto Buffer file]