This package contains all the plugins, helpers and object definitions to dialog with an API following the ama-sdk
architecture.
Please refer to the ama-sdk-schematics package for getting started with an API based on ama-sdk
.
- abort
- additional-params
- api-configuration-override
- api-key
- bot-protection-fingerprint
- concurrent
- core
- client-facts
- custom-info
- exception
- fetch-cache
- fetch-credentials
- json-token
- keepalive
- mock-intercept
- perf-metric
- pii-tokenizer
- raw-response-info
- retry
- reviver
- session-id
- si-token
- simple-api-key-authentication
- url-rewrite
- wait-for
- timeout
The API Clients are mandatory to the SDK to indicate the service that should be used by the SDK to process the calls. A list of API Clients are provided by this package:
API Client | Import | Description |
---|---|---|
ApiFetchClient | @ama-sdk/core | Default API Client based on the browser FetchApi |
ApiBeaconClient | @ama-sdk/core | API Client based on the browser BeaconApi, it is processing synchronous call |
ApiAngularClient | @ama-sdk/core/clients/api-angular-client | API Client using the HttpClient exposed by the @angular/common package |
In order to ease the logging in the ama-sdk plugins, it is possible to connect to third-party logging services.
This can be achieved by adding a Logger
implementation to the options of an API client.
For example, in the Otter showcase application, we could add a ConsoleLogger
(from @o3r/core
) as a parameter to the ApiFetchClient:
const logger = new ConsoleLogger();
function petApiFactory() {
const apiConfig: ApiClient = new ApiFetchClient(
{
basePath: 'https://petstore3.swagger.io/api/v3',
requestPlugins: [new SessionIdRequest()],
fetchPlugins: [],
logger
}
);
return new PetApi(apiConfig);
}
Note: Adding a third-party logging service is optional. If undefined, the fallback is the console logger.
This package also comes with CLI scripts that can facilitate the upgrade and publication of an SDK. Use --help on each command for more information
Script | Description |
---|---|
amasdk-clear-index | Remove the index files that are no longer necessary after the deletion of the associated model |
amasdk-files-pack | Prepare the dist folder for publication |
amasdk-update-spec-from-npm | Update the OpenAPI spec from an NPM package |