tbarequest 0.0.2 → 0.1.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.
Files changed (35) hide show
  1. package/README.md +0 -4
  2. package/dist/index.d.ts +1 -2
  3. package/dist/index.js +5 -4
  4. package/dist/types/endpoints/districts.d.ts +137 -149
  5. package/dist/types/endpoints/districts.js +23 -23
  6. package/dist/types/endpoints/events.d.ts +1435 -13300
  7. package/dist/types/endpoints/events.js +86 -82
  8. package/dist/types/endpoints/index.d.ts +10 -11
  9. package/dist/types/endpoints/index.js +11 -11
  10. package/dist/types/endpoints/insights.d.ts +23 -28
  11. package/dist/types/endpoints/insights.js +5 -5
  12. package/dist/types/endpoints/matches.d.ts +1079 -12936
  13. package/dist/types/endpoints/matches.js +3 -3
  14. package/dist/types/endpoints/regionalAdvancements.d.ts +27 -31
  15. package/dist/types/endpoints/regionalAdvancements.js +6 -5
  16. package/dist/types/endpoints/status.d.ts +14 -29
  17. package/dist/types/endpoints/status.js +7 -7
  18. package/dist/types/endpoints/teams.d.ts +2614 -26376
  19. package/dist/types/endpoints/teams.js +67 -65
  20. package/dist/types/index.d.ts +4 -3
  21. package/dist/types/schemas/districts.d.ts +22 -23
  22. package/dist/types/schemas/districts.js +23 -23
  23. package/dist/types/schemas/events.d.ts +176 -223
  24. package/dist/types/schemas/events.js +93 -93
  25. package/dist/types/schemas/insights.d.ts +19 -24
  26. package/dist/types/schemas/insights.js +20 -20
  27. package/dist/types/schemas/matches.d.ts +2602 -14850
  28. package/dist/types/schemas/matches.js +483 -526
  29. package/dist/types/schemas/regionalAdvancements.d.ts +20 -27
  30. package/dist/types/schemas/regionalAdvancements.js +21 -21
  31. package/dist/types/schemas/status.d.ts +3 -4
  32. package/dist/types/schemas/status.js +4 -4
  33. package/dist/types/schemas/teams.d.ts +46 -45
  34. package/dist/types/schemas/teams.js +35 -35
  35. package/package.json +10 -5
package/README.md CHANGED
@@ -2,10 +2,6 @@
2
2
 
3
3
  > Unofficial wrapper to request data from The Blue Alliance API
4
4
 
5
-
6
- > [!WARNING]
7
- > This package relies on a beta version of Zod, so it might be unstable until Zod 4.0 comes out.
8
-
9
5
  ## Install
10
6
  ```bash
11
7
  npm install tbarequest
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { z } from "zod";
2
1
  import { Result } from "./utils.js";
3
2
  import { TBAEndpoint, TBAEndpoints } from "./types/endpoints/index.js";
4
- export declare function createTBACaller(api_key: string): <T extends TBAEndpoint>(endpoint: T, ...args: z.infer<TBAEndpoints[T]["arguments"]>) => Promise<Result<z.infer<TBAEndpoints[T]["schema"]>>>;
3
+ export declare function createTBACaller(api_key: string): <T extends TBAEndpoint>(endpoint: T, ...args: TBAEndpoints[T]["arguments"]["infer"]) => Promise<Result<TBAEndpoints[T]["schema"]["infer"]>>;
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { tryCatch } from "./utils.js";
2
2
  import { endpoints } from "./types/endpoints/index.js";
3
+ import { ArkErrors } from "arktype";
3
4
  /*
4
5
  * Creates a function that can call the TBA api.
5
6
  * @see https://www.thebluealliance.com/apidocs/v3
@@ -36,11 +37,11 @@ async function TBA(endpoint, api_key, ...args) {
36
37
  data: null,
37
38
  error: new Error(`JSON didn't parse for endpoint ${endpoint}. Please contact the developers of the TBArequest package with this error: ${json.error.message}`),
38
39
  };
39
- const schema = endpoints[endpoint].schema.safeParse(json.data);
40
- if (!schema.success)
40
+ const schema = endpoints[endpoint].schema(json.data);
41
+ if (schema instanceof ArkErrors)
41
42
  return {
42
43
  data: null,
43
- error: new Error(`Schema for endpoint ${endpoint} didn't work. Please contact the developers of the TBArequest package with this error: ${schema.error.message}`),
44
+ error: new Error(`Schema for endpoint ${endpoint} didn't work. Please contact the developers of the TBArequest package with this error: ${schema}`),
44
45
  };
45
- return { data: schema.data, error: null };
46
+ return { data: schema, error: null };
46
47
  }
@@ -1,173 +1,161 @@
1
- import { z } from "zod";
2
1
  export declare const districtEndpoints: {
3
2
  "/districts/{year}": {
4
- schema: z.ZodArray<z.ZodObject<{
5
- abbreviation: z.ZodString;
6
- display_name: z.ZodString;
7
- key: z.ZodString;
8
- year: z.ZodInt;
9
- }, {}>>;
10
- arguments: z.ZodTuple<[z.ZodInt], null>;
3
+ schema: import("arktype/internal/methods/array.ts").ArrayType<{
4
+ abbreviation: string;
5
+ display_name: string;
6
+ key: string;
7
+ year: number;
8
+ }[], {}>;
9
+ arguments: import("arktype/internal/methods/array.ts").ArrayType<[number], {}>;
11
10
  };
12
11
  "/district/{district_abbreviation}/history": {
13
- schema: z.ZodArray<z.ZodObject<{
14
- abbreviation: z.ZodString;
15
- display_name: z.ZodString;
16
- key: z.ZodString;
17
- year: z.ZodInt;
18
- }, {}>>;
19
- arguments: z.ZodTuple<[z.ZodString], null>;
12
+ schema: import("arktype/internal/methods/array.ts").ArrayType<{
13
+ abbreviation: string;
14
+ display_name: string;
15
+ key: string;
16
+ year: number;
17
+ }[], {}>;
18
+ arguments: import("arktype/internal/methods/array.ts").ArrayType<[string], {}>;
20
19
  };
21
20
  "/district/{district_key}/events": {
22
- schema: z.ZodArray<z.ZodObject<{
23
- key: z.ZodString;
24
- name: z.ZodString;
25
- event_code: z.ZodString;
26
- event_type: z.ZodInt;
27
- district: z.ZodNullable<z.ZodObject<{
28
- abbreviation: z.ZodString;
29
- display_name: z.ZodString;
30
- key: z.ZodString;
31
- year: z.ZodInt;
32
- }, {}>>;
33
- city: z.ZodNullable<z.ZodString>;
34
- state_prov: z.ZodNullable<z.ZodString>;
35
- country: z.ZodNullable<z.ZodString>;
36
- start_date: z.coerce.ZodCoercedDate;
37
- end_date: z.coerce.ZodCoercedDate;
38
- year: z.ZodInt;
39
- short_name: z.ZodNullable<z.ZodString>;
40
- event_type_string: z.ZodString;
41
- week: z.ZodNullable<z.ZodNumber>;
42
- address: z.ZodNullable<z.ZodString>;
43
- postal_code: z.ZodNullable<z.ZodString>;
44
- gmaps_place_id: z.ZodNullable<z.ZodString>;
45
- gmaps_url: z.ZodNullable<z.ZodString>;
46
- lat: z.ZodNullable<z.ZodNumber>;
47
- lng: z.ZodNullable<z.ZodNumber>;
48
- location_name: z.ZodNullable<z.ZodString>;
49
- timezone: z.ZodNullable<z.ZodString>;
50
- website: z.ZodNullable<z.ZodString>;
51
- first_event_id: z.ZodNullable<z.ZodString>;
52
- first_event_code: z.ZodNullable<z.ZodString>;
53
- webcasts: z.ZodArray<z.ZodObject<{
54
- type: z.ZodEnum<{
55
- youtube: "youtube";
56
- twitch: "twitch";
57
- ustream: "ustream";
58
- iframe: "iframe";
59
- html5: "html5";
60
- rtmp: "rtmp";
61
- livestream: "livestream";
62
- direct_link: "direct_link";
63
- mms: "mms";
64
- justin: "justin";
65
- stemtv: "stemtv";
66
- dacast: "dacast";
67
- }>;
68
- channel: z.ZodString;
69
- date: z.ZodOptional<z.ZodNullable<z.coerce.ZodCoercedDate>>;
70
- file: z.ZodOptional<z.ZodNullable<z.ZodString>>;
71
- }, {}>>;
72
- division_keys: z.ZodArray<z.ZodString>;
73
- parent_event_key: z.ZodNullable<z.ZodString>;
74
- playoff_type: z.ZodNullable<z.ZodInt>;
75
- playoff_type_string: z.ZodNullable<z.ZodString>;
76
- }, {}>>;
77
- arguments: z.ZodTuple<[z.ZodString], null>;
21
+ schema: import("arktype/internal/methods/array.ts").ArrayType<{
22
+ key: string;
23
+ name: string;
24
+ event_code: string;
25
+ event_type: number;
26
+ district: {
27
+ abbreviation: string;
28
+ display_name: string;
29
+ key: string;
30
+ year: number;
31
+ } | null;
32
+ city: string | null;
33
+ state_prov: string | null;
34
+ country: string | null;
35
+ start_date: string;
36
+ end_date: string;
37
+ year: number;
38
+ short_name: string | null;
39
+ event_type_string: string;
40
+ week: number | null;
41
+ address: string | null;
42
+ postal_code: string | null;
43
+ gmaps_place_id: string | null;
44
+ gmaps_url: string | null;
45
+ lat: number | null;
46
+ lng: number | null;
47
+ location_name: string | null;
48
+ timezone: string | null;
49
+ website: string | null;
50
+ first_event_id: string | null;
51
+ first_event_code: string | null;
52
+ webcasts: {
53
+ type: "youtube" | "twitch" | "ustream" | "iframe" | "html5" | "rtmp" | "livestream" | "direct_link" | "mms" | "justin" | "stemtv" | "dacast";
54
+ channel: string;
55
+ date?: string | null | undefined;
56
+ file?: string | null | undefined;
57
+ }[];
58
+ division_keys: string[];
59
+ parent_event_key: string | null;
60
+ playoff_type: number | null;
61
+ playoff_type_string: string | null;
62
+ }[], {}>;
63
+ arguments: import("arktype/internal/methods/array.ts").ArrayType<[string], {}>;
78
64
  };
79
65
  "/district/{district_key}/awards": {
80
- schema: z.ZodArray<z.ZodObject<{
81
- name: z.ZodString;
82
- award_type: z.ZodInt;
83
- event_key: z.ZodString;
84
- recipient_list: z.ZodArray<z.ZodObject<{
85
- team_key: z.ZodNullable<z.ZodString>;
86
- awardee: z.ZodNullable<z.ZodString>;
87
- }, {}>>;
88
- year: z.ZodInt;
89
- }, {}>>;
90
- arguments: z.ZodTuple<[z.ZodString], null>;
66
+ schema: import("arktype/internal/methods/array.ts").ArrayType<{
67
+ name: string;
68
+ award_type: number;
69
+ event_key: string;
70
+ recipient_list: {
71
+ team_key: string | null;
72
+ awardee: string | null;
73
+ }[];
74
+ year: number;
75
+ }[], {}>;
76
+ arguments: import("arktype/internal/methods/array.ts").ArrayType<[string], {}>;
91
77
  };
92
78
  "/district/{district_key}/events/simple": {
93
- schema: z.ZodArray<z.ZodObject<{
94
- key: z.ZodString;
95
- name: z.ZodString;
96
- event_code: z.ZodString;
97
- event_type: z.ZodInt;
98
- district: z.ZodNullable<z.ZodObject<{
99
- abbreviation: z.ZodString;
100
- display_name: z.ZodString;
101
- key: z.ZodString;
102
- year: z.ZodInt;
103
- }, {}>>;
104
- city: z.ZodNullable<z.ZodString>;
105
- state_prov: z.ZodNullable<z.ZodString>;
106
- country: z.ZodNullable<z.ZodString>;
107
- start_date: z.coerce.ZodCoercedDate;
108
- end_date: z.coerce.ZodCoercedDate;
109
- year: z.ZodInt;
110
- }, {}>>;
111
- arguments: z.ZodTuple<[z.ZodString], null>;
79
+ schema: import("arktype/internal/methods/array.ts").ArrayType<{
80
+ key: string;
81
+ name: string;
82
+ event_code: string;
83
+ event_type: number;
84
+ district: {
85
+ abbreviation: string;
86
+ display_name: string;
87
+ key: string;
88
+ year: number;
89
+ } | null;
90
+ city: string | null;
91
+ state_prov: string | null;
92
+ country: string | null;
93
+ start_date: string;
94
+ end_date: string;
95
+ year: number;
96
+ }[], {}>;
97
+ arguments: import("arktype/internal/methods/array.ts").ArrayType<[string], {}>;
112
98
  };
113
99
  "/district/{district_key}/events/keys": {
114
- schema: z.ZodArray<z.ZodString>;
115
- arguments: z.ZodTuple<[z.ZodString], null>;
100
+ schema: import("arktype/internal/methods/array.ts").ArrayType<string[], {}>;
101
+ arguments: import("arktype/internal/methods/array.ts").ArrayType<[string], {}>;
116
102
  };
117
103
  "/district/{district_key}/teams": {
118
- schema: z.ZodArray<z.ZodObject<{
119
- key: z.ZodString;
120
- team_number: z.ZodInt;
121
- nickname: z.ZodString;
122
- name: z.ZodString;
123
- city: z.ZodNullable<z.ZodString>;
124
- state_prov: z.ZodNullable<z.ZodString>;
125
- country: z.ZodNullable<z.ZodString>;
126
- postal_code: z.ZodNullable<z.ZodString>;
127
- website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
128
- rookie_year: z.ZodNullable<z.ZodNumber>;
129
- }, {}>>;
130
- arguments: z.ZodTuple<[z.ZodString], null>;
104
+ schema: import("arktype/internal/methods/array.ts").ArrayType<{
105
+ key: string;
106
+ team_number: number;
107
+ nickname: string;
108
+ name: string;
109
+ city: string | null;
110
+ state_prov: string | null;
111
+ country: string | null;
112
+ postal_code: string | null;
113
+ rookie_year: number | null;
114
+ website?: string | null | undefined;
115
+ }[], {}>;
116
+ arguments: import("arktype/internal/methods/array.ts").ArrayType<[string], {}>;
131
117
  };
132
118
  "/district/{district_key}/teams/simple": {
133
- schema: z.ZodArray<z.ZodObject<{
134
- key: z.ZodString;
135
- team_number: z.ZodInt;
136
- nickname: z.ZodString;
137
- name: z.ZodString;
138
- city: z.ZodNullable<z.ZodString>;
139
- state_prov: z.ZodNullable<z.ZodString>;
140
- country: z.ZodNullable<z.ZodString>;
141
- }, {}>>;
142
- arguments: z.ZodTuple<[z.ZodString], null>;
119
+ schema: import("arktype/internal/methods/array.ts").ArrayType<{
120
+ key: string;
121
+ team_number: number;
122
+ nickname: string;
123
+ name: string;
124
+ city: string | null;
125
+ state_prov: string | null;
126
+ country: string | null;
127
+ }[], {}>;
128
+ arguments: import("arktype/internal/methods/array.ts").ArrayType<[string], {}>;
143
129
  };
144
130
  "/district/{district_key}/teams/keys": {
145
- schema: z.ZodArray<z.ZodString>;
146
- arguments: z.ZodTuple<[z.ZodString], null>;
131
+ schema: import("arktype/internal/methods/array.ts").ArrayType<string[], {}>;
132
+ arguments: import("arktype/internal/methods/array.ts").ArrayType<[string], {}>;
147
133
  };
148
134
  "/district/{district_key}/rankings": {
149
- schema: z.ZodNullable<z.ZodArray<z.ZodObject<{
150
- team_key: z.ZodString;
151
- rank: z.ZodInt;
152
- rookie_bonus: z.ZodOptional<z.ZodInt>;
153
- point_total: z.ZodNumber;
154
- event_points: z.ZodOptional<z.ZodArray<z.ZodObject<{
155
- district_cmp: z.ZodBoolean;
156
- total: z.ZodNumber;
157
- alliance_points: z.ZodNumber;
158
- elim_points: z.ZodNumber;
159
- award_points: z.ZodNumber;
160
- event_key: z.ZodString;
161
- qual_points: z.ZodNumber;
162
- }, {}>>>;
163
- }, {}>>>;
164
- arguments: z.ZodTuple<[z.ZodString], null>;
135
+ schema: import("arktype").BaseType<{
136
+ team_key: string;
137
+ rank: number;
138
+ point_total: number;
139
+ rookie_bonus?: number | undefined;
140
+ event_point?: {
141
+ district_cmp: boolean;
142
+ total: number;
143
+ alliance_points: number;
144
+ elim_points: number;
145
+ award_points: number;
146
+ event_key: string;
147
+ qual_points: number;
148
+ }[] | undefined;
149
+ }[] | null, {}>;
150
+ arguments: import("arktype/internal/methods/array.ts").ArrayType<[string], {}>;
165
151
  };
166
152
  "/district/{district_key}/advancement": {
167
- schema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
168
- dcmp: z.ZodBoolean;
169
- cmp: z.ZodBoolean;
170
- }, {}>>>;
171
- arguments: z.ZodTuple<[z.ZodString], null>;
153
+ schema: import("arktype").BaseType<{
154
+ [x: string]: {
155
+ dcmp: boolean;
156
+ cmp: boolean;
157
+ };
158
+ } | null, {}>;
159
+ arguments: import("arktype/internal/methods/array.ts").ArrayType<[string], {}>;
172
160
  };
173
161
  };
@@ -1,50 +1,50 @@
1
- import { z } from "zod";
2
1
  import { District_Advancement, District_List, District_Ranking } from "../schemas/districts.js";
3
2
  import { Event, Event_Simple } from "../schemas/events.js";
4
3
  import { Award, Team, Team_Simple } from "../schemas/teams.js";
4
+ import { type } from "arktype";
5
5
  export const districtEndpoints = {
6
6
  "/districts/{year}": {
7
- schema: z.array(District_List),
8
- arguments: z.tuple([z.int()]),
7
+ schema: District_List.array(),
8
+ arguments: type(["number"]),
9
9
  },
10
10
  "/district/{district_abbreviation}/history": {
11
- schema: z.array(District_List),
12
- arguments: z.tuple([z.string()]),
11
+ schema: District_List.array(),
12
+ arguments: type(["string"]),
13
13
  },
14
14
  "/district/{district_key}/events": {
15
- schema: z.array(Event),
16
- arguments: z.tuple([z.string()]),
15
+ schema: Event.array(),
16
+ arguments: type(["string"]),
17
17
  },
18
18
  "/district/{district_key}/awards": {
19
- schema: z.array(Award),
20
- arguments: z.tuple([z.string()]),
19
+ schema: Award.array(),
20
+ arguments: type(["string"]),
21
21
  },
22
22
  "/district/{district_key}/events/simple": {
23
- schema: z.array(Event_Simple),
24
- arguments: z.tuple([z.string()]),
23
+ schema: Event_Simple.array(),
24
+ arguments: type(["string"]),
25
25
  },
26
26
  "/district/{district_key}/events/keys": {
27
- schema: z.array(z.string()),
28
- arguments: z.tuple([z.string()]),
27
+ schema: type("string[]"),
28
+ arguments: type(["string"]),
29
29
  },
30
30
  "/district/{district_key}/teams": {
31
- schema: z.array(Team),
32
- arguments: z.tuple([z.string()]),
31
+ schema: Team.array(),
32
+ arguments: type(["string"]),
33
33
  },
34
34
  "/district/{district_key}/teams/simple": {
35
- schema: z.array(Team_Simple),
36
- arguments: z.tuple([z.string()]),
35
+ schema: Team_Simple.array(),
36
+ arguments: type(["string"]),
37
37
  },
38
38
  "/district/{district_key}/teams/keys": {
39
- schema: z.array(z.string()),
40
- arguments: z.tuple([z.string()]),
39
+ schema: type("string[]"),
40
+ arguments: type(["string"]),
41
41
  },
42
42
  "/district/{district_key}/rankings": {
43
- schema: z.array(District_Ranking).nullable(),
44
- arguments: z.tuple([z.string()]),
43
+ schema: type(District_Ranking.array(), "|", "null"),
44
+ arguments: type(["string"]),
45
45
  },
46
46
  "/district/{district_key}/advancement": {
47
- schema: z.record(z.string(), District_Advancement).nullable(),
48
- arguments: z.tuple([z.string()]),
47
+ schema: type({ "[string]": District_Advancement }, "|", "null"),
48
+ arguments: type(["string"]),
49
49
  },
50
50
  };