An open API service indexing awesome lists of open source software.

https://github.com/apimatic/apimatic-js-runtime

Runtime packages for JS SDKs generated by APIMatic
https://github.com/apimatic/apimatic-js-runtime

Last synced: 6 months ago
JSON representation

Runtime packages for JS SDKs generated by APIMatic

Awesome Lists containing this project

README

          

# APIMatic Runtime Packages for JavaScript SDKs
[![CI][ci-badge]][ci-url]
[![Coverage][test-coverage-badge]][test-coverage-url]
[![Vulnerabilities][vulnerabilities-badge]][vulnerabilities-url]
[![Maintainability Rating][maintainability-badge]][maintainability-url]
[![License][license-badge]][license-url]

This is a collection of packages used in SDKs generated by the APIMatic Code Generator.

They provide common runtime utilities needed by SDKs to make API calls and handle request/response data.

## List of Packages

| Name | Version | Description |
|-----------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|
| [@apimatic/schema](packages/schema) | [![npm shield](https://img.shields.io/npm/v/@apimatic/schema)](https://www.npmjs.com/package/@apimatic/schema) | Validate and transform data using schema definitions. |
| [@apimatic/authentication-adapters](packages/authentication-adapters) | [![npm shield](https://img.shields.io/npm/v/@apimatic/authentication-adapters)](https://www.npmjs.com/package/@apimatic/authentication-adapters) | Provides pluggable adapters for different authentication schemes. |
| [@apimatic/axios-client-adapter](packages/axios-client-adapter) | [![npm shield](https://img.shields.io/npm/v/@apimatic/axios-client-adapter)](https://www.npmjs.com/package/@apimatic/axios-client-adapter) | Axios HTTP Client adapter which can be plugged into @apimatic/core package. |
| [@apimatic/convert-to-stream](packages/convert-to-stream) | [![npm shield](https://img.shields.io/npm/v/@apimatic/convert-to-stream)](https://www.npmjs.com/package/@apimatic/convert-to-stream) | Provides bidirectional conversion between strings and streams/blobs. |
| [@apimatic/core](packages/core) | [![npm shield](https://img.shields.io/npm/v/@apimatic/core)](https://www.npmjs.com/package/@apimatic/core) | Provides core http logic of request building, response handling and validation and using api error classes |
| [@apimatic/core-interfaces](packages/core-interfaces) | [![npm shield](https://img.shields.io/npm/v/@apimatic/core-interfaces)](https://www.npmjs.com/package/@apimatic/core-interfaces) | Abstraction layer for @apimatic/core. |
| [@apimatic/file-wrapper](packages/file-wrapper) | [![npm shield](https://img.shields.io/npm/v/@apimatic/file-wrapper)](https://www.npmjs.com/package/@apimatic/file-wrapper) | Wrapper around the file types and their utilities. |
| [@apimatic/http-headers](packages/http-headers) | [![npm shield](https://img.shields.io/npm/v/@apimatic/http-headers)](https://www.npmjs.com/package/@apimatic/http-headers) | HTTP Headers utilities for apimatic-js-runtime libraries. |
| [@apimatic/http-query](packages/http-query) | [![npm shield](https://img.shields.io/npm/v/@apimatic/http-query)](https://www.npmjs.com/package/@apimatic/http-query) | HTTP Query utilities for apimatic-js-runtime libraries |
| [@apimatic/oauth-adapters](packages/oauth-adapters) | [![npm shield](https://img.shields.io/npm/v/@apimatic/oauth-adapters)](https://www.npmjs.com/package/@apimatic/oauth-adapters) | Provides pluggable adapters for OAuth 2.0 authentication schemes. |
| [@apimatic/xml-adapter](packages/xml-adapter) | [![npm shield](https://img.shields.io/npm/v/@apimatic/xml-adapter)](https://www.npmjs.com/package/@apimatic/xml-adapter) | Provides XML serialization and deserialization utilities for apimatic-js-runtime libraries. |
| [@apimatic/test-utilities](packages/test-utilities) | [![npm shield](https://img.shields.io/npm/v/@apimatic/test-utilities)](https://www.npmjs.com/package/@apimatic/test-utilities) | Provides assertion utilities for testing api calls. It can be plugged in as dev dependency to any library. |
| [@apimatic/pagination](packages/pagination) | [![npm shield](https://img.shields.io/npm/v/@apimatic/pagination)](https://www.npmjs.com/package/@apimatic/pagination) | Provides utilities to handle paginated API responses, including support for asynchronous iteration over pages or items. |
| [@apimatic/proxy](packages/proxy) | [![npm shield](https://img.shields.io/npm/v/@apimatic/proxy)](https://www.npmjs.com/package/@apimatic/proxy) | Provides proxy configuration utilities for HTTP clients. |
| [@apimatic/hmac-signature-verifier](packages/hmac-signature-verifier) | [![npm shield](https://img.shields.io/npm/v/@apimatic/hmac-signature-verifier)](https://www.npmjs.com/package/@apimatic/hmac-signature-verifier) | Provides HMAC signature verification utilities to secure HTTP requests. |

## Builds and Usage

The following environments are supported:

1. Node.js v14.15.0+
1. Bundlers like Rollup or Webpack
1. Web browsers

To support multiple environments, we export various builds:

| Environment | Usage |
| ------------------------------------------------- | -------------------------------------------------------------------------------- |
| Common.js | Import like this: `require('@apimatic/')`. |
| ES Module | Import like this: `import { /* your imports */ } from '@apimatic/'`. |
| Browsers | \*Use script: `https://unpkg.com/@apimatic/@VERSION/umd/.js` |
| Modern Browsers (supports ESM and uses modern JS) | \*Use script: `https://unpkg.com/@apimatic/@VERSION/umd/.esm.js` |

_\* Don't forget to replace VERSION with the version number._

**Note**: We discourage importing files or modules directly from the package. These are likely to change in the future and should not be considered stable.

[ci-badge]: https://github.com/apimatic/apimatic-js-runtime/actions/workflows/main.yml/badge.svg
[ci-url]: https://github.com/apimatic/apimatic-js-runtime/actions/workflows/main.yml
[test-coverage-badge]: https://sonarcloud.io/api/project_badges/measure?project=apimatic_apimatic-js-runtime&metric=coverage
[test-coverage-url]: https://sonarcloud.io/summary/new_code?id=apimatic_apimatic-js-runtime
[vulnerabilities-badge]: https://sonarcloud.io/api/project_badges/measure?project=apimatic_apimatic-js-runtime&metric=vulnerabilities
[vulnerabilities-url]: https://sonarcloud.io/summary/new_code?id=apimatic_apimatic-js-runtime
[maintainability-badge]: https://sonarcloud.io/api/project_badges/measure?project=apimatic_apimatic-js-runtime&metric=sqale_rating
[maintainability-url]: https://sonarcloud.io/summary/new_code?id=apimatic_apimatic-js-runtime
[license-badge]: https://img.shields.io/badge/licence-MIT-blue
[license-url]: https://github.com/apimatic/apimatic-js-runtime/blob/master/LICENSE.md