@apicity/openligadb 0.6.0

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.
@@ -0,0 +1,196 @@
1
+ // Auto-generated by `pnpm run gen:examples` — do not edit by hand.
2
+ // Source: tests/recordings/<provider>_*/<test>_*/recording.har, plus static
3
+ // examples for providers that intentionally avoid live-network recordings.
4
+ //
5
+ // Each entry is a green-path payload for one endpoint. `attachExamples`
6
+ // walks the provider tree and hangs the matching entry off each endpoint
7
+ // function as `.example`.
8
+ const EXAMPLES = {
9
+ "GET getavailablegroups": {
10
+ "source": "static:openligadb-public-catalog",
11
+ "payload": {
12
+ "leagueShortcut": "bl1",
13
+ "leagueSeason": 2024
14
+ }
15
+ },
16
+ "GET getavailableleagues": {
17
+ "source": "static:openligadb-public-catalog",
18
+ "payload": {}
19
+ },
20
+ "GET getavailableleagues.bySeason": {
21
+ "source": "static:openligadb-public-catalog",
22
+ "payload": {
23
+ "season": 2024
24
+ }
25
+ },
26
+ "GET getavailablesports": {
27
+ "source": "static:openligadb-public-catalog",
28
+ "payload": {}
29
+ },
30
+ "GET getavailableteams": {
31
+ "source": "static:openligadb-public-catalog",
32
+ "payload": {
33
+ "leagueShortcut": "bl1",
34
+ "leagueSeason": 2024
35
+ }
36
+ },
37
+ "GET getbltable": {
38
+ "source": "static:openligadb-standings",
39
+ "payload": {
40
+ "leagueShortcut": "bl1",
41
+ "leagueSeason": 2024
42
+ }
43
+ },
44
+ "GET getcurrentgroup": {
45
+ "source": "static:openligadb-public-catalog",
46
+ "payload": {
47
+ "leagueShortcut": "bl1"
48
+ }
49
+ },
50
+ "GET getgoalgetters": {
51
+ "source": "static:openligadb-scorers",
52
+ "payload": {
53
+ "leagueShortcut": "bl1",
54
+ "leagueSeason": 2024
55
+ }
56
+ },
57
+ "GET getgrouptable": {
58
+ "source": "static:openligadb-standings",
59
+ "payload": {
60
+ "leagueShortcut": "bl1",
61
+ "leagueSeason": 2024
62
+ }
63
+ },
64
+ "GET getlastchangedate": {
65
+ "source": "static:openligadb-public-catalog",
66
+ "payload": {
67
+ "leagueShortcut": "bl1",
68
+ "leagueSeason": 2024,
69
+ "groupOrderId": 1
70
+ }
71
+ },
72
+ "GET getmatchdata.byId": {
73
+ "source": "static:openligadb-matchdata",
74
+ "payload": {
75
+ "matchId": 68720
76
+ }
77
+ },
78
+ "GET getmatchdata.byLeagueSeason": {
79
+ "source": "static:openligadb-matchdata",
80
+ "payload": {
81
+ "leagueShortcut": "bl1",
82
+ "leagueSeason": 2024
83
+ }
84
+ },
85
+ "GET getmatchdata.byLeagueSeasonGroup": {
86
+ "source": "static:openligadb-matchdata",
87
+ "payload": {
88
+ "leagueShortcut": "bl1",
89
+ "leagueSeason": 2024,
90
+ "groupOrderId": 1
91
+ }
92
+ },
93
+ "GET getmatchdata.byLeagueSeasonTeam": {
94
+ "source": "static:openligadb-matchdata",
95
+ "payload": {
96
+ "leagueShortcut": "bl1",
97
+ "leagueSeason": 2024,
98
+ "teamFilterstring": "Bayern"
99
+ }
100
+ },
101
+ "GET getmatchdata.byTeams": {
102
+ "source": "static:openligadb-matchdata",
103
+ "payload": {
104
+ "teamId1": 16,
105
+ "teamId2": 40
106
+ }
107
+ },
108
+ "GET getresultinfos": {
109
+ "source": "static:openligadb-public-catalog",
110
+ "payload": {
111
+ "leagueId": 4500
112
+ }
113
+ },
114
+ "GET swagger.v1.swaggerJson": {
115
+ "source": "static:openligadb-openapi-document",
116
+ "payload": {}
117
+ }
118
+ };
119
+ export default EXAMPLES;
120
+ // Walks each "<METHOD> <dotPath>" key onto the provider's tree. Tries the
121
+ // standard `provider.<method>.<dotPath>` shape first, then a few fallbacks
122
+ // to cover providers with non-standard layouts (fal's `.run.` namespace,
123
+ // kie's sub-providers, `free`'s flat root). Returns the same provider for
124
+ // drop-in use as `return attachExamples({ ... });`.
125
+ export function attachExamples(provider) {
126
+ const root = provider;
127
+ const HTTP_KEYS = new Set(["post", "get", "put", "delete", "patch", "head"]);
128
+ for (const [key, example] of Object.entries(EXAMPLES)) {
129
+ const sp = key.indexOf(" ");
130
+ if (sp < 0)
131
+ continue;
132
+ const method = key.slice(0, sp).toLowerCase();
133
+ const segs = key.slice(sp + 1).split(".");
134
+ const candidates = [
135
+ root[method],
136
+ root[method]?.run,
137
+ root,
138
+ ];
139
+ if (segs.length > 1) {
140
+ const sub = root[segs[0]];
141
+ if (sub && typeof sub === "object") {
142
+ const subMethod = sub[method];
143
+ if (subMethod)
144
+ candidates.push({ __nested: subMethod, __segs: segs.slice(1) });
145
+ }
146
+ }
147
+ let attached = false;
148
+ for (const c of candidates) {
149
+ const fn = walkToFn(c, segs);
150
+ if (fn) {
151
+ Object.assign(fn, { example });
152
+ attached = true;
153
+ break;
154
+ }
155
+ }
156
+ if (attached)
157
+ continue;
158
+ for (const k of Object.keys(root)) {
159
+ if (HTTP_KEYS.has(k))
160
+ continue;
161
+ if (!segs.includes(k))
162
+ continue;
163
+ const sub = root[k];
164
+ if (!sub || typeof sub !== "object")
165
+ continue;
166
+ const subMethod = sub[method];
167
+ if (!subMethod)
168
+ continue;
169
+ const fn = walkToFn(subMethod, segs);
170
+ if (fn) {
171
+ Object.assign(fn, { example });
172
+ break;
173
+ }
174
+ }
175
+ }
176
+ return provider;
177
+ }
178
+ function walkToFn(start, segs) {
179
+ if (start && typeof start === "object" && "__nested" in start) {
180
+ const wrapper = start;
181
+ return walkToFn(wrapper.__nested, wrapper.__segs);
182
+ }
183
+ let cur = start;
184
+ for (const seg of segs) {
185
+ if (cur === null || cur === undefined)
186
+ return null;
187
+ const t = typeof cur;
188
+ if (t !== "object" && t !== "function")
189
+ return null;
190
+ cur = cur[seg];
191
+ }
192
+ return typeof cur === "function"
193
+ ? cur
194
+ : null;
195
+ }
196
+ //# sourceMappingURL=example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.js","sourceRoot":"","sources":["../../src/example.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export { createOpenLigaDB } from "./openligadb.js";
2
+ export { buildOpenLigaDBPath, buildOpenLigaDBQuery, createOpenLigaDBRequest, encodeOpenLigaDBPathSegment, } from "./openligadb.js";
3
+ export { OpenLigaDBError } from "./types.js";
4
+ export type { OpenLigaDBAvailableGroupsMethod, OpenLigaDBAvailableGroupsResponse, OpenLigaDBAvailableLeaguesMethod, OpenLigaDBAvailableLeaguesResponse, OpenLigaDBAvailableSportsMethod, OpenLigaDBAvailableSportsResponse, OpenLigaDBAvailableTeamsMethod, OpenLigaDBAvailableTeamsResponse, OpenLigaDBBlTableMethod, OpenLigaDBBlTableResponse, OpenLigaDBBlTableTeam, OpenLigaDBCurrentGroupMethod, OpenLigaDBCurrentGroupRequest, OpenLigaDBCurrentGroupResponse, OpenLigaDBGetNamespace, OpenLigaDBGetMatchdataNamespace, OpenLigaDBGlobalResultInfo, OpenLigaDBGoal, OpenLigaDBGoalGettersMethod, OpenLigaDBGoalGettersResponse, OpenLigaDBGoalGetter, OpenLigaDBGroup, OpenLigaDBJsonObject, OpenLigaDBLastChangeDateMethod, OpenLigaDBLastChangeDateRequest, OpenLigaDBLastChangeDateResponse, OpenLigaDBLastMatchByLeagueShortcutMethod, OpenLigaDBLastMatchByLeagueShortcutRequest, OpenLigaDBLastMatchByLeagueShortcutResponse, OpenLigaDBLastMatchByLeagueTeamMethod, OpenLigaDBLastMatchByLeagueTeamRequest, OpenLigaDBLastMatchByLeagueTeamResponse, OpenLigaDBLeague, OpenLigaDBLeagueShortcutRequest, OpenLigaDBLeagueSeasonRequest, OpenLigaDBLeagueTeamRequest, OpenLigaDBLocation, OpenLigaDBMatch, OpenLigaDBMatchByIdMethod, OpenLigaDBMatchByIdRequest, OpenLigaDBMatchByIdResponse, OpenLigaDBMatchesByTeamIdMethod, OpenLigaDBMatchesByTeamIdRequest, OpenLigaDBMatchesByTeamIdResponse, OpenLigaDBMatchesByTeamMethod, OpenLigaDBMatchesByTeamRequest, OpenLigaDBMatchesByTeamResponse, OpenLigaDBMatchesByLeagueSeasonGroupMethod, OpenLigaDBMatchesByLeagueSeasonGroupRequest, OpenLigaDBMatchesByLeagueSeasonGroupResponse, OpenLigaDBMatchesByLeagueSeasonMethod, OpenLigaDBMatchesByLeagueSeasonRequest, OpenLigaDBMatchesByLeagueSeasonResponse, OpenLigaDBMatchesByLeagueSeasonTeamMethod, OpenLigaDBMatchesByLeagueSeasonTeamRequest, OpenLigaDBMatchesByLeagueSeasonTeamResponse, OpenLigaDBMatchesByTeamsMethod, OpenLigaDBMatchesByTeamsRequest, OpenLigaDBMatchesByTeamsResponse, OpenLigaDBMatchResult, OpenLigaDBMethod, OpenLigaDBNextMatchByLeagueShortcutMethod, OpenLigaDBNextMatchByLeagueShortcutRequest, OpenLigaDBNextMatchByLeagueShortcutResponse, OpenLigaDBNextMatchByLeagueTeamMethod, OpenLigaDBNextMatchByLeagueTeamRequest, OpenLigaDBNextMatchByLeagueTeamResponse, OpenLigaDBNoRequestMethod, OpenLigaDBOptions, OpenLigaDBPathSegment, OpenLigaDBProvider, OpenLigaDBQueryValue, OpenLigaDBRequestFunction, OpenLigaDBRequestMethod, OpenLigaDBRequestOptions, OpenLigaDBResultInfo, OpenLigaDBResultInfosMethod, OpenLigaDBResultInfosRequest, OpenLigaDBResultInfosResponse, OpenLigaDBSeasonRequest, OpenLigaDBSport, OpenLigaDBSwaggerDocument, OpenLigaDBSwaggerJsonMethod, OpenLigaDBSwaggerNamespace, OpenLigaDBSwaggerV1Namespace, OpenLigaDBTeam, } from "./types.js";
5
+ export { OpenLigaDBBlTableResponseSchema, OpenLigaDBBlTableTeamSchema, OpenLigaDBCurrentGroupRequestSchema, OpenLigaDBGoalGettersResponseSchema, OpenLigaDBGoalGetterSchema, OpenLigaDBGoalSchema, OpenLigaDBGlobalResultInfoSchema, OpenLigaDBGroupSchema, OpenLigaDBLastChangeDateRequestSchema, OpenLigaDBLastMatchByLeagueShortcutRequestSchema, OpenLigaDBLastMatchByLeagueTeamRequestSchema, OpenLigaDBLeagueSchema, OpenLigaDBLeagueShortcutRequestSchema, OpenLigaDBLeagueSeasonRequestSchema, OpenLigaDBLeagueTeamRequestSchema, OpenLigaDBLocationSchema, OpenLigaDBMatchByIdRequestSchema, OpenLigaDBMatchesByTeamIdRequestSchema, OpenLigaDBMatchesByTeamRequestSchema, OpenLigaDBMatchesByLeagueSeasonGroupRequestSchema, OpenLigaDBMatchesByLeagueSeasonRequestSchema, OpenLigaDBMatchesByLeagueSeasonTeamRequestSchema, OpenLigaDBMatchesByTeamsRequestSchema, OpenLigaDBMatchResultSchema, OpenLigaDBMatchSchema, OpenLigaDBNextMatchByLeagueShortcutRequestSchema, OpenLigaDBNextMatchByLeagueTeamRequestSchema, OpenLigaDBOptionsSchema, OpenLigaDBResultInfoSchema, OpenLigaDBResultInfosRequestSchema, OpenLigaDBSeasonRequestSchema, OpenLigaDBSportSchema, OpenLigaDBSwaggerDocumentSchema, OpenLigaDBTeamSchema, } from "./zod.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,YAAY,EACV,+BAA+B,EAC/B,iCAAiC,EACjC,gCAAgC,EAChC,kCAAkC,EAClC,+BAA+B,EAC/B,iCAAiC,EACjC,8BAA8B,EAC9B,gCAAgC,EAChC,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,sBAAsB,EACtB,+BAA+B,EAC/B,0BAA0B,EAC1B,cAAc,EACd,2BAA2B,EAC3B,6BAA6B,EAC7B,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,yCAAyC,EACzC,0CAA0C,EAC1C,2CAA2C,EAC3C,qCAAqC,EACrC,sCAAsC,EACtC,uCAAuC,EACvC,gBAAgB,EAChB,+BAA+B,EAC/B,6BAA6B,EAC7B,2BAA2B,EAC3B,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,EAC/B,gCAAgC,EAChC,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,0CAA0C,EAC1C,2CAA2C,EAC3C,4CAA4C,EAC5C,qCAAqC,EACrC,sCAAsC,EACtC,uCAAuC,EACvC,yCAAyC,EACzC,0CAA0C,EAC1C,2CAA2C,EAC3C,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,qBAAqB,EACrB,gBAAgB,EAChB,yCAAyC,EACzC,0CAA0C,EAC1C,2CAA2C,EAC3C,qCAAqC,EACrC,sCAAsC,EACtC,uCAAuC,EACvC,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,uBAAuB,EACvB,eAAe,EACf,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,cAAc,GACf,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,mCAAmC,EACnC,mCAAmC,EACnC,0BAA0B,EAC1B,oBAAoB,EACpB,gCAAgC,EAChC,qBAAqB,EACrB,qCAAqC,EACrC,gDAAgD,EAChD,4CAA4C,EAC5C,sBAAsB,EACtB,qCAAqC,EACrC,mCAAmC,EACnC,iCAAiC,EACjC,wBAAwB,EACxB,gCAAgC,EAChC,sCAAsC,EACtC,oCAAoC,EACpC,iDAAiD,EACjD,4CAA4C,EAC5C,gDAAgD,EAChD,qCAAqC,EACrC,2BAA2B,EAC3B,qBAAqB,EACrB,gDAAgD,EAChD,4CAA4C,EAC5C,uBAAuB,EACvB,0BAA0B,EAC1B,kCAAkC,EAClC,6BAA6B,EAC7B,qBAAqB,EACrB,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,OAAO,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { createOpenLigaDB } from "./openligadb.js";
2
+ export { buildOpenLigaDBPath, buildOpenLigaDBQuery, createOpenLigaDBRequest, encodeOpenLigaDBPathSegment, } from "./openligadb.js";
3
+ export { OpenLigaDBError } from "./types.js";
4
+ export { OpenLigaDBBlTableResponseSchema, OpenLigaDBBlTableTeamSchema, OpenLigaDBCurrentGroupRequestSchema, OpenLigaDBGoalGettersResponseSchema, OpenLigaDBGoalGetterSchema, OpenLigaDBGoalSchema, OpenLigaDBGlobalResultInfoSchema, OpenLigaDBGroupSchema, OpenLigaDBLastChangeDateRequestSchema, OpenLigaDBLastMatchByLeagueShortcutRequestSchema, OpenLigaDBLastMatchByLeagueTeamRequestSchema, OpenLigaDBLeagueSchema, OpenLigaDBLeagueShortcutRequestSchema, OpenLigaDBLeagueSeasonRequestSchema, OpenLigaDBLeagueTeamRequestSchema, OpenLigaDBLocationSchema, OpenLigaDBMatchByIdRequestSchema, OpenLigaDBMatchesByTeamIdRequestSchema, OpenLigaDBMatchesByTeamRequestSchema, OpenLigaDBMatchesByLeagueSeasonGroupRequestSchema, OpenLigaDBMatchesByLeagueSeasonRequestSchema, OpenLigaDBMatchesByLeagueSeasonTeamRequestSchema, OpenLigaDBMatchesByTeamsRequestSchema, OpenLigaDBMatchResultSchema, OpenLigaDBMatchSchema, OpenLigaDBNextMatchByLeagueShortcutRequestSchema, OpenLigaDBNextMatchByLeagueTeamRequestSchema, OpenLigaDBOptionsSchema, OpenLigaDBResultInfoSchema, OpenLigaDBResultInfosRequestSchema, OpenLigaDBSeasonRequestSchema, OpenLigaDBSportSchema, OpenLigaDBSwaggerDocumentSchema, OpenLigaDBTeamSchema, } from "./zod.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA2F1C,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,mCAAmC,EACnC,mCAAmC,EACnC,0BAA0B,EAC1B,oBAAoB,EACpB,gCAAgC,EAChC,qBAAqB,EACrB,qCAAqC,EACrC,gDAAgD,EAChD,4CAA4C,EAC5C,sBAAsB,EACtB,qCAAqC,EACrC,mCAAmC,EACnC,iCAAiC,EACjC,wBAAwB,EACxB,gCAAgC,EAChC,sCAAsC,EACtC,oCAAoC,EACpC,iDAAiD,EACjD,4CAA4C,EAC5C,gDAAgD,EAChD,qCAAqC,EACrC,2BAA2B,EAC3B,qBAAqB,EACrB,gDAAgD,EAChD,4CAA4C,EAC5C,uBAAuB,EACvB,0BAA0B,EAC1B,kCAAkC,EAClC,6BAA6B,EAC7B,qBAAqB,EACrB,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,OAAO,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { OpenLigaDBOptions, OpenLigaDBPathSegment, OpenLigaDBProvider, OpenLigaDBQueryValue, OpenLigaDBRequestFunction } from "./types.js";
2
+ export declare function createOpenLigaDB(opts?: OpenLigaDBOptions): OpenLigaDBProvider;
3
+ export declare function createOpenLigaDBRequest(opts?: OpenLigaDBOptions): OpenLigaDBRequestFunction;
4
+ export declare function buildOpenLigaDBPath(...segments: readonly OpenLigaDBPathSegment[]): string;
5
+ export declare function encodeOpenLigaDBPathSegment(segment: OpenLigaDBPathSegment): string;
6
+ export declare function buildOpenLigaDBQuery(params: Record<string, OpenLigaDBQueryValue>): string;
7
+ //# sourceMappingURL=openligadb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openligadb.d.ts","sourceRoot":"","sources":["../../src/openligadb.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAsBV,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EAQ1B,MAAM,SAAS,CAAC;AAqBjB,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,kBAAkB,CAmb7E;AAED,wBAAgB,uBAAuB,CACrC,IAAI,CAAC,EAAE,iBAAiB,GACvB,yBAAyB,CA8D3B;AAED,wBAAgB,mBAAmB,CACjC,GAAG,QAAQ,EAAE,SAAS,qBAAqB,EAAE,GAC5C,MAAM,CAER;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,qBAAqB,GAC7B,MAAM,CAER;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAC3C,MAAM,CAgBR"}
@@ -0,0 +1,403 @@
1
+ import { OpenLigaDBError } from "./types.js";
2
+ import { OpenLigaDBCurrentGroupRequestSchema, OpenLigaDBLastChangeDateRequestSchema, OpenLigaDBLastMatchByLeagueShortcutRequestSchema, OpenLigaDBLastMatchByLeagueTeamRequestSchema, OpenLigaDBLeagueSeasonRequestSchema, OpenLigaDBMatchByIdRequestSchema, OpenLigaDBMatchesByTeamIdRequestSchema, OpenLigaDBMatchesByTeamRequestSchema, OpenLigaDBMatchesByLeagueSeasonGroupRequestSchema, OpenLigaDBMatchesByLeagueSeasonRequestSchema, OpenLigaDBMatchesByLeagueSeasonTeamRequestSchema, OpenLigaDBMatchesByTeamsRequestSchema, OpenLigaDBNextMatchByLeagueShortcutRequestSchema, OpenLigaDBNextMatchByLeagueTeamRequestSchema, OpenLigaDBResultInfosRequestSchema, OpenLigaDBSeasonRequestSchema, } from "./zod.js";
3
+ import { attachExamples } from "./example.js";
4
+ export function createOpenLigaDB(opts) {
5
+ const request = createOpenLigaDBRequest(opts);
6
+ // sig-ok: OpenAPI document filename maps to the camelCase swaggerJson method.
7
+ // GET https://api.openligadb.de/swagger/v1/swagger.json
8
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
9
+ const swaggerJson = Object.assign(async (signal) => {
10
+ return request({
11
+ method: "GET",
12
+ path: ["swagger", "v1", "swagger.json"],
13
+ signal,
14
+ });
15
+ }, { schema: undefined });
16
+ // GET https://api.openligadb.de/getavailablesports
17
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
18
+ const getavailablesports = Object.assign(async (signal) => {
19
+ return request({
20
+ method: "GET",
21
+ path: ["getavailablesports"],
22
+ signal,
23
+ });
24
+ }, { schema: undefined });
25
+ // GET https://api.openligadb.de/getavailableleagues
26
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
27
+ const getavailableleaguesBase = Object.assign(async (signal) => {
28
+ return request({
29
+ method: "GET",
30
+ path: ["getavailableleagues"],
31
+ signal,
32
+ });
33
+ }, { schema: undefined });
34
+ // sig-ok: OpenLigaDB season overload hangs off getavailableleagues.
35
+ // GET https://api.openligadb.de/getavailableleagues/{season}
36
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
37
+ const getavailableleaguesBySeason = Object.assign(async (req, signal) => {
38
+ return request({
39
+ method: "GET",
40
+ path: ["getavailableleagues", req.season],
41
+ signal,
42
+ });
43
+ }, { schema: OpenLigaDBSeasonRequestSchema });
44
+ const getavailableleagues = Object.assign(getavailableleaguesBase, {
45
+ bySeason: getavailableleaguesBySeason,
46
+ });
47
+ // GET https://api.openligadb.de/getavailablegroups/{leagueShortcut}/{leagueSeason}
48
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
49
+ const getavailablegroups = Object.assign(async (req, signal) => {
50
+ return request({
51
+ method: "GET",
52
+ path: ["getavailablegroups", req.leagueShortcut, req.leagueSeason],
53
+ signal,
54
+ });
55
+ }, { schema: OpenLigaDBLeagueSeasonRequestSchema });
56
+ // GET https://api.openligadb.de/getcurrentgroup/{leagueShortcut}
57
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
58
+ const getcurrentgroup = Object.assign(async (req, signal) => {
59
+ return request({
60
+ method: "GET",
61
+ path: ["getcurrentgroup", req.leagueShortcut],
62
+ signal,
63
+ });
64
+ }, { schema: OpenLigaDBCurrentGroupRequestSchema });
65
+ // GET https://api.openligadb.de/getlastchangedate/{leagueShortcut}/{leagueSeason}/{groupOrderId}
66
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
67
+ const getlastchangedate = Object.assign(async (req, signal) => {
68
+ return request({
69
+ method: "GET",
70
+ path: [
71
+ "getlastchangedate",
72
+ req.leagueShortcut,
73
+ req.leagueSeason,
74
+ req.groupOrderId,
75
+ ],
76
+ signal,
77
+ });
78
+ }, { schema: OpenLigaDBLastChangeDateRequestSchema });
79
+ // GET https://api.openligadb.de/getresultinfos/{leagueId}
80
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
81
+ const getresultinfos = Object.assign(async (req, signal) => {
82
+ return request({
83
+ method: "GET",
84
+ path: ["getresultinfos", req.leagueId],
85
+ signal,
86
+ });
87
+ }, { schema: OpenLigaDBResultInfosRequestSchema });
88
+ // GET https://api.openligadb.de/getavailableteams/{leagueShortcut}/{leagueSeason}
89
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
90
+ const getavailableteams = Object.assign(async (req, signal) => {
91
+ return request({
92
+ method: "GET",
93
+ path: ["getavailableteams", req.leagueShortcut, req.leagueSeason],
94
+ signal,
95
+ });
96
+ }, { schema: OpenLigaDBLeagueSeasonRequestSchema });
97
+ // GET https://api.openligadb.de/getnextmatchbyleagueteam/{leagueId}/{teamId}
98
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
99
+ const getnextmatchbyleagueteam = Object.assign(async (req, signal) => {
100
+ return request({
101
+ method: "GET",
102
+ path: ["getnextmatchbyleagueteam", req.leagueId, req.teamId],
103
+ signal,
104
+ });
105
+ }, { schema: OpenLigaDBNextMatchByLeagueTeamRequestSchema });
106
+ // GET https://api.openligadb.de/getnextmatchbyleagueshortcut/{leagueShortcut}
107
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
108
+ const getnextmatchbyleagueshortcut = Object.assign(async (req, signal) => {
109
+ return request({
110
+ method: "GET",
111
+ path: ["getnextmatchbyleagueshortcut", req.leagueShortcut],
112
+ signal,
113
+ });
114
+ }, { schema: OpenLigaDBNextMatchByLeagueShortcutRequestSchema });
115
+ // GET https://api.openligadb.de/getlastmatchbyleagueshortcut/{leagueShortcut}
116
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
117
+ const getlastmatchbyleagueshortcut = Object.assign(async (req, signal) => {
118
+ return request({
119
+ method: "GET",
120
+ path: ["getlastmatchbyleagueshortcut", req.leagueShortcut],
121
+ signal,
122
+ });
123
+ }, { schema: OpenLigaDBLastMatchByLeagueShortcutRequestSchema });
124
+ // GET https://api.openligadb.de/getlastmatchbyleagueteam/{leagueId}/{teamId}
125
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
126
+ const getlastmatchbyleagueteam = Object.assign(async (req, signal) => {
127
+ return request({
128
+ method: "GET",
129
+ path: ["getlastmatchbyleagueteam", req.leagueId, req.teamId],
130
+ signal,
131
+ });
132
+ }, { schema: OpenLigaDBLastMatchByLeagueTeamRequestSchema });
133
+ // GET https://api.openligadb.de/getmatchesbyteam/{teamFilterstring}/{weekCountPast}/{weekCountFuture}
134
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
135
+ const getmatchesbyteam = Object.assign(async (req, signal) => {
136
+ return request({
137
+ method: "GET",
138
+ path: [
139
+ "getmatchesbyteam",
140
+ req.teamFilterstring,
141
+ req.weekCountPast,
142
+ req.weekCountFuture,
143
+ ],
144
+ signal,
145
+ });
146
+ }, { schema: OpenLigaDBMatchesByTeamRequestSchema });
147
+ // GET https://api.openligadb.de/getmatchesbyteamid/{teamId}/{weekCountPast}/{weekCountFuture}
148
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
149
+ const getmatchesbyteamid = Object.assign(async (req, signal) => {
150
+ return request({
151
+ method: "GET",
152
+ path: [
153
+ "getmatchesbyteamid",
154
+ req.teamId,
155
+ req.weekCountPast,
156
+ req.weekCountFuture,
157
+ ],
158
+ signal,
159
+ });
160
+ }, { schema: OpenLigaDBMatchesByTeamIdRequestSchema });
161
+ // sig-ok: OpenLigaDB getmatchdata overload split into typed callables
162
+ // GET https://api.openligadb.de/getmatchdata/{matchId}
163
+ // Docs: https://api.openligadb.de/swagger/index.html
164
+ const byId = Object.assign(async (req, signal) => {
165
+ return request({
166
+ method: "GET",
167
+ path: ["getmatchdata", req.matchId],
168
+ signal,
169
+ });
170
+ }, { schema: OpenLigaDBMatchByIdRequestSchema });
171
+ // sig-ok: OpenLigaDB getmatchdata overload split into typed callables
172
+ // GET https://api.openligadb.de/getmatchdata/{leagueShortcut}/{leagueSeason}
173
+ // Docs: https://api.openligadb.de/swagger/index.html
174
+ const byLeagueSeason = Object.assign(async (req, signal) => {
175
+ return request({
176
+ method: "GET",
177
+ path: ["getmatchdata", req.leagueShortcut, req.leagueSeason],
178
+ signal,
179
+ });
180
+ }, { schema: OpenLigaDBMatchesByLeagueSeasonRequestSchema });
181
+ // sig-ok: OpenLigaDB getmatchdata overload split into typed callables
182
+ // GET https://api.openligadb.de/getmatchdata/{leagueShortcut}/{leagueSeason}/{groupOrderId}
183
+ // Docs: https://api.openligadb.de/swagger/index.html
184
+ const byLeagueSeasonGroup = Object.assign(async (req, signal) => {
185
+ return request({
186
+ method: "GET",
187
+ path: [
188
+ "getmatchdata",
189
+ req.leagueShortcut,
190
+ req.leagueSeason,
191
+ req.groupOrderId,
192
+ ],
193
+ signal,
194
+ });
195
+ }, { schema: OpenLigaDBMatchesByLeagueSeasonGroupRequestSchema });
196
+ // sig-ok: OpenLigaDB getmatchdata overload split into typed callables
197
+ // GET https://api.openligadb.de/getmatchdata/{leagueShortcut}/{leagueSeason}/{teamFilterstring}
198
+ // Docs: https://api.openligadb.de/swagger/index.html
199
+ const byLeagueSeasonTeam = Object.assign(async (req, signal) => {
200
+ return request({
201
+ method: "GET",
202
+ path: [
203
+ "getmatchdata",
204
+ req.leagueShortcut,
205
+ req.leagueSeason,
206
+ req.teamFilterstring,
207
+ ],
208
+ signal,
209
+ });
210
+ }, { schema: OpenLigaDBMatchesByLeagueSeasonTeamRequestSchema });
211
+ // sig-ok: OpenLigaDB getmatchdata overload split into typed callables
212
+ // GET https://api.openligadb.de/getmatchdata/{teamId1}/{teamId2}
213
+ // Docs: https://api.openligadb.de/swagger/index.html
214
+ const byTeams = Object.assign(async (req, signal) => {
215
+ return request({
216
+ method: "GET",
217
+ path: ["getmatchdata", req.teamId1, req.teamId2],
218
+ signal,
219
+ });
220
+ }, { schema: OpenLigaDBMatchesByTeamsRequestSchema });
221
+ // GET https://api.openligadb.de/getbltable/{leagueShortcut}/{leagueSeason}
222
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
223
+ const getbltable = Object.assign(async (req, signal) => {
224
+ return request({
225
+ method: "GET",
226
+ path: ["getbltable", req.leagueShortcut, req.leagueSeason],
227
+ signal,
228
+ });
229
+ }, { schema: OpenLigaDBLeagueSeasonRequestSchema });
230
+ // GET https://api.openligadb.de/getgrouptable/{leagueShortcut}/{leagueSeason}
231
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
232
+ const getgrouptable = Object.assign(async (req, signal) => {
233
+ return request({
234
+ method: "GET",
235
+ path: ["getgrouptable", req.leagueShortcut, req.leagueSeason],
236
+ signal,
237
+ });
238
+ }, { schema: OpenLigaDBLeagueSeasonRequestSchema });
239
+ // GET https://api.openligadb.de/getgoalgetters/{leagueShortcut}/{leagueSeason}
240
+ // Docs: https://api.openligadb.de/swagger/v1/swagger.json
241
+ const getgoalgetters = Object.assign(async (req, signal) => {
242
+ return request({
243
+ method: "GET",
244
+ path: ["getgoalgetters", req.leagueShortcut, req.leagueSeason],
245
+ signal,
246
+ });
247
+ }, { schema: OpenLigaDBLeagueSeasonRequestSchema });
248
+ const get = {
249
+ getbltable,
250
+ getgrouptable,
251
+ getgoalgetters,
252
+ };
253
+ return attachExamples({
254
+ swagger: {
255
+ v1: {
256
+ swaggerJson,
257
+ },
258
+ },
259
+ getavailablesports,
260
+ getavailableleagues,
261
+ getavailablegroups,
262
+ getcurrentgroup,
263
+ getlastchangedate,
264
+ getresultinfos,
265
+ getavailableteams,
266
+ getbltable,
267
+ getgrouptable,
268
+ getgoalgetters,
269
+ getnextmatchbyleagueteam,
270
+ getnextmatchbyleagueshortcut,
271
+ getlastmatchbyleagueshortcut,
272
+ getlastmatchbyleagueteam,
273
+ getmatchesbyteam,
274
+ getmatchesbyteamid,
275
+ get,
276
+ getmatchdata: {
277
+ byId,
278
+ byLeagueSeason,
279
+ byLeagueSeasonGroup,
280
+ byLeagueSeasonTeam,
281
+ byTeams,
282
+ },
283
+ });
284
+ }
285
+ export function createOpenLigaDBRequest(opts) {
286
+ const baseURL = (opts?.baseURL ?? "https://api.openligadb.de").replace(/\/+$/, "");
287
+ const doFetch = opts?.fetch ?? fetch;
288
+ const timeout = opts?.timeout ?? 30000;
289
+ return async function request(options) {
290
+ const method = options.method ?? "GET";
291
+ const pathInput = options.path;
292
+ const path = isOpenLigaDBPathSegments(pathInput)
293
+ ? buildOpenLigaDBPath(...pathInput)
294
+ : normalizeOpenLigaDBPath(pathInput);
295
+ const query = buildOpenLigaDBQuery(options.query ?? {});
296
+ const controller = new AbortController();
297
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
298
+ if (options.signal) {
299
+ attachAbortHandler(options.signal, controller);
300
+ }
301
+ try {
302
+ const headers = {};
303
+ const init = {
304
+ method,
305
+ headers,
306
+ signal: controller.signal,
307
+ };
308
+ if (options.body !== undefined) {
309
+ headers["Content-Type"] = "application/json";
310
+ init.body = JSON.stringify(options.body);
311
+ }
312
+ const res = await doFetch(`${baseURL}${path}${query}`, init);
313
+ clearTimeout(timeoutId);
314
+ const body = await readResponseBody(res, options.emptyResponse);
315
+ if (!res.ok) {
316
+ throw new OpenLigaDBError(formatErrorMessage(res.status, body), res.status, body);
317
+ }
318
+ return body;
319
+ }
320
+ catch (error) {
321
+ clearTimeout(timeoutId);
322
+ if (error instanceof OpenLigaDBError) {
323
+ throw error;
324
+ }
325
+ throw new OpenLigaDBError(`OpenLigaDB request failed: ${formatThrown(error)}`, 500);
326
+ }
327
+ };
328
+ }
329
+ export function buildOpenLigaDBPath(...segments) {
330
+ return `/${segments.map(encodeOpenLigaDBPathSegment).join("/")}`;
331
+ }
332
+ export function encodeOpenLigaDBPathSegment(segment) {
333
+ return encodeURIComponent(String(segment));
334
+ }
335
+ export function buildOpenLigaDBQuery(params) {
336
+ const qs = new URLSearchParams();
337
+ for (const [key, value] of Object.entries(params)) {
338
+ if (value === undefined || value === null) {
339
+ continue;
340
+ }
341
+ if (Array.isArray(value)) {
342
+ for (const item of value) {
343
+ qs.append(key, String(item));
344
+ }
345
+ continue;
346
+ }
347
+ qs.append(key, String(value));
348
+ }
349
+ const query = qs.toString();
350
+ return query ? `?${query}` : "";
351
+ }
352
+ function normalizeOpenLigaDBPath(path) {
353
+ return path.startsWith("/") ? path : `/${path}`;
354
+ }
355
+ function isOpenLigaDBPathSegments(path) {
356
+ return Array.isArray(path);
357
+ }
358
+ function attachAbortHandler(signal, controller) {
359
+ if (signal.aborted) {
360
+ controller.abort();
361
+ return;
362
+ }
363
+ signal.addEventListener("abort", () => controller.abort(), { once: true });
364
+ }
365
+ async function readResponseBody(res, emptyResponse) {
366
+ const text = await res.text();
367
+ if (text.length === 0) {
368
+ return emptyResponse ?? null;
369
+ }
370
+ try {
371
+ return JSON.parse(text);
372
+ }
373
+ catch {
374
+ return text;
375
+ }
376
+ }
377
+ function formatErrorMessage(status, body) {
378
+ if (typeof body === "object" && body !== null) {
379
+ const b = body;
380
+ if (b.message) {
381
+ return `OpenLigaDB API error ${status}: ${b.message}`;
382
+ }
383
+ if (b.title) {
384
+ return `OpenLigaDB API error ${status}: ${b.title}`;
385
+ }
386
+ if (typeof b.error === "string") {
387
+ return `OpenLigaDB API error ${status}: ${b.error}`;
388
+ }
389
+ if (typeof b.error === "object" && b.error?.message) {
390
+ return `OpenLigaDB API error ${status}: ${b.error.message}`;
391
+ }
392
+ }
393
+ if (typeof body === "string" && body.length > 0) {
394
+ return `OpenLigaDB API error ${status}: ${body}`;
395
+ }
396
+ return `OpenLigaDB API error: ${status}`;
397
+ }
398
+ function formatThrown(error) {
399
+ return error instanceof Error
400
+ ? `${error.name}: ${error.message}`
401
+ : `${error}`;
402
+ }
403
+ //# sourceMappingURL=openligadb.js.map