@stadar/sdk 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -0
- package/dist/apis/AccountApi.d.ts +248 -0
- package/dist/apis/AccountApi.d.ts.map +1 -0
- package/dist/apis/AccountApi.js +228 -0
- package/dist/apis/AccountApi.js.map +1 -0
- package/dist/apis/AuthApi.d.ts +232 -0
- package/dist/apis/AuthApi.d.ts.map +1 -0
- package/dist/apis/AuthApi.js +213 -0
- package/dist/apis/AuthApi.js.map +1 -0
- package/dist/apis/BillingApi.d.ts +103 -0
- package/dist/apis/BillingApi.d.ts.map +1 -0
- package/dist/apis/BillingApi.js +92 -0
- package/dist/apis/BillingApi.js.map +1 -0
- package/dist/apis/GamesApi.d.ts +96 -0
- package/dist/apis/GamesApi.d.ts.map +1 -0
- package/dist/apis/GamesApi.js +100 -0
- package/dist/apis/GamesApi.js.map +1 -0
- package/dist/apis/LeaguesApi.d.ts +214 -0
- package/dist/apis/LeaguesApi.d.ts.map +1 -0
- package/dist/apis/LeaguesApi.js +225 -0
- package/dist/apis/LeaguesApi.js.map +1 -0
- package/dist/apis/MatchesApi.d.ts +178 -0
- package/dist/apis/MatchesApi.d.ts.map +1 -0
- package/dist/apis/MatchesApi.js +183 -0
- package/dist/apis/MatchesApi.js.map +1 -0
- package/dist/apis/MetaApi.d.ts +160 -0
- package/dist/apis/MetaApi.d.ts.map +1 -0
- package/dist/apis/MetaApi.js +151 -0
- package/dist/apis/MetaApi.js.map +1 -0
- package/dist/apis/SeriesApi.d.ts +211 -0
- package/dist/apis/SeriesApi.d.ts.map +1 -0
- package/dist/apis/SeriesApi.js +223 -0
- package/dist/apis/SeriesApi.js.map +1 -0
- package/dist/apis/TournamentsApi.d.ts +149 -0
- package/dist/apis/TournamentsApi.d.ts.map +1 -0
- package/dist/apis/TournamentsApi.js +149 -0
- package/dist/apis/TournamentsApi.js.map +1 -0
- package/dist/apis/WebhooksApi.d.ts +173 -0
- package/dist/apis/WebhooksApi.d.ts.map +1 -0
- package/dist/apis/WebhooksApi.js +157 -0
- package/dist/apis/WebhooksApi.js.map +1 -0
- package/dist/apis/index.d.ts +11 -0
- package/dist/apis/index.d.ts.map +1 -0
- package/dist/apis/index.js +13 -0
- package/dist/apis/index.js.map +1 -0
- package/dist/from_env.d.ts +22 -0
- package/dist/from_env.d.ts.map +1 -0
- package/dist/from_env.js +57 -0
- package/dist/from_env.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/models/APIKeySummary.d.ts +57 -0
- package/dist/models/APIKeySummary.d.ts.map +1 -0
- package/dist/models/APIKeySummary.js +58 -0
- package/dist/models/APIKeySummary.js.map +1 -0
- package/dist/models/AccountCreateKey201Response.d.ts +77 -0
- package/dist/models/AccountCreateKey201Response.d.ts.map +1 -0
- package/dist/models/AccountCreateKey201Response.js +69 -0
- package/dist/models/AccountCreateKey201Response.js.map +1 -0
- package/dist/models/AccountCreateKeyRequest.d.ts +33 -0
- package/dist/models/AccountCreateKeyRequest.d.ts.map +1 -0
- package/dist/models/AccountCreateKeyRequest.js +44 -0
- package/dist/models/AccountCreateKeyRequest.js.map +1 -0
- package/dist/models/AccountListKeys200Response.d.ts +34 -0
- package/dist/models/AccountListKeys200Response.d.ts.map +1 -0
- package/dist/models/AccountListKeys200Response.js +43 -0
- package/dist/models/AccountListKeys200Response.js.map +1 -0
- package/dist/models/AccountMeCapabilities200Response.d.ts +41 -0
- package/dist/models/AccountMeCapabilities200Response.d.ts.map +1 -0
- package/dist/models/AccountMeCapabilities200Response.js +46 -0
- package/dist/models/AccountMeCapabilities200Response.js.map +1 -0
- package/dist/models/AccountUsageRecent200Response.d.ts +34 -0
- package/dist/models/AccountUsageRecent200Response.d.ts.map +1 -0
- package/dist/models/AccountUsageRecent200Response.js +43 -0
- package/dist/models/AccountUsageRecent200Response.js.map +1 -0
- package/dist/models/AuthMeResponse.d.ts +41 -0
- package/dist/models/AuthMeResponse.d.ts.map +1 -0
- package/dist/models/AuthMeResponse.js +46 -0
- package/dist/models/AuthMeResponse.js.map +1 -0
- package/dist/models/AuthMeResponseData.d.ts +45 -0
- package/dist/models/AuthMeResponseData.d.ts.map +1 -0
- package/dist/models/AuthMeResponseData.js +46 -0
- package/dist/models/AuthMeResponseData.js.map +1 -0
- package/dist/models/CS2PreviewExtras.d.ts +44 -0
- package/dist/models/CS2PreviewExtras.d.ts.map +1 -0
- package/dist/models/CS2PreviewExtras.js +47 -0
- package/dist/models/CS2PreviewExtras.js.map +1 -0
- package/dist/models/CS2PreviewExtrasMapVetoHistory.d.ts +51 -0
- package/dist/models/CS2PreviewExtrasMapVetoHistory.d.ts.map +1 -0
- package/dist/models/CS2PreviewExtrasMapVetoHistory.js +48 -0
- package/dist/models/CS2PreviewExtrasMapVetoHistory.js.map +1 -0
- package/dist/models/CS2PreviewExtrasMapWinRateValue.d.ts +39 -0
- package/dist/models/CS2PreviewExtrasMapWinRateValue.d.ts.map +1 -0
- package/dist/models/CS2PreviewExtrasMapWinRateValue.js +44 -0
- package/dist/models/CS2PreviewExtrasMapWinRateValue.js.map +1 -0
- package/dist/models/CapabilitySet.d.ts +72 -0
- package/dist/models/CapabilitySet.d.ts.map +1 -0
- package/dist/models/CapabilitySet.js +75 -0
- package/dist/models/CapabilitySet.js.map +1 -0
- package/dist/models/ErrorBody.d.ts +53 -0
- package/dist/models/ErrorBody.d.ts.map +1 -0
- package/dist/models/ErrorBody.js +52 -0
- package/dist/models/ErrorBody.js.map +1 -0
- package/dist/models/ErrorEnvelope.d.ts +34 -0
- package/dist/models/ErrorEnvelope.d.ts.map +1 -0
- package/dist/models/ErrorEnvelope.js +45 -0
- package/dist/models/ErrorEnvelope.js.map +1 -0
- package/dist/models/Game.d.ts +78 -0
- package/dist/models/Game.d.ts.map +1 -0
- package/dist/models/Game.js +62 -0
- package/dist/models/Game.js.map +1 -0
- package/dist/models/GameEnvelope.d.ts +41 -0
- package/dist/models/GameEnvelope.d.ts.map +1 -0
- package/dist/models/GameEnvelope.js +46 -0
- package/dist/models/GameEnvelope.js.map +1 -0
- package/dist/models/GamesListResponse.d.ts +41 -0
- package/dist/models/GamesListResponse.d.ts.map +1 -0
- package/dist/models/GamesListResponse.js +46 -0
- package/dist/models/GamesListResponse.js.map +1 -0
- package/dist/models/HeadToHead.d.ts +51 -0
- package/dist/models/HeadToHead.d.ts.map +1 -0
- package/dist/models/HeadToHead.js +54 -0
- package/dist/models/HeadToHead.js.map +1 -0
- package/dist/models/Healthz200Response.d.ts +40 -0
- package/dist/models/Healthz200Response.d.ts.map +1 -0
- package/dist/models/Healthz200Response.js +48 -0
- package/dist/models/Healthz200Response.js.map +1 -0
- package/dist/models/Last5Result.d.ts +65 -0
- package/dist/models/Last5Result.d.ts.map +1 -0
- package/dist/models/Last5Result.js +67 -0
- package/dist/models/Last5Result.js.map +1 -0
- package/dist/models/League.d.ts +81 -0
- package/dist/models/League.d.ts.map +1 -0
- package/dist/models/League.js +58 -0
- package/dist/models/League.js.map +1 -0
- package/dist/models/LeagueEnvelope.d.ts +41 -0
- package/dist/models/LeagueEnvelope.d.ts.map +1 -0
- package/dist/models/LeagueEnvelope.js +46 -0
- package/dist/models/LeagueEnvelope.js.map +1 -0
- package/dist/models/LeagueSummary.d.ts +45 -0
- package/dist/models/LeagueSummary.d.ts.map +1 -0
- package/dist/models/LeagueSummary.js +46 -0
- package/dist/models/LeagueSummary.js.map +1 -0
- package/dist/models/LeaguesListResponse.d.ts +41 -0
- package/dist/models/LeaguesListResponse.d.ts.map +1 -0
- package/dist/models/LeaguesListResponse.js +46 -0
- package/dist/models/LeaguesListResponse.js.map +1 -0
- package/dist/models/Match.d.ts +145 -0
- package/dist/models/Match.d.ts.map +1 -0
- package/dist/models/Match.js +89 -0
- package/dist/models/Match.js.map +1 -0
- package/dist/models/MatchEnvelope.d.ts +41 -0
- package/dist/models/MatchEnvelope.d.ts.map +1 -0
- package/dist/models/MatchEnvelope.js +46 -0
- package/dist/models/MatchEnvelope.js.map +1 -0
- package/dist/models/MatchParticipant.d.ts +57 -0
- package/dist/models/MatchParticipant.d.ts.map +1 -0
- package/dist/models/MatchParticipant.js +50 -0
- package/dist/models/MatchParticipant.js.map +1 -0
- package/dist/models/MatchPreview.d.ts +62 -0
- package/dist/models/MatchPreview.d.ts.map +1 -0
- package/dist/models/MatchPreview.js +63 -0
- package/dist/models/MatchPreview.js.map +1 -0
- package/dist/models/MatchPreviewEnvelope.d.ts +41 -0
- package/dist/models/MatchPreviewEnvelope.d.ts.map +1 -0
- package/dist/models/MatchPreviewEnvelope.js +46 -0
- package/dist/models/MatchPreviewEnvelope.js.map +1 -0
- package/dist/models/MatchPreviewForm.d.ts +40 -0
- package/dist/models/MatchPreviewForm.d.ts.map +1 -0
- package/dist/models/MatchPreviewForm.js +49 -0
- package/dist/models/MatchPreviewForm.js.map +1 -0
- package/dist/models/MatchPreviewLast5.d.ts +40 -0
- package/dist/models/MatchPreviewLast5.d.ts.map +1 -0
- package/dist/models/MatchPreviewLast5.js +49 -0
- package/dist/models/MatchPreviewLast5.js.map +1 -0
- package/dist/models/MatchesListResponse.d.ts +41 -0
- package/dist/models/MatchesListResponse.d.ts.map +1 -0
- package/dist/models/MatchesListResponse.js +46 -0
- package/dist/models/MatchesListResponse.js.map +1 -0
- package/dist/models/Meta.d.ts +59 -0
- package/dist/models/Meta.d.ts.map +1 -0
- package/dist/models/Meta.js +52 -0
- package/dist/models/Meta.js.map +1 -0
- package/dist/models/Paging.d.ts +45 -0
- package/dist/models/Paging.d.ts.map +1 -0
- package/dist/models/Paging.js +46 -0
- package/dist/models/Paging.js.map +1 -0
- package/dist/models/RootVersion200Response.d.ts +45 -0
- package/dist/models/RootVersion200Response.d.ts.map +1 -0
- package/dist/models/RootVersion200Response.js +46 -0
- package/dist/models/RootVersion200Response.js.map +1 -0
- package/dist/models/Series.d.ts +89 -0
- package/dist/models/Series.d.ts.map +1 -0
- package/dist/models/Series.js +62 -0
- package/dist/models/Series.js.map +1 -0
- package/dist/models/SeriesEnvelope.d.ts +41 -0
- package/dist/models/SeriesEnvelope.d.ts.map +1 -0
- package/dist/models/SeriesEnvelope.js +46 -0
- package/dist/models/SeriesEnvelope.js.map +1 -0
- package/dist/models/SeriesListResponse.d.ts +41 -0
- package/dist/models/SeriesListResponse.d.ts.map +1 -0
- package/dist/models/SeriesListResponse.js +46 -0
- package/dist/models/SeriesListResponse.js.map +1 -0
- package/dist/models/SeriesSummary.d.ts +45 -0
- package/dist/models/SeriesSummary.d.ts.map +1 -0
- package/dist/models/SeriesSummary.js +46 -0
- package/dist/models/SeriesSummary.js.map +1 -0
- package/dist/models/SeriesWinner.d.ts +39 -0
- package/dist/models/SeriesWinner.d.ts.map +1 -0
- package/dist/models/SeriesWinner.js +44 -0
- package/dist/models/SeriesWinner.js.map +1 -0
- package/dist/models/SignupRequest.d.ts +39 -0
- package/dist/models/SignupRequest.d.ts.map +1 -0
- package/dist/models/SignupRequest.js +48 -0
- package/dist/models/SignupRequest.js.map +1 -0
- package/dist/models/SourceCredit.d.ts +45 -0
- package/dist/models/SourceCredit.d.ts.map +1 -0
- package/dist/models/SourceCredit.js +52 -0
- package/dist/models/SourceCredit.js.map +1 -0
- package/dist/models/Stream.d.ts +57 -0
- package/dist/models/Stream.d.ts.map +1 -0
- package/dist/models/Stream.js +50 -0
- package/dist/models/Stream.js.map +1 -0
- package/dist/models/TeamForm.d.ts +59 -0
- package/dist/models/TeamForm.d.ts.map +1 -0
- package/dist/models/TeamForm.js +63 -0
- package/dist/models/TeamForm.js.map +1 -0
- package/dist/models/Tournament.d.ts +148 -0
- package/dist/models/Tournament.d.ts.map +1 -0
- package/dist/models/Tournament.js +88 -0
- package/dist/models/Tournament.js.map +1 -0
- package/dist/models/TournamentEnvelope.d.ts +41 -0
- package/dist/models/TournamentEnvelope.d.ts.map +1 -0
- package/dist/models/TournamentEnvelope.js +46 -0
- package/dist/models/TournamentEnvelope.js.map +1 -0
- package/dist/models/TournamentPrizePool.d.ts +39 -0
- package/dist/models/TournamentPrizePool.d.ts.map +1 -0
- package/dist/models/TournamentPrizePool.js +44 -0
- package/dist/models/TournamentPrizePool.js.map +1 -0
- package/dist/models/TournamentSummary.d.ts +57 -0
- package/dist/models/TournamentSummary.d.ts.map +1 -0
- package/dist/models/TournamentSummary.js +50 -0
- package/dist/models/TournamentSummary.js.map +1 -0
- package/dist/models/TournamentsListResponse.d.ts +41 -0
- package/dist/models/TournamentsListResponse.d.ts.map +1 -0
- package/dist/models/TournamentsListResponse.js +46 -0
- package/dist/models/TournamentsListResponse.js.map +1 -0
- package/dist/models/UsageRow.d.ts +63 -0
- package/dist/models/UsageRow.d.ts.map +1 -0
- package/dist/models/UsageRow.js +52 -0
- package/dist/models/UsageRow.js.map +1 -0
- package/dist/models/UsageToday.d.ts +57 -0
- package/dist/models/UsageToday.d.ts.map +1 -0
- package/dist/models/UsageToday.js +50 -0
- package/dist/models/UsageToday.js.map +1 -0
- package/dist/models/WebhookSubscription.d.ts +81 -0
- package/dist/models/WebhookSubscription.d.ts.map +1 -0
- package/dist/models/WebhookSubscription.js +66 -0
- package/dist/models/WebhookSubscription.js.map +1 -0
- package/dist/models/WebhookSubscriptionRequest.d.ts +67 -0
- package/dist/models/WebhookSubscriptionRequest.d.ts.map +1 -0
- package/dist/models/WebhookSubscriptionRequest.js +63 -0
- package/dist/models/WebhookSubscriptionRequest.js.map +1 -0
- package/dist/models/WebhooksCreate201Response.d.ts +87 -0
- package/dist/models/WebhooksCreate201Response.d.ts.map +1 -0
- package/dist/models/WebhooksCreate201Response.js +68 -0
- package/dist/models/WebhooksCreate201Response.js.map +1 -0
- package/dist/models/WebhooksList200Response.d.ts +34 -0
- package/dist/models/WebhooksList200Response.d.ts.map +1 -0
- package/dist/models/WebhooksList200Response.js +43 -0
- package/dist/models/WebhooksList200Response.js.map +1 -0
- package/dist/models/index.d.ts +56 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +58 -0
- package/dist/models/index.js.map +1 -0
- package/dist/runtime.d.ts +185 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +338 -0
- package/dist/runtime.js.map +1 -0
- package/dist/webhooks.d.ts +29 -0
- package/dist/webhooks.d.ts.map +1 -0
- package/dist/webhooks.js +77 -0
- package/dist/webhooks.js.map +1 -0
- package/package.json +60 -0
- package/src/apis/AccountApi.ts +474 -0
- package/src/apis/AuthApi.ts +446 -0
- package/src/apis/BillingApi.ts +180 -0
- package/src/apis/GamesApi.ts +195 -0
- package/src/apis/LeaguesApi.ts +457 -0
- package/src/apis/MatchesApi.ts +368 -0
- package/src/apis/MetaApi.ts +289 -0
- package/src/apis/SeriesApi.ts +454 -0
- package/src/apis/TournamentsApi.ts +290 -0
- package/src/apis/WebhooksApi.ts +336 -0
- package/src/apis/index.ts +12 -0
- package/src/from_env.ts +68 -0
- package/src/index.ts +5 -0
- package/src/models/APIKeySummary.ts +101 -0
- package/src/models/AccountCreateKey201Response.ts +128 -0
- package/src/models/AccountCreateKeyRequest.ts +66 -0
- package/src/models/AccountListKeys200Response.ts +73 -0
- package/src/models/AccountMeCapabilities200Response.ts +88 -0
- package/src/models/AccountUsageRecent200Response.ts +73 -0
- package/src/models/AuthMeResponse.ts +88 -0
- package/src/models/AuthMeResponseData.ts +81 -0
- package/src/models/CS2PreviewExtras.ts +89 -0
- package/src/models/CS2PreviewExtrasMapVetoHistory.ts +89 -0
- package/src/models/CS2PreviewExtrasMapWinRateValue.ts +73 -0
- package/src/models/CapabilitySet.ts +114 -0
- package/src/models/ErrorBody.ts +91 -0
- package/src/models/ErrorEnvelope.ts +74 -0
- package/src/models/Game.ts +125 -0
- package/src/models/GameEnvelope.ts +88 -0
- package/src/models/GamesListResponse.ts +88 -0
- package/src/models/HeadToHead.ts +92 -0
- package/src/models/Healthz200Response.ts +75 -0
- package/src/models/Last5Result.ts +113 -0
- package/src/models/League.ts +129 -0
- package/src/models/LeagueEnvelope.ts +88 -0
- package/src/models/LeagueSummary.ts +81 -0
- package/src/models/LeaguesListResponse.ts +88 -0
- package/src/models/Match.ts +243 -0
- package/src/models/MatchEnvelope.ts +88 -0
- package/src/models/MatchParticipant.ts +97 -0
- package/src/models/MatchPreview.ts +137 -0
- package/src/models/MatchPreviewEnvelope.ts +88 -0
- package/src/models/MatchPreviewForm.ts +83 -0
- package/src/models/MatchPreviewLast5.ts +83 -0
- package/src/models/MatchesListResponse.ts +88 -0
- package/src/models/Meta.ts +112 -0
- package/src/models/Paging.ts +81 -0
- package/src/models/RootVersion200Response.ts +81 -0
- package/src/models/Series.ts +152 -0
- package/src/models/SeriesEnvelope.ts +88 -0
- package/src/models/SeriesListResponse.ts +88 -0
- package/src/models/SeriesSummary.ts +81 -0
- package/src/models/SeriesWinner.ts +73 -0
- package/src/models/SignupRequest.ts +75 -0
- package/src/models/SourceCredit.ts +84 -0
- package/src/models/Stream.ts +97 -0
- package/src/models/TeamForm.ts +104 -0
- package/src/models/Tournament.ts +236 -0
- package/src/models/TournamentEnvelope.ts +88 -0
- package/src/models/TournamentPrizePool.ts +73 -0
- package/src/models/TournamentSummary.ts +97 -0
- package/src/models/TournamentsListResponse.ts +88 -0
- package/src/models/UsageRow.ts +105 -0
- package/src/models/UsageToday.ts +97 -0
- package/src/models/WebhookSubscription.ts +133 -0
- package/src/models/WebhookSubscriptionRequest.ts +112 -0
- package/src/models/WebhooksCreate201Response.ts +141 -0
- package/src/models/WebhooksList200Response.ts +73 -0
- package/src/models/index.ts +57 -0
- package/src/runtime.ts +449 -0
- package/src/webhooks.ts +91 -0
package/dist/runtime.js
ADDED
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Stadar Esports Data API
|
|
5
|
+
* Read-only, betting-friendly esports data across all major competitive titles. Flat-tier pricing (no per-game gates), Polar- billed subscriptions (Merchant of Record), sandbox keys for evaluation. See https://stadar.net for tier pricing. All endpoints under `/v1/...`. The version in `info.version` matches the URL prefix; non-breaking field additions ship in `/v1`, breaking changes get a `/v2`. We commit to 24 months of `/v1` support after `/v2` ships. Times are UTC end-to-end (RFC 3339). Localization is the client\'s problem. Cursors are opaque base64 strings; treat them as such.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: v1
|
|
8
|
+
* Contact: api@stadar.net
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
export const BASE_PATH = "https://api.stadar.net".replace(/\/+$/, "");
|
|
15
|
+
export class Configuration {
|
|
16
|
+
constructor(configuration = {}) {
|
|
17
|
+
this.configuration = configuration;
|
|
18
|
+
}
|
|
19
|
+
set config(configuration) {
|
|
20
|
+
this.configuration = configuration;
|
|
21
|
+
}
|
|
22
|
+
get basePath() {
|
|
23
|
+
return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH;
|
|
24
|
+
}
|
|
25
|
+
get fetchApi() {
|
|
26
|
+
return this.configuration.fetchApi;
|
|
27
|
+
}
|
|
28
|
+
get middleware() {
|
|
29
|
+
return this.configuration.middleware || [];
|
|
30
|
+
}
|
|
31
|
+
get queryParamsStringify() {
|
|
32
|
+
return this.configuration.queryParamsStringify || querystring;
|
|
33
|
+
}
|
|
34
|
+
get username() {
|
|
35
|
+
return this.configuration.username;
|
|
36
|
+
}
|
|
37
|
+
get password() {
|
|
38
|
+
return this.configuration.password;
|
|
39
|
+
}
|
|
40
|
+
get apiKey() {
|
|
41
|
+
const apiKey = this.configuration.apiKey;
|
|
42
|
+
if (apiKey) {
|
|
43
|
+
return typeof apiKey === 'function' ? apiKey : () => apiKey;
|
|
44
|
+
}
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
get accessToken() {
|
|
48
|
+
const accessToken = this.configuration.accessToken;
|
|
49
|
+
if (accessToken) {
|
|
50
|
+
return typeof accessToken === 'function' ? accessToken : async () => accessToken;
|
|
51
|
+
}
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
get headers() {
|
|
55
|
+
return this.configuration.headers;
|
|
56
|
+
}
|
|
57
|
+
get credentials() {
|
|
58
|
+
return this.configuration.credentials;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export const DefaultConfig = new Configuration();
|
|
62
|
+
/**
|
|
63
|
+
* This is the base class for all generated API classes.
|
|
64
|
+
*/
|
|
65
|
+
export class BaseAPI {
|
|
66
|
+
constructor(configuration = DefaultConfig) {
|
|
67
|
+
this.configuration = configuration;
|
|
68
|
+
this.fetchApi = async (url, init) => {
|
|
69
|
+
let fetchParams = { url, init };
|
|
70
|
+
for (const middleware of this.middleware) {
|
|
71
|
+
if (middleware.pre) {
|
|
72
|
+
fetchParams = await middleware.pre({
|
|
73
|
+
fetch: this.fetchApi,
|
|
74
|
+
...fetchParams,
|
|
75
|
+
}) || fetchParams;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
let response = undefined;
|
|
79
|
+
try {
|
|
80
|
+
response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);
|
|
81
|
+
}
|
|
82
|
+
catch (e) {
|
|
83
|
+
for (const middleware of this.middleware) {
|
|
84
|
+
if (middleware.onError) {
|
|
85
|
+
response = await middleware.onError({
|
|
86
|
+
fetch: this.fetchApi,
|
|
87
|
+
url: fetchParams.url,
|
|
88
|
+
init: fetchParams.init,
|
|
89
|
+
error: e,
|
|
90
|
+
response: response ? response.clone() : undefined,
|
|
91
|
+
}) || response;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (response === undefined) {
|
|
95
|
+
if (e instanceof Error) {
|
|
96
|
+
throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response');
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
throw e;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
for (const middleware of this.middleware) {
|
|
104
|
+
if (middleware.post) {
|
|
105
|
+
response = await middleware.post({
|
|
106
|
+
fetch: this.fetchApi,
|
|
107
|
+
url: fetchParams.url,
|
|
108
|
+
init: fetchParams.init,
|
|
109
|
+
response: response.clone(),
|
|
110
|
+
}) || response;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return response;
|
|
114
|
+
};
|
|
115
|
+
this.middleware = configuration.middleware;
|
|
116
|
+
}
|
|
117
|
+
withMiddleware(...middlewares) {
|
|
118
|
+
const next = this.clone();
|
|
119
|
+
next.middleware = next.middleware.concat(...middlewares);
|
|
120
|
+
return next;
|
|
121
|
+
}
|
|
122
|
+
withPreMiddleware(...preMiddlewares) {
|
|
123
|
+
const middlewares = preMiddlewares.map((pre) => ({ pre }));
|
|
124
|
+
return this.withMiddleware(...middlewares);
|
|
125
|
+
}
|
|
126
|
+
withPostMiddleware(...postMiddlewares) {
|
|
127
|
+
const middlewares = postMiddlewares.map((post) => ({ post }));
|
|
128
|
+
return this.withMiddleware(...middlewares);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Check if the given MIME is a JSON MIME.
|
|
132
|
+
* JSON MIME examples:
|
|
133
|
+
* application/json
|
|
134
|
+
* application/json; charset=UTF8
|
|
135
|
+
* APPLICATION/JSON
|
|
136
|
+
* application/vnd.company+json
|
|
137
|
+
* @param mime - MIME (Multipurpose Internet Mail Extensions)
|
|
138
|
+
* @return True if the given MIME is JSON, false otherwise.
|
|
139
|
+
*/
|
|
140
|
+
isJsonMime(mime) {
|
|
141
|
+
if (!mime) {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
return BaseAPI.jsonRegex.test(mime);
|
|
145
|
+
}
|
|
146
|
+
async request(context, initOverrides) {
|
|
147
|
+
const { url, init } = await this.createFetchParams(context, initOverrides);
|
|
148
|
+
const response = await this.fetchApi(url, init);
|
|
149
|
+
if (response && (response.status >= 200 && response.status < 300)) {
|
|
150
|
+
return response;
|
|
151
|
+
}
|
|
152
|
+
throw new ResponseError(response, 'Response returned an error code');
|
|
153
|
+
}
|
|
154
|
+
async createFetchParams(context, initOverrides) {
|
|
155
|
+
let url = this.configuration.basePath + context.path;
|
|
156
|
+
if (context.query !== undefined && Object.keys(context.query).length !== 0) {
|
|
157
|
+
// only add the querystring to the URL if there are query parameters.
|
|
158
|
+
// this is done to avoid urls ending with a "?" character which buggy webservers
|
|
159
|
+
// do not handle correctly sometimes.
|
|
160
|
+
url += '?' + this.configuration.queryParamsStringify(context.query);
|
|
161
|
+
}
|
|
162
|
+
const headers = Object.assign({}, this.configuration.headers, context.headers);
|
|
163
|
+
Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});
|
|
164
|
+
const initOverrideFn = typeof initOverrides === "function"
|
|
165
|
+
? initOverrides
|
|
166
|
+
: async () => initOverrides;
|
|
167
|
+
const initParams = {
|
|
168
|
+
method: context.method,
|
|
169
|
+
headers,
|
|
170
|
+
body: context.body,
|
|
171
|
+
credentials: this.configuration.credentials,
|
|
172
|
+
};
|
|
173
|
+
const overriddenInit = {
|
|
174
|
+
...initParams,
|
|
175
|
+
...(await initOverrideFn({
|
|
176
|
+
init: initParams,
|
|
177
|
+
context,
|
|
178
|
+
}))
|
|
179
|
+
};
|
|
180
|
+
let body;
|
|
181
|
+
if (isFormData(overriddenInit.body)
|
|
182
|
+
|| (overriddenInit.body instanceof URLSearchParams)
|
|
183
|
+
|| isBlob(overriddenInit.body)) {
|
|
184
|
+
body = overriddenInit.body;
|
|
185
|
+
}
|
|
186
|
+
else if (this.isJsonMime(headers['Content-Type'])) {
|
|
187
|
+
body = JSON.stringify(overriddenInit.body);
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
body = overriddenInit.body;
|
|
191
|
+
}
|
|
192
|
+
const init = {
|
|
193
|
+
...overriddenInit,
|
|
194
|
+
body
|
|
195
|
+
};
|
|
196
|
+
return { url, init };
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Create a shallow clone of `this` by constructing a new instance
|
|
200
|
+
* and then shallow cloning data members.
|
|
201
|
+
*/
|
|
202
|
+
clone() {
|
|
203
|
+
const constructor = this.constructor;
|
|
204
|
+
const next = new constructor(this.configuration);
|
|
205
|
+
next.middleware = this.middleware.slice();
|
|
206
|
+
return next;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
BaseAPI.jsonRegex = /^(:?application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(:?;.*)?$/i;
|
|
210
|
+
;
|
|
211
|
+
function isBlob(value) {
|
|
212
|
+
return typeof Blob !== 'undefined' && value instanceof Blob;
|
|
213
|
+
}
|
|
214
|
+
function isFormData(value) {
|
|
215
|
+
return typeof FormData !== "undefined" && value instanceof FormData;
|
|
216
|
+
}
|
|
217
|
+
export class ResponseError extends Error {
|
|
218
|
+
constructor(response, msg) {
|
|
219
|
+
super(msg);
|
|
220
|
+
this.response = response;
|
|
221
|
+
this.name = "ResponseError";
|
|
222
|
+
// restore prototype chain
|
|
223
|
+
const actualProto = new.target.prototype;
|
|
224
|
+
if (Object.setPrototypeOf) {
|
|
225
|
+
Object.setPrototypeOf(this, actualProto);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
export class FetchError extends Error {
|
|
230
|
+
constructor(cause, msg) {
|
|
231
|
+
super(msg);
|
|
232
|
+
this.cause = cause;
|
|
233
|
+
this.name = "FetchError";
|
|
234
|
+
// restore prototype chain
|
|
235
|
+
const actualProto = new.target.prototype;
|
|
236
|
+
if (Object.setPrototypeOf) {
|
|
237
|
+
Object.setPrototypeOf(this, actualProto);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
export class RequiredError extends Error {
|
|
242
|
+
constructor(field, msg) {
|
|
243
|
+
super(msg);
|
|
244
|
+
this.field = field;
|
|
245
|
+
this.name = "RequiredError";
|
|
246
|
+
// restore prototype chain
|
|
247
|
+
const actualProto = new.target.prototype;
|
|
248
|
+
if (Object.setPrototypeOf) {
|
|
249
|
+
Object.setPrototypeOf(this, actualProto);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
export const COLLECTION_FORMATS = {
|
|
254
|
+
csv: ",",
|
|
255
|
+
ssv: " ",
|
|
256
|
+
tsv: "\t",
|
|
257
|
+
pipes: "|",
|
|
258
|
+
};
|
|
259
|
+
export function querystring(params, prefix = '') {
|
|
260
|
+
return Object.keys(params)
|
|
261
|
+
.map(key => querystringSingleKey(key, params[key], prefix))
|
|
262
|
+
.filter(part => part.length > 0)
|
|
263
|
+
.join('&');
|
|
264
|
+
}
|
|
265
|
+
function querystringSingleKey(key, value, keyPrefix = '') {
|
|
266
|
+
const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);
|
|
267
|
+
if (value instanceof Array) {
|
|
268
|
+
const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))
|
|
269
|
+
.join(`&${encodeURIComponent(fullKey)}=`);
|
|
270
|
+
return `${encodeURIComponent(fullKey)}=${multiValue}`;
|
|
271
|
+
}
|
|
272
|
+
if (value instanceof Set) {
|
|
273
|
+
const valueAsArray = Array.from(value);
|
|
274
|
+
return querystringSingleKey(key, valueAsArray, keyPrefix);
|
|
275
|
+
}
|
|
276
|
+
if (value instanceof Date) {
|
|
277
|
+
return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;
|
|
278
|
+
}
|
|
279
|
+
if (value instanceof Object) {
|
|
280
|
+
return querystring(value, fullKey);
|
|
281
|
+
}
|
|
282
|
+
return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;
|
|
283
|
+
}
|
|
284
|
+
export function exists(json, key) {
|
|
285
|
+
const value = json[key];
|
|
286
|
+
return value !== null && value !== undefined;
|
|
287
|
+
}
|
|
288
|
+
export function mapValues(data, fn) {
|
|
289
|
+
const result = {};
|
|
290
|
+
for (const key of Object.keys(data)) {
|
|
291
|
+
result[key] = fn(data[key]);
|
|
292
|
+
}
|
|
293
|
+
return result;
|
|
294
|
+
}
|
|
295
|
+
export function canConsumeForm(consumes) {
|
|
296
|
+
for (const consume of consumes) {
|
|
297
|
+
if ('multipart/form-data' === consume.contentType) {
|
|
298
|
+
return true;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
return false;
|
|
302
|
+
}
|
|
303
|
+
export class JSONApiResponse {
|
|
304
|
+
constructor(raw, transformer = (jsonValue) => jsonValue) {
|
|
305
|
+
this.raw = raw;
|
|
306
|
+
this.transformer = transformer;
|
|
307
|
+
}
|
|
308
|
+
async value() {
|
|
309
|
+
return this.transformer(await this.raw.json());
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
export class VoidApiResponse {
|
|
313
|
+
constructor(raw) {
|
|
314
|
+
this.raw = raw;
|
|
315
|
+
}
|
|
316
|
+
async value() {
|
|
317
|
+
return undefined;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
export class BlobApiResponse {
|
|
321
|
+
constructor(raw) {
|
|
322
|
+
this.raw = raw;
|
|
323
|
+
}
|
|
324
|
+
async value() {
|
|
325
|
+
return await this.raw.blob();
|
|
326
|
+
}
|
|
327
|
+
;
|
|
328
|
+
}
|
|
329
|
+
export class TextApiResponse {
|
|
330
|
+
constructor(raw) {
|
|
331
|
+
this.raw = raw;
|
|
332
|
+
}
|
|
333
|
+
async value() {
|
|
334
|
+
return await this.raw.text();
|
|
335
|
+
}
|
|
336
|
+
;
|
|
337
|
+
}
|
|
338
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify an inbound Stadar webhook signature.
|
|
3
|
+
*
|
|
4
|
+
* @param body the raw HTTP request body. Pass a `Uint8Array` for
|
|
5
|
+
* non-UTF-8 payloads; strings are UTF-8 encoded automatically.
|
|
6
|
+
* @param signature the value of the `X-Stadar-Signature` header. May
|
|
7
|
+
* be the bare hex digest or prefixed with `sha256=`.
|
|
8
|
+
* @param secret the shared webhook secret (the one shown on subscription
|
|
9
|
+
* creation; we never re-display it).
|
|
10
|
+
* @returns `true` iff the signature matches.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { verifySignature } from '@stadar/sdk/webhooks';
|
|
15
|
+
*
|
|
16
|
+
* app.post('/stadar-webhook', async (req, res) => {
|
|
17
|
+
* const ok = await verifySignature(
|
|
18
|
+
* await readRawBody(req),
|
|
19
|
+
* req.headers['x-stadar-signature'] as string,
|
|
20
|
+
* process.env.STADAR_WEBHOOK_SECRET!,
|
|
21
|
+
* );
|
|
22
|
+
* if (!ok) return res.status(401).end();
|
|
23
|
+
* const event = JSON.parse(req.body);
|
|
24
|
+
* // ... handle event
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function verifySignature(body: ArrayBuffer | Uint8Array | string, signature: string, secret: string): Promise<boolean>;
|
|
29
|
+
//# sourceMappingURL=webhooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,eAAe,CACpC,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM,EACvC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAoBlB"}
|
package/dist/webhooks.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// Hand-written webhook signature verification helper — survives
|
|
2
|
+
// openapi-generator regeneration (listed in
|
|
3
|
+
// clients/typescript/.openapi-generator-ignore).
|
|
4
|
+
//
|
|
5
|
+
// Customers receive Stadar outbound webhooks with an HMAC-SHA256
|
|
6
|
+
// signature in the `X-Stadar-Signature` header (mirrors Polar's
|
|
7
|
+
// pattern from ADR-0019). This file ships a thin `verifySignature`
|
|
8
|
+
// that returns Promise<boolean> using the WebCrypto API (available
|
|
9
|
+
// in modern Node + every browser).
|
|
10
|
+
//
|
|
11
|
+
// Constant-time comparison is enforced to prevent timing-oracle
|
|
12
|
+
// attacks on the signature value.
|
|
13
|
+
/**
|
|
14
|
+
* Verify an inbound Stadar webhook signature.
|
|
15
|
+
*
|
|
16
|
+
* @param body the raw HTTP request body. Pass a `Uint8Array` for
|
|
17
|
+
* non-UTF-8 payloads; strings are UTF-8 encoded automatically.
|
|
18
|
+
* @param signature the value of the `X-Stadar-Signature` header. May
|
|
19
|
+
* be the bare hex digest or prefixed with `sha256=`.
|
|
20
|
+
* @param secret the shared webhook secret (the one shown on subscription
|
|
21
|
+
* creation; we never re-display it).
|
|
22
|
+
* @returns `true` iff the signature matches.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* import { verifySignature } from '@stadar/sdk/webhooks';
|
|
27
|
+
*
|
|
28
|
+
* app.post('/stadar-webhook', async (req, res) => {
|
|
29
|
+
* const ok = await verifySignature(
|
|
30
|
+
* await readRawBody(req),
|
|
31
|
+
* req.headers['x-stadar-signature'] as string,
|
|
32
|
+
* process.env.STADAR_WEBHOOK_SECRET!,
|
|
33
|
+
* );
|
|
34
|
+
* if (!ok) return res.status(401).end();
|
|
35
|
+
* const event = JSON.parse(req.body);
|
|
36
|
+
* // ... handle event
|
|
37
|
+
* });
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export async function verifySignature(body, signature, secret) {
|
|
41
|
+
const enc = new TextEncoder();
|
|
42
|
+
const bodyBytes = typeof body === 'string'
|
|
43
|
+
? enc.encode(body)
|
|
44
|
+
: body instanceof Uint8Array
|
|
45
|
+
? body
|
|
46
|
+
: new Uint8Array(body);
|
|
47
|
+
const cleaned = signature.startsWith('sha256=') ? signature.slice('sha256='.length) : signature;
|
|
48
|
+
const key = await crypto.subtle.importKey('raw', enc.encode(secret), { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
|
|
49
|
+
const sigBytes = await crypto.subtle.sign('HMAC', key, bodyBytes);
|
|
50
|
+
const expected = bytesToHex(new Uint8Array(sigBytes));
|
|
51
|
+
return constantTimeEqual(expected, cleaned);
|
|
52
|
+
}
|
|
53
|
+
function bytesToHex(bytes) {
|
|
54
|
+
let out = '';
|
|
55
|
+
for (const b of bytes) {
|
|
56
|
+
out += b.toString(16).padStart(2, '0');
|
|
57
|
+
}
|
|
58
|
+
return out;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Constant-time string comparison. Mismatched lengths still take the
|
|
62
|
+
* full loop pass to avoid a timing leak on length.
|
|
63
|
+
*/
|
|
64
|
+
function constantTimeEqual(a, b) {
|
|
65
|
+
if (a.length !== b.length) {
|
|
66
|
+
// Comparison itself takes constant time relative to the
|
|
67
|
+
// longest; still reveal "wrong length" because we already
|
|
68
|
+
// returned. Acceptable: real attackers know the digest length.
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
let diff = 0;
|
|
72
|
+
for (let i = 0; i < a.length; i++) {
|
|
73
|
+
diff |= a.charCodeAt(i) ^ b.charCodeAt(i);
|
|
74
|
+
}
|
|
75
|
+
return diff === 0;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=webhooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,4CAA4C;AAC5C,iDAAiD;AACjD,EAAE;AACF,iEAAiE;AACjE,gEAAgE;AAChE,mEAAmE;AACnE,mEAAmE;AACnE,mCAAmC;AACnC,EAAE;AACF,gEAAgE;AAChE,kCAAkC;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,IAAuC,EACvC,SAAiB,EACjB,MAAc;IAEd,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;IAC9B,MAAM,SAAS,GACd,OAAO,IAAI,KAAK,QAAQ;QACvB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAClB,CAAC,CAAC,IAAI,YAAY,UAAU;YAC3B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhG,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACxC,KAAK,EACL,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAClB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACR,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtD,OAAO,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB;IACpC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACvB,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,CAAS,EAAE,CAAS;IAC9C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3B,wDAAwD;QACxD,0DAA0D;QAC1D,+DAA+D;QAC/D,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC;AACnB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@stadar/sdk",
|
|
3
|
+
"version": "0.1.7",
|
|
4
|
+
"description": "Official TypeScript SDK for the Stadar esports API (stadar.net)",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"esports",
|
|
7
|
+
"api",
|
|
8
|
+
"stadar",
|
|
9
|
+
"lol",
|
|
10
|
+
"cs2",
|
|
11
|
+
"dota",
|
|
12
|
+
"valorant"
|
|
13
|
+
],
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"author": "Stadar <hello@stadar.net>",
|
|
16
|
+
"homepage": "https://stadar.net/docs/api",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/macgraver/esports-api.git",
|
|
20
|
+
"directory": "clients/typescript"
|
|
21
|
+
},
|
|
22
|
+
"main": "dist/index.js",
|
|
23
|
+
"module": "dist/index.mjs",
|
|
24
|
+
"types": "dist/index.d.ts",
|
|
25
|
+
"exports": {
|
|
26
|
+
".": {
|
|
27
|
+
"import": "./dist/index.js",
|
|
28
|
+
"require": "./dist/index.js",
|
|
29
|
+
"types": "./dist/index.d.ts"
|
|
30
|
+
},
|
|
31
|
+
"./webhooks": {
|
|
32
|
+
"import": "./dist/webhooks.js",
|
|
33
|
+
"require": "./dist/webhooks.js",
|
|
34
|
+
"types": "./dist/webhooks.d.ts"
|
|
35
|
+
},
|
|
36
|
+
"./from_env": {
|
|
37
|
+
"import": "./dist/from_env.js",
|
|
38
|
+
"require": "./dist/from_env.js",
|
|
39
|
+
"types": "./dist/from_env.d.ts"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"files": [
|
|
43
|
+
"dist/",
|
|
44
|
+
"src/",
|
|
45
|
+
"README.md"
|
|
46
|
+
],
|
|
47
|
+
"scripts": {
|
|
48
|
+
"generate-sdks": "bash ../../scripts/generate-sdks.sh",
|
|
49
|
+
"build": "tsc -p tsconfig.json",
|
|
50
|
+
"test": "echo '(@stadar/sdk: tests live in src/test/ once spec lands)'",
|
|
51
|
+
"lint": "echo '(@stadar/sdk: lint deferred until spec lands)'"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"typescript": "5.7.2"
|
|
55
|
+
},
|
|
56
|
+
"engines": {
|
|
57
|
+
"node": ">=18"
|
|
58
|
+
},
|
|
59
|
+
"sideEffects": false
|
|
60
|
+
}
|