From 93760e101fd082ce21062c8c44178dbb7174f102 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Mon, 4 Mar 2024 15:24:43 -0500 Subject: [PATCH] SDK regeneration (#125) Co-authored-by: fern-api <115122769+fern-api[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 15 +- jest.config.js | 5 + package.json | 10 +- .../resources/accessGroups/client/Client.ts | 12 +- .../requests/AccessGroupsListRequest.ts | 4 +- src/api/resources/assets/client/Client.ts | 138 +- .../client/requests/AssetsUpdateRequest.ts | 14 + .../resources/assets/client/requests/index.ts | 1 + .../resources/collections/client/Client.ts | 40 +- .../resources/fields/client/Client.ts | 32 +- .../fields/client/requests/FieldCreate.ts | 25 + .../fields/client/requests/FieldUpdate.ts | 6 +- .../resources/fields/client/requests/index.ts | 1 + .../collections/resources/fields/index.ts | 1 + .../resources/fields/types/FieldCreateType.ts | 37 + .../resources/fields/types/index.ts | 1 + .../resources/collections/resources/index.ts | 3 +- .../resources/items/client/Client.ts | 352 ++- .../client/requests/ItemsDeleteItemRequest.ts | 14 + .../client/requests/ItemsGetItemRequest.ts | 14 + .../client/requests/ItemsListItemsRequest.ts | 4 + .../requests/ItemsPublishItemRequest.ts | 2 +- .../resources/items/client/requests/index.ts | 2 + src/api/resources/ecommerce/client/Client.ts | 8 +- src/api/resources/forms/client/Client.ts | 40 +- src/api/resources/index.ts | 4 +- src/api/resources/inventory/client/Client.ts | 16 +- src/api/resources/orders/client/Client.ts | 54 +- .../client/requests/OrdersListRequest.ts | 4 +- .../client/requests/OrdersRefundRequest.ts | 4 +- src/api/resources/pages/client/Client.ts | 336 ++- src/api/resources/pages/client/index.ts | 2 +- .../pages/client/requests/DomWrite.ts | 23 + .../client/requests/PagesGetContentRequest.ts | 14 + .../requests/PagesGetMetadataRequest.ts | 14 + .../pages/client/requests/PagesListRequest.ts | 14 + .../requests/UpdatePageSettingsRequest.ts | 42 + .../resources/pages/client/requests/index.ts | 5 + src/api/resources/pages/index.ts | 1 + .../pages/resources/scripts/client/Client.ts | 32 +- .../pages/types/DomWriteNodesItem.ts | 10 + src/api/resources/pages/types/index.ts | 1 + src/api/resources/products/client/Client.ts | 168 +- .../client/requests/ProductSkuCreate.ts | 17 + .../client/requests/ProductsCreateRequest.ts | 52 - .../requests/ProductsCreateSkuRequest.ts | 14 +- .../client/requests/ProductsUpdateRequest.ts | 37 +- .../requests/ProductsUpdateSkuRequest.ts | 14 +- .../products/client/requests/index.ts | 2 +- .../products/types/ProductSkuCreateProduct.ts | 24 + .../types/ProductSkuCreateProductFieldData.ts | 25 + ...tSkuCreateProductFieldDataEcProductType.ts | 19 + ...uctSkuCreateProductFieldDataTaxCategory.ts | 69 + .../products/types/ProductSkuCreateSku.ts | 21 + .../types/ProductSkuCreateSkuFieldData.ts | 28 + ...ductSkuCreateSkuFieldDataCompareAtPrice.ts | 13 + ...SkuCreateSkuFieldDataEcSkuBillingMethod.ts | 13 + ...CreateSkuFieldDataEcSkuSubscriptionPlan.ts | 17 + ...uFieldDataEcSkuSubscriptionPlanInterval.ts | 15 + .../ProductSkuCreateSkuFieldDataPrice.ts | 14 + src/api/resources/products/types/index.ts | 11 + src/api/resources/scripts/client/Client.ts | 36 +- .../requests/CustomCodeHostedRequest.ts | 8 +- .../requests/CustomCodeInlineRequest.ts | 4 +- src/api/resources/sites/client/Client.ts | 37 +- .../resources/activityLogs/client/Client.ts | 117 + .../resources/activityLogs/client/index.ts | 1 + .../requests/ActivityLogsListRequest.ts | 18 + .../activityLogs/client/requests/index.ts | 1 + .../sites/resources/activityLogs/index.ts | 1 + src/api/resources/sites/resources/index.ts | 2 + .../sites/resources/scripts/client/Client.ts | 42 +- src/api/resources/token/client/Client.ts | 12 +- src/api/resources/users/client/Client.ts | 67 +- .../client/requests/UsersInviteRequest.ts | 3 +- .../users/client/requests/UsersListRequest.ts | 4 +- .../client/requests/UsersUpdateRequest.ts | 25 + .../resources/users/client/requests/index.ts | 1 + .../users/types/UsersUpdateRequestData.ts | 12 + src/api/resources/users/types/index.ts | 1 + src/api/resources/webhooks/client/Client.ts | 32 +- src/api/types/AssetFolder.ts | 3 + src/api/types/AssetFolderList.ts | 3 +- src/api/types/CollectionItem.ts | 2 + src/api/types/Dom.ts | 15 + src/api/types/ImageNode.ts | 11 + src/api/types/InvalidScopes.ts | 11 + src/api/types/Node.ts | 17 + src/api/types/NodeType.ts | 10 + src/api/types/NotEnterprisePlanSite.ts | 16 + src/api/types/OauthScope.ts | 6 +- src/api/types/ProductAndSkUs.ts | 1 + src/api/types/ProductFieldData.ts | 20 +- .../types/ProductFieldDataEcProductType.ts | 19 + src/api/types/ProductFieldDataTaxCategory.ts | 69 + src/api/types/PublishStatus.ts | 2 +- src/api/types/SiteActivityLogItem.ts | 2 +- src/api/types/SiteActivityLogItemUser.ts | 8 + src/api/types/Sku.ts | 1 + src/api/types/SkuFieldData.ts | 19 +- src/api/types/SkuFieldDataCompareAtPrice.ts | 13 + .../types/SkuFieldDataEcSkuBillingMethod.ts | 10 + .../SkuFieldDataEcSkuSubscriptionPlan.ts | 14 + ...uFieldDataEcSkuSubscriptionPlanInterval.ts | 15 + src/api/types/SkuPropertyList.ts | 12 +- src/api/types/SkuPropertyListEnumItem.ts | 6 +- src/api/types/TextNode.ts | 11 + src/api/types/index.ts | 14 + src/core/fetcher/Fetcher.ts | 11 +- src/core/index.ts | 1 + src/core/runtime/index.ts | 1 + src/core/runtime/runtime.ts | 112 + src/environments.ts | 2 +- .../client/requests/AssetsUpdateRequest.ts | 20 + .../resources/assets/client/requests/index.ts | 1 + .../fields/client/requests/FieldCreate.ts | 26 + .../resources/fields/client/requests/index.ts | 1 + .../collections/resources/fields/index.ts | 1 + .../resources/fields/types/FieldCreateType.ts | 43 + .../resources/fields/types/index.ts | 1 + .../resources/collections/resources/index.ts | 3 +- src/serialization/resources/index.ts | 3 + .../resources/pages/client/index.ts | 1 + .../pages/client/requests/DomWrite.ts | 22 + .../resources/pages/client/requests/index.ts | 1 + src/serialization/resources/pages/index.ts | 2 + .../pages/types/DomWriteNodesItem.ts | 22 + .../resources/pages/types/index.ts | 1 + .../client/requests/ProductSkuCreate.ts | 24 + .../client/requests/ProductsCreateRequest.ts | 24 - .../products/client/requests/index.ts | 2 +- .../products/types/ProductSkuCreateProduct.ts | 34 + .../types/ProductSkuCreateProductFieldData.ts | 51 + ...tSkuCreateProductFieldDataEcProductType.ts | 25 + ...uctSkuCreateProductFieldDataTaxCategory.ts | 75 + .../products/types/ProductSkuCreateSku.ts | 30 + .../types/ProductSkuCreateSkuFieldData.ts | 54 + ...ductSkuCreateSkuFieldDataCompareAtPrice.ts | 22 + ...SkuCreateSkuFieldDataEcSkuBillingMethod.ts | 16 + ...CreateSkuFieldDataEcSkuSubscriptionPlan.ts | 26 + ...uFieldDataEcSkuSubscriptionPlanInterval.ts | 16 + .../ProductSkuCreateSkuFieldDataPrice.ts | 24 + .../resources/products/types/index.ts | 11 + .../client/requests/UsersUpdateRequest.ts | 22 + .../resources/users/client/requests/index.ts | 1 + .../users/types/UsersUpdateRequestData.ts | 24 + .../resources/users/types/index.ts | 1 + src/serialization/types/AssetFolderList.ts | 6 +- src/serialization/types/CollectionItem.ts | 2 + src/serialization/types/Dom.ts | 21 + src/serialization/types/ImageNode.ts | 20 + src/serialization/types/InvalidScopes.ts | 26 + src/serialization/types/Node.ts | 25 + src/serialization/types/NodeType.ts | 15 + .../types/NotEnterprisePlanSite.ts | 30 + src/serialization/types/OauthScope.ts | 4 +- src/serialization/types/ProductFieldData.ts | 28 +- .../types/ProductFieldDataEcProductType.ts | 25 + .../types/ProductFieldDataTaxCategory.ts | 75 + .../types/SiteActivityLogItem.ts | 4 +- .../types/SiteActivityLogItemUser.ts | 22 + src/serialization/types/SkuFieldData.ts | 31 +- .../types/SkuFieldDataCompareAtPrice.ts | 22 + .../types/SkuFieldDataEcSkuBillingMethod.ts | 16 + .../SkuFieldDataEcSkuSubscriptionPlan.ts | 26 + ...uFieldDataEcSkuSubscriptionPlanInterval.ts | 16 + src/serialization/types/SkuPropertyList.ts | 16 +- .../types/SkuPropertyListEnumItem.ts | 12 +- src/serialization/types/TextNode.ts | 20 + src/serialization/types/index.ts | 14 + tests/client.test.ts | 11 + tsconfig.json | 1 - yarn.lock | 2261 ++++++++++++++++- 173 files changed, 5643 insertions(+), 547 deletions(-) create mode 100644 jest.config.js create mode 100644 src/api/resources/assets/client/requests/AssetsUpdateRequest.ts create mode 100644 src/api/resources/collections/resources/fields/client/requests/FieldCreate.ts create mode 100644 src/api/resources/collections/resources/fields/types/FieldCreateType.ts create mode 100644 src/api/resources/collections/resources/fields/types/index.ts create mode 100644 src/api/resources/collections/resources/items/client/requests/ItemsDeleteItemRequest.ts create mode 100644 src/api/resources/collections/resources/items/client/requests/ItemsGetItemRequest.ts create mode 100644 src/api/resources/pages/client/requests/DomWrite.ts create mode 100644 src/api/resources/pages/client/requests/PagesGetContentRequest.ts create mode 100644 src/api/resources/pages/client/requests/PagesGetMetadataRequest.ts create mode 100644 src/api/resources/pages/client/requests/PagesListRequest.ts create mode 100644 src/api/resources/pages/client/requests/UpdatePageSettingsRequest.ts create mode 100644 src/api/resources/pages/client/requests/index.ts create mode 100644 src/api/resources/pages/types/DomWriteNodesItem.ts create mode 100644 src/api/resources/pages/types/index.ts create mode 100644 src/api/resources/products/client/requests/ProductSkuCreate.ts delete mode 100644 src/api/resources/products/client/requests/ProductsCreateRequest.ts create mode 100644 src/api/resources/products/types/ProductSkuCreateProduct.ts create mode 100644 src/api/resources/products/types/ProductSkuCreateProductFieldData.ts create mode 100644 src/api/resources/products/types/ProductSkuCreateProductFieldDataEcProductType.ts create mode 100644 src/api/resources/products/types/ProductSkuCreateProductFieldDataTaxCategory.ts create mode 100644 src/api/resources/products/types/ProductSkuCreateSku.ts create mode 100644 src/api/resources/products/types/ProductSkuCreateSkuFieldData.ts create mode 100644 src/api/resources/products/types/ProductSkuCreateSkuFieldDataCompareAtPrice.ts create mode 100644 src/api/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuBillingMethod.ts create mode 100644 src/api/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan.ts create mode 100644 src/api/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval.ts create mode 100644 src/api/resources/products/types/ProductSkuCreateSkuFieldDataPrice.ts create mode 100644 src/api/resources/sites/resources/activityLogs/client/Client.ts create mode 100644 src/api/resources/sites/resources/activityLogs/client/index.ts create mode 100644 src/api/resources/sites/resources/activityLogs/client/requests/ActivityLogsListRequest.ts create mode 100644 src/api/resources/sites/resources/activityLogs/client/requests/index.ts create mode 100644 src/api/resources/sites/resources/activityLogs/index.ts create mode 100644 src/api/resources/users/client/requests/UsersUpdateRequest.ts create mode 100644 src/api/resources/users/types/UsersUpdateRequestData.ts create mode 100644 src/api/types/Dom.ts create mode 100644 src/api/types/ImageNode.ts create mode 100644 src/api/types/InvalidScopes.ts create mode 100644 src/api/types/Node.ts create mode 100644 src/api/types/NodeType.ts create mode 100644 src/api/types/NotEnterprisePlanSite.ts create mode 100644 src/api/types/ProductFieldDataEcProductType.ts create mode 100644 src/api/types/ProductFieldDataTaxCategory.ts create mode 100644 src/api/types/SiteActivityLogItemUser.ts create mode 100644 src/api/types/SkuFieldDataCompareAtPrice.ts create mode 100644 src/api/types/SkuFieldDataEcSkuBillingMethod.ts create mode 100644 src/api/types/SkuFieldDataEcSkuSubscriptionPlan.ts create mode 100644 src/api/types/SkuFieldDataEcSkuSubscriptionPlanInterval.ts create mode 100644 src/api/types/TextNode.ts create mode 100644 src/core/runtime/index.ts create mode 100644 src/core/runtime/runtime.ts create mode 100644 src/serialization/resources/assets/client/requests/AssetsUpdateRequest.ts create mode 100644 src/serialization/resources/collections/resources/fields/client/requests/FieldCreate.ts create mode 100644 src/serialization/resources/collections/resources/fields/types/FieldCreateType.ts create mode 100644 src/serialization/resources/collections/resources/fields/types/index.ts create mode 100644 src/serialization/resources/pages/client/index.ts create mode 100644 src/serialization/resources/pages/client/requests/DomWrite.ts create mode 100644 src/serialization/resources/pages/client/requests/index.ts create mode 100644 src/serialization/resources/pages/index.ts create mode 100644 src/serialization/resources/pages/types/DomWriteNodesItem.ts create mode 100644 src/serialization/resources/pages/types/index.ts create mode 100644 src/serialization/resources/products/client/requests/ProductSkuCreate.ts delete mode 100644 src/serialization/resources/products/client/requests/ProductsCreateRequest.ts create mode 100644 src/serialization/resources/products/types/ProductSkuCreateProduct.ts create mode 100644 src/serialization/resources/products/types/ProductSkuCreateProductFieldData.ts create mode 100644 src/serialization/resources/products/types/ProductSkuCreateProductFieldDataEcProductType.ts create mode 100644 src/serialization/resources/products/types/ProductSkuCreateProductFieldDataTaxCategory.ts create mode 100644 src/serialization/resources/products/types/ProductSkuCreateSku.ts create mode 100644 src/serialization/resources/products/types/ProductSkuCreateSkuFieldData.ts create mode 100644 src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataCompareAtPrice.ts create mode 100644 src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuBillingMethod.ts create mode 100644 src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan.ts create mode 100644 src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval.ts create mode 100644 src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataPrice.ts create mode 100644 src/serialization/resources/users/client/requests/UsersUpdateRequest.ts create mode 100644 src/serialization/resources/users/types/UsersUpdateRequestData.ts create mode 100644 src/serialization/types/Dom.ts create mode 100644 src/serialization/types/ImageNode.ts create mode 100644 src/serialization/types/InvalidScopes.ts create mode 100644 src/serialization/types/Node.ts create mode 100644 src/serialization/types/NodeType.ts create mode 100644 src/serialization/types/NotEnterprisePlanSite.ts create mode 100644 src/serialization/types/ProductFieldDataEcProductType.ts create mode 100644 src/serialization/types/ProductFieldDataTaxCategory.ts create mode 100644 src/serialization/types/SiteActivityLogItemUser.ts create mode 100644 src/serialization/types/SkuFieldDataCompareAtPrice.ts create mode 100644 src/serialization/types/SkuFieldDataEcSkuBillingMethod.ts create mode 100644 src/serialization/types/SkuFieldDataEcSkuSubscriptionPlan.ts create mode 100644 src/serialization/types/SkuFieldDataEcSkuSubscriptionPlanInterval.ts create mode 100644 src/serialization/types/TextNode.ts create mode 100644 tests/client.test.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e2b82d1..93e8e37 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,8 +16,21 @@ jobs: - name: Compile run: yarn && yarn build + test: + runs-on: ubuntu-latest + + steps: + - name: Checkout repo + uses: actions/checkout@v3 + + - name: Set up node + uses: actions/setup-node@v3 + + - name: Compile + run: yarn && yarn test + publish: - needs: [ compile ] + needs: [ compile, test ] if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') runs-on: ubuntu-latest diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..3a09892 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,5 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + preset: "ts-jest", + testEnvironment: "node", +}; \ No newline at end of file diff --git a/package.json b/package.json index df57177..217205d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "webflow-api", - "version": "2.0.0", + "version": "v2.1.0", "private": false, "repository": "https://github.com/webflow/js-webflow-api", "main": "./index.js", @@ -8,7 +8,8 @@ "scripts": { "format": "prettier --write 'src/**/*.ts'", "build": "tsc", - "prepack": "cp -rv dist/. ." + "prepack": "cp -rv dist/. .", + "test": "jest" }, "dependencies": { "url-join": "4.0.1", @@ -21,8 +22,11 @@ "@types/url-join": "4.0.1", "@types/qs": "6.9.8", "@types/node-fetch": "2.6.9", + "jest": "^29.7.0", + "@types/jest": "^29.5.5", + "ts-jest": "^29.1.1", "@types/node": "17.0.33", "prettier": "2.7.1", "typescript": "4.6.4" } -} +} \ No newline at end of file diff --git a/src/api/resources/accessGroups/client/Client.ts b/src/api/resources/accessGroups/client/Client.ts index 9761e41..994c2a2 100644 --- a/src/api/resources/accessGroups/client/Client.ts +++ b/src/api/resources/accessGroups/client/Client.ts @@ -34,9 +34,7 @@ export class AccessGroups { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.accessGroups.list("string", { - * sort: Webflow.AccessGroupsListRequestSort.CreatedOnAscending - * }) + * await webflow.accessGroups.list("site_id", {}) */ public async list( siteId: string, @@ -44,7 +42,7 @@ export class AccessGroups { requestOptions?: AccessGroups.RequestOptions ): Promise { const { offset, limit, sort } = request; - const _queryParams: Record = {}; + const _queryParams: Record = {}; if (offset != null) { _queryParams["offset"] = offset.toString(); } @@ -60,14 +58,16 @@ export class AccessGroups { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/accessgroups` + `sites/${siteId}/accessgroups` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", queryParameters: _queryParams, diff --git a/src/api/resources/accessGroups/client/requests/AccessGroupsListRequest.ts b/src/api/resources/accessGroups/client/requests/AccessGroupsListRequest.ts index 015ba6f..67a3843 100644 --- a/src/api/resources/accessGroups/client/requests/AccessGroupsListRequest.ts +++ b/src/api/resources/accessGroups/client/requests/AccessGroupsListRequest.ts @@ -6,9 +6,7 @@ import * as Webflow from "../../../.."; /** * @example - * { - * sort: Webflow.AccessGroupsListRequestSort.CreatedOnAscending - * } + * {} */ export interface AccessGroupsListRequest { /** diff --git a/src/api/resources/assets/client/Client.ts b/src/api/resources/assets/client/Client.ts index fd7a570..afa173f 100644 --- a/src/api/resources/assets/client/Client.ts +++ b/src/api/resources/assets/client/Client.ts @@ -33,20 +33,22 @@ export class Assets { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.assets.list("string") + * await webflow.assets.list("site_id") */ public async list(siteId: string, requestOptions?: Assets.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/assets` + `sites/${siteId}/assets` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -106,7 +108,7 @@ export class Assets { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.assets.create("string", { + * await webflow.assets.create("site_id", { * fileName: "file.png", * fileHash: "3c7d87c9575702bc3b1e991f4d3c638e", * parentFolder: "6436b1ce5281cace05b65aea" @@ -120,14 +122,16 @@ export class Assets { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/assets` + `sites/${siteId}/assets` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.AssetsCreateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), @@ -188,20 +192,22 @@ export class Assets { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.assets.get("string") + * await webflow.assets.get("asset_id") */ public async get(assetId: string, requestOptions?: Assets.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/assets/${assetId}` + `assets/${assetId}` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -261,20 +267,22 @@ export class Assets { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.assets.delete("string") + * await webflow.assets.delete("asset_id") */ public async delete(assetId: string, requestOptions?: Assets.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/assets/${assetId}` + `assets/${assetId}` ), method: "DELETE", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -319,6 +327,88 @@ export class Assets { } } + /** + * Update an Asset

Required scope | `assets:write` + * @throws {@link Webflow.BadRequestError} + * @throws {@link Webflow.UnauthorizedError} + * @throws {@link Webflow.NotFoundError} + * @throws {@link Webflow.TooManyRequestsError} + * @throws {@link Webflow.InternalServerError} + * + * @example + * await webflow.assets.update("asset_id", { + * displayName: "file.png" + * }) + */ + public async update( + assetId: string, + request: Webflow.AssetsUpdateRequest, + requestOptions?: Assets.RequestOptions + ): Promise { + const _response = await core.fetcher({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, + `assets/${assetId}` + ), + method: "PATCH", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "webflow-api", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + }, + contentType: "application/json", + body: await serializers.AssetsUpdateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + }); + if (_response.ok) { + return await serializers.Asset.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }); + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Webflow.BadRequestError(_response.error.body); + case 401: + throw new Webflow.UnauthorizedError(_response.error.body); + case 404: + throw new Webflow.NotFoundError(_response.error.body); + case 429: + throw new Webflow.TooManyRequestsError(_response.error.body); + case 500: + throw new Webflow.InternalServerError(_response.error.body); + default: + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + }); + case "timeout": + throw new errors.WebflowTimeoutError(); + case "unknown": + throw new errors.WebflowError({ + message: _response.error.errorMessage, + }); + } + } + /** * List Asset Folders within a given site

Required scope | `assets:read` * @throws {@link Webflow.BadRequestError} @@ -328,20 +418,22 @@ export class Assets { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.assets.listFolders("string") + * await webflow.assets.listFolders("site_id") */ public async listFolders(siteId: string, requestOptions?: Assets.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/asset_folders` + `sites/${siteId}/asset_folders` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -401,7 +493,7 @@ export class Assets { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.assets.createFolder("string", { + * await webflow.assets.createFolder("site_id", { * displayName: "my asset folder", * parentFolder: "6390c49774a71f99f21a08eb" * }) @@ -414,14 +506,16 @@ export class Assets { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/asset_folders` + `sites/${siteId}/asset_folders` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.AssetsCreateFolderRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), @@ -482,7 +576,7 @@ export class Assets { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.assets.getFolder("string") + * await webflow.assets.getFolder("asset_folder_id") */ public async getFolder( assetFolderId: string, @@ -491,14 +585,16 @@ export class Assets { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/asset_folders/${assetFolderId}` + `asset_folders/${assetFolderId}` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, diff --git a/src/api/resources/assets/client/requests/AssetsUpdateRequest.ts b/src/api/resources/assets/client/requests/AssetsUpdateRequest.ts new file mode 100644 index 0000000..d43f808 --- /dev/null +++ b/src/api/resources/assets/client/requests/AssetsUpdateRequest.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * { + * displayName: "file.png" + * } + */ +export interface AssetsUpdateRequest { + /** file name including file extension */ + displayName: string; +} diff --git a/src/api/resources/assets/client/requests/index.ts b/src/api/resources/assets/client/requests/index.ts index 1fd1f94..54ebd26 100644 --- a/src/api/resources/assets/client/requests/index.ts +++ b/src/api/resources/assets/client/requests/index.ts @@ -1,2 +1,3 @@ export { AssetsCreateRequest } from "./AssetsCreateRequest"; +export { AssetsUpdateRequest } from "./AssetsUpdateRequest"; export { AssetsCreateFolderRequest } from "./AssetsCreateFolderRequest"; diff --git a/src/api/resources/collections/client/Client.ts b/src/api/resources/collections/client/Client.ts index d34d285..5f26a7f 100644 --- a/src/api/resources/collections/client/Client.ts +++ b/src/api/resources/collections/client/Client.ts @@ -35,20 +35,22 @@ export class Collections { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.collections.list("string") + * await webflow.collections.list("site_id") */ public async list(siteId: string, requestOptions?: Collections.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/collections` + `sites/${siteId}/collections` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -108,7 +110,7 @@ export class Collections { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.collections.create("string", { + * await webflow.collections.create("site_id", { * displayName: "Blog Posts", * singularName: "Blog Post", * slug: "posts" @@ -122,14 +124,16 @@ export class Collections { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/collections` + `sites/${siteId}/collections` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.CollectionsCreateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), @@ -190,20 +194,22 @@ export class Collections { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.collections.get("string") + * await webflow.collections.get("collection_id") */ public async get(collectionId: string, requestOptions?: Collections.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/collections/${collectionId}` + `collections/${collectionId}` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -263,20 +269,22 @@ export class Collections { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.collections.deleteCollection("string") + * await webflow.collections.deleteCollection("collection_id") */ public async deleteCollection(collectionId: string, requestOptions?: Collections.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/collections/${collectionId}` + `collections/${collectionId}` ), method: "DELETE", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -330,7 +338,7 @@ export class Collections { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.collections.delete("string", "string") + * await webflow.collections.delete("collection_id", "field_id") */ public async delete( collectionId: string, @@ -340,14 +348,16 @@ export class Collections { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/collections/${collectionId}/fields/${fieldId}` + `collections/${collectionId}/fields/${fieldId}` ), method: "DELETE", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, diff --git a/src/api/resources/collections/resources/fields/client/Client.ts b/src/api/resources/collections/resources/fields/client/Client.ts index fcd6001..41b2a9a 100644 --- a/src/api/resources/collections/resources/fields/client/Client.ts +++ b/src/api/resources/collections/resources/fields/client/Client.ts @@ -33,32 +33,34 @@ export class Fields { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.collections.fields.create("string", { - * id: "string", - * isRequired: true, - * type: Webflow.FieldType.PlainText, - * displayName: "string" + * await webflow.collections.fields.create("collection_id", { + * isRequired: false, + * type: Webflow.collections.FieldCreateType.RichText, + * displayName: "Post Body", + * helpText: "Add the body of your post here" * }) */ public async create( collectionId: string, - request: Webflow.Field, + request: Webflow.collections.FieldCreate, requestOptions?: Fields.RequestOptions ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/collections/${collectionId}/fields` + `collections/${collectionId}/fields` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", - body: await serializers.Field.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + body: await serializers.collections.FieldCreate.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, }); @@ -116,7 +118,11 @@ export class Fields { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.collections.fields.update("string", "string", {}) + * await webflow.collections.fields.update("collection_id", "field_id", { + * isRequired: false, + * displayName: "Post Body", + * helpText: "Add the body of your post here" + * }) */ public async update( collectionId: string, @@ -127,14 +133,16 @@ export class Fields { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/collections/${collectionId}/fields/${fieldId}` + `collections/${collectionId}/fields/${fieldId}` ), method: "PATCH", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.collections.FieldUpdate.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), diff --git a/src/api/resources/collections/resources/fields/client/requests/FieldCreate.ts b/src/api/resources/collections/resources/fields/client/requests/FieldCreate.ts new file mode 100644 index 0000000..71a0aad --- /dev/null +++ b/src/api/resources/collections/resources/fields/client/requests/FieldCreate.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../.."; + +/** + * @example + * { + * isRequired: false, + * type: Webflow.collections.FieldCreateType.RichText, + * displayName: "Post Body", + * helpText: "Add the body of your post here" + * } + */ +export interface FieldCreate { + /** define whether a field is required in a collection */ + isRequired?: boolean; + /** Choose these appropriate field type for your collection data */ + type: Webflow.collections.FieldCreateType; + /** The name of a field */ + displayName: string; + /** Additional text to help anyone filling out this field */ + helpText?: string; +} diff --git a/src/api/resources/collections/resources/fields/client/requests/FieldUpdate.ts b/src/api/resources/collections/resources/fields/client/requests/FieldUpdate.ts index 8eccdf8..cf3b7b1 100644 --- a/src/api/resources/collections/resources/fields/client/requests/FieldUpdate.ts +++ b/src/api/resources/collections/resources/fields/client/requests/FieldUpdate.ts @@ -4,7 +4,11 @@ /** * @example - * {} + * { + * isRequired: false, + * displayName: "Post Body", + * helpText: "Add the body of your post here" + * } */ export interface FieldUpdate { /** Define whether a field is required in a collection */ diff --git a/src/api/resources/collections/resources/fields/client/requests/index.ts b/src/api/resources/collections/resources/fields/client/requests/index.ts index 6eda125..93f46db 100644 --- a/src/api/resources/collections/resources/fields/client/requests/index.ts +++ b/src/api/resources/collections/resources/fields/client/requests/index.ts @@ -1 +1,2 @@ +export { FieldCreate } from "./FieldCreate"; export { FieldUpdate } from "./FieldUpdate"; diff --git a/src/api/resources/collections/resources/fields/index.ts b/src/api/resources/collections/resources/fields/index.ts index 5ec7692..c9240f8 100644 --- a/src/api/resources/collections/resources/fields/index.ts +++ b/src/api/resources/collections/resources/fields/index.ts @@ -1 +1,2 @@ +export * from "./types"; export * from "./client"; diff --git a/src/api/resources/collections/resources/fields/types/FieldCreateType.ts b/src/api/resources/collections/resources/fields/types/FieldCreateType.ts new file mode 100644 index 0000000..1ab114b --- /dev/null +++ b/src/api/resources/collections/resources/fields/types/FieldCreateType.ts @@ -0,0 +1,37 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Choose these appropriate field type for your collection data + */ +export type FieldCreateType = + | "PlainText" + | "RichText" + | "Image" + | "MultiImage" + | "Video" + | "Link" + | "Email" + | "Phone" + | "Number" + | "DateTime" + | "Boolean" + | "Color" + | "File"; + +export const FieldCreateType = { + PlainText: "PlainText", + RichText: "RichText", + Image: "Image", + MultiImage: "MultiImage", + Video: "Video", + Link: "Link", + Email: "Email", + Phone: "Phone", + Number: "Number", + DateTime: "DateTime", + Boolean: "Boolean", + Color: "Color", + File: "File", +} as const; diff --git a/src/api/resources/collections/resources/fields/types/index.ts b/src/api/resources/collections/resources/fields/types/index.ts new file mode 100644 index 0000000..56f5597 --- /dev/null +++ b/src/api/resources/collections/resources/fields/types/index.ts @@ -0,0 +1 @@ +export * from "./FieldCreateType"; diff --git a/src/api/resources/collections/resources/index.ts b/src/api/resources/collections/resources/index.ts index 2452d24..3739438 100644 --- a/src/api/resources/collections/resources/index.ts +++ b/src/api/resources/collections/resources/index.ts @@ -1,5 +1,6 @@ +export * as fields from "./fields"; +export * from "./fields/types"; export * as items from "./items"; export * from "./items/types"; -export * as fields from "./fields"; export * from "./fields/client/requests"; export * from "./items/client/requests"; diff --git a/src/api/resources/collections/resources/items/client/Client.ts b/src/api/resources/collections/resources/items/client/Client.ts index 63b0cb7..8b3ad58 100644 --- a/src/api/resources/collections/resources/items/client/Client.ts +++ b/src/api/resources/collections/resources/items/client/Client.ts @@ -25,7 +25,7 @@ export class Items { constructor(protected readonly _options: Items.Options) {} /** - * List of all Items within a Collection.

Required scope | `cms:read` + * List of all Items within a Collection.

Required scope | `CMS:read` * @throws {@link Webflow.BadRequestError} * @throws {@link Webflow.UnauthorizedError} * @throws {@link Webflow.NotFoundError} @@ -33,15 +33,23 @@ export class Items { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.collections.items.listItems("string", {}) + * await webflow.collections.items.listItems("collection_id", {}) */ public async listItems( collectionId: string, request: Webflow.collections.ItemsListItemsRequest = {}, requestOptions?: Items.RequestOptions ): Promise { - const { offset, limit } = request; - const _queryParams: Record = {}; + const { cmsLocaleIds, offset, limit } = request; + const _queryParams: Record = {}; + if (cmsLocaleIds != null) { + if (Array.isArray(cmsLocaleIds)) { + _queryParams["cmsLocaleIds"] = cmsLocaleIds.map((item) => item); + } else { + _queryParams["cmsLocaleIds"] = cmsLocaleIds; + } + } + if (offset != null) { _queryParams["offset"] = offset.toString(); } @@ -53,14 +61,16 @@ export class Items { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/collections/${collectionId}/items` + `collections/${collectionId}/items` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", queryParameters: _queryParams, @@ -113,7 +123,7 @@ export class Items { } /** - * Create Item in a Collection.

Required scope | `cms:write` + * Create Item in a Collection.

Required scope | `CMS:write` * @throws {@link Webflow.BadRequestError} * @throws {@link Webflow.UnauthorizedError} * @throws {@link Webflow.NotFoundError} @@ -121,12 +131,16 @@ export class Items { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.collections.items.createItem("string", { + * await webflow.collections.items.createItem("collection_id", { * id: "580e64008c9a982ac9b8b754", + * cmsLocaleId: "653ad57de882f528b32e810e", * lastPublished: "2023-03-17T18:47:35.560Z", * lastUpdated: "2023-03-17T18:47:35.560Z", * createdOn: "2023-03-17T18:47:35.560Z", - * fieldData: {} + * fieldData: { + * name: "My new item", + * slug: "my-new-item" + * } * }) */ public async createItem( @@ -137,14 +151,100 @@ export class Items { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/collections/${collectionId}/items` + `collections/${collectionId}/items` + ), + method: "POST", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "webflow-api", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + }, + contentType: "application/json", + body: await serializers.CollectionItem.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + }); + if (_response.ok) { + return; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Webflow.BadRequestError(_response.error.body); + case 401: + throw new Webflow.UnauthorizedError(_response.error.body); + case 404: + throw new Webflow.NotFoundError(_response.error.body); + case 429: + throw new Webflow.TooManyRequestsError(_response.error.body); + case 500: + throw new Webflow.InternalServerError(_response.error.body); + default: + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + }); + case "timeout": + throw new errors.WebflowTimeoutError(); + case "unknown": + throw new errors.WebflowError({ + message: _response.error.errorMessage, + }); + } + } + + /** + * Create live Item in a Collection. This Item will be published to the live site.

Required scope | `CMS:write` + * @throws {@link Webflow.BadRequestError} + * @throws {@link Webflow.UnauthorizedError} + * @throws {@link Webflow.NotFoundError} + * @throws {@link Webflow.TooManyRequestsError} + * @throws {@link Webflow.InternalServerError} + * + * @example + * await webflow.collections.items.createItemLive("collection_id", { + * id: "580e64008c9a982ac9b8b754", + * cmsLocaleId: "653ad57de882f528b32e810e", + * lastPublished: "2023-03-17T18:47:35.560Z", + * lastUpdated: "2023-03-17T18:47:35.560Z", + * createdOn: "2023-03-17T18:47:35.560Z", + * fieldData: { + * name: "My new item", + * slug: "my-new-item" + * } + * }) + */ + public async createItemLive( + collectionId: string, + request: Webflow.CollectionItem, + requestOptions?: Items.RequestOptions + ): Promise { + const _response = await core.fetcher({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, + `collections/${collectionId}/items/live` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.CollectionItem.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), @@ -191,7 +291,7 @@ export class Items { } /** - * Get details of a selected Collection Item.

Required scope | `cms:read` + * Get details of a selected Collection Item.

Required scope | `CMS:read` * @throws {@link Webflow.BadRequestError} * @throws {@link Webflow.UnauthorizedError} * @throws {@link Webflow.NotFoundError} @@ -199,26 +299,36 @@ export class Items { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.collections.items.getItem("string", "string") + * await webflow.collections.items.getItem("collection_id", "item_id", {}) */ public async getItem( collectionId: string, itemId: string, + request: Webflow.collections.ItemsGetItemRequest = {}, requestOptions?: Items.RequestOptions ): Promise { + const { cmsLocaleId } = request; + const _queryParams: Record = {}; + if (cmsLocaleId != null) { + _queryParams["cmsLocaleId"] = cmsLocaleId; + } + const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/collections/${collectionId}/items/${itemId}` + `collections/${collectionId}/items/${itemId}` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", + queryParameters: _queryParams, timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, }); @@ -268,7 +378,7 @@ export class Items { } /** - * Delete an Item from a Collection. This endpoint does not currently support bulk deletion.

Required scope | `cms:write` + * Delete an Item from a Collection. This endpoint does not currently support bulk deletion.

Required scope | `CMS:write` * @throws {@link Webflow.BadRequestError} * @throws {@link Webflow.UnauthorizedError} * @throws {@link Webflow.NotFoundError} @@ -276,26 +386,40 @@ export class Items { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.collections.items.deleteItem("string", "string") + * await webflow.collections.items.deleteItem("collection_id", "item_id", {}) */ public async deleteItem( collectionId: string, itemId: string, + request: Webflow.collections.ItemsDeleteItemRequest = {}, requestOptions?: Items.RequestOptions ): Promise { + const { cmsLocaleIds } = request; + const _queryParams: Record = {}; + if (cmsLocaleIds != null) { + if (Array.isArray(cmsLocaleIds)) { + _queryParams["cmsLocaleIds"] = cmsLocaleIds.map((item) => item); + } else { + _queryParams["cmsLocaleIds"] = cmsLocaleIds; + } + } + const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/collections/${collectionId}/items/${itemId}` + `collections/${collectionId}/items/${itemId}` ), method: "DELETE", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", + queryParameters: _queryParams, timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, }); @@ -339,7 +463,7 @@ export class Items { } /** - * Update a selected Item in a Collection.

Required scope | `cms:write` + * Update a selected Item in a Collection.

Required scope | `CMS:write` * @throws {@link Webflow.BadRequestError} * @throws {@link Webflow.UnauthorizedError} * @throws {@link Webflow.NotFoundError} @@ -347,12 +471,16 @@ export class Items { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.collections.items.updateItem("string", "string", { + * await webflow.collections.items.updateItem("collection_id", "item_id", { * id: "580e64008c9a982ac9b8b754", + * cmsLocaleId: "653ad57de882f528b32e810e", * lastPublished: "2023-03-17T18:47:35.560Z", * lastUpdated: "2023-03-17T18:47:35.560Z", * createdOn: "2023-03-17T18:47:35.560Z", - * fieldData: {} + * fieldData: { + * name: "My new item", + * slug: "my-new-item" + * } * }) */ public async updateItem( @@ -364,14 +492,180 @@ export class Items { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/collections/${collectionId}/items/${itemId}` + `collections/${collectionId}/items/${itemId}` + ), + method: "PATCH", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "webflow-api", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + }, + contentType: "application/json", + body: await serializers.CollectionItem.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + }); + if (_response.ok) { + return await serializers.CollectionItem.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }); + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Webflow.BadRequestError(_response.error.body); + case 401: + throw new Webflow.UnauthorizedError(_response.error.body); + case 404: + throw new Webflow.NotFoundError(_response.error.body); + case 429: + throw new Webflow.TooManyRequestsError(_response.error.body); + case 500: + throw new Webflow.InternalServerError(_response.error.body); + default: + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + }); + case "timeout": + throw new errors.WebflowTimeoutError(); + case "unknown": + throw new errors.WebflowError({ + message: _response.error.errorMessage, + }); + } + } + + /** + * Delete a live Item from a Collection. The Item will be unpublished from the live site. This endpoint does not currently support bulk deletion.

Required scope | `CMS:write` + * @throws {@link Webflow.BadRequestError} + * @throws {@link Webflow.UnauthorizedError} + * @throws {@link Webflow.NotFoundError} + * @throws {@link Webflow.TooManyRequestsError} + * @throws {@link Webflow.InternalServerError} + * + * @example + * await webflow.collections.items.deleteItemLive("collection_id", "item_id") + */ + public async deleteItemLive( + collectionId: string, + itemId: string, + requestOptions?: Items.RequestOptions + ): Promise { + const _response = await core.fetcher({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, + `collections/${collectionId}/items/${itemId}/live` + ), + method: "DELETE", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "webflow-api", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + }, + contentType: "application/json", + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + }); + if (_response.ok) { + return; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Webflow.BadRequestError(_response.error.body); + case 401: + throw new Webflow.UnauthorizedError(_response.error.body); + case 404: + throw new Webflow.NotFoundError(_response.error.body); + case 429: + throw new Webflow.TooManyRequestsError(_response.error.body); + case 500: + throw new Webflow.InternalServerError(_response.error.body); + default: + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + }); + case "timeout": + throw new errors.WebflowTimeoutError(); + case "unknown": + throw new errors.WebflowError({ + message: _response.error.errorMessage, + }); + } + } + + /** + * Update a selected live Item in a Collection. The updates for this Item will be published to the live site.

Required scope | `CMS:write` + * @throws {@link Webflow.BadRequestError} + * @throws {@link Webflow.UnauthorizedError} + * @throws {@link Webflow.NotFoundError} + * @throws {@link Webflow.TooManyRequestsError} + * @throws {@link Webflow.InternalServerError} + * + * @example + * await webflow.collections.items.updateItemLive("collection_id", "item_id", { + * id: "580e64008c9a982ac9b8b754", + * cmsLocaleId: "653ad57de882f528b32e810e", + * lastPublished: "2023-03-17T18:47:35.560Z", + * lastUpdated: "2023-03-17T18:47:35.560Z", + * createdOn: "2023-03-17T18:47:35.560Z", + * fieldData: { + * name: "My new item", + * slug: "my-new-item" + * } + * }) + */ + public async updateItemLive( + collectionId: string, + itemId: string, + request: Webflow.CollectionItem, + requestOptions?: Items.RequestOptions + ): Promise { + const _response = await core.fetcher({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, + `collections/${collectionId}/items/${itemId}/live` ), method: "PATCH", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.CollectionItem.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), @@ -432,8 +726,8 @@ export class Items { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.collections.items.publishItem("string", { - * itemIds: [] + * await webflow.collections.items.publishItem("collection_id", { + * itemIds: ["itemIds"] * }) */ public async publishItem( @@ -444,14 +738,16 @@ export class Items { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/collections/${collectionId}/items/publish` + `collections/${collectionId}/items/publish` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.collections.ItemsPublishItemRequest.jsonOrThrow(request, { diff --git a/src/api/resources/collections/resources/items/client/requests/ItemsDeleteItemRequest.ts b/src/api/resources/collections/resources/items/client/requests/ItemsDeleteItemRequest.ts new file mode 100644 index 0000000..4b08453 --- /dev/null +++ b/src/api/resources/collections/resources/items/client/requests/ItemsDeleteItemRequest.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ItemsDeleteItemRequest { + /** + * Unique identifiers for CMS Locales. These UIDs are different from the Site locale identifier and are listed as `cmsLocaleId` in the Sites response. Applicable when using localization. + */ + cmsLocaleIds?: string | string[]; +} diff --git a/src/api/resources/collections/resources/items/client/requests/ItemsGetItemRequest.ts b/src/api/resources/collections/resources/items/client/requests/ItemsGetItemRequest.ts new file mode 100644 index 0000000..a0b02a6 --- /dev/null +++ b/src/api/resources/collections/resources/items/client/requests/ItemsGetItemRequest.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ItemsGetItemRequest { + /** + * Unique identifier for a CMS Locale. These UID is different from the Site locale identifier and is listed as `cmsLocaleId` in the Sites response. Applicable when using localization. + */ + cmsLocaleId?: string; +} diff --git a/src/api/resources/collections/resources/items/client/requests/ItemsListItemsRequest.ts b/src/api/resources/collections/resources/items/client/requests/ItemsListItemsRequest.ts index 1537f26..fc577c7 100644 --- a/src/api/resources/collections/resources/items/client/requests/ItemsListItemsRequest.ts +++ b/src/api/resources/collections/resources/items/client/requests/ItemsListItemsRequest.ts @@ -7,6 +7,10 @@ * {} */ export interface ItemsListItemsRequest { + /** + * Unique identifiers for CMS Locales. These UIDs are different from the Site locale identifier and are listed as `cmsLocaleId` in the Sites response. Applicable when using localization. + */ + cmsLocaleIds?: string | string[]; /** * Offset used for pagination if the results have more than limit records */ diff --git a/src/api/resources/collections/resources/items/client/requests/ItemsPublishItemRequest.ts b/src/api/resources/collections/resources/items/client/requests/ItemsPublishItemRequest.ts index 9aab261..dfcdc54 100644 --- a/src/api/resources/collections/resources/items/client/requests/ItemsPublishItemRequest.ts +++ b/src/api/resources/collections/resources/items/client/requests/ItemsPublishItemRequest.ts @@ -5,7 +5,7 @@ /** * @example * { - * itemIds: [] + * itemIds: ["itemIds"] * } */ export interface ItemsPublishItemRequest { diff --git a/src/api/resources/collections/resources/items/client/requests/index.ts b/src/api/resources/collections/resources/items/client/requests/index.ts index 36d6bc5..669d16f 100644 --- a/src/api/resources/collections/resources/items/client/requests/index.ts +++ b/src/api/resources/collections/resources/items/client/requests/index.ts @@ -1,2 +1,4 @@ export { ItemsListItemsRequest } from "./ItemsListItemsRequest"; +export { ItemsGetItemRequest } from "./ItemsGetItemRequest"; +export { ItemsDeleteItemRequest } from "./ItemsDeleteItemRequest"; export { ItemsPublishItemRequest } from "./ItemsPublishItemRequest"; diff --git a/src/api/resources/ecommerce/client/Client.ts b/src/api/resources/ecommerce/client/Client.ts index 1e4d7dc..0251e67 100644 --- a/src/api/resources/ecommerce/client/Client.ts +++ b/src/api/resources/ecommerce/client/Client.ts @@ -37,7 +37,7 @@ export class Ecommerce { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.ecommerce.getSettings("string") + * await webflow.ecommerce.getSettings("site_id") */ public async getSettings( siteId: string, @@ -46,14 +46,16 @@ export class Ecommerce { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/ecommerce/settings` + `sites/${siteId}/ecommerce/settings` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, diff --git a/src/api/resources/forms/client/Client.ts b/src/api/resources/forms/client/Client.ts index b08b964..0904fde 100644 --- a/src/api/resources/forms/client/Client.ts +++ b/src/api/resources/forms/client/Client.ts @@ -35,20 +35,22 @@ export class Forms { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.forms.list("string") + * await webflow.forms.list("site_id") */ public async list(siteId: string, requestOptions?: Forms.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/forms` + `sites/${siteId}/forms` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -113,20 +115,22 @@ export class Forms { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.forms.get("string") + * await webflow.forms.get("form_id") */ public async get(formId: string, requestOptions?: Forms.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/forms/${formId}` + `forms/${formId}` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -189,7 +193,7 @@ export class Forms { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.forms.listSubmissions("string") + * await webflow.forms.listSubmissions("form_id") */ public async listSubmissions( formId: string, @@ -198,14 +202,16 @@ export class Forms { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/forms/${formId}/submissions` + `forms/${formId}/submissions` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -268,7 +274,7 @@ export class Forms { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.forms.getSubmission("string") + * await webflow.forms.getSubmission("form_submission_id") */ public async getSubmission( formSubmissionId: string, @@ -277,14 +283,16 @@ export class Forms { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/form_submissions/${formSubmissionId}` + `form_submissions/${formSubmissionId}` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -348,7 +356,7 @@ export class Forms { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.forms.updateSubmission("string", {}) + * await webflow.forms.updateSubmission("form_submission_id", {}) */ public async updateSubmission( formSubmissionId: string, @@ -358,14 +366,16 @@ export class Forms { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/form_submissions/${formSubmissionId}` + `form_submissions/${formSubmissionId}` ), method: "PATCH", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.FormsUpdateSubmissionRequest.jsonOrThrow(request, { diff --git a/src/api/resources/index.ts b/src/api/resources/index.ts index 3c2d1ab..7b25e9f 100644 --- a/src/api/resources/index.ts +++ b/src/api/resources/index.ts @@ -1,4 +1,6 @@ export * as collections from "./collections"; +export * as pages from "./pages"; +export * from "./pages/types"; export * as users from "./users"; export * from "./users/types"; export * as accessGroups from "./accessGroups"; @@ -11,7 +13,6 @@ export * as inventory from "./inventory"; export * from "./inventory/types"; export * as token from "./token"; export * as sites from "./sites"; -export * as pages from "./pages"; export * as scripts from "./scripts"; export * as webhooks from "./webhooks"; export * as assets from "./assets"; @@ -19,6 +20,7 @@ export * as forms from "./forms"; export * as ecommerce from "./ecommerce"; export * from "./sites/client/requests"; export * from "./collections/client/requests"; +export * from "./pages/client/requests"; export * from "./scripts/client/requests"; export * from "./webhooks/client/requests"; export * from "./assets/client/requests"; diff --git a/src/api/resources/inventory/client/Client.ts b/src/api/resources/inventory/client/Client.ts index 893f991..3923d94 100644 --- a/src/api/resources/inventory/client/Client.ts +++ b/src/api/resources/inventory/client/Client.ts @@ -37,7 +37,7 @@ export class Inventory { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.inventory.list("string", "string") + * await webflow.inventory.list("collection_id", "item_id") */ public async list( collectionId: string, @@ -47,14 +47,16 @@ export class Inventory { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/collections/${collectionId}/items/${itemId}/inventory` + `collections/${collectionId}/items/${itemId}/inventory` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -122,7 +124,7 @@ export class Inventory { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.inventory.update("string", "string", { + * await webflow.inventory.update("collection_id", "item_id", { * inventoryType: Webflow.InventoryUpdateRequestInventoryType.Infinite, * updateQuantity: 1, * quantity: 100 @@ -137,14 +139,16 @@ export class Inventory { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/collections/${collectionId}/items/${itemId}/inventory` + `collections/${collectionId}/items/${itemId}/inventory` ), method: "PATCH", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.InventoryUpdateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), diff --git a/src/api/resources/orders/client/Client.ts b/src/api/resources/orders/client/Client.ts index 9956504..908d858 100644 --- a/src/api/resources/orders/client/Client.ts +++ b/src/api/resources/orders/client/Client.ts @@ -37,9 +37,7 @@ export class Orders { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.orders.list("string", { - * status: Webflow.OrdersListRequestStatus.Pending - * }) + * await webflow.orders.list("site_id", {}) */ public async list( siteId: string, @@ -47,7 +45,7 @@ export class Orders { requestOptions?: Orders.RequestOptions ): Promise { const { status, offset, limit } = request; - const _queryParams: Record = {}; + const _queryParams: Record = {}; if (status != null) { _queryParams["status"] = status; } @@ -63,14 +61,16 @@ export class Orders { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/orders` + `sites/${siteId}/orders` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", queryParameters: _queryParams, @@ -139,20 +139,22 @@ export class Orders { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.orders.get("string", "string") + * await webflow.orders.get("site_id", "order_id") */ public async get(siteId: string, orderId: string, requestOptions?: Orders.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/orders/${orderId}` + `sites/${siteId}/orders/${orderId}` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -220,7 +222,7 @@ export class Orders { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.orders.update("string", "string", { + * await webflow.orders.update("site_id", "order_id", { * comment: "Example comment to myself", * shippingProvider: "Shipping Company, Co.", * shippingTracking: "tr00000000001", @@ -236,14 +238,16 @@ export class Orders { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/orders/${orderId}` + `sites/${siteId}/orders/${orderId}` ), method: "PATCH", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.OrdersUpdateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), @@ -312,7 +316,7 @@ export class Orders { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.orders.updateFulfill("string", "string", {}) + * await webflow.orders.updateFulfill("site_id", "order_id", {}) */ public async updateFulfill( siteId: string, @@ -323,14 +327,16 @@ export class Orders { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/orders/${orderId}/fulfill` + `sites/${siteId}/orders/${orderId}/fulfill` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.OrdersUpdateFulfillRequest.jsonOrThrow(request, { @@ -401,7 +407,7 @@ export class Orders { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.orders.updateUnfulfill("string", "string") + * await webflow.orders.updateUnfulfill("site_id", "order_id") */ public async updateUnfulfill( siteId: string, @@ -411,14 +417,16 @@ export class Orders { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/orders/${orderId}/unfulfill` + `sites/${siteId}/orders/${orderId}/unfulfill` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -487,9 +495,7 @@ export class Orders { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.orders.refund("string", "string", { - * reason: Webflow.OrdersRefundRequestReason.Duplicate - * }) + * await webflow.orders.refund("site_id", "order_id", {}) */ public async refund( siteId: string, @@ -500,14 +506,16 @@ export class Orders { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/orders/${orderId}/refund` + `sites/${siteId}/orders/${orderId}/refund` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.OrdersRefundRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), diff --git a/src/api/resources/orders/client/requests/OrdersListRequest.ts b/src/api/resources/orders/client/requests/OrdersListRequest.ts index 8ed2eef..e63a1ba 100644 --- a/src/api/resources/orders/client/requests/OrdersListRequest.ts +++ b/src/api/resources/orders/client/requests/OrdersListRequest.ts @@ -6,9 +6,7 @@ import * as Webflow from "../../../.."; /** * @example - * { - * status: Webflow.OrdersListRequestStatus.Pending - * } + * {} */ export interface OrdersListRequest { /** diff --git a/src/api/resources/orders/client/requests/OrdersRefundRequest.ts b/src/api/resources/orders/client/requests/OrdersRefundRequest.ts index 6e417ba..50f1303 100644 --- a/src/api/resources/orders/client/requests/OrdersRefundRequest.ts +++ b/src/api/resources/orders/client/requests/OrdersRefundRequest.ts @@ -6,9 +6,7 @@ import * as Webflow from "../../../.."; /** * @example - * { - * reason: Webflow.OrdersRefundRequestReason.Duplicate - * } + * {} */ export interface OrdersRefundRequest { /** The reason for the refund */ diff --git a/src/api/resources/pages/client/Client.ts b/src/api/resources/pages/client/Client.ts index 1bd46c1..c451985 100644 --- a/src/api/resources/pages/client/Client.ts +++ b/src/api/resources/pages/client/Client.ts @@ -34,22 +34,35 @@ export class Pages { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.pages.list("string") + * await webflow.pages.list("site_id", {}) */ - public async list(siteId: string, requestOptions?: Pages.RequestOptions): Promise { + public async list( + siteId: string, + request: Webflow.PagesListRequest = {}, + requestOptions?: Pages.RequestOptions + ): Promise { + const { locale } = request; + const _queryParams: Record = {}; + if (locale != null) { + _queryParams["locale"] = locale; + } + const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/pages` + `sites/${siteId}/pages` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", + queryParameters: _queryParams, timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, }); @@ -107,22 +120,147 @@ export class Pages { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.pages.getMetadata("string") + * await webflow.pages.getMetadata("page_id", {}) */ - public async getMetadata(pageId: string, requestOptions?: Pages.RequestOptions): Promise { + public async getMetadata( + pageId: string, + request: Webflow.PagesGetMetadataRequest = {}, + requestOptions?: Pages.RequestOptions + ): Promise { + const { locale } = request; + const _queryParams: Record = {}; + if (locale != null) { + _queryParams["locale"] = locale; + } + const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/pages/${pageId}` + `pages/${pageId}` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + }, + contentType: "application/json", + queryParameters: _queryParams, + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + }); + if (_response.ok) { + return await serializers.Page.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }); + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Webflow.BadRequestError(_response.error.body); + case 401: + throw new Webflow.UnauthorizedError(_response.error.body); + case 404: + throw new Webflow.NotFoundError(_response.error.body); + case 429: + throw new Webflow.TooManyRequestsError(_response.error.body); + case 500: + throw new Webflow.InternalServerError(_response.error.body); + default: + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + }); + case "timeout": + throw new errors.WebflowTimeoutError(); + case "unknown": + throw new errors.WebflowError({ + message: _response.error.errorMessage, + }); + } + } + + /** + * Update Page-level metadata, including SEO and Open Graph fields.

Required scope | `pages:write` + * @throws {@link Webflow.BadRequestError} + * @throws {@link Webflow.UnauthorizedError} + * @throws {@link Webflow.NotFoundError} + * @throws {@link Webflow.TooManyRequestsError} + * @throws {@link Webflow.InternalServerError} + * + * @example + * await webflow.pages.updatePageSettings("page_id", { + * body: { + * id: "6390c49774a71f0e3c1a08ee", + * siteId: "6390c49674a71f84b51a08d8", + * title: "Blog Categories Template", + * slug: "detail_blog-category", + * parentId: "6419db964a9c435aa3af6251", + * collectionId: "6390c49774a71f12831a08e3", + * createdOn: new Date("2018-10-14T21:55:49.000Z"), + * lastUpdated: new Date("2022-12-07T16:51:37.000Z"), + * archived: false, + * draft: false, + * canBranch: true, + * isMembersOnly: false, + * seo: { + * title: "CoffeeStyle eCommerce - Webflow HTML website template", + * description: "This Webflow template offers a quick start into an e-commerce / memberships site" + * }, + * openGraph: { + * title: "CoffeeStyle eCommerce - Webflow HTML website template", + * titleCopied: true, + * description: "This Webflow template offers a quick start into an e-commerce / memberships site", + * descriptionCopied: true + * } + * } + * }) + */ + public async updatePageSettings( + pageId: string, + request: Webflow.UpdatePageSettingsRequest, + requestOptions?: Pages.RequestOptions + ): Promise { + const { locale, body: _body } = request; + const _queryParams: Record = {}; + if (locale != null) { + _queryParams["locale"] = locale; + } + + const _response = await core.fetcher({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, + `pages/${pageId}` + ), + method: "PUT", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "webflow-api", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", + queryParameters: _queryParams, + body: await serializers.Page.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, }); @@ -171,6 +309,188 @@ export class Pages { } } + /** + * Get static content from a static page.
If you do not provide a Locale ID in your request, the response will return any content that can be localized from the Primary locale

Required scope | `pages:read` + * @throws {@link Webflow.BadRequestError} + * @throws {@link Webflow.UnauthorizedError} + * @throws {@link Webflow.ForbiddenError} + * @throws {@link Webflow.NotFoundError} + * @throws {@link Webflow.TooManyRequestsError} + * @throws {@link Webflow.InternalServerError} + * + * @example + * await webflow.pages.getContent("page_id", {}) + */ + public async getContent( + pageId: string, + request: Webflow.PagesGetContentRequest = {}, + requestOptions?: Pages.RequestOptions + ): Promise { + const { locale } = request; + const _queryParams: Record = {}; + if (locale != null) { + _queryParams["locale"] = locale; + } + + const _response = await core.fetcher({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, + `pages/${pageId}/dom` + ), + method: "GET", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "webflow-api", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + }, + contentType: "application/json", + queryParameters: _queryParams, + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + }); + if (_response.ok) { + return await serializers.Dom.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }); + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Webflow.BadRequestError(_response.error.body); + case 401: + throw new Webflow.UnauthorizedError(_response.error.body); + case 403: + throw new Webflow.ForbiddenError(_response.error.body); + case 404: + throw new Webflow.NotFoundError(_response.error.body); + case 429: + throw new Webflow.TooManyRequestsError(_response.error.body); + case 500: + throw new Webflow.InternalServerError(_response.error.body); + default: + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + }); + case "timeout": + throw new errors.WebflowTimeoutError(); + case "unknown": + throw new errors.WebflowError({ + message: _response.error.errorMessage, + }); + } + } + + /** + * Update static content on a static page.

Required scope | `pages:write` + * @throws {@link Webflow.BadRequestError} + * @throws {@link Webflow.UnauthorizedError} + * @throws {@link Webflow.ForbiddenError} + * @throws {@link Webflow.NotFoundError} + * @throws {@link Webflow.TooManyRequestsError} + * @throws {@link Webflow.InternalServerError} + * + * @example + * await webflow.pages.updateStaticContent("page_id", { + * locale: "locale", + * nodes: [{ + * nodeId: "guide-title-id", + * text: "

Hello world

" + * }] + * }) + */ + public async updateStaticContent( + pageId: string, + request: Webflow.DomWrite, + requestOptions?: Pages.RequestOptions + ): Promise { + const { locale, ..._body } = request; + const _queryParams: Record = {}; + _queryParams["locale"] = locale; + const _response = await core.fetcher({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, + `pages/${pageId}/dom` + ), + method: "POST", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "webflow-api", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + }, + contentType: "application/json", + queryParameters: _queryParams, + body: await serializers.DomWrite.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + }); + if (_response.ok) { + return await serializers.Dom.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }); + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Webflow.BadRequestError(_response.error.body); + case 401: + throw new Webflow.UnauthorizedError(_response.error.body); + case 403: + throw new Webflow.ForbiddenError(_response.error.body); + case 404: + throw new Webflow.NotFoundError(_response.error.body); + case 429: + throw new Webflow.TooManyRequestsError(_response.error.body); + case 500: + throw new Webflow.InternalServerError(_response.error.body); + default: + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + }); + case "timeout": + throw new errors.WebflowTimeoutError(); + case "unknown": + throw new errors.WebflowError({ + message: _response.error.errorMessage, + }); + } + } + protected _scripts: Scripts | undefined; public get scripts(): Scripts { diff --git a/src/api/resources/pages/client/index.ts b/src/api/resources/pages/client/index.ts index cb0ff5c..415726b 100644 --- a/src/api/resources/pages/client/index.ts +++ b/src/api/resources/pages/client/index.ts @@ -1 +1 @@ -export {}; +export * from "./requests"; diff --git a/src/api/resources/pages/client/requests/DomWrite.ts b/src/api/resources/pages/client/requests/DomWrite.ts new file mode 100644 index 0000000..d554ae2 --- /dev/null +++ b/src/api/resources/pages/client/requests/DomWrite.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../.."; + +/** + * @example + * { + * locale: "locale", + * nodes: [{ + * nodeId: "guide-title-id", + * text: "

Hello world

" + * }] + * } + */ +export interface DomWrite { + /** + * The locale identifier. + */ + locale: string; + nodes: Webflow.DomWriteNodesItem[]; +} diff --git a/src/api/resources/pages/client/requests/PagesGetContentRequest.ts b/src/api/resources/pages/client/requests/PagesGetContentRequest.ts new file mode 100644 index 0000000..850ddd2 --- /dev/null +++ b/src/api/resources/pages/client/requests/PagesGetContentRequest.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface PagesGetContentRequest { + /** + * Unique identifier for a specific locale. Applicable, when using localization. + */ + locale?: string; +} diff --git a/src/api/resources/pages/client/requests/PagesGetMetadataRequest.ts b/src/api/resources/pages/client/requests/PagesGetMetadataRequest.ts new file mode 100644 index 0000000..1469212 --- /dev/null +++ b/src/api/resources/pages/client/requests/PagesGetMetadataRequest.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface PagesGetMetadataRequest { + /** + * Unique identifier for a specific locale. Applicable, when using localization. + */ + locale?: string; +} diff --git a/src/api/resources/pages/client/requests/PagesListRequest.ts b/src/api/resources/pages/client/requests/PagesListRequest.ts new file mode 100644 index 0000000..c9a0739 --- /dev/null +++ b/src/api/resources/pages/client/requests/PagesListRequest.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface PagesListRequest { + /** + * Unique identifier for a specific locale. Applicable, when using localization. + */ + locale?: string; +} diff --git a/src/api/resources/pages/client/requests/UpdatePageSettingsRequest.ts b/src/api/resources/pages/client/requests/UpdatePageSettingsRequest.ts new file mode 100644 index 0000000..df43330 --- /dev/null +++ b/src/api/resources/pages/client/requests/UpdatePageSettingsRequest.ts @@ -0,0 +1,42 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../.."; + +/** + * @example + * { + * body: { + * id: "6390c49774a71f0e3c1a08ee", + * siteId: "6390c49674a71f84b51a08d8", + * title: "Blog Categories Template", + * slug: "detail_blog-category", + * parentId: "6419db964a9c435aa3af6251", + * collectionId: "6390c49774a71f12831a08e3", + * createdOn: new Date("2018-10-14T21:55:49.000Z"), + * lastUpdated: new Date("2022-12-07T16:51:37.000Z"), + * archived: false, + * draft: false, + * canBranch: true, + * isMembersOnly: false, + * seo: { + * title: "CoffeeStyle eCommerce - Webflow HTML website template", + * description: "This Webflow template offers a quick start into an e-commerce / memberships site" + * }, + * openGraph: { + * title: "CoffeeStyle eCommerce - Webflow HTML website template", + * titleCopied: true, + * description: "This Webflow template offers a quick start into an e-commerce / memberships site", + * descriptionCopied: true + * } + * } + * } + */ +export interface UpdatePageSettingsRequest { + /** + * Unique identifier for a specific locale. Applicable, when using localization. + */ + locale?: string; + body: Webflow.Page; +} diff --git a/src/api/resources/pages/client/requests/index.ts b/src/api/resources/pages/client/requests/index.ts new file mode 100644 index 0000000..08a645c --- /dev/null +++ b/src/api/resources/pages/client/requests/index.ts @@ -0,0 +1,5 @@ +export { PagesListRequest } from "./PagesListRequest"; +export { PagesGetMetadataRequest } from "./PagesGetMetadataRequest"; +export { UpdatePageSettingsRequest } from "./UpdatePageSettingsRequest"; +export { PagesGetContentRequest } from "./PagesGetContentRequest"; +export { DomWrite } from "./DomWrite"; diff --git a/src/api/resources/pages/index.ts b/src/api/resources/pages/index.ts index 33a87f1..848e75a 100644 --- a/src/api/resources/pages/index.ts +++ b/src/api/resources/pages/index.ts @@ -1,2 +1,3 @@ +export * from "./types"; export * from "./client"; export * from "./resources"; diff --git a/src/api/resources/pages/resources/scripts/client/Client.ts b/src/api/resources/pages/resources/scripts/client/Client.ts index c3a21ea..e3b47ad 100644 --- a/src/api/resources/pages/resources/scripts/client/Client.ts +++ b/src/api/resources/pages/resources/scripts/client/Client.ts @@ -33,7 +33,7 @@ export class Scripts { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.pages.scripts.getCustomCode("string") + * await webflow.pages.scripts.getCustomCode("page_id") */ public async getCustomCode( pageId: string, @@ -42,14 +42,16 @@ export class Scripts { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/pages/${pageId}/custom_code` + `pages/${pageId}/custom_code` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -109,7 +111,7 @@ export class Scripts { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.pages.scripts.upsertCustomCode("string", { + * await webflow.pages.scripts.upsertCustomCode("page_id", { * scripts: [{ * id: "cms_slider", * location: Webflow.ScriptApplyLocation.Header, @@ -117,6 +119,14 @@ export class Scripts { * attributes: { * "my-attribute": "some-value" * } + * }, { + * id: "alert", + * location: Webflow.ScriptApplyLocation.Header, + * version: "0.0.1" + * }, { + * id: "id", + * location: Webflow.ScriptApplyLocation.Header, + * version: "version" * }] * }) */ @@ -128,14 +138,16 @@ export class Scripts { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/pages/${pageId}/custom_code` + `pages/${pageId}/custom_code` ), method: "PUT", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.ScriptApplyList.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), @@ -196,20 +208,22 @@ export class Scripts { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.pages.scripts.deleteCustomCode("string") + * await webflow.pages.scripts.deleteCustomCode("page_id") */ public async deleteCustomCode(pageId: string, requestOptions?: Scripts.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/pages/${pageId}/custom_code` + `pages/${pageId}/custom_code` ), method: "DELETE", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, diff --git a/src/api/resources/pages/types/DomWriteNodesItem.ts b/src/api/resources/pages/types/DomWriteNodesItem.ts new file mode 100644 index 0000000..54e8f2e --- /dev/null +++ b/src/api/resources/pages/types/DomWriteNodesItem.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface DomWriteNodesItem { + /** Node UUID */ + nodeId: string; + /** HTML content of the node */ + text: string; +} diff --git a/src/api/resources/pages/types/index.ts b/src/api/resources/pages/types/index.ts new file mode 100644 index 0000000..a2ba648 --- /dev/null +++ b/src/api/resources/pages/types/index.ts @@ -0,0 +1 @@ +export * from "./DomWriteNodesItem"; diff --git a/src/api/resources/products/client/Client.ts b/src/api/resources/products/client/Client.ts index 3654615..7e904de 100644 --- a/src/api/resources/products/client/Client.ts +++ b/src/api/resources/products/client/Client.ts @@ -37,7 +37,7 @@ export class Products { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.products.list("string", {}) + * await webflow.products.list("site_id", {}) */ public async list( siteId: string, @@ -45,7 +45,7 @@ export class Products { requestOptions?: Products.RequestOptions ): Promise { const { offset, limit } = request; - const _queryParams: Record = {}; + const _queryParams: Record = {}; if (offset != null) { _queryParams["offset"] = offset.toString(); } @@ -57,14 +57,16 @@ export class Products { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/products` + `sites/${siteId}/products` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", queryParameters: _queryParams, @@ -121,17 +123,13 @@ export class Products { } /** - * Adding a new Product involves creating both a Product Item and a SKU Item, since a Product Item has to have, at minimum, a SKU Item. + * Creating a new Product involves creating both a Product and a SKU, since a Product Item has to have, at minimum, a single SKU. * - * To create a new Product with multiple SKUs, you must: + * In order to create a Product with multiple SKUs - for example a T-shirt in sizes small, medium and large - you'll need to create `sku-properties`. In our T-shirt example, a single `sku-property` would be Color. Within that property, we'll need to list out the various colors a T-shirt could be as an array of `enum` values: `royal-blue`, `crimson-red`, and `forrest-green`. * - * - Create the Product and Default SKU using this endpoint, making sure to add `sku-properties` in the product data. - * - You can't add `sku-values` to the SKU yet, since there are no enum IDs created yet. When this endpoint returns, it will have IDs filled in for the `sku-properties` enums. - * - With those IDs, update the default SKU with valid `sku-values` and create any additional SKUs (if needed), with valid `sku-values`. - * - You can also create the Product without `sku-properties` and add them in later. - * - If you add any `sku` properties, the default SKU will default to the first value of each option. + * Once, you've created a Product and its `sku-properties` with `enum` values, you can create your default SKU, which will automatically be a combination of the first `sku-properties` you've created. In our example, the default SKU will be a Royal Blue T-Shirt, because our first `enum` of our Color `sku-property` is Royal Blue. After you've created your product, you can create additional SKUs using the Create SKU endpoint * - * Upon creation, the default product type will be `Advanced`. The product type is used to determine which Product and SKU fields are shown to users in the `Designer` and the `Editor`. Setting it to `Advanced` ensures that all Product and SKU fields will be shown. The product type can be edited in the `Designer` or the `Editor`. + * Upon creation, the default product type will be `Advanced`. The product type is used to determine which Product and SKU fields are shown to users in the `Designer` and the `Editor`. Setting it to `Advanced` ensures that all Product and SKU fields will be shown. * * Required scope | `ecommerce:write` * @throws {@link Webflow.BadRequestError} @@ -143,64 +141,29 @@ export class Products { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.products.create("string", { - * publishStatus: Webflow.PublishStatus.Staging, - * product: { - * id: "580e63fc8c9a982ac9b8b745", - * lastPublished: new Date("2023-03-17T18:47:35.560Z"), - * lastUpdated: new Date("2023-03-17T18:47:35.560Z"), - * createdOn: new Date("2023-03-17T18:47:35.560Z"), - * isArchived: false, - * isDraft: false, - * fieldData: { - * name: "My new item", - * slug: "my-new-item", - * skuProperties: [{ - * id: "ff42fee0113744f693a764e3431a9cc2", - * name: "Color", - * enum: [{ - * id: "64a74715c456e36762fc39a1", - * name: "Royal Blue", - * slug: "royal-blue" - * }] - * }] - * } - * }, - * sku: { - * id: "580e63fc8c9a982ac9b8b745", - * lastPublished: new Date("2023-03-17T18:47:35.560Z"), - * lastUpdated: new Date("2023-03-17T18:47:35.560Z"), - * createdOn: new Date("2023-03-17T18:47:35.560Z"), - * fieldData: { - * name: "My new item", - * slug: "my-new-item", - * price: { - * value: 100, - * unit: "USD" - * } - * } - * } - * }) + * await webflow.products.create("site_id", {}) */ public async create( siteId: string, - request: Webflow.ProductsCreateRequest, + request: Webflow.ProductSkuCreate = {}, requestOptions?: Products.RequestOptions ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/products` + `sites/${siteId}/products` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", - body: await serializers.ProductsCreateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + body: await serializers.ProductSkuCreate.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, }); @@ -266,7 +229,7 @@ export class Products { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.products.get("string", "string") + * await webflow.products.get("site_id", "product_id") */ public async get( siteId: string, @@ -276,14 +239,16 @@ export class Products { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/products/${productId}` + `sites/${siteId}/products/${productId}` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -351,25 +316,46 @@ export class Products { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.products.update("string", "string", { - * publishStatus: Webflow.PublishStatus.Staging, + * await webflow.products.update("site_id", "product_id", { * product: { * id: "580e63fc8c9a982ac9b8b745", - * lastPublished: new Date("2023-03-17T18:47:35.560Z"), - * lastUpdated: new Date("2023-03-17T18:47:35.560Z"), - * createdOn: new Date("2023-03-17T18:47:35.560Z"), + * lastPublished: new Date("2023-03-17T18:47:35.000Z"), + * lastUpdated: new Date("2023-03-17T18:47:35.000Z"), + * createdOn: new Date("2023-03-17T18:47:35.000Z"), * isArchived: false, * isDraft: false, * fieldData: { - * name: "My new item", - * slug: "my-new-item", + * name: "T-Shirt", + * slug: "t-shirt", + * description: "A plain cotton t-shirt.", + * shippable: true, * skuProperties: [{ - * id: "ff42fee0113744f693a764e3431a9cc2", + * id: "color", * name: "Color", * enum: [{ - * id: "64a74715c456e36762fc39a1", + * id: "royal-blue", * name: "Royal Blue", * slug: "royal-blue" + * }, { + * id: "crimson-red", + * name: "Crimson Red", + * slug: "crimson-red" + * }, { + * id: "forrest-green", + * name: "Forrst Green", + * slug: "forrest-green" + * }, { + * id: "id", + * name: "name", + * slug: "slug" + * }] + * }, { + * id: "Color", + * name: "Color", + * enum: [{ + * id: "id", + * name: "name", + * slug: "slug" * }] * }] * } @@ -385,14 +371,16 @@ export class Products { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/products/${productId}` + `sites/${siteId}/products/${productId}` ), method: "PATCH", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.ProductsUpdateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), @@ -463,20 +451,20 @@ export class Products { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.products.createSku("string", "string", { - * publishStatus: Webflow.PublishStatus.Staging, + * await webflow.products.createSku("site_id", "product_id", { * skus: [{ * id: "580e63fc8c9a982ac9b8b745", - * lastPublished: new Date("2023-03-17T18:47:35.560Z"), - * lastUpdated: new Date("2023-03-17T18:47:35.560Z"), - * createdOn: new Date("2023-03-17T18:47:35.560Z"), + * lastPublished: new Date("2023-03-17T18:47:35.000Z"), + * lastUpdated: new Date("2023-03-17T18:47:35.000Z"), + * createdOn: new Date("2023-03-17T18:47:35.000Z"), * fieldData: { - * name: "My new item", - * slug: "my-new-item", + * name: "Blue T-shirt", + * slug: "t-shirt-blue", * price: { * value: 100, * unit: "USD" - * } + * }, + * quantity: 10 * } * }] * }) @@ -490,14 +478,16 @@ export class Products { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/products/${productId}/skus` + `sites/${siteId}/products/${productId}/skus` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.ProductsCreateSkuRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), @@ -566,20 +556,20 @@ export class Products { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.products.updateSku("string", "string", "string", { - * publishStatus: Webflow.PublishStatus.Staging, + * await webflow.products.updateSku("site_id", "product_id", "sku_id", { * sku: { * id: "580e63fc8c9a982ac9b8b745", - * lastPublished: new Date("2023-03-17T18:47:35.560Z"), - * lastUpdated: new Date("2023-03-17T18:47:35.560Z"), - * createdOn: new Date("2023-03-17T18:47:35.560Z"), + * lastPublished: new Date("2023-03-17T18:47:35.000Z"), + * lastUpdated: new Date("2023-03-17T18:47:35.000Z"), + * createdOn: new Date("2023-03-17T18:47:35.000Z"), * fieldData: { - * name: "My new item", - * slug: "my-new-item", + * name: "Blue T-shirt", + * slug: "t-shirt-blue", * price: { * value: 100, * unit: "USD" - * } + * }, + * quantity: 10 * } * } * }) @@ -594,14 +584,16 @@ export class Products { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/products/${productId}/skus/${skuId}` + `sites/${siteId}/products/${productId}/skus/${skuId}` ), method: "PATCH", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.ProductsUpdateSkuRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), diff --git a/src/api/resources/products/client/requests/ProductSkuCreate.ts b/src/api/resources/products/client/requests/ProductSkuCreate.ts new file mode 100644 index 0000000..3b030ad --- /dev/null +++ b/src/api/resources/products/client/requests/ProductSkuCreate.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../.."; + +/** + * @example + * {} + */ +export interface ProductSkuCreate { + publishStatus?: Webflow.PublishStatus; + /** The Product Object */ + product?: Webflow.ProductSkuCreateProduct; + /** The SKU object */ + sku?: Webflow.ProductSkuCreateSku; +} diff --git a/src/api/resources/products/client/requests/ProductsCreateRequest.ts b/src/api/resources/products/client/requests/ProductsCreateRequest.ts deleted file mode 100644 index 2d44852..0000000 --- a/src/api/resources/products/client/requests/ProductsCreateRequest.ts +++ /dev/null @@ -1,52 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../../../.."; - -/** - * @example - * { - * publishStatus: Webflow.PublishStatus.Staging, - * product: { - * id: "580e63fc8c9a982ac9b8b745", - * lastPublished: new Date("2023-03-17T18:47:35.560Z"), - * lastUpdated: new Date("2023-03-17T18:47:35.560Z"), - * createdOn: new Date("2023-03-17T18:47:35.560Z"), - * isArchived: false, - * isDraft: false, - * fieldData: { - * name: "My new item", - * slug: "my-new-item", - * skuProperties: [{ - * id: "ff42fee0113744f693a764e3431a9cc2", - * name: "Color", - * enum: [{ - * id: "64a74715c456e36762fc39a1", - * name: "Royal Blue", - * slug: "royal-blue" - * }] - * }] - * } - * }, - * sku: { - * id: "580e63fc8c9a982ac9b8b745", - * lastPublished: new Date("2023-03-17T18:47:35.560Z"), - * lastUpdated: new Date("2023-03-17T18:47:35.560Z"), - * createdOn: new Date("2023-03-17T18:47:35.560Z"), - * fieldData: { - * name: "My new item", - * slug: "my-new-item", - * price: { - * value: 100, - * unit: "USD" - * } - * } - * } - * } - */ -export interface ProductsCreateRequest { - publishStatus?: Webflow.PublishStatus; - product: Webflow.Product; - sku: Webflow.Sku; -} diff --git a/src/api/resources/products/client/requests/ProductsCreateSkuRequest.ts b/src/api/resources/products/client/requests/ProductsCreateSkuRequest.ts index 6fd4902..210302b 100644 --- a/src/api/resources/products/client/requests/ProductsCreateSkuRequest.ts +++ b/src/api/resources/products/client/requests/ProductsCreateSkuRequest.ts @@ -7,19 +7,19 @@ import * as Webflow from "../../../.."; /** * @example * { - * publishStatus: Webflow.PublishStatus.Staging, * skus: [{ * id: "580e63fc8c9a982ac9b8b745", - * lastPublished: new Date("2023-03-17T18:47:35.560Z"), - * lastUpdated: new Date("2023-03-17T18:47:35.560Z"), - * createdOn: new Date("2023-03-17T18:47:35.560Z"), + * lastPublished: new Date("2023-03-17T18:47:35.000Z"), + * lastUpdated: new Date("2023-03-17T18:47:35.000Z"), + * createdOn: new Date("2023-03-17T18:47:35.000Z"), * fieldData: { - * name: "My new item", - * slug: "my-new-item", + * name: "Blue T-shirt", + * slug: "t-shirt-blue", * price: { * value: 100, * unit: "USD" - * } + * }, + * quantity: 10 * } * }] * } diff --git a/src/api/resources/products/client/requests/ProductsUpdateRequest.ts b/src/api/resources/products/client/requests/ProductsUpdateRequest.ts index aa405dd..ae642ae 100644 --- a/src/api/resources/products/client/requests/ProductsUpdateRequest.ts +++ b/src/api/resources/products/client/requests/ProductsUpdateRequest.ts @@ -7,24 +7,45 @@ import * as Webflow from "../../../.."; /** * @example * { - * publishStatus: Webflow.PublishStatus.Staging, * product: { * id: "580e63fc8c9a982ac9b8b745", - * lastPublished: new Date("2023-03-17T18:47:35.560Z"), - * lastUpdated: new Date("2023-03-17T18:47:35.560Z"), - * createdOn: new Date("2023-03-17T18:47:35.560Z"), + * lastPublished: new Date("2023-03-17T18:47:35.000Z"), + * lastUpdated: new Date("2023-03-17T18:47:35.000Z"), + * createdOn: new Date("2023-03-17T18:47:35.000Z"), * isArchived: false, * isDraft: false, * fieldData: { - * name: "My new item", - * slug: "my-new-item", + * name: "T-Shirt", + * slug: "t-shirt", + * description: "A plain cotton t-shirt.", + * shippable: true, * skuProperties: [{ - * id: "ff42fee0113744f693a764e3431a9cc2", + * id: "color", * name: "Color", * enum: [{ - * id: "64a74715c456e36762fc39a1", + * id: "royal-blue", * name: "Royal Blue", * slug: "royal-blue" + * }, { + * id: "crimson-red", + * name: "Crimson Red", + * slug: "crimson-red" + * }, { + * id: "forrest-green", + * name: "Forrst Green", + * slug: "forrest-green" + * }, { + * id: "id", + * name: "name", + * slug: "slug" + * }] + * }, { + * id: "Color", + * name: "Color", + * enum: [{ + * id: "id", + * name: "name", + * slug: "slug" * }] * }] * } diff --git a/src/api/resources/products/client/requests/ProductsUpdateSkuRequest.ts b/src/api/resources/products/client/requests/ProductsUpdateSkuRequest.ts index dd1b024..d7aa25b 100644 --- a/src/api/resources/products/client/requests/ProductsUpdateSkuRequest.ts +++ b/src/api/resources/products/client/requests/ProductsUpdateSkuRequest.ts @@ -7,19 +7,19 @@ import * as Webflow from "../../../.."; /** * @example * { - * publishStatus: Webflow.PublishStatus.Staging, * sku: { * id: "580e63fc8c9a982ac9b8b745", - * lastPublished: new Date("2023-03-17T18:47:35.560Z"), - * lastUpdated: new Date("2023-03-17T18:47:35.560Z"), - * createdOn: new Date("2023-03-17T18:47:35.560Z"), + * lastPublished: new Date("2023-03-17T18:47:35.000Z"), + * lastUpdated: new Date("2023-03-17T18:47:35.000Z"), + * createdOn: new Date("2023-03-17T18:47:35.000Z"), * fieldData: { - * name: "My new item", - * slug: "my-new-item", + * name: "Blue T-shirt", + * slug: "t-shirt-blue", * price: { * value: 100, * unit: "USD" - * } + * }, + * quantity: 10 * } * } * } diff --git a/src/api/resources/products/client/requests/index.ts b/src/api/resources/products/client/requests/index.ts index 6d9f875..f95504d 100644 --- a/src/api/resources/products/client/requests/index.ts +++ b/src/api/resources/products/client/requests/index.ts @@ -1,5 +1,5 @@ export { ProductsListRequest } from "./ProductsListRequest"; -export { ProductsCreateRequest } from "./ProductsCreateRequest"; +export { ProductSkuCreate } from "./ProductSkuCreate"; export { ProductsUpdateRequest } from "./ProductsUpdateRequest"; export { ProductsCreateSkuRequest } from "./ProductsCreateSkuRequest"; export { ProductsUpdateSkuRequest } from "./ProductsUpdateSkuRequest"; diff --git a/src/api/resources/products/types/ProductSkuCreateProduct.ts b/src/api/resources/products/types/ProductSkuCreateProduct.ts new file mode 100644 index 0000000..f0e0105 --- /dev/null +++ b/src/api/resources/products/types/ProductSkuCreateProduct.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../.."; + +/** + * The Product Object + */ +export interface ProductSkuCreateProduct { + /** Unique identifier for the Product */ + id?: string; + /** The date the Product was last published */ + lastPublished?: Date; + /** The date the Product was last updated */ + lastUpdated?: Date; + /** The date the Product was created */ + createdOn?: Date; + /** Boolean determining if the Product is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Product is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.ProductSkuCreateProductFieldData; +} diff --git a/src/api/resources/products/types/ProductSkuCreateProductFieldData.ts b/src/api/resources/products/types/ProductSkuCreateProductFieldData.ts new file mode 100644 index 0000000..392757e --- /dev/null +++ b/src/api/resources/products/types/ProductSkuCreateProductFieldData.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../.."; + +export interface ProductSkuCreateProductFieldData { + /** Name of the Product */ + name: string; + /** URL structure of the Product in your site. */ + slug: string; + /** A description of your product */ + description?: string; + /** Boolean determining if the Product is shippable */ + shippable?: boolean; + /** Variant types to include in SKUs */ + skuProperties?: Webflow.SkuPropertyList[]; + /** The categories your product belongs to. */ + categories?: unknown[]; + /** Product tax class */ + taxCategory?: Webflow.ProductSkuCreateProductFieldDataTaxCategory; + /** Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" */ + ecProductType?: Webflow.ProductSkuCreateProductFieldDataEcProductType; + additionalProperties?: unknown; +} diff --git a/src/api/resources/products/types/ProductSkuCreateProductFieldDataEcProductType.ts b/src/api/resources/products/types/ProductSkuCreateProductFieldDataEcProductType.ts new file mode 100644 index 0000000..6c530ca --- /dev/null +++ b/src/api/resources/products/types/ProductSkuCreateProductFieldDataEcProductType.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" + */ +export type ProductSkuCreateProductFieldDataEcProductType = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; + +export const ProductSkuCreateProductFieldDataEcProductType = { + Ff42Fee0113744F693A764E3431A9Cc2: "ff42fee0113744f693a764e3431a9cc2", + F22027Db68002190Aef89A4A2B7Ac8A1: "f22027db68002190aef89a4a2b7ac8a1", + C599E43B1A1C34D5A323Aedf75D3Adf6: "c599e43b1a1c34d5a323aedf75d3adf6", + B6Ccc1830Db4B1Babeb06A9Ac5F6Dd76: "b6ccc1830db4b1babeb06a9ac5f6dd76", +} as const; diff --git a/src/api/resources/products/types/ProductSkuCreateProductFieldDataTaxCategory.ts b/src/api/resources/products/types/ProductSkuCreateProductFieldDataTaxCategory.ts new file mode 100644 index 0000000..5897546 --- /dev/null +++ b/src/api/resources/products/types/ProductSkuCreateProductFieldDataTaxCategory.ts @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product tax class + */ +export type ProductSkuCreateProductFieldDataTaxCategory = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; + +export const ProductSkuCreateProductFieldDataTaxCategory = { + StandardTaxable: "standard-taxable", + StandardExempt: "standard-exempt", + BooksReligious: "books-religious", + BooksTextbook: "books-textbook", + Clothing: "clothing", + ClothingSwimwear: "clothing-swimwear", + DigitalGoods: "digital-goods", + DigitalService: "digital-service", + DrugsNonPrescription: "drugs-non-prescription", + DrugsPrescription: "drugs-prescription", + FoodBottledWater: "food-bottled-water", + FoodCandy: "food-candy", + FoodGroceries: "food-groceries", + FoodPrepared: "food-prepared", + FoodSoda: "food-soda", + FoodSupplements: "food-supplements", + MagazineIndividual: "magazine-individual", + MagazineSubscription: "magazine-subscription", + ServiceAdmission: "service-admission", + ServiceAdvertising: "service-advertising", + ServiceDryCleaning: "service-dry-cleaning", + ServiceHairdressing: "service-hairdressing", + ServiceInstallation: "service-installation", + ServiceMiscellaneous: "service-miscellaneous", + ServiceParking: "service-parking", + ServicePrinting: "service-printing", + ServiceProfessional: "service-professional", + ServiceRepair: "service-repair", + ServiceTraining: "service-training", +} as const; diff --git a/src/api/resources/products/types/ProductSkuCreateSku.ts b/src/api/resources/products/types/ProductSkuCreateSku.ts new file mode 100644 index 0000000..152285a --- /dev/null +++ b/src/api/resources/products/types/ProductSkuCreateSku.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../.."; + +/** + * The SKU object + */ +export interface ProductSkuCreateSku { + /** Unique identifier for the Product */ + id?: string; + /** The date the Product was last published */ + lastPublished?: Date; + /** The date the Product was last updated */ + lastUpdated?: Date; + /** The date the Product was created */ + createdOn?: Date; + /** Standard and Custom fields for a SKU */ + fieldData?: Webflow.ProductSkuCreateSkuFieldData; +} diff --git a/src/api/resources/products/types/ProductSkuCreateSkuFieldData.ts b/src/api/resources/products/types/ProductSkuCreateSkuFieldData.ts new file mode 100644 index 0000000..5db7a7a --- /dev/null +++ b/src/api/resources/products/types/ProductSkuCreateSkuFieldData.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../.."; + +/** + * Standard and Custom fields for a SKU + */ +export interface ProductSkuCreateSkuFieldData { + skuValues?: Webflow.SkuValueList; + /** Name of the Product */ + name: string; + /** URL structure of the Product in your site. */ + slug: string; + /** price of SKU */ + price: Webflow.ProductSkuCreateSkuFieldDataPrice; + /** comparison price of SKU */ + compareAtPrice?: Webflow.ProductSkuCreateSkuFieldDataCompareAtPrice; + /** The billing method for your SKU */ + ecSkuBillingMethod?: Webflow.ProductSkuCreateSkuFieldDataEcSkuBillingMethod; + /** If your billing method is a Subscription Plan, outline the type and frequency of the subscription. */ + ecSkuSubscriptionPlan?: Webflow.ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan; + /** A boolean indicating whether inventory for this product should be tracked. */ + trackInventory?: boolean; + /** Quantity of SKU that will be tracked as items are ordered. */ + quantity?: number; +} diff --git a/src/api/resources/products/types/ProductSkuCreateSkuFieldDataCompareAtPrice.ts b/src/api/resources/products/types/ProductSkuCreateSkuFieldDataCompareAtPrice.ts new file mode 100644 index 0000000..46ef6f7 --- /dev/null +++ b/src/api/resources/products/types/ProductSkuCreateSkuFieldDataCompareAtPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * comparison price of SKU + */ +export interface ProductSkuCreateSkuFieldDataCompareAtPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuBillingMethod.ts b/src/api/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuBillingMethod.ts new file mode 100644 index 0000000..57de997 --- /dev/null +++ b/src/api/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The billing method for your SKU + */ +export type ProductSkuCreateSkuFieldDataEcSkuBillingMethod = "one-time" | "subscription"; + +export const ProductSkuCreateSkuFieldDataEcSkuBillingMethod = { + OneTime: "one-time", + Subscription: "subscription", +} as const; diff --git a/src/api/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan.ts b/src/api/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 0000000..4352848 --- /dev/null +++ b/src/api/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../.."; + +/** + * If your billing method is a Subscription Plan, outline the type and frequency of the subscription. + */ +export interface ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan { + /** Interval of subscription renewal */ + interval?: Webflow.ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval; + /** Frequncy of billing within interval */ + frequency?: number; + /** Number of days of a trial */ + trial?: number; +} diff --git a/src/api/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval.ts b/src/api/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 0000000..b11a127 --- /dev/null +++ b/src/api/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Interval of subscription renewal + */ +export type ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval = "day" | "week" | "month" | "year"; + +export const ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval = { + Day: "day", + Week: "week", + Month: "month", + Year: "year", +} as const; diff --git a/src/api/resources/products/types/ProductSkuCreateSkuFieldDataPrice.ts b/src/api/resources/products/types/ProductSkuCreateSkuFieldDataPrice.ts new file mode 100644 index 0000000..2a61c4f --- /dev/null +++ b/src/api/resources/products/types/ProductSkuCreateSkuFieldDataPrice.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * price of SKU + */ +export interface ProductSkuCreateSkuFieldDataPrice { + required?: unknown; + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/index.ts b/src/api/resources/products/types/index.ts index e286df4..a6bad2b 100644 --- a/src/api/resources/products/types/index.ts +++ b/src/api/resources/products/types/index.ts @@ -1 +1,12 @@ +export * from "./ProductSkuCreateProductFieldDataTaxCategory"; +export * from "./ProductSkuCreateProductFieldDataEcProductType"; +export * from "./ProductSkuCreateProductFieldData"; +export * from "./ProductSkuCreateProduct"; +export * from "./ProductSkuCreateSkuFieldDataPrice"; +export * from "./ProductSkuCreateSkuFieldDataCompareAtPrice"; +export * from "./ProductSkuCreateSkuFieldDataEcSkuBillingMethod"; +export * from "./ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductSkuCreateSkuFieldData"; +export * from "./ProductSkuCreateSku"; export * from "./ProductsCreateSkuResponse"; diff --git a/src/api/resources/scripts/client/Client.ts b/src/api/resources/scripts/client/Client.ts index 9f4ee95..3d25a21 100644 --- a/src/api/resources/scripts/client/Client.ts +++ b/src/api/resources/scripts/client/Client.ts @@ -33,20 +33,22 @@ export class Scripts { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.scripts.list("string") + * await webflow.scripts.list("site_id") */ public async list(siteId: string, requestOptions?: Scripts.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/registered_scripts` + `sites/${siteId}/registered_scripts` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -106,11 +108,11 @@ export class Scripts { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.scripts.registerHosted("string", { - * hostedLocation: "string", - * integrityHash: "string", - * version: "string", - * displayName: "string" + * await webflow.scripts.registerHosted("site_id", { + * hostedLocation: "hostedLocation", + * integrityHash: "integrityHash", + * version: "version", + * displayName: "displayName" * }) */ public async registerHosted( @@ -121,14 +123,16 @@ export class Scripts { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/registered_scripts/hosted` + `sites/${siteId}/registered_scripts/hosted` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.CustomCodeHostedRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), @@ -189,10 +193,10 @@ export class Scripts { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.scripts.registerInline("string", { + * await webflow.scripts.registerInline("site_id", { * sourceCode: "alert('hello world');", - * version: "string", - * displayName: "string" + * version: "0.0.1", + * displayName: "Alert" * }) */ public async registerInline( @@ -203,14 +207,16 @@ export class Scripts { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/registered_scripts/inline` + `sites/${siteId}/registered_scripts/inline` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.CustomCodeInlineRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), diff --git a/src/api/resources/scripts/client/requests/CustomCodeHostedRequest.ts b/src/api/resources/scripts/client/requests/CustomCodeHostedRequest.ts index 18aa9d9..8210990 100644 --- a/src/api/resources/scripts/client/requests/CustomCodeHostedRequest.ts +++ b/src/api/resources/scripts/client/requests/CustomCodeHostedRequest.ts @@ -5,10 +5,10 @@ /** * @example * { - * hostedLocation: "string", - * integrityHash: "string", - * version: "string", - * displayName: "string" + * hostedLocation: "hostedLocation", + * integrityHash: "integrityHash", + * version: "version", + * displayName: "displayName" * } */ export interface CustomCodeHostedRequest { diff --git a/src/api/resources/scripts/client/requests/CustomCodeInlineRequest.ts b/src/api/resources/scripts/client/requests/CustomCodeInlineRequest.ts index dee69cf..451094a 100644 --- a/src/api/resources/scripts/client/requests/CustomCodeInlineRequest.ts +++ b/src/api/resources/scripts/client/requests/CustomCodeInlineRequest.ts @@ -6,8 +6,8 @@ * @example * { * sourceCode: "alert('hello world');", - * version: "string", - * displayName: "string" + * version: "0.0.1", + * displayName: "Alert" * } */ export interface CustomCodeInlineRequest { diff --git a/src/api/resources/sites/client/Client.ts b/src/api/resources/sites/client/Client.ts index 54cf240..015c013 100644 --- a/src/api/resources/sites/client/Client.ts +++ b/src/api/resources/sites/client/Client.ts @@ -8,6 +8,7 @@ import * as Webflow from "../../.."; import urlJoin from "url-join"; import * as serializers from "../../../../serialization"; import * as errors from "../../../../errors"; +import { ActivityLogs } from "../resources/activityLogs/client/Client"; import { Scripts } from "../resources/scripts/client/Client"; export declare namespace Sites { @@ -40,14 +41,16 @@ export class Sites { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - "v2/sites" + "sites" ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -107,20 +110,22 @@ export class Sites { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.sites.get("string") + * await webflow.sites.get("site_id") */ public async get(siteId: string, requestOptions?: Sites.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}` + `sites/${siteId}` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -180,20 +185,22 @@ export class Sites { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.sites.getCustomDomain("string") + * await webflow.sites.getCustomDomain("site_id") */ public async getCustomDomain(siteId: string, requestOptions?: Sites.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/custom_domains` + `sites/${siteId}/custom_domains` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -253,7 +260,7 @@ export class Sites { * @throws {@link Webflow.TooManyRequestsError} * * @example - * await webflow.sites.publish("string", { + * await webflow.sites.publish("site_id", { * publishToWebflowSubdomain: false * }) */ @@ -265,14 +272,16 @@ export class Sites { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/publish` + `sites/${siteId}/publish` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.SitesPublishRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), @@ -318,6 +327,12 @@ export class Sites { } } + protected _activityLogs: ActivityLogs | undefined; + + public get activityLogs(): ActivityLogs { + return (this._activityLogs ??= new ActivityLogs(this._options)); + } + protected _scripts: Scripts | undefined; public get scripts(): Scripts { diff --git a/src/api/resources/sites/resources/activityLogs/client/Client.ts b/src/api/resources/sites/resources/activityLogs/client/Client.ts new file mode 100644 index 0000000..802045e --- /dev/null +++ b/src/api/resources/sites/resources/activityLogs/client/Client.ts @@ -0,0 +1,117 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as environments from "../../../../../../environments"; +import * as core from "../../../../../../core"; +import * as Webflow from "../../../../.."; +import urlJoin from "url-join"; +import * as serializers from "../../../../../../serialization"; +import * as errors from "../../../../../../errors"; + +export declare namespace ActivityLogs { + interface Options { + environment?: core.Supplier; + accessToken: core.Supplier; + } + + interface RequestOptions { + timeoutInSeconds?: number; + maxRetries?: number; + } +} + +export class ActivityLogs { + constructor(protected readonly _options: ActivityLogs.Options) {} + + /** + * Retrieve Activity Logs for a specific Site. Requires Site to be on an Enterprise plan.

Required scope | `site_activity:read` + * @throws {@link Webflow.ForbiddenError} + * @throws {@link Webflow.NotFoundError} + * @throws {@link Webflow.TooManyRequestsError} + * @throws {@link Webflow.InternalServerError} + * + * @example + * await webflow.sites.activityLogs.list("site_id", {}) + */ + public async list( + siteId: string, + request: Webflow.sites.ActivityLogsListRequest = {}, + requestOptions?: ActivityLogs.RequestOptions + ): Promise { + const { limit, offset } = request; + const _queryParams: Record = {}; + if (limit != null) { + _queryParams["limit"] = limit.toString(); + } + + if (offset != null) { + _queryParams["offset"] = offset.toString(); + } + + const _response = await core.fetcher({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, + `sites/${siteId}/activity_logs` + ), + method: "GET", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "webflow-api", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + }, + contentType: "application/json", + queryParameters: _queryParams, + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + }); + if (_response.ok) { + return await serializers.SiteActivityLogResponse.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }); + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 403: + throw new Webflow.ForbiddenError(_response.error.body); + case 404: + throw new Webflow.NotFoundError(_response.error.body); + case 429: + throw new Webflow.TooManyRequestsError(_response.error.body); + case 500: + throw new Webflow.InternalServerError(_response.error.body); + default: + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + }); + case "timeout": + throw new errors.WebflowTimeoutError(); + case "unknown": + throw new errors.WebflowError({ + message: _response.error.errorMessage, + }); + } + } + + protected async _getAuthorizationHeader() { + return `Bearer ${await core.Supplier.get(this._options.accessToken)}`; + } +} diff --git a/src/api/resources/sites/resources/activityLogs/client/index.ts b/src/api/resources/sites/resources/activityLogs/client/index.ts new file mode 100644 index 0000000..415726b --- /dev/null +++ b/src/api/resources/sites/resources/activityLogs/client/index.ts @@ -0,0 +1 @@ +export * from "./requests"; diff --git a/src/api/resources/sites/resources/activityLogs/client/requests/ActivityLogsListRequest.ts b/src/api/resources/sites/resources/activityLogs/client/requests/ActivityLogsListRequest.ts new file mode 100644 index 0000000..190390d --- /dev/null +++ b/src/api/resources/sites/resources/activityLogs/client/requests/ActivityLogsListRequest.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ActivityLogsListRequest { + /** + * Maximum number of records to be returned (max limit: 100) + */ + limit?: number; + /** + * Offset used for pagination if the results have more than limit records + */ + offset?: number; +} diff --git a/src/api/resources/sites/resources/activityLogs/client/requests/index.ts b/src/api/resources/sites/resources/activityLogs/client/requests/index.ts new file mode 100644 index 0000000..e793c67 --- /dev/null +++ b/src/api/resources/sites/resources/activityLogs/client/requests/index.ts @@ -0,0 +1 @@ +export { ActivityLogsListRequest } from "./ActivityLogsListRequest"; diff --git a/src/api/resources/sites/resources/activityLogs/index.ts b/src/api/resources/sites/resources/activityLogs/index.ts new file mode 100644 index 0000000..5ec7692 --- /dev/null +++ b/src/api/resources/sites/resources/activityLogs/index.ts @@ -0,0 +1 @@ +export * from "./client"; diff --git a/src/api/resources/sites/resources/index.ts b/src/api/resources/sites/resources/index.ts index da4c081..9d23d5e 100644 --- a/src/api/resources/sites/resources/index.ts +++ b/src/api/resources/sites/resources/index.ts @@ -1,2 +1,4 @@ +export * as activityLogs from "./activityLogs"; export * as scripts from "./scripts"; +export * from "./activityLogs/client/requests"; export * from "./scripts/client/requests"; diff --git a/src/api/resources/sites/resources/scripts/client/Client.ts b/src/api/resources/sites/resources/scripts/client/Client.ts index da775e3..edeb797 100644 --- a/src/api/resources/sites/resources/scripts/client/Client.ts +++ b/src/api/resources/sites/resources/scripts/client/Client.ts @@ -33,7 +33,7 @@ export class Scripts { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.sites.scripts.getCustomCode("string") + * await webflow.sites.scripts.getCustomCode("site_id") */ public async getCustomCode( siteId: string, @@ -42,14 +42,16 @@ export class Scripts { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/custom_code` + `sites/${siteId}/custom_code` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -109,7 +111,7 @@ export class Scripts { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.sites.scripts.upsertCustomCode("string", { + * await webflow.sites.scripts.upsertCustomCode("site_id", { * scripts: [{ * id: "cms_slider", * location: Webflow.ScriptApplyLocation.Header, @@ -117,6 +119,14 @@ export class Scripts { * attributes: { * "my-attribute": "some-value" * } + * }, { + * id: "alert", + * location: Webflow.ScriptApplyLocation.Header, + * version: "0.0.1" + * }, { + * id: "id", + * location: Webflow.ScriptApplyLocation.Header, + * version: "version" * }] * }) */ @@ -128,14 +138,16 @@ export class Scripts { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/custom_code` + `sites/${siteId}/custom_code` ), method: "PUT", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.ScriptApplyList.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), @@ -196,20 +208,22 @@ export class Scripts { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.sites.scripts.deleteCustomCode("string") + * await webflow.sites.scripts.deleteCustomCode("site_id") */ public async deleteCustomCode(siteId: string, requestOptions?: Scripts.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/custom_code` + `sites/${siteId}/custom_code` ), method: "DELETE", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -263,7 +277,7 @@ export class Scripts { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.sites.scripts.listCustomCodeBlocks("string", {}) + * await webflow.sites.scripts.listCustomCodeBlocks("site_id", {}) */ public async listCustomCodeBlocks( siteId: string, @@ -271,7 +285,7 @@ export class Scripts { requestOptions?: Scripts.RequestOptions ): Promise { const { offset, limit } = request; - const _queryParams: Record = {}; + const _queryParams: Record = {}; if (offset != null) { _queryParams["offset"] = offset.toString(); } @@ -283,14 +297,16 @@ export class Scripts { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/custom_code/blocks` + `sites/${siteId}/custom_code/blocks` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", queryParameters: _queryParams, diff --git a/src/api/resources/token/client/Client.ts b/src/api/resources/token/client/Client.ts index 42eed01..1ac5332 100644 --- a/src/api/resources/token/client/Client.ts +++ b/src/api/resources/token/client/Client.ts @@ -36,14 +36,16 @@ export class Token { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - "v2/token/authorized_by" + "token/authorized_by" ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -99,14 +101,16 @@ export class Token { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - "v2/token/introspect" + "token/introspect" ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, diff --git a/src/api/resources/users/client/Client.ts b/src/api/resources/users/client/Client.ts index 8326b30..1f34627 100644 --- a/src/api/resources/users/client/Client.ts +++ b/src/api/resources/users/client/Client.ts @@ -34,9 +34,7 @@ export class Users { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.users.list("string", { - * sort: Webflow.UsersListRequestSort.CreatedOnAscending - * }) + * await webflow.users.list("site_id", {}) */ public async list( siteId: string, @@ -44,7 +42,7 @@ export class Users { requestOptions?: Users.RequestOptions ): Promise { const { offset, limit, sort } = request; - const _queryParams: Record = {}; + const _queryParams: Record = {}; if (offset != null) { _queryParams["offset"] = offset.toString(); } @@ -60,14 +58,16 @@ export class Users { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/users` + `sites/${siteId}/users` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", queryParameters: _queryParams, @@ -131,20 +131,22 @@ export class Users { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.users.get("string", "string") + * await webflow.users.get("site_id", "user_id") */ public async get(siteId: string, userId: string, requestOptions?: Users.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/users/${userId}` + `sites/${siteId}/users/${userId}` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -207,20 +209,22 @@ export class Users { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.users.delete("string", "string") + * await webflow.users.delete("site_id", "user_id") */ public async delete(siteId: string, userId: string, requestOptions?: Users.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/users/${userId}` + `sites/${siteId}/users/${userId}` ), method: "DELETE", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -279,41 +283,37 @@ export class Users { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.users.update("string", "string", { - * id: "6287ec36a841b25637c663df", - * lastUpdated: new Date("2016-10-24T19:41:29.156Z"), - * invitedOn: new Date("2016-10-24T19:41:29.156Z"), - * createdOn: new Date("2016-10-24T19:41:29.156Z"), - * lastLogin: new Date("2016-10-24T19:41:29.156Z"), - * status: Webflow.UserStatus.Invited, - * accessGroups: [{ - * type: Webflow.UserAccessGroupsItemType.Admin - * }], + * await webflow.users.update("site_id", "user_id", { * data: { - * data: {} - * } + * name: "Some One", + * acceptPrivacy: false, + * acceptCommunications: false + * }, + * accessGroups: ["webflowers", "platinum", "free-tier", "accessGroups"] * }) */ public async update( siteId: string, userId: string, - request: Webflow.User, + request: Webflow.UsersUpdateRequest = {}, requestOptions?: Users.RequestOptions ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/users/${userId}` + `sites/${siteId}/users/${userId}` ), method: "PATCH", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", - body: await serializers.User.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + body: await serializers.UsersUpdateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, }); @@ -375,8 +375,9 @@ export class Users { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.users.invite("string", { - * email: "some.one@home.com" + * await webflow.users.invite("site_id", { + * email: "some.one@home.com", + * accessGroups: ["webflowers", "accessGroups"] * }) */ public async invite( @@ -387,14 +388,16 @@ export class Users { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/users/invite` + `sites/${siteId}/users/invite` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.UsersInviteRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), diff --git a/src/api/resources/users/client/requests/UsersInviteRequest.ts b/src/api/resources/users/client/requests/UsersInviteRequest.ts index 660e4fe..d0660a5 100644 --- a/src/api/resources/users/client/requests/UsersInviteRequest.ts +++ b/src/api/resources/users/client/requests/UsersInviteRequest.ts @@ -5,7 +5,8 @@ /** * @example * { - * email: "some.one@home.com" + * email: "some.one@home.com", + * accessGroups: ["webflowers", "accessGroups"] * } */ export interface UsersInviteRequest { diff --git a/src/api/resources/users/client/requests/UsersListRequest.ts b/src/api/resources/users/client/requests/UsersListRequest.ts index 57fc585..aae2548 100644 --- a/src/api/resources/users/client/requests/UsersListRequest.ts +++ b/src/api/resources/users/client/requests/UsersListRequest.ts @@ -6,9 +6,7 @@ import * as Webflow from "../../../.."; /** * @example - * { - * sort: Webflow.UsersListRequestSort.CreatedOnAscending - * } + * {} */ export interface UsersListRequest { /** diff --git a/src/api/resources/users/client/requests/UsersUpdateRequest.ts b/src/api/resources/users/client/requests/UsersUpdateRequest.ts new file mode 100644 index 0000000..c03f3e0 --- /dev/null +++ b/src/api/resources/users/client/requests/UsersUpdateRequest.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../.."; + +/** + * @example + * { + * data: { + * name: "Some One", + * acceptPrivacy: false, + * acceptCommunications: false + * }, + * accessGroups: ["webflowers", "platinum", "free-tier", "accessGroups"] + * } + */ +export interface UsersUpdateRequest { + data?: Webflow.UsersUpdateRequestData; + /** + * An array of access group slugs. Access groups are assigned to the user as type `admin` and the user remains in the group until removed. + * + */ + accessGroups?: string[]; +} diff --git a/src/api/resources/users/client/requests/index.ts b/src/api/resources/users/client/requests/index.ts index 7041335..feb425c 100644 --- a/src/api/resources/users/client/requests/index.ts +++ b/src/api/resources/users/client/requests/index.ts @@ -1,2 +1,3 @@ export { UsersListRequest } from "./UsersListRequest"; +export { UsersUpdateRequest } from "./UsersUpdateRequest"; export { UsersInviteRequest } from "./UsersInviteRequest"; diff --git a/src/api/resources/users/types/UsersUpdateRequestData.ts b/src/api/resources/users/types/UsersUpdateRequestData.ts new file mode 100644 index 0000000..a838a89 --- /dev/null +++ b/src/api/resources/users/types/UsersUpdateRequestData.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface UsersUpdateRequestData { + /** The name of the user */ + name?: string; + /** Boolean indicating if the user has accepted the privacy policy */ + acceptPrivacy?: boolean; + /** Boolean indicating if the user has accepted to receive communications */ + acceptCommunications?: boolean; +} diff --git a/src/api/resources/users/types/index.ts b/src/api/resources/users/types/index.ts index 06eb130..0baf514 100644 --- a/src/api/resources/users/types/index.ts +++ b/src/api/resources/users/types/index.ts @@ -1 +1,2 @@ export * from "./UsersListRequestSort"; +export * from "./UsersUpdateRequestData"; diff --git a/src/api/resources/webhooks/client/Client.ts b/src/api/resources/webhooks/client/Client.ts index 6749e0d..fd3256b 100644 --- a/src/api/resources/webhooks/client/Client.ts +++ b/src/api/resources/webhooks/client/Client.ts @@ -33,20 +33,22 @@ export class Webhooks { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.webhooks.list("string") + * await webflow.webhooks.list("site_id") */ public async list(siteId: string, requestOptions?: Webhooks.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/webhooks` + `sites/${siteId}/webhooks` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -106,7 +108,7 @@ export class Webhooks { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.webhooks.create("string", { + * await webflow.webhooks.create("site_id", { * triggerType: Webflow.TriggerType.FormSubmission, * url: "https://api.mydomain.com/webhook" * }) @@ -119,14 +121,16 @@ export class Webhooks { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/sites/${siteId}/webhooks` + `sites/${siteId}/webhooks` ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", body: await serializers.WebhooksCreateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), @@ -187,20 +191,22 @@ export class Webhooks { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.webhooks.get("string") + * await webflow.webhooks.get("webhook_id") */ public async get(webhookId: string, requestOptions?: Webhooks.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/webhooks/${webhookId}` + `webhooks/${webhookId}` ), method: "GET", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, @@ -260,20 +266,22 @@ export class Webhooks { * @throws {@link Webflow.InternalServerError} * * @example - * await webflow.webhooks.delete("string") + * await webflow.webhooks.delete("webhook_id") */ public async delete(webhookId: string, requestOptions?: Webhooks.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `v2/webhooks/${webhookId}` + `webhooks/${webhookId}` ), method: "DELETE", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.0.0-beta", + "X-Fern-SDK-Version": "v2.1.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, diff --git a/src/api/types/AssetFolder.ts b/src/api/types/AssetFolder.ts index 4765b4a..6737c6b 100644 --- a/src/api/types/AssetFolder.ts +++ b/src/api/types/AssetFolder.ts @@ -2,6 +2,9 @@ * This file was auto-generated by Fern from our API Definition. */ +/** + * Asset Folder details + */ export interface AssetFolder { /** User visible name for the Asset Folder */ displayName?: string; diff --git a/src/api/types/AssetFolderList.ts b/src/api/types/AssetFolderList.ts index c9f1239..288dc0c 100644 --- a/src/api/types/AssetFolderList.ts +++ b/src/api/types/AssetFolderList.ts @@ -8,6 +8,7 @@ import * as Webflow from ".."; * The Asset Folders object */ export interface AssetFolderList { + /** A list of Asset folders */ + assetFolders?: Webflow.AssetFolder[]; pagination?: Webflow.Pagination; - pages?: Webflow.AssetFolder[]; } diff --git a/src/api/types/CollectionItem.ts b/src/api/types/CollectionItem.ts index a763a15..52f79cb 100644 --- a/src/api/types/CollectionItem.ts +++ b/src/api/types/CollectionItem.ts @@ -10,6 +10,8 @@ import * as Webflow from ".."; export interface CollectionItem { /** Unique identifier for the Item */ id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; /** The date the item was last published */ lastPublished?: string; /** The date the item was last updated */ diff --git a/src/api/types/Dom.ts b/src/api/types/Dom.ts new file mode 100644 index 0000000..c9e7392 --- /dev/null +++ b/src/api/types/Dom.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from ".."; + +/** + * The DOM (Document Object Model) schema represents the content structure of a web page. It captures various content nodes, such as text and images, along with their associated attributes. Each node has a unique identifier and can be of different types like text or image. The schema also provides pagination details for scenarios where the content nodes are too many to be fetched in a single request. + */ +export interface Dom { + /** Page ID */ + pageId?: string; + nodes?: Webflow.Node[]; + pagination?: Webflow.Pagination; +} diff --git a/src/api/types/ImageNode.ts b/src/api/types/ImageNode.ts new file mode 100644 index 0000000..11ff84d --- /dev/null +++ b/src/api/types/ImageNode.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents an image within the DOM. It contains details about the image, such as its alternative text (alt) for accessibility and an asset identifier for fetching the actual image resource. Additional attributes can be associated with the image for styling or other purposes. + */ +export interface ImageNode { + alt?: string; + assetId?: string; +} diff --git a/src/api/types/InvalidScopes.ts b/src/api/types/InvalidScopes.ts new file mode 100644 index 0000000..8504a5c --- /dev/null +++ b/src/api/types/InvalidScopes.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface InvalidScopes { + status?: number; + message?: string; + publicErrorCode?: string; + externalReference?: string; + details?: string[]; +} diff --git a/src/api/types/Node.ts b/src/api/types/Node.ts new file mode 100644 index 0000000..dc03354 --- /dev/null +++ b/src/api/types/Node.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from ".."; + +/** + * A generic representation of a content element within the Document Object Model (DOM). Each node has a unique identifier and a specific type that determines its content structure and attributes. + */ +export interface Node { + /** Node UUID */ + id?: string; + type?: Webflow.NodeType; + text?: Webflow.TextNode; + image?: Webflow.ImageNode; + attributes?: Record; +} diff --git a/src/api/types/NodeType.ts b/src/api/types/NodeType.ts new file mode 100644 index 0000000..30b5f88 --- /dev/null +++ b/src/api/types/NodeType.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type NodeType = "text" | "image"; + +export const NodeType = { + Text: "text", + Image: "image", +} as const; diff --git a/src/api/types/NotEnterprisePlanSite.ts b/src/api/types/NotEnterprisePlanSite.ts new file mode 100644 index 0000000..dd4bcde --- /dev/null +++ b/src/api/types/NotEnterprisePlanSite.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from ".."; + +export interface NotEnterprisePlanSite { + code?: "missing_scopes"; + type?: string; + /** Error message */ + message?: string; + /** Link to more information */ + externalReference?: string; + /** Array of errors */ + details?: Webflow.ErrorDetailsItem[]; +} diff --git a/src/api/types/OauthScope.ts b/src/api/types/OauthScope.ts index 607e22b..242fbb2 100644 --- a/src/api/types/OauthScope.ts +++ b/src/api/types/OauthScope.ts @@ -35,7 +35,10 @@ export type OauthScope = | "ecommerce:read" /** * edit ecommerce data */ - | "ecommerce:write"; + | "ecommerce:write" + /** + * read site activity logs */ + | "site_activity:read"; export const OauthScope = { AuthorizedUserRead: "authorized_user:read", @@ -49,4 +52,5 @@ export const OauthScope = { UsersWrite: "users:write", EcommerceRead: "ecommerce:read", EcommerceWrite: "ecommerce:write", + SiteActivityRead: "site_activity:read", } as const; diff --git a/src/api/types/ProductAndSkUs.ts b/src/api/types/ProductAndSkUs.ts index 1eb1d96..8d0ba34 100644 --- a/src/api/types/ProductAndSkUs.ts +++ b/src/api/types/ProductAndSkUs.ts @@ -9,5 +9,6 @@ import * as Webflow from ".."; */ export interface ProductAndSkUs { product?: Webflow.Product; + /** A list of SKU Objects */ skus?: Webflow.Sku[]; } diff --git a/src/api/types/ProductFieldData.ts b/src/api/types/ProductFieldData.ts index a8aac63..00ee9a7 100644 --- a/src/api/types/ProductFieldData.ts +++ b/src/api/types/ProductFieldData.ts @@ -6,9 +6,23 @@ import * as Webflow from ".."; export interface ProductFieldData { /** Name of the Product */ - name?: string; + name: string; /** URL structure of the Product in your site. */ - slug?: string; - /** Variant/Options types to include in SKUs */ + slug: string; + /** A description of your product */ + description?: string; + /** Boolean determining if the Product is shippable */ + shippable?: boolean; + /** Variant types to include in SKUs */ skuProperties?: Webflow.SkuPropertyList[]; + /** The categories your product belongs to. */ + categories?: string[]; + /** Product tax class */ + taxCategory?: Webflow.ProductFieldDataTaxCategory; + /** The default SKU associated with this product. */ + defaultSku?: string; + /** Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" */ + ecProductType?: Webflow.ProductFieldDataEcProductType; + /** Custom fields for your product. */ + additionalProperties?: string; } diff --git a/src/api/types/ProductFieldDataEcProductType.ts b/src/api/types/ProductFieldDataEcProductType.ts new file mode 100644 index 0000000..a99ad2e --- /dev/null +++ b/src/api/types/ProductFieldDataEcProductType.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" + */ +export type ProductFieldDataEcProductType = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; + +export const ProductFieldDataEcProductType = { + Ff42Fee0113744F693A764E3431A9Cc2: "ff42fee0113744f693a764e3431a9cc2", + F22027Db68002190Aef89A4A2B7Ac8A1: "f22027db68002190aef89a4a2b7ac8a1", + C599E43B1A1C34D5A323Aedf75D3Adf6: "c599e43b1a1c34d5a323aedf75d3adf6", + B6Ccc1830Db4B1Babeb06A9Ac5F6Dd76: "b6ccc1830db4b1babeb06a9ac5f6dd76", +} as const; diff --git a/src/api/types/ProductFieldDataTaxCategory.ts b/src/api/types/ProductFieldDataTaxCategory.ts new file mode 100644 index 0000000..d59ca5d --- /dev/null +++ b/src/api/types/ProductFieldDataTaxCategory.ts @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product tax class + */ +export type ProductFieldDataTaxCategory = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; + +export const ProductFieldDataTaxCategory = { + StandardTaxable: "standard-taxable", + StandardExempt: "standard-exempt", + BooksReligious: "books-religious", + BooksTextbook: "books-textbook", + Clothing: "clothing", + ClothingSwimwear: "clothing-swimwear", + DigitalGoods: "digital-goods", + DigitalService: "digital-service", + DrugsNonPrescription: "drugs-non-prescription", + DrugsPrescription: "drugs-prescription", + FoodBottledWater: "food-bottled-water", + FoodCandy: "food-candy", + FoodGroceries: "food-groceries", + FoodPrepared: "food-prepared", + FoodSoda: "food-soda", + FoodSupplements: "food-supplements", + MagazineIndividual: "magazine-individual", + MagazineSubscription: "magazine-subscription", + ServiceAdmission: "service-admission", + ServiceAdvertising: "service-advertising", + ServiceDryCleaning: "service-dry-cleaning", + ServiceHairdressing: "service-hairdressing", + ServiceInstallation: "service-installation", + ServiceMiscellaneous: "service-miscellaneous", + ServiceParking: "service-parking", + ServicePrinting: "service-printing", + ServiceProfessional: "service-professional", + ServiceRepair: "service-repair", + ServiceTraining: "service-training", +} as const; diff --git a/src/api/types/PublishStatus.ts b/src/api/types/PublishStatus.ts index e699101..7b488fc 100644 --- a/src/api/types/PublishStatus.ts +++ b/src/api/types/PublishStatus.ts @@ -3,7 +3,7 @@ */ /** - * Publish target + * Indicate whether your Product should be set as "staging" or "live" */ export type PublishStatus = "staging" | "live"; diff --git a/src/api/types/SiteActivityLogItem.ts b/src/api/types/SiteActivityLogItem.ts index 550a0ce..e553ada 100644 --- a/src/api/types/SiteActivityLogItem.ts +++ b/src/api/types/SiteActivityLogItem.ts @@ -10,7 +10,7 @@ export interface SiteActivityLogItem { lastUpdated?: Date; event?: string; resourceOperation?: Webflow.SiteActivityLogItemResourceOperation; - user?: string; + user?: Webflow.SiteActivityLogItemUser; resourceId?: string; resourceName?: string; newValue?: string; diff --git a/src/api/types/SiteActivityLogItemUser.ts b/src/api/types/SiteActivityLogItemUser.ts new file mode 100644 index 0000000..0645923 --- /dev/null +++ b/src/api/types/SiteActivityLogItemUser.ts @@ -0,0 +1,8 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface SiteActivityLogItemUser { + id?: string; + displayName?: string; +} diff --git a/src/api/types/Sku.ts b/src/api/types/Sku.ts index 5ba71df..4e9c15d 100644 --- a/src/api/types/Sku.ts +++ b/src/api/types/Sku.ts @@ -16,5 +16,6 @@ export interface Sku { lastUpdated?: Date; /** The date the Product was created */ createdOn?: Date; + /** Standard and Custom fields for a SKU */ fieldData?: Webflow.SkuFieldData; } diff --git a/src/api/types/SkuFieldData.ts b/src/api/types/SkuFieldData.ts index 0128150..de7a257 100644 --- a/src/api/types/SkuFieldData.ts +++ b/src/api/types/SkuFieldData.ts @@ -4,12 +4,23 @@ import * as Webflow from ".."; +/** + * Standard and Custom fields for a SKU + */ export interface SkuFieldData { + skuValues?: Webflow.SkuValueList; /** Name of the Product */ - name?: string; + name: string; /** URL structure of the Product in your site. */ - slug?: string; + slug: string; /** price of SKU */ - price?: Webflow.SkuFieldDataPrice; - skuValues?: Webflow.SkuValueList; + price: Webflow.SkuFieldDataPrice; + /** comparison price of SKU */ + compareAtPrice?: Webflow.SkuFieldDataCompareAtPrice; + ecSkuBillingMethod?: Webflow.SkuFieldDataEcSkuBillingMethod; + ecSkuSubscriptionPlan?: Webflow.SkuFieldDataEcSkuSubscriptionPlan; + /** A boolean indicating whether inventory for this product should be tracked. */ + trackInventory?: boolean; + /** Quantity of SKU that will be tracked as items are ordered. */ + quantity?: number; } diff --git a/src/api/types/SkuFieldDataCompareAtPrice.ts b/src/api/types/SkuFieldDataCompareAtPrice.ts new file mode 100644 index 0000000..5de20c2 --- /dev/null +++ b/src/api/types/SkuFieldDataCompareAtPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * comparison price of SKU + */ +export interface SkuFieldDataCompareAtPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/types/SkuFieldDataEcSkuBillingMethod.ts b/src/api/types/SkuFieldDataEcSkuBillingMethod.ts new file mode 100644 index 0000000..3f89429 --- /dev/null +++ b/src/api/types/SkuFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type SkuFieldDataEcSkuBillingMethod = "one-time" | "subscription"; + +export const SkuFieldDataEcSkuBillingMethod = { + OneTime: "one-time", + Subscription: "subscription", +} as const; diff --git a/src/api/types/SkuFieldDataEcSkuSubscriptionPlan.ts b/src/api/types/SkuFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 0000000..7cc124d --- /dev/null +++ b/src/api/types/SkuFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from ".."; + +export interface SkuFieldDataEcSkuSubscriptionPlan { + /** Interval of subscription renewal */ + interval?: Webflow.SkuFieldDataEcSkuSubscriptionPlanInterval; + /** Frequncy of billing within interval */ + frequency?: number; + /** Number of days of a trial */ + trial?: number; +} diff --git a/src/api/types/SkuFieldDataEcSkuSubscriptionPlanInterval.ts b/src/api/types/SkuFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 0000000..46896ac --- /dev/null +++ b/src/api/types/SkuFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Interval of subscription renewal + */ +export type SkuFieldDataEcSkuSubscriptionPlanInterval = "day" | "week" | "month" | "year"; + +export const SkuFieldDataEcSkuSubscriptionPlanInterval = { + Day: "day", + Week: "week", + Month: "month", + Year: "year", +} as const; diff --git a/src/api/types/SkuPropertyList.ts b/src/api/types/SkuPropertyList.ts index 8aa1d0a..d1e4746 100644 --- a/src/api/types/SkuPropertyList.ts +++ b/src/api/types/SkuPropertyList.ts @@ -8,10 +8,10 @@ import * as Webflow from ".."; * A variant/option type for a SKU */ export interface SkuPropertyList { - /** Unique identifier for a collection of Product options/Variants */ - id?: string; - /** Name of the collection of Product options/Variants */ - name?: string; - /** The individual Product variants/Options that are contained within the collection */ - enum?: Webflow.SkuPropertyListEnumItem[]; + /** Unique identifier for a collection of Product Variants */ + id: string; + /** Name of the collection of Product Variants */ + name: string; + /** The individual Product variants that are contained within the collection */ + enum: Webflow.SkuPropertyListEnumItem[]; } diff --git a/src/api/types/SkuPropertyListEnumItem.ts b/src/api/types/SkuPropertyListEnumItem.ts index b4843f2..037188f 100644 --- a/src/api/types/SkuPropertyListEnumItem.ts +++ b/src/api/types/SkuPropertyListEnumItem.ts @@ -7,9 +7,9 @@ */ export interface SkuPropertyListEnumItem { /** Unique identifier for a Product variant/Option */ - id?: string; + id: string; /** Name of the Product variant/Option */ - name?: string; + name: string; /** Slug for the Product variant/Option in the Site URL structure */ - slug?: string; + slug: string; } diff --git a/src/api/types/TextNode.ts b/src/api/types/TextNode.ts new file mode 100644 index 0000000..d40e72c --- /dev/null +++ b/src/api/types/TextNode.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents textual content within the DOM. It contains both the raw text and its HTML representation, allowing for flexibility in rendering and processing. Additional attributes can be associated with the text for styling or other purposes. + */ +export interface TextNode { + html?: string; + text?: string; +} diff --git a/src/api/types/index.ts b/src/api/types/index.ts index 29b5c8c..f8f2024 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -5,6 +5,7 @@ export * from "./AuthorizationAuthorization"; export * from "./Authorization"; export * from "./Pagination"; export * from "./PublishStatus"; +export * from "./InvalidScopes"; export * from "./CustomCodeResponse"; export * from "./RegisteredScriptList"; export * from "./ScriptApplyList"; @@ -23,6 +24,11 @@ export * from "./PageDeletedWebhook"; export * from "./PageSeoGraphDataSeo"; export * from "./PageSeoGraphDataOpenGraph"; export * from "./PageSeoGraphData"; +export * from "./Dom"; +export * from "./NodeType"; +export * from "./Node"; +export * from "./TextNode"; +export * from "./ImageNode"; export * from "./CollectionList"; export * from "./CollectionListArrayItem"; export * from "./Collection"; @@ -44,6 +50,7 @@ export * from "./SitePublishPayload"; export * from "./SitePublish"; export * from "./SiteActivityLogResponse"; export * from "./SiteActivityLogItemResourceOperation"; +export * from "./SiteActivityLogItemUser"; export * from "./SiteActivityLogItem"; export * from "./Assets"; export * from "./Asset"; @@ -82,9 +89,16 @@ export * from "./UsersNotEnabled"; export * from "./DuplicateUserEmail"; export * from "./UserLimitReached"; export * from "./MissingScopes"; +export * from "./NotEnterprisePlanSite"; +export * from "./ProductFieldDataTaxCategory"; +export * from "./ProductFieldDataEcProductType"; export * from "./ProductFieldData"; export * from "./Product"; export * from "./SkuFieldDataPrice"; +export * from "./SkuFieldDataCompareAtPrice"; +export * from "./SkuFieldDataEcSkuBillingMethod"; +export * from "./SkuFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./SkuFieldDataEcSkuSubscriptionPlan"; export * from "./SkuFieldData"; export * from "./Sku"; export * from "./ProductAndSkUs"; diff --git a/src/core/fetcher/Fetcher.ts b/src/core/fetcher/Fetcher.ts index 19de5d4..5348ac9 100644 --- a/src/core/fetcher/Fetcher.ts +++ b/src/core/fetcher/Fetcher.ts @@ -1,5 +1,6 @@ import { default as FormData } from "form-data"; import qs from "qs"; +import { RUNTIME } from "../runtime"; import { APIResponse } from "./APIResponse"; export type FetchFunction = (args: Fetcher.Args) => Promise>; @@ -10,7 +11,7 @@ export declare namespace Fetcher { method: string; contentType?: string; headers?: Record; - queryParameters?: Record; + queryParameters?: Record; body?: unknown; timeoutMs?: number; maxRetries?: number; @@ -69,11 +70,17 @@ async function fetcherImpl(args: Fetcher.Args): Promise => { const controller = new AbortController(); diff --git a/src/core/index.ts b/src/core/index.ts index e2eb66e..2d20c46 100644 --- a/src/core/index.ts +++ b/src/core/index.ts @@ -1,3 +1,4 @@ export * from "./fetcher"; export * from "./auth"; +export * from "./runtime"; export * as serialization from "./schemas"; diff --git a/src/core/runtime/index.ts b/src/core/runtime/index.ts new file mode 100644 index 0000000..5c76dbb --- /dev/null +++ b/src/core/runtime/index.ts @@ -0,0 +1 @@ +export { RUNTIME } from "./runtime"; diff --git a/src/core/runtime/runtime.ts b/src/core/runtime/runtime.ts new file mode 100644 index 0000000..f0692ab --- /dev/null +++ b/src/core/runtime/runtime.ts @@ -0,0 +1,112 @@ +interface DenoGlobal { + version: { + deno: string; + }; +} + +interface BunGlobal { + version: string; +} + +declare const Deno: DenoGlobal; +declare const Bun: BunGlobal; + +/** + * A constant that indicates whether the environment the code is running is a Web Browser. + */ +const isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined"; + +/** + * A constant that indicates whether the environment the code is running is a Web Worker. + */ +const isWebWorker = + typeof self === "object" && + // @ts-ignore + typeof self?.importScripts === "function" && + (self.constructor?.name === "DedicatedWorkerGlobalScope" || + self.constructor?.name === "ServiceWorkerGlobalScope" || + self.constructor?.name === "SharedWorkerGlobalScope"); + +/** + * A constant that indicates whether the environment the code is running is Deno. + */ +const isDeno = + typeof Deno !== "undefined" && typeof Deno.version !== "undefined" && typeof Deno.version.deno !== "undefined"; + +/** + * A constant that indicates whether the environment the code is running is Bun.sh. + */ +const isBun = typeof Bun !== "undefined" && typeof Bun.version !== "undefined"; + +/** + * A constant that indicates whether the environment the code is running is Node.JS. + */ +const isNode = + typeof process !== "undefined" && + Boolean(process.version) && + Boolean(process.versions?.node) && + // Deno spoofs process.versions.node, see https://deno.land/std@0.177.0/node/process.ts?s=versions + !isDeno && + !isBun; + +/** + * A constant that indicates whether the environment the code is running is in React-Native. + * https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Core/setUpNavigator.js + */ +const isReactNative = typeof navigator !== "undefined" && navigator?.product === "ReactNative"; + +/** + * A constant that indicates which environment and version the SDK is running in. + */ +export const RUNTIME: Runtime = evaluateRuntime(); + +export interface Runtime { + type: "browser" | "web-worker" | "deno" | "bun" | "node" | "react-native" | "unknown"; + version?: string; +} + +function evaluateRuntime(): Runtime { + if (isBrowser) { + return { + type: "browser", + version: window.navigator.userAgent, + }; + } + + if (isWebWorker) { + return { + type: "web-worker", + }; + } + + if (isDeno) { + return { + type: "deno", + version: Deno.version.deno, + }; + } + + if (isBun) { + return { + type: "bun", + version: Bun.version, + }; + } + + if (isNode) { + return { + type: "node", + version: process.versions.node, + }; + } + + if (isReactNative) { + return { + type: "react-native", + }; + } + + return { + type: "unknown", + }; +} diff --git a/src/environments.ts b/src/environments.ts index 08bb9f6..fcea401 100644 --- a/src/environments.ts +++ b/src/environments.ts @@ -3,7 +3,7 @@ */ export const WebflowEnvironment = { - Default: "https://api.webflow.com", + Default: "https://api.webflow.com/v2", } as const; export type WebflowEnvironment = typeof WebflowEnvironment.Default; diff --git a/src/serialization/resources/assets/client/requests/AssetsUpdateRequest.ts b/src/serialization/resources/assets/client/requests/AssetsUpdateRequest.ts new file mode 100644 index 0000000..7236ad9 --- /dev/null +++ b/src/serialization/resources/assets/client/requests/AssetsUpdateRequest.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../.."; +import * as Webflow from "../../../../../api"; +import * as core from "../../../../../core"; + +export const AssetsUpdateRequest: core.serialization.Schema< + serializers.AssetsUpdateRequest.Raw, + Webflow.AssetsUpdateRequest +> = core.serialization.object({ + displayName: core.serialization.string(), +}); + +export declare namespace AssetsUpdateRequest { + interface Raw { + displayName: string; + } +} diff --git a/src/serialization/resources/assets/client/requests/index.ts b/src/serialization/resources/assets/client/requests/index.ts index 1fd1f94..54ebd26 100644 --- a/src/serialization/resources/assets/client/requests/index.ts +++ b/src/serialization/resources/assets/client/requests/index.ts @@ -1,2 +1,3 @@ export { AssetsCreateRequest } from "./AssetsCreateRequest"; +export { AssetsUpdateRequest } from "./AssetsUpdateRequest"; export { AssetsCreateFolderRequest } from "./AssetsCreateFolderRequest"; diff --git a/src/serialization/resources/collections/resources/fields/client/requests/FieldCreate.ts b/src/serialization/resources/collections/resources/fields/client/requests/FieldCreate.ts new file mode 100644 index 0000000..7e58336 --- /dev/null +++ b/src/serialization/resources/collections/resources/fields/client/requests/FieldCreate.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../.."; +import * as Webflow from "../../../../../../../api"; +import * as core from "../../../../../../../core"; + +export const FieldCreate: core.serialization.Schema< + serializers.collections.FieldCreate.Raw, + Webflow.collections.FieldCreate +> = core.serialization.object({ + isRequired: core.serialization.boolean().optional(), + type: core.serialization.lazy(async () => (await import("../../../../../..")).collections.FieldCreateType), + displayName: core.serialization.string(), + helpText: core.serialization.string().optional(), +}); + +export declare namespace FieldCreate { + interface Raw { + isRequired?: boolean | null; + type: serializers.collections.FieldCreateType.Raw; + displayName: string; + helpText?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/fields/client/requests/index.ts b/src/serialization/resources/collections/resources/fields/client/requests/index.ts index 6eda125..93f46db 100644 --- a/src/serialization/resources/collections/resources/fields/client/requests/index.ts +++ b/src/serialization/resources/collections/resources/fields/client/requests/index.ts @@ -1 +1,2 @@ +export { FieldCreate } from "./FieldCreate"; export { FieldUpdate } from "./FieldUpdate"; diff --git a/src/serialization/resources/collections/resources/fields/index.ts b/src/serialization/resources/collections/resources/fields/index.ts index 5ec7692..c9240f8 100644 --- a/src/serialization/resources/collections/resources/fields/index.ts +++ b/src/serialization/resources/collections/resources/fields/index.ts @@ -1 +1,2 @@ +export * from "./types"; export * from "./client"; diff --git a/src/serialization/resources/collections/resources/fields/types/FieldCreateType.ts b/src/serialization/resources/collections/resources/fields/types/FieldCreateType.ts new file mode 100644 index 0000000..6d6ff64 --- /dev/null +++ b/src/serialization/resources/collections/resources/fields/types/FieldCreateType.ts @@ -0,0 +1,43 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../.."; +import * as Webflow from "../../../../../../api"; +import * as core from "../../../../../../core"; + +export const FieldCreateType: core.serialization.Schema< + serializers.collections.FieldCreateType.Raw, + Webflow.collections.FieldCreateType +> = core.serialization.enum_([ + "PlainText", + "RichText", + "Image", + "MultiImage", + "Video", + "Link", + "Email", + "Phone", + "Number", + "DateTime", + "Boolean", + "Color", + "File", +]); + +export declare namespace FieldCreateType { + type Raw = + | "PlainText" + | "RichText" + | "Image" + | "MultiImage" + | "Video" + | "Link" + | "Email" + | "Phone" + | "Number" + | "DateTime" + | "Boolean" + | "Color" + | "File"; +} diff --git a/src/serialization/resources/collections/resources/fields/types/index.ts b/src/serialization/resources/collections/resources/fields/types/index.ts new file mode 100644 index 0000000..56f5597 --- /dev/null +++ b/src/serialization/resources/collections/resources/fields/types/index.ts @@ -0,0 +1 @@ +export * from "./FieldCreateType"; diff --git a/src/serialization/resources/collections/resources/index.ts b/src/serialization/resources/collections/resources/index.ts index 2452d24..3739438 100644 --- a/src/serialization/resources/collections/resources/index.ts +++ b/src/serialization/resources/collections/resources/index.ts @@ -1,5 +1,6 @@ +export * as fields from "./fields"; +export * from "./fields/types"; export * as items from "./items"; export * from "./items/types"; -export * as fields from "./fields"; export * from "./fields/client/requests"; export * from "./items/client/requests"; diff --git a/src/serialization/resources/index.ts b/src/serialization/resources/index.ts index cf28329..6d30080 100644 --- a/src/serialization/resources/index.ts +++ b/src/serialization/resources/index.ts @@ -1,4 +1,6 @@ export * as collections from "./collections"; +export * as pages from "./pages"; +export * from "./pages/types"; export * as users from "./users"; export * from "./users/types"; export * as accessGroups from "./accessGroups"; @@ -14,6 +16,7 @@ export * as assets from "./assets"; export * as sites from "./sites"; export * from "./sites/client/requests"; export * from "./collections/client/requests"; +export * from "./pages/client/requests"; export * as scripts from "./scripts"; export * from "./scripts/client/requests"; export * from "./webhooks/client/requests"; diff --git a/src/serialization/resources/pages/client/index.ts b/src/serialization/resources/pages/client/index.ts new file mode 100644 index 0000000..415726b --- /dev/null +++ b/src/serialization/resources/pages/client/index.ts @@ -0,0 +1 @@ +export * from "./requests"; diff --git a/src/serialization/resources/pages/client/requests/DomWrite.ts b/src/serialization/resources/pages/client/requests/DomWrite.ts new file mode 100644 index 0000000..53bff24 --- /dev/null +++ b/src/serialization/resources/pages/client/requests/DomWrite.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../.."; +import * as Webflow from "../../../../../api"; +import * as core from "../../../../../core"; + +export const DomWrite: core.serialization.Schema< + serializers.DomWrite.Raw, + Omit +> = core.serialization.object({ + nodes: core.serialization.list( + core.serialization.lazyObject(async () => (await import("../../../..")).DomWriteNodesItem) + ), +}); + +export declare namespace DomWrite { + interface Raw { + nodes: serializers.DomWriteNodesItem.Raw[]; + } +} diff --git a/src/serialization/resources/pages/client/requests/index.ts b/src/serialization/resources/pages/client/requests/index.ts new file mode 100644 index 0000000..a4b8aef --- /dev/null +++ b/src/serialization/resources/pages/client/requests/index.ts @@ -0,0 +1 @@ +export { DomWrite } from "./DomWrite"; diff --git a/src/serialization/resources/pages/index.ts b/src/serialization/resources/pages/index.ts new file mode 100644 index 0000000..c9240f8 --- /dev/null +++ b/src/serialization/resources/pages/index.ts @@ -0,0 +1,2 @@ +export * from "./types"; +export * from "./client"; diff --git a/src/serialization/resources/pages/types/DomWriteNodesItem.ts b/src/serialization/resources/pages/types/DomWriteNodesItem.ts new file mode 100644 index 0000000..4d3dbc9 --- /dev/null +++ b/src/serialization/resources/pages/types/DomWriteNodesItem.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../.."; +import * as Webflow from "../../../../api"; +import * as core from "../../../../core"; + +export const DomWriteNodesItem: core.serialization.ObjectSchema< + serializers.DomWriteNodesItem.Raw, + Webflow.DomWriteNodesItem +> = core.serialization.object({ + nodeId: core.serialization.string(), + text: core.serialization.string(), +}); + +export declare namespace DomWriteNodesItem { + interface Raw { + nodeId: string; + text: string; + } +} diff --git a/src/serialization/resources/pages/types/index.ts b/src/serialization/resources/pages/types/index.ts new file mode 100644 index 0000000..a2ba648 --- /dev/null +++ b/src/serialization/resources/pages/types/index.ts @@ -0,0 +1 @@ +export * from "./DomWriteNodesItem"; diff --git a/src/serialization/resources/products/client/requests/ProductSkuCreate.ts b/src/serialization/resources/products/client/requests/ProductSkuCreate.ts new file mode 100644 index 0000000..22208d4 --- /dev/null +++ b/src/serialization/resources/products/client/requests/ProductSkuCreate.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../.."; +import * as Webflow from "../../../../../api"; +import * as core from "../../../../../core"; + +export const ProductSkuCreate: core.serialization.Schema = + core.serialization.object({ + publishStatus: core.serialization.lazy(async () => (await import("../../../..")).PublishStatus).optional(), + product: core.serialization + .lazyObject(async () => (await import("../../../..")).ProductSkuCreateProduct) + .optional(), + sku: core.serialization.lazyObject(async () => (await import("../../../..")).ProductSkuCreateSku).optional(), + }); + +export declare namespace ProductSkuCreate { + interface Raw { + publishStatus?: serializers.PublishStatus.Raw | null; + product?: serializers.ProductSkuCreateProduct.Raw | null; + sku?: serializers.ProductSkuCreateSku.Raw | null; + } +} diff --git a/src/serialization/resources/products/client/requests/ProductsCreateRequest.ts b/src/serialization/resources/products/client/requests/ProductsCreateRequest.ts deleted file mode 100644 index 93c328f..0000000 --- a/src/serialization/resources/products/client/requests/ProductsCreateRequest.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../../../.."; -import * as Webflow from "../../../../../api"; -import * as core from "../../../../../core"; - -export const ProductsCreateRequest: core.serialization.Schema< - serializers.ProductsCreateRequest.Raw, - Webflow.ProductsCreateRequest -> = core.serialization.object({ - publishStatus: core.serialization.lazy(async () => (await import("../../../..")).PublishStatus).optional(), - product: core.serialization.lazyObject(async () => (await import("../../../..")).Product), - sku: core.serialization.lazyObject(async () => (await import("../../../..")).Sku), -}); - -export declare namespace ProductsCreateRequest { - interface Raw { - publishStatus?: serializers.PublishStatus.Raw | null; - product: serializers.Product.Raw; - sku: serializers.Sku.Raw; - } -} diff --git a/src/serialization/resources/products/client/requests/index.ts b/src/serialization/resources/products/client/requests/index.ts index 190942a..f093ffe 100644 --- a/src/serialization/resources/products/client/requests/index.ts +++ b/src/serialization/resources/products/client/requests/index.ts @@ -1,4 +1,4 @@ -export { ProductsCreateRequest } from "./ProductsCreateRequest"; +export { ProductSkuCreate } from "./ProductSkuCreate"; export { ProductsUpdateRequest } from "./ProductsUpdateRequest"; export { ProductsCreateSkuRequest } from "./ProductsCreateSkuRequest"; export { ProductsUpdateSkuRequest } from "./ProductsUpdateSkuRequest"; diff --git a/src/serialization/resources/products/types/ProductSkuCreateProduct.ts b/src/serialization/resources/products/types/ProductSkuCreateProduct.ts new file mode 100644 index 0000000..74a3f3f --- /dev/null +++ b/src/serialization/resources/products/types/ProductSkuCreateProduct.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../.."; +import * as Webflow from "../../../../api"; +import * as core from "../../../../core"; + +export const ProductSkuCreateProduct: core.serialization.ObjectSchema< + serializers.ProductSkuCreateProduct.Raw, + Webflow.ProductSkuCreateProduct +> = core.serialization.object({ + id: core.serialization.string().optional(), + lastPublished: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: core.serialization + .lazyObject(async () => (await import("../../..")).ProductSkuCreateProductFieldData) + .optional(), +}); + +export declare namespace ProductSkuCreateProduct { + interface Raw { + id?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: serializers.ProductSkuCreateProductFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductSkuCreateProductFieldData.ts b/src/serialization/resources/products/types/ProductSkuCreateProductFieldData.ts new file mode 100644 index 0000000..bcd6e20 --- /dev/null +++ b/src/serialization/resources/products/types/ProductSkuCreateProductFieldData.ts @@ -0,0 +1,51 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../.."; +import * as Webflow from "../../../../api"; +import * as core from "../../../../core"; + +export const ProductSkuCreateProductFieldData: core.serialization.ObjectSchema< + serializers.ProductSkuCreateProductFieldData.Raw, + Webflow.ProductSkuCreateProductFieldData +> = core.serialization.object({ + name: core.serialization.string(), + slug: core.serialization.string(), + description: core.serialization.string().optional(), + shippable: core.serialization.boolean().optional(), + skuProperties: core.serialization.property( + "sku-properties", + core.serialization + .list(core.serialization.lazyObject(async () => (await import("../../..")).SkuPropertyList)) + .optional() + ), + categories: core.serialization.list(core.serialization.unknown()).optional(), + taxCategory: core.serialization.property( + "tax-category", + core.serialization + .lazy(async () => (await import("../../..")).ProductSkuCreateProductFieldDataTaxCategory) + .optional() + ), + ecProductType: core.serialization.property( + "ec-product-type", + core.serialization + .lazy(async () => (await import("../../..")).ProductSkuCreateProductFieldDataEcProductType) + .optional() + ), + additionalProperties: core.serialization.unknown().optional(), +}); + +export declare namespace ProductSkuCreateProductFieldData { + interface Raw { + name: string; + slug: string; + description?: string | null; + shippable?: boolean | null; + "sku-properties"?: serializers.SkuPropertyList.Raw[] | null; + categories?: unknown[] | null; + "tax-category"?: serializers.ProductSkuCreateProductFieldDataTaxCategory.Raw | null; + "ec-product-type"?: serializers.ProductSkuCreateProductFieldDataEcProductType.Raw | null; + additionalProperties?: unknown | null; + } +} diff --git a/src/serialization/resources/products/types/ProductSkuCreateProductFieldDataEcProductType.ts b/src/serialization/resources/products/types/ProductSkuCreateProductFieldDataEcProductType.ts new file mode 100644 index 0000000..db41dff --- /dev/null +++ b/src/serialization/resources/products/types/ProductSkuCreateProductFieldDataEcProductType.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../.."; +import * as Webflow from "../../../../api"; +import * as core from "../../../../core"; + +export const ProductSkuCreateProductFieldDataEcProductType: core.serialization.Schema< + serializers.ProductSkuCreateProductFieldDataEcProductType.Raw, + Webflow.ProductSkuCreateProductFieldDataEcProductType +> = core.serialization.enum_([ + "ff42fee0113744f693a764e3431a9cc2", + "f22027db68002190aef89a4a2b7ac8a1", + "c599e43b1a1c34d5a323aedf75d3adf6", + "b6ccc1830db4b1babeb06a9ac5f6dd76", +]); + +export declare namespace ProductSkuCreateProductFieldDataEcProductType { + type Raw = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; +} diff --git a/src/serialization/resources/products/types/ProductSkuCreateProductFieldDataTaxCategory.ts b/src/serialization/resources/products/types/ProductSkuCreateProductFieldDataTaxCategory.ts new file mode 100644 index 0000000..7594a49 --- /dev/null +++ b/src/serialization/resources/products/types/ProductSkuCreateProductFieldDataTaxCategory.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../.."; +import * as Webflow from "../../../../api"; +import * as core from "../../../../core"; + +export const ProductSkuCreateProductFieldDataTaxCategory: core.serialization.Schema< + serializers.ProductSkuCreateProductFieldDataTaxCategory.Raw, + Webflow.ProductSkuCreateProductFieldDataTaxCategory +> = core.serialization.enum_([ + "standard-taxable", + "standard-exempt", + "books-religious", + "books-textbook", + "clothing", + "clothing-swimwear", + "digital-goods", + "digital-service", + "drugs-non-prescription", + "drugs-prescription", + "food-bottled-water", + "food-candy", + "food-groceries", + "food-prepared", + "food-soda", + "food-supplements", + "magazine-individual", + "magazine-subscription", + "service-admission", + "service-advertising", + "service-dry-cleaning", + "service-hairdressing", + "service-installation", + "service-miscellaneous", + "service-parking", + "service-printing", + "service-professional", + "service-repair", + "service-training", +]); + +export declare namespace ProductSkuCreateProductFieldDataTaxCategory { + type Raw = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; +} diff --git a/src/serialization/resources/products/types/ProductSkuCreateSku.ts b/src/serialization/resources/products/types/ProductSkuCreateSku.ts new file mode 100644 index 0000000..c34b2e9 --- /dev/null +++ b/src/serialization/resources/products/types/ProductSkuCreateSku.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../.."; +import * as Webflow from "../../../../api"; +import * as core from "../../../../core"; + +export const ProductSkuCreateSku: core.serialization.ObjectSchema< + serializers.ProductSkuCreateSku.Raw, + Webflow.ProductSkuCreateSku +> = core.serialization.object({ + id: core.serialization.string().optional(), + lastPublished: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + fieldData: core.serialization + .lazyObject(async () => (await import("../../..")).ProductSkuCreateSkuFieldData) + .optional(), +}); + +export declare namespace ProductSkuCreateSku { + interface Raw { + id?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + fieldData?: serializers.ProductSkuCreateSkuFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductSkuCreateSkuFieldData.ts b/src/serialization/resources/products/types/ProductSkuCreateSkuFieldData.ts new file mode 100644 index 0000000..1f02399 --- /dev/null +++ b/src/serialization/resources/products/types/ProductSkuCreateSkuFieldData.ts @@ -0,0 +1,54 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../.."; +import * as Webflow from "../../../../api"; +import * as core from "../../../../core"; + +export const ProductSkuCreateSkuFieldData: core.serialization.ObjectSchema< + serializers.ProductSkuCreateSkuFieldData.Raw, + Webflow.ProductSkuCreateSkuFieldData +> = core.serialization.object({ + skuValues: core.serialization.property( + "sku-values", + core.serialization.lazy(async () => (await import("../../..")).SkuValueList).optional() + ), + name: core.serialization.string(), + slug: core.serialization.string(), + price: core.serialization.lazyObject(async () => (await import("../../..")).ProductSkuCreateSkuFieldDataPrice), + compareAtPrice: core.serialization.property( + "compare-at-price", + core.serialization + .lazyObject(async () => (await import("../../..")).ProductSkuCreateSkuFieldDataCompareAtPrice) + .optional() + ), + ecSkuBillingMethod: core.serialization.property( + "ec-sku-billing-method", + core.serialization + .lazy(async () => (await import("../../..")).ProductSkuCreateSkuFieldDataEcSkuBillingMethod) + .optional() + ), + ecSkuSubscriptionPlan: core.serialization.property( + "ec-sku-subscription-plan", + core.serialization + .lazyObject(async () => (await import("../../..")).ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan) + .optional() + ), + trackInventory: core.serialization.property("track-inventory", core.serialization.boolean().optional()), + quantity: core.serialization.number().optional(), +}); + +export declare namespace ProductSkuCreateSkuFieldData { + interface Raw { + "sku-values"?: serializers.SkuValueList.Raw | null; + name: string; + slug: string; + price: serializers.ProductSkuCreateSkuFieldDataPrice.Raw; + "compare-at-price"?: serializers.ProductSkuCreateSkuFieldDataCompareAtPrice.Raw | null; + "ec-sku-billing-method"?: serializers.ProductSkuCreateSkuFieldDataEcSkuBillingMethod.Raw | null; + "ec-sku-subscription-plan"?: serializers.ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan.Raw | null; + "track-inventory"?: boolean | null; + quantity?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataCompareAtPrice.ts b/src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataCompareAtPrice.ts new file mode 100644 index 0000000..027f529 --- /dev/null +++ b/src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataCompareAtPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../.."; +import * as Webflow from "../../../../api"; +import * as core from "../../../../core"; + +export const ProductSkuCreateSkuFieldDataCompareAtPrice: core.serialization.ObjectSchema< + serializers.ProductSkuCreateSkuFieldDataCompareAtPrice.Raw, + Webflow.ProductSkuCreateSkuFieldDataCompareAtPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductSkuCreateSkuFieldDataCompareAtPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuBillingMethod.ts b/src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuBillingMethod.ts new file mode 100644 index 0000000..99e58f7 --- /dev/null +++ b/src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../.."; +import * as Webflow from "../../../../api"; +import * as core from "../../../../core"; + +export const ProductSkuCreateSkuFieldDataEcSkuBillingMethod: core.serialization.Schema< + serializers.ProductSkuCreateSkuFieldDataEcSkuBillingMethod.Raw, + Webflow.ProductSkuCreateSkuFieldDataEcSkuBillingMethod +> = core.serialization.enum_(["one-time", "subscription"]); + +export declare namespace ProductSkuCreateSkuFieldDataEcSkuBillingMethod { + type Raw = "one-time" | "subscription"; +} diff --git a/src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan.ts b/src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 0000000..e574413 --- /dev/null +++ b/src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../.."; +import * as Webflow from "../../../../api"; +import * as core from "../../../../core"; + +export const ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan: core.serialization.ObjectSchema< + serializers.ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan.Raw, + Webflow.ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan +> = core.serialization.object({ + interval: core.serialization + .lazy(async () => (await import("../../..")).ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval) + .optional(), + frequency: core.serialization.number().optional(), + trial: core.serialization.number().optional(), +}); + +export declare namespace ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan { + interface Raw { + interval?: serializers.ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval.Raw | null; + frequency?: number | null; + trial?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval.ts b/src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 0000000..28aac4d --- /dev/null +++ b/src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../.."; +import * as Webflow from "../../../../api"; +import * as core from "../../../../core"; + +export const ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval: core.serialization.Schema< + serializers.ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval.Raw, + Webflow.ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval +> = core.serialization.enum_(["day", "week", "month", "year"]); + +export declare namespace ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval { + type Raw = "day" | "week" | "month" | "year"; +} diff --git a/src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataPrice.ts b/src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataPrice.ts new file mode 100644 index 0000000..58811f8 --- /dev/null +++ b/src/serialization/resources/products/types/ProductSkuCreateSkuFieldDataPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../.."; +import * as Webflow from "../../../../api"; +import * as core from "../../../../core"; + +export const ProductSkuCreateSkuFieldDataPrice: core.serialization.ObjectSchema< + serializers.ProductSkuCreateSkuFieldDataPrice.Raw, + Webflow.ProductSkuCreateSkuFieldDataPrice +> = core.serialization.object({ + required: core.serialization.unknown().optional(), + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductSkuCreateSkuFieldDataPrice { + interface Raw { + required?: unknown | null; + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/index.ts b/src/serialization/resources/products/types/index.ts index e286df4..a6bad2b 100644 --- a/src/serialization/resources/products/types/index.ts +++ b/src/serialization/resources/products/types/index.ts @@ -1 +1,12 @@ +export * from "./ProductSkuCreateProductFieldDataTaxCategory"; +export * from "./ProductSkuCreateProductFieldDataEcProductType"; +export * from "./ProductSkuCreateProductFieldData"; +export * from "./ProductSkuCreateProduct"; +export * from "./ProductSkuCreateSkuFieldDataPrice"; +export * from "./ProductSkuCreateSkuFieldDataCompareAtPrice"; +export * from "./ProductSkuCreateSkuFieldDataEcSkuBillingMethod"; +export * from "./ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductSkuCreateSkuFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductSkuCreateSkuFieldData"; +export * from "./ProductSkuCreateSku"; export * from "./ProductsCreateSkuResponse"; diff --git a/src/serialization/resources/users/client/requests/UsersUpdateRequest.ts b/src/serialization/resources/users/client/requests/UsersUpdateRequest.ts new file mode 100644 index 0000000..57a46f6 --- /dev/null +++ b/src/serialization/resources/users/client/requests/UsersUpdateRequest.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../.."; +import * as Webflow from "../../../../../api"; +import * as core from "../../../../../core"; + +export const UsersUpdateRequest: core.serialization.Schema< + serializers.UsersUpdateRequest.Raw, + Webflow.UsersUpdateRequest +> = core.serialization.object({ + data: core.serialization.lazyObject(async () => (await import("../../../..")).UsersUpdateRequestData).optional(), + accessGroups: core.serialization.list(core.serialization.string()).optional(), +}); + +export declare namespace UsersUpdateRequest { + interface Raw { + data?: serializers.UsersUpdateRequestData.Raw | null; + accessGroups?: string[] | null; + } +} diff --git a/src/serialization/resources/users/client/requests/index.ts b/src/serialization/resources/users/client/requests/index.ts index ecf14c3..c31b1b6 100644 --- a/src/serialization/resources/users/client/requests/index.ts +++ b/src/serialization/resources/users/client/requests/index.ts @@ -1 +1,2 @@ +export { UsersUpdateRequest } from "./UsersUpdateRequest"; export { UsersInviteRequest } from "./UsersInviteRequest"; diff --git a/src/serialization/resources/users/types/UsersUpdateRequestData.ts b/src/serialization/resources/users/types/UsersUpdateRequestData.ts new file mode 100644 index 0000000..46f2da7 --- /dev/null +++ b/src/serialization/resources/users/types/UsersUpdateRequestData.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../.."; +import * as Webflow from "../../../../api"; +import * as core from "../../../../core"; + +export const UsersUpdateRequestData: core.serialization.ObjectSchema< + serializers.UsersUpdateRequestData.Raw, + Webflow.UsersUpdateRequestData +> = core.serialization.object({ + name: core.serialization.string().optional(), + acceptPrivacy: core.serialization.property("accept-privacy", core.serialization.boolean().optional()), + acceptCommunications: core.serialization.property("accept-communications", core.serialization.boolean().optional()), +}); + +export declare namespace UsersUpdateRequestData { + interface Raw { + name?: string | null; + "accept-privacy"?: boolean | null; + "accept-communications"?: boolean | null; + } +} diff --git a/src/serialization/resources/users/types/index.ts b/src/serialization/resources/users/types/index.ts index 06eb130..0baf514 100644 --- a/src/serialization/resources/users/types/index.ts +++ b/src/serialization/resources/users/types/index.ts @@ -1 +1,2 @@ export * from "./UsersListRequestSort"; +export * from "./UsersUpdateRequestData"; diff --git a/src/serialization/types/AssetFolderList.ts b/src/serialization/types/AssetFolderList.ts index e2fe629..092363f 100644 --- a/src/serialization/types/AssetFolderList.ts +++ b/src/serialization/types/AssetFolderList.ts @@ -10,15 +10,15 @@ export const AssetFolderList: core.serialization.ObjectSchema< serializers.AssetFolderList.Raw, Webflow.AssetFolderList > = core.serialization.object({ - pagination: core.serialization.lazyObject(async () => (await import("..")).Pagination).optional(), - pages: core.serialization + assetFolders: core.serialization .list(core.serialization.lazyObject(async () => (await import("..")).AssetFolder)) .optional(), + pagination: core.serialization.lazyObject(async () => (await import("..")).Pagination).optional(), }); export declare namespace AssetFolderList { interface Raw { + assetFolders?: serializers.AssetFolder.Raw[] | null; pagination?: serializers.Pagination.Raw | null; - pages?: serializers.AssetFolder.Raw[] | null; } } diff --git a/src/serialization/types/CollectionItem.ts b/src/serialization/types/CollectionItem.ts index 4555309..4c74a09 100644 --- a/src/serialization/types/CollectionItem.ts +++ b/src/serialization/types/CollectionItem.ts @@ -9,6 +9,7 @@ import * as core from "../../core"; export const CollectionItem: core.serialization.ObjectSchema = core.serialization.object({ id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), lastPublished: core.serialization.string().optional(), lastUpdated: core.serialization.string().optional(), createdOn: core.serialization.string().optional(), @@ -20,6 +21,7 @@ export const CollectionItem: core.serialization.ObjectSchema = core.serialization.object({ + pageId: core.serialization.string().optional(), + nodes: core.serialization.list(core.serialization.lazyObject(async () => (await import("..")).Node)).optional(), + pagination: core.serialization.lazyObject(async () => (await import("..")).Pagination).optional(), +}); + +export declare namespace Dom { + interface Raw { + pageId?: string | null; + nodes?: serializers.Node.Raw[] | null; + pagination?: serializers.Pagination.Raw | null; + } +} diff --git a/src/serialization/types/ImageNode.ts b/src/serialization/types/ImageNode.ts new file mode 100644 index 0000000..689af6a --- /dev/null +++ b/src/serialization/types/ImageNode.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from ".."; +import * as Webflow from "../../api"; +import * as core from "../../core"; + +export const ImageNode: core.serialization.ObjectSchema = + core.serialization.object({ + alt: core.serialization.string().optional(), + assetId: core.serialization.string().optional(), + }); + +export declare namespace ImageNode { + interface Raw { + alt?: string | null; + assetId?: string | null; + } +} diff --git a/src/serialization/types/InvalidScopes.ts b/src/serialization/types/InvalidScopes.ts new file mode 100644 index 0000000..68141b7 --- /dev/null +++ b/src/serialization/types/InvalidScopes.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from ".."; +import * as Webflow from "../../api"; +import * as core from "../../core"; + +export const InvalidScopes: core.serialization.ObjectSchema = + core.serialization.object({ + status: core.serialization.number().optional(), + message: core.serialization.string().optional(), + publicErrorCode: core.serialization.string().optional(), + externalReference: core.serialization.string().optional(), + details: core.serialization.list(core.serialization.string()).optional(), + }); + +export declare namespace InvalidScopes { + interface Raw { + status?: number | null; + message?: string | null; + publicErrorCode?: string | null; + externalReference?: string | null; + details?: string[] | null; + } +} diff --git a/src/serialization/types/Node.ts b/src/serialization/types/Node.ts new file mode 100644 index 0000000..eb90cb4 --- /dev/null +++ b/src/serialization/types/Node.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from ".."; +import * as Webflow from "../../api"; +import * as core from "../../core"; + +export const Node: core.serialization.ObjectSchema = core.serialization.object({ + id: core.serialization.string().optional(), + type: core.serialization.lazy(async () => (await import("..")).NodeType).optional(), + text: core.serialization.lazyObject(async () => (await import("..")).TextNode).optional(), + image: core.serialization.lazyObject(async () => (await import("..")).ImageNode).optional(), + attributes: core.serialization.record(core.serialization.string(), core.serialization.string()).optional(), +}); + +export declare namespace Node { + interface Raw { + id?: string | null; + type?: serializers.NodeType.Raw | null; + text?: serializers.TextNode.Raw | null; + image?: serializers.ImageNode.Raw | null; + attributes?: Record | null; + } +} diff --git a/src/serialization/types/NodeType.ts b/src/serialization/types/NodeType.ts new file mode 100644 index 0000000..adcc1d9 --- /dev/null +++ b/src/serialization/types/NodeType.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from ".."; +import * as Webflow from "../../api"; +import * as core from "../../core"; + +export const NodeType: core.serialization.Schema = core.serialization.enum_( + ["text", "image"] +); + +export declare namespace NodeType { + type Raw = "text" | "image"; +} diff --git a/src/serialization/types/NotEnterprisePlanSite.ts b/src/serialization/types/NotEnterprisePlanSite.ts new file mode 100644 index 0000000..a2045bb --- /dev/null +++ b/src/serialization/types/NotEnterprisePlanSite.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from ".."; +import * as Webflow from "../../api"; +import * as core from "../../core"; + +export const NotEnterprisePlanSite: core.serialization.ObjectSchema< + serializers.NotEnterprisePlanSite.Raw, + Webflow.NotEnterprisePlanSite +> = core.serialization.object({ + code: core.serialization.stringLiteral("missing_scopes").optional(), + type: core.serialization.string().optional(), + message: core.serialization.string().optional(), + externalReference: core.serialization.string().optional(), + details: core.serialization + .list(core.serialization.lazy(async () => (await import("..")).ErrorDetailsItem)) + .optional(), +}); + +export declare namespace NotEnterprisePlanSite { + interface Raw { + code?: "missing_scopes" | null; + type?: string | null; + message?: string | null; + externalReference?: string | null; + details?: serializers.ErrorDetailsItem.Raw[] | null; + } +} diff --git a/src/serialization/types/OauthScope.ts b/src/serialization/types/OauthScope.ts index 0369f2b..edb440a 100644 --- a/src/serialization/types/OauthScope.ts +++ b/src/serialization/types/OauthScope.ts @@ -19,6 +19,7 @@ export const OauthScope: core.serialization.Schema = core.serialization.object({ - name: core.serialization.string().optional(), - slug: core.serialization.string().optional(), + name: core.serialization.string(), + slug: core.serialization.string(), + description: core.serialization.string().optional(), + shippable: core.serialization.boolean().optional(), skuProperties: core.serialization.property( "sku-properties", core.serialization .list(core.serialization.lazyObject(async () => (await import("..")).SkuPropertyList)) .optional() ), + categories: core.serialization.list(core.serialization.string()).optional(), + taxCategory: core.serialization.property( + "tax-category", + core.serialization.lazy(async () => (await import("..")).ProductFieldDataTaxCategory).optional() + ), + defaultSku: core.serialization.property("default-sku", core.serialization.string().optional()), + ecProductType: core.serialization.property( + "ec-product-type", + core.serialization.lazy(async () => (await import("..")).ProductFieldDataEcProductType).optional() + ), + additionalProperties: core.serialization.string().optional(), }); export declare namespace ProductFieldData { interface Raw { - name?: string | null; - slug?: string | null; + name: string; + slug: string; + description?: string | null; + shippable?: boolean | null; "sku-properties"?: serializers.SkuPropertyList.Raw[] | null; + categories?: string[] | null; + "tax-category"?: serializers.ProductFieldDataTaxCategory.Raw | null; + "default-sku"?: string | null; + "ec-product-type"?: serializers.ProductFieldDataEcProductType.Raw | null; + additionalProperties?: string | null; } } diff --git a/src/serialization/types/ProductFieldDataEcProductType.ts b/src/serialization/types/ProductFieldDataEcProductType.ts new file mode 100644 index 0000000..00d8c4c --- /dev/null +++ b/src/serialization/types/ProductFieldDataEcProductType.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from ".."; +import * as Webflow from "../../api"; +import * as core from "../../core"; + +export const ProductFieldDataEcProductType: core.serialization.Schema< + serializers.ProductFieldDataEcProductType.Raw, + Webflow.ProductFieldDataEcProductType +> = core.serialization.enum_([ + "ff42fee0113744f693a764e3431a9cc2", + "f22027db68002190aef89a4a2b7ac8a1", + "c599e43b1a1c34d5a323aedf75d3adf6", + "b6ccc1830db4b1babeb06a9ac5f6dd76", +]); + +export declare namespace ProductFieldDataEcProductType { + type Raw = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; +} diff --git a/src/serialization/types/ProductFieldDataTaxCategory.ts b/src/serialization/types/ProductFieldDataTaxCategory.ts new file mode 100644 index 0000000..075abd3 --- /dev/null +++ b/src/serialization/types/ProductFieldDataTaxCategory.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from ".."; +import * as Webflow from "../../api"; +import * as core from "../../core"; + +export const ProductFieldDataTaxCategory: core.serialization.Schema< + serializers.ProductFieldDataTaxCategory.Raw, + Webflow.ProductFieldDataTaxCategory +> = core.serialization.enum_([ + "standard-taxable", + "standard-exempt", + "books-religious", + "books-textbook", + "clothing", + "clothing-swimwear", + "digital-goods", + "digital-service", + "drugs-non-prescription", + "drugs-prescription", + "food-bottled-water", + "food-candy", + "food-groceries", + "food-prepared", + "food-soda", + "food-supplements", + "magazine-individual", + "magazine-subscription", + "service-admission", + "service-advertising", + "service-dry-cleaning", + "service-hairdressing", + "service-installation", + "service-miscellaneous", + "service-parking", + "service-printing", + "service-professional", + "service-repair", + "service-training", +]); + +export declare namespace ProductFieldDataTaxCategory { + type Raw = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; +} diff --git a/src/serialization/types/SiteActivityLogItem.ts b/src/serialization/types/SiteActivityLogItem.ts index 13c4d5b..ee8223f 100644 --- a/src/serialization/types/SiteActivityLogItem.ts +++ b/src/serialization/types/SiteActivityLogItem.ts @@ -17,7 +17,7 @@ export const SiteActivityLogItem: core.serialization.ObjectSchema< resourceOperation: core.serialization .lazy(async () => (await import("..")).SiteActivityLogItemResourceOperation) .optional(), - user: core.serialization.string().optional(), + user: core.serialization.lazyObject(async () => (await import("..")).SiteActivityLogItemUser).optional(), resourceId: core.serialization.string().optional(), resourceName: core.serialization.string().optional(), newValue: core.serialization.string().optional(), @@ -32,7 +32,7 @@ export declare namespace SiteActivityLogItem { lastUpdated?: string | null; event?: string | null; resourceOperation?: serializers.SiteActivityLogItemResourceOperation.Raw | null; - user?: string | null; + user?: serializers.SiteActivityLogItemUser.Raw | null; resourceId?: string | null; resourceName?: string | null; newValue?: string | null; diff --git a/src/serialization/types/SiteActivityLogItemUser.ts b/src/serialization/types/SiteActivityLogItemUser.ts new file mode 100644 index 0000000..03deb61 --- /dev/null +++ b/src/serialization/types/SiteActivityLogItemUser.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from ".."; +import * as Webflow from "../../api"; +import * as core from "../../core"; + +export const SiteActivityLogItemUser: core.serialization.ObjectSchema< + serializers.SiteActivityLogItemUser.Raw, + Webflow.SiteActivityLogItemUser +> = core.serialization.object({ + id: core.serialization.string().optional(), + displayName: core.serialization.string().optional(), +}); + +export declare namespace SiteActivityLogItemUser { + interface Raw { + id?: string | null; + displayName?: string | null; + } +} diff --git a/src/serialization/types/SkuFieldData.ts b/src/serialization/types/SkuFieldData.ts index 597872e..e678012 100644 --- a/src/serialization/types/SkuFieldData.ts +++ b/src/serialization/types/SkuFieldData.ts @@ -8,20 +8,39 @@ import * as core from "../../core"; export const SkuFieldData: core.serialization.ObjectSchema = core.serialization.object({ - name: core.serialization.string().optional(), - slug: core.serialization.string().optional(), - price: core.serialization.lazyObject(async () => (await import("..")).SkuFieldDataPrice).optional(), skuValues: core.serialization.property( "sku-values", core.serialization.lazy(async () => (await import("..")).SkuValueList).optional() ), + name: core.serialization.string(), + slug: core.serialization.string(), + price: core.serialization.lazyObject(async () => (await import("..")).SkuFieldDataPrice), + compareAtPrice: core.serialization.property( + "compare-at-price", + core.serialization.lazyObject(async () => (await import("..")).SkuFieldDataCompareAtPrice).optional() + ), + ecSkuBillingMethod: core.serialization.property( + "ec-sku-billing-method", + core.serialization.lazy(async () => (await import("..")).SkuFieldDataEcSkuBillingMethod).optional() + ), + ecSkuSubscriptionPlan: core.serialization.property( + "ec-sku-subscription-plan", + core.serialization.lazyObject(async () => (await import("..")).SkuFieldDataEcSkuSubscriptionPlan).optional() + ), + trackInventory: core.serialization.property("track-inventory", core.serialization.boolean().optional()), + quantity: core.serialization.number().optional(), }); export declare namespace SkuFieldData { interface Raw { - name?: string | null; - slug?: string | null; - price?: serializers.SkuFieldDataPrice.Raw | null; "sku-values"?: serializers.SkuValueList.Raw | null; + name: string; + slug: string; + price: serializers.SkuFieldDataPrice.Raw; + "compare-at-price"?: serializers.SkuFieldDataCompareAtPrice.Raw | null; + "ec-sku-billing-method"?: serializers.SkuFieldDataEcSkuBillingMethod.Raw | null; + "ec-sku-subscription-plan"?: serializers.SkuFieldDataEcSkuSubscriptionPlan.Raw | null; + "track-inventory"?: boolean | null; + quantity?: number | null; } } diff --git a/src/serialization/types/SkuFieldDataCompareAtPrice.ts b/src/serialization/types/SkuFieldDataCompareAtPrice.ts new file mode 100644 index 0000000..457149e --- /dev/null +++ b/src/serialization/types/SkuFieldDataCompareAtPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from ".."; +import * as Webflow from "../../api"; +import * as core from "../../core"; + +export const SkuFieldDataCompareAtPrice: core.serialization.ObjectSchema< + serializers.SkuFieldDataCompareAtPrice.Raw, + Webflow.SkuFieldDataCompareAtPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace SkuFieldDataCompareAtPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/types/SkuFieldDataEcSkuBillingMethod.ts b/src/serialization/types/SkuFieldDataEcSkuBillingMethod.ts new file mode 100644 index 0000000..f397934 --- /dev/null +++ b/src/serialization/types/SkuFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from ".."; +import * as Webflow from "../../api"; +import * as core from "../../core"; + +export const SkuFieldDataEcSkuBillingMethod: core.serialization.Schema< + serializers.SkuFieldDataEcSkuBillingMethod.Raw, + Webflow.SkuFieldDataEcSkuBillingMethod +> = core.serialization.enum_(["one-time", "subscription"]); + +export declare namespace SkuFieldDataEcSkuBillingMethod { + type Raw = "one-time" | "subscription"; +} diff --git a/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlan.ts b/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 0000000..26101ed --- /dev/null +++ b/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from ".."; +import * as Webflow from "../../api"; +import * as core from "../../core"; + +export const SkuFieldDataEcSkuSubscriptionPlan: core.serialization.ObjectSchema< + serializers.SkuFieldDataEcSkuSubscriptionPlan.Raw, + Webflow.SkuFieldDataEcSkuSubscriptionPlan +> = core.serialization.object({ + interval: core.serialization + .lazy(async () => (await import("..")).SkuFieldDataEcSkuSubscriptionPlanInterval) + .optional(), + frequency: core.serialization.number().optional(), + trial: core.serialization.number().optional(), +}); + +export declare namespace SkuFieldDataEcSkuSubscriptionPlan { + interface Raw { + interval?: serializers.SkuFieldDataEcSkuSubscriptionPlanInterval.Raw | null; + frequency?: number | null; + trial?: number | null; + } +} diff --git a/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlanInterval.ts b/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 0000000..fc798ad --- /dev/null +++ b/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from ".."; +import * as Webflow from "../../api"; +import * as core from "../../core"; + +export const SkuFieldDataEcSkuSubscriptionPlanInterval: core.serialization.Schema< + serializers.SkuFieldDataEcSkuSubscriptionPlanInterval.Raw, + Webflow.SkuFieldDataEcSkuSubscriptionPlanInterval +> = core.serialization.enum_(["day", "week", "month", "year"]); + +export declare namespace SkuFieldDataEcSkuSubscriptionPlanInterval { + type Raw = "day" | "week" | "month" | "year"; +} diff --git a/src/serialization/types/SkuPropertyList.ts b/src/serialization/types/SkuPropertyList.ts index 6f6c673..8a6a452 100644 --- a/src/serialization/types/SkuPropertyList.ts +++ b/src/serialization/types/SkuPropertyList.ts @@ -10,17 +10,17 @@ export const SkuPropertyList: core.serialization.ObjectSchema< serializers.SkuPropertyList.Raw, Webflow.SkuPropertyList > = core.serialization.object({ - id: core.serialization.string().optional(), - name: core.serialization.string().optional(), - enum: core.serialization - .list(core.serialization.lazyObject(async () => (await import("..")).SkuPropertyListEnumItem)) - .optional(), + id: core.serialization.string(), + name: core.serialization.string(), + enum: core.serialization.list( + core.serialization.lazyObject(async () => (await import("..")).SkuPropertyListEnumItem) + ), }); export declare namespace SkuPropertyList { interface Raw { - id?: string | null; - name?: string | null; - enum?: serializers.SkuPropertyListEnumItem.Raw[] | null; + id: string; + name: string; + enum: serializers.SkuPropertyListEnumItem.Raw[]; } } diff --git a/src/serialization/types/SkuPropertyListEnumItem.ts b/src/serialization/types/SkuPropertyListEnumItem.ts index 0ffbfec..7437b14 100644 --- a/src/serialization/types/SkuPropertyListEnumItem.ts +++ b/src/serialization/types/SkuPropertyListEnumItem.ts @@ -10,15 +10,15 @@ export const SkuPropertyListEnumItem: core.serialization.ObjectSchema< serializers.SkuPropertyListEnumItem.Raw, Webflow.SkuPropertyListEnumItem > = core.serialization.object({ - id: core.serialization.string().optional(), - name: core.serialization.string().optional(), - slug: core.serialization.string().optional(), + id: core.serialization.string(), + name: core.serialization.string(), + slug: core.serialization.string(), }); export declare namespace SkuPropertyListEnumItem { interface Raw { - id?: string | null; - name?: string | null; - slug?: string | null; + id: string; + name: string; + slug: string; } } diff --git a/src/serialization/types/TextNode.ts b/src/serialization/types/TextNode.ts new file mode 100644 index 0000000..690d299 --- /dev/null +++ b/src/serialization/types/TextNode.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from ".."; +import * as Webflow from "../../api"; +import * as core from "../../core"; + +export const TextNode: core.serialization.ObjectSchema = + core.serialization.object({ + html: core.serialization.string().optional(), + text: core.serialization.string().optional(), + }); + +export declare namespace TextNode { + interface Raw { + html?: string | null; + text?: string | null; + } +} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index 29b5c8c..f8f2024 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -5,6 +5,7 @@ export * from "./AuthorizationAuthorization"; export * from "./Authorization"; export * from "./Pagination"; export * from "./PublishStatus"; +export * from "./InvalidScopes"; export * from "./CustomCodeResponse"; export * from "./RegisteredScriptList"; export * from "./ScriptApplyList"; @@ -23,6 +24,11 @@ export * from "./PageDeletedWebhook"; export * from "./PageSeoGraphDataSeo"; export * from "./PageSeoGraphDataOpenGraph"; export * from "./PageSeoGraphData"; +export * from "./Dom"; +export * from "./NodeType"; +export * from "./Node"; +export * from "./TextNode"; +export * from "./ImageNode"; export * from "./CollectionList"; export * from "./CollectionListArrayItem"; export * from "./Collection"; @@ -44,6 +50,7 @@ export * from "./SitePublishPayload"; export * from "./SitePublish"; export * from "./SiteActivityLogResponse"; export * from "./SiteActivityLogItemResourceOperation"; +export * from "./SiteActivityLogItemUser"; export * from "./SiteActivityLogItem"; export * from "./Assets"; export * from "./Asset"; @@ -82,9 +89,16 @@ export * from "./UsersNotEnabled"; export * from "./DuplicateUserEmail"; export * from "./UserLimitReached"; export * from "./MissingScopes"; +export * from "./NotEnterprisePlanSite"; +export * from "./ProductFieldDataTaxCategory"; +export * from "./ProductFieldDataEcProductType"; export * from "./ProductFieldData"; export * from "./Product"; export * from "./SkuFieldDataPrice"; +export * from "./SkuFieldDataCompareAtPrice"; +export * from "./SkuFieldDataEcSkuBillingMethod"; +export * from "./SkuFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./SkuFieldDataEcSkuSubscriptionPlan"; export * from "./SkuFieldData"; export * from "./Sku"; export * from "./ProductAndSkUs"; diff --git a/tests/client.test.ts b/tests/client.test.ts new file mode 100644 index 0000000..62b373b --- /dev/null +++ b/tests/client.test.ts @@ -0,0 +1,11 @@ +/** +* This is a test file for the SDK. +* +* Add any tests here and make sure to mark this file +* in `.fernignore`. +*/ +describe("test", () => { + it("default", () => { + expect(true).toBe(true); + }); +}); \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index e65fa53..5a306b2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,7 +8,6 @@ "esModuleInterop": true, "skipLibCheck": true, "declaration": true, - "noUnusedParameters": true, "outDir": "dist", "rootDir": "src", "baseUrl": "src" diff --git a/yarn.lock b/yarn.lock index 7b8409b..52b935b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,627 @@ # yarn lockfile v1 +"@ampproject/remapping@^2.2.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + +"@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.0.tgz#56cbda6b185ae9d9bed369816a8f4423c5f2ff1b" + integrity sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.24.0" + "@babel/parser" "^7.24.0" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.0" + "@babel/types" "^7.24.0" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.23.6", "@babel/generator@^7.7.2": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== + dependencies: + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a" + integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + +"@babel/helpers@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.0.tgz#a3dd462b41769c95db8091e49cfe019389a9409b" + integrity sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.0" + "@babel/types" "^7.24.0" + +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.0.tgz#26a3d1ff49031c53a97d03b604375f028746a9ac" + integrity sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" + integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/template@^7.22.15", "@babel/template@^7.24.0", "@babel/template@^7.3.3": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + +"@babel/traverse@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.0.tgz#4a408fbf364ff73135c714a2ab46a5eab2831b1e" + integrity sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.24.0", "@babel/types@^7.3.3": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" + integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + dependencies: + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" + +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^6.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== + dependencies: + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== + dependencies: + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" + +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sinonjs/commons@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" + integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" + +"@types/babel__core@^7.1.14": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.8" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" + integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" + integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== + dependencies: + "@babel/types" "^7.20.7" + +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^29.5.5": + version "29.5.12" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" + integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + "@types/node-fetch@2.6.9": version "2.6.9" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.9.tgz#15f529d247f1ede1824f7e7acdaa192d5f28071e" @@ -11,9 +632,9 @@ form-data "^4.0.0" "@types/node@*": - version "20.11.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.5.tgz#be10c622ca7fcaa3cf226cf80166abc31389d86e" - integrity sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w== + version "20.11.24" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.24.tgz#cc207511104694e84e9fb17f9a0c4c42d4517792" + integrity sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long== dependencies: undici-types "~5.26.4" @@ -27,24 +648,293 @@ resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.8.tgz#f2a7de3c107b89b441e071d5472e6b726b4adf45" integrity sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg== +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + "@types/url-join@4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@types/url-join/-/url-join-4.0.1.tgz#4989c97f969464647a8586c7252d97b449cdc045" integrity sha512-wDXw9LEEUHyV+7UWy7U315nrJGJ7p1BzaCxDpEoLr789Dk1WDVMMlf3iBfbG2F8NdWnYyFbtTxUn2ZNbm1Q4LQ== +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + dependencies: + "@types/yargs-parser" "*" + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +anymatch@^3.0.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -call-bind@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== + dependencies: + "@jest/transform" "^29.7.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== + dependencies: + babel-plugin-jest-hoist "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.22.2: + version "4.23.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001587: + version "1.0.30001593" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001593.tgz#7cda1d9e5b0cad6ebab4133b1f239d4ea44fe659" + integrity sha512-UWM1zlo3cZfkpBysd7AS+z+v007q9G1+fLTUU42rQnY6t2axoogPW/xol6T7juU5EUoOhML4WgBIdG+9yYqAjQ== + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cjs-module-lexer@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== combined-stream@^1.0.8: version "1.0.8" @@ -53,20 +943,191 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" -define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== dependencies: - get-intrinsic "^1.2.1" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +dedent@^1.0.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" + integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +define-data-property@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" gopd "^1.0.1" - has-property-descriptors "^1.0.0" delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +electron-to-chromium@^1.4.668: + version "1.4.691" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.691.tgz#e3c49de174b36b2bb96d09f44c81ff8ba273d775" + integrity sha512-vJ+/LmKja/St8Ofq4JGMFVZuwG7ECU6akjNSn2/g6nv8xbIBOWGlEs+WA8/3XaWkU0Nlyu0iFGgOxC4mpgFjgA== + +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +escalade@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^29.0.0, expect@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + form-data@4.0.0, form-data@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" @@ -76,21 +1137,69 @@ form-data@4.0.0, form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + function-bind@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== dependencies: + es-errors "^1.3.0" function-bind "^1.1.2" has-proto "^1.0.1" has-symbols "^1.0.3" hasown "^2.0.0" +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +glob@^7.1.3, glob@^7.1.4: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + gopd@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" @@ -98,17 +1207,32 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== +graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: - get-intrinsic "^1.2.2" + es-define-property "^1.0.0" has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== has-symbols@^1.0.3: version "1.0.3" @@ -116,17 +1240,602 @@ has-symbols@^1.0.3: integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.1.tgz#26f48f039de2c0f8d3356c223fb8d50253519faa" + integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== dependencies: function-bind "^1.1.2" +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-instrument@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz#91655936cf7380e4e473383081e38478b69993b1" + integrity sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw== + dependencies: + "@babel/core" "^7.23.9" + "@babel/parser" "^7.23.9" + "@istanbuljs/schema" "^0.1.3" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== + dependencies: + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.0" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== + dependencies: + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" + exit "^0.1.2" + import-local "^3.0.2" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== + dependencies: + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== + dependencies: + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-util "^29.7.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== + dependencies: + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" + +jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" + +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + dependencies: + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.7.0" + graceful-fs "^4.2.9" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + natural-compare "^1.4.0" + pretty-format "^29.7.0" + semver "^7.5.3" + +jest-util@^29.0.0, jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" + +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== + dependencies: + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.7.0" + string-length "^4.0.1" + +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== + dependencies: + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" + import-local "^3.0.2" + jest-cli "^29.7.0" + js-base64@3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-3.7.2.tgz#816d11d81a8aff241603d19ce5761e13e41d7745" integrity sha512-NnRs6dsyqUXejqk/yv2aiXlAvOs56sLkX6nUdeaNezI5LFFLlsZjOThmwnrcwh5ZZRwZlCMnVAY3CvhIhoVEKQ== +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.memoize@4.x: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +make-error@1.x: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" @@ -139,6 +1848,28 @@ mime-types@^2.1.12: dependencies: mime-db "1.52.0" +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + node-fetch@2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" @@ -146,16 +1877,152 @@ node-fetch@2.7.0: dependencies: whatwg-url "^5.0.0" -object-inspect@^1.9.0: +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +object-inspect@^1.13.1: version "1.13.1" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + prettier@2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +pure-rand@^6.0.0: + version "6.0.4" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" + integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== + qs@6.11.2: version "6.11.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" @@ -163,31 +2030,248 @@ qs@6.11.2: dependencies: side-channel "^1.0.4" -set-function-length@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.0.tgz#2f81dc6c16c7059bda5ab7c82c11f03a515ed8e1" - integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== dependencies: - define-data-property "^1.1.1" + resolve-from "^5.0.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + +resolve@^1.20.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.5.3, semver@^7.5.4: + version "7.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +set-function-length@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.1.tgz#47cc5945f2c771e2cf261c6737cf9684a2a5e425" + integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g== + dependencies: + define-data-property "^1.1.2" + es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.2" + get-intrinsic "^1.2.3" gopd "^1.0.1" has-property-descriptors "^1.0.1" +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" + is-number "^7.0.0" tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +ts-jest@^29.1.1: + version "29.1.2" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.2.tgz#7613d8c81c43c8cb312c6904027257e814c40e09" + integrity sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g== + dependencies: + bs-logger "0.x" + fast-json-stable-stringify "2.x" + jest-util "^29.0.0" + json5 "^2.2.3" + lodash.memoize "4.x" + make-error "1.x" + semver "^7.5.3" + yargs-parser "^21.0.1" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + typescript@4.6.4: version "4.6.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" @@ -198,11 +2282,35 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + url-join@4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== +v8-to-istanbul@^9.0.1: + version "9.2.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" @@ -215,3 +2323,70 @@ whatwg-url@^5.0.0: dependencies: tr46 "~0.0.3" webidl-conversions "^3.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^21.0.1, yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^17.3.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==