@asmv/core
v0.1.1-draft
Published
Core package for the JS implementation of the ASIMOV protocol (Asynchronous Service Interaction Messaging OVerlay).
Downloads
9
Readme
@asmv/core
Core library for the JavaScript implementation of the ASIMOV protocol (Asynchronous Service Interaction Messaging OVerlay).
This library is supposed to be used as a base for the custom client or service implementation and is transport protocol agnostic.
For ready-to-use implementations, see the following packages:
- @asmv/koa Koa framework middlewares to implement both agent and service.
Overview
The library contains:
- Service manifest definition types and JSON (ajv) schemas
- Message definition types and JSON (ajv) schemas
- HTTP extension definition types (no implementation, types only)
- Client context - usefull for the client implementations
- Service context - usefull for the service implementations of a command executor
- Utility functions for async operations
Contexts provide usefull methods for sending and receiving messages, as well as for managing an execution state.
Development
This library was generated with Nx and is a part of the asmv-js
monorepo.
Building
Run nx build core
to build the library.
Running unit tests
Run nx test core
to execute the unit tests via Jest.
License
Copyright 2023 Jiri Hybek <jiri(at)hybek.cz> and 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
http://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.