From fed0a4517c5a9550a33caf8bd280c8174771db97 Mon Sep 17 00:00:00 2001 From: fern-api <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 17 Jul 2024 01:29:17 +0000 Subject: [PATCH] Release 0.1.5 --- README.md | 53 ++++++++++++++++++--- package.json | 2 +- src/api/resources/checkout/client/Client.ts | 6 +-- 3 files changed, 50 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 30fe18d..7702ce7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Crossmint TypeScript Library [![fern shield](https://img.shields.io/badge/%F0%9F%8C%BF-SDK%20generated%20by%20Fern-brightgreen)](https://github.com/fern-api/fern) +[![npm shield](https://img.shields.io/npm/v/crossmint)](https://www.npmjs.com/package/crossmint) The Crossmint TypeScript library provides convenient access to the Crossmint API from TypeScript. @@ -18,10 +19,10 @@ Instantiate and use the client with the following: import { CrossmintClient, Crossmint } from "crossmint"; const client = new CrossmintClient({ apiKey: "YOUR_API_KEY" }); -await client.headless.createOrder({ +await client.checkout.createOrder({ payment: { - method: Crossmint.PaymentZeroMethod.ArbitrumSepolia, - currency: Crossmint.PaymentZeroCurrency.Eth, + method: Crossmint.EvmPaymentMethods.ArbitrumSepolia, + currency: Crossmint.EvmPaymentCurrency.Eth, }, lineItems: { collectionLocator: "crossmint:", @@ -37,7 +38,7 @@ following namespace: ```typescript import { Crossmint } from "crossmint"; -const request: Crossmint.CreateOrderRequest = { +const request: Crossmint.CheckoutCreateOrderRequest = { ... }; ``` @@ -51,7 +52,7 @@ will be thrown. import { CrossmintError } from "crossmint"; try { - await client.headless.createOrder(...); + await client.checkout.createOrder(...); } catch (err) { if (err instanceof CrossmintError) { console.log(err.statusCode); @@ -116,7 +117,7 @@ A request is deemed retriable when any of the following HTTP status codes is ret Use the `maxRetries` request option to configure this behavior. ```typescript -const response = await client.headless.createOrder(..., { +const response = await client.checkout.createOrder(..., { maxRetries: 0 // override maxRetries at the request level }); ``` @@ -126,11 +127,49 @@ const response = await client.headless.createOrder(..., { The SDK defaults to a 60 second timeout. Use the `timeoutInSeconds` option to configure this behavior. ```typescript -const response = await client.headless.createOrder(..., { +const response = await client.checkout.createOrder(..., { timeoutInSeconds: 30 // override timeout to 30s }); ``` +### Aborting Requests + +The SDK allows users to abort requests at any point by passing in an abort signal. + +```typescript +const controller = new AbortController(); +const response = await client.checkout.createOrder(..., { + abortSignal: controller.signal +}); +controller.abort(); // aborts the request +``` + +### Runtime Compatibility + +The SDK defaults to `node-fetch` but will use the global fetch client if present. The SDK works in the following +runtimes: + +- Node.js 18+ +- Vercel +- Cloudflare Workers +- Deno v1.25+ +- Bun 1.0+ +- React Native + +### Customizing Fetch Client + +The SDK provides a way for your to customize the underlying HTTP client / Fetch function. If you're running in an +unsupported environment, this provides a way for you to break glass and ensure the SDK works. + +```typescript +import { CrossmintClient } from "crossmint"; + +const client = new CrossmintClient({ + ... + fetcher: // provide your implementation here +}); +``` + ## Contributing While we value open-source contributions to this SDK, this library is generated programmatically. diff --git a/package.json b/package.json index d00545e..b8b6eb3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "crossmint", - "version": "0.1.4", + "version": "0.1.5", "private": false, "repository": "https://github.com/fern-demo/crossmint-typescript-sdk", "main": "./index.js", diff --git a/src/api/resources/checkout/client/Client.ts b/src/api/resources/checkout/client/Client.ts index f592ceb..e83a971 100644 --- a/src/api/resources/checkout/client/Client.ts +++ b/src/api/resources/checkout/client/Client.ts @@ -64,7 +64,7 @@ export class Checkout { headers: { "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "crossmint", - "X-Fern-SDK-Version": "0.1.4", + "X-Fern-SDK-Version": "0.1.5", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...(await this._getCustomAuthorizationHeaders()), @@ -176,7 +176,7 @@ export class Checkout { headers: { "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "crossmint", - "X-Fern-SDK-Version": "0.1.4", + "X-Fern-SDK-Version": "0.1.5", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...(await this._getCustomAuthorizationHeaders()), @@ -292,7 +292,7 @@ export class Checkout { headers: { "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "crossmint", - "X-Fern-SDK-Version": "0.1.4", + "X-Fern-SDK-Version": "0.1.5", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...(await this._getCustomAuthorizationHeaders()),