@roxyapi/sdk 1.2.55 → 1.2.57

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 (43) hide show
  1. package/dist/{chunk-HCC4GID6.js → chunk-25Y6CPVU.js} +19 -11
  2. package/dist/client/index.cjs +19 -11
  3. package/dist/client/index.d.ts +2 -0
  4. package/dist/client/index.d.ts.map +1 -1
  5. package/dist/client/index.js +1 -1
  6. package/dist/client/utils.gen.d.ts +1 -1
  7. package/dist/client/utils.gen.d.ts.map +1 -1
  8. package/dist/client.gen.d.ts +2 -2
  9. package/dist/client.gen.d.ts.map +1 -1
  10. package/dist/core/auth.gen.d.ts +7 -0
  11. package/dist/core/auth.gen.d.ts.map +1 -1
  12. package/dist/core/params.gen.d.ts +2 -2
  13. package/dist/core/params.gen.d.ts.map +1 -1
  14. package/dist/core/pathSerializer.gen.d.ts.map +1 -1
  15. package/dist/core/queryKeySerializer.gen.d.ts +1 -1
  16. package/dist/core/queryKeySerializer.gen.d.ts.map +1 -1
  17. package/dist/core/types.gen.d.ts +5 -0
  18. package/dist/core/types.gen.d.ts.map +1 -1
  19. package/dist/core/utils.gen.d.ts.map +1 -1
  20. package/dist/factory.cjs +66 -2
  21. package/dist/factory.js +67 -3
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/sdk.gen.d.ts +199 -175
  25. package/dist/sdk.gen.d.ts.map +1 -1
  26. package/dist/types.gen.d.ts +2335 -608
  27. package/dist/types.gen.d.ts.map +1 -1
  28. package/dist/version.d.ts +1 -1
  29. package/docs/llms-full.txt +92 -7
  30. package/package.json +4 -4
  31. package/src/client/index.ts +2 -0
  32. package/src/client/utils.gen.ts +2 -2
  33. package/src/client.gen.ts +2 -2
  34. package/src/core/auth.gen.ts +7 -0
  35. package/src/core/params.gen.ts +21 -12
  36. package/src/core/pathSerializer.gen.ts +6 -6
  37. package/src/core/queryKeySerializer.gen.ts +1 -1
  38. package/src/core/types.gen.ts +6 -0
  39. package/src/core/utils.gen.ts +4 -4
  40. package/src/index.ts +1 -1
  41. package/src/sdk.gen.ts +244 -176
  42. package/src/types.gen.ts +2921 -1166
  43. package/src/version.ts +1 -1
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.2.55";
1
+ export declare const VERSION = "1.2.57";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -155,6 +155,8 @@ const { data } = await roxy.astrology.calculateTransitAspects({
155
155
  },
156
156
  transitDate: '2026-02-03',
157
157
  transitTime: '12:00:00',
158
+ planets: ['Jupiter', 'Saturn', 'Pluto'],
159
+ aspectTypes: ['CONJUNCTION', 'OPPOSITION', 'TRINE', 'SQUARE'],
158
160
  minStrength: 50,
159
161
  },
160
162
  });
@@ -398,7 +400,10 @@ const { data } = await roxy.vedicAstrology.generateBirthChart({
398
400
  latitude: 28.6139,
399
401
  longitude: 77.209,
400
402
  timezone: 5.5,
403
+ ayanamsa: 'lahiri',
404
+ ayanamsaValue: 24,
401
405
  avasthaInfo: true,
406
+ modernPlanets: true,
402
407
  },
403
408
  });
404
409
 
@@ -410,6 +415,8 @@ const { data } = await roxy.vedicAstrology.generateNavamsa({
410
415
  latitude: 28.6139,
411
416
  longitude: 77.209,
412
417
  timezone: 5.5,
418
+ ayanamsa: 'lahiri',
419
+ ayanamsaValue: 24,
413
420
  },
414
421
  });
415
422
 
@@ -421,6 +428,8 @@ const { data } = await roxy.vedicAstrology.generateDivisionalChart({
421
428
  latitude: 28.6139,
422
429
  longitude: 77.209,
423
430
  timezone: 5.5,
431
+ ayanamsa: 'lahiri',
432
+ ayanamsaValue: 24,
424
433
  division: 10,
425
434
  },
426
435
  });
@@ -442,6 +451,8 @@ const { data } = await roxy.vedicAstrology.calculateGunMilan({
442
451
  longitude: 77.209,
443
452
  timezone: 5.5,
444
453
  },
454
+ ayanamsa: 'lahiri',
455
+ ayanamsaValue: 24,
445
456
  },
446
457
  });
447
458
 
@@ -453,6 +464,8 @@ const { data } = await roxy.vedicAstrology.getPlanetPositions({
453
464
  latitude: 28.6139,
454
465
  longitude: 77.209,
455
466
  timezone: 5.5,
467
+ ayanamsa: 'lahiri',
468
+ ayanamsaValue: 24,
456
469
  },
457
470
  });
458
471
 
@@ -619,6 +632,8 @@ const { data } = await roxy.vedicAstrology.checkManglikDosha({
619
632
  latitude: 28.6139,
620
633
  longitude: 77.209,
621
634
  timezone: 5.5,
635
+ ayanamsa: 'lahiri',
636
+ ayanamsaValue: 24,
622
637
  },
623
638
  });
624
639
 
@@ -630,6 +645,8 @@ const { data } = await roxy.vedicAstrology.checkKalsarpaDosha({
630
645
  latitude: 28.6139,
631
646
  longitude: 77.209,
632
647
  timezone: 5.5,
648
+ ayanamsa: 'lahiri',
649
+ ayanamsaValue: 24,
633
650
  },
634
651
  });
635
652
 
@@ -641,6 +658,8 @@ const { data } = await roxy.vedicAstrology.checkSadhesati({
641
658
  latitude: 28.6139,
642
659
  longitude: 77.209,
643
660
  timezone: 5.5,
661
+ ayanamsa: 'lahiri',
662
+ ayanamsaValue: 24,
644
663
  },
645
664
  });
646
665
 
@@ -658,6 +677,8 @@ const { data } = await roxy.vedicAstrology.detectYogas({
658
677
  latitude: 28.6139,
659
678
  longitude: 77.209,
660
679
  timezone: 5.5,
680
+ ayanamsa: 'lahiri',
681
+ ayanamsaValue: 24,
661
682
  },
662
683
  });
663
684
 
@@ -780,6 +801,22 @@ const { data } = await roxy.vedicAstrology.getKpPlanetsInterval({
780
801
  },
781
802
  });
782
803
 
804
+ // Cast a KP horary (Prashna) chart from a number 1-249 - KP Horary API
805
+ const { data } = await roxy.vedicAstrology.castKpHoraryChart({
806
+ query: { focus: 'general' },
807
+ body: {
808
+ horaryNumber: 108,
809
+ date: '2026-03-08',
810
+ time: '14:30:00',
811
+ latitude: 19.076,
812
+ longitude: 72.8777,
813
+ timezone: 5.5,
814
+ ayanamsa: 'kp-newcomb',
815
+ ayanamsaValue: 24,
816
+ nodeType: 'mean',
817
+ },
818
+ });
819
+
783
820
  // Get planetary aspects (Drishti) - Mutual aspects between all planets
784
821
  const { data } = await roxy.vedicAstrology.calculateDrishti({
785
822
  body: {
@@ -876,6 +913,8 @@ const { data } = await roxy.vedicAstrology.getUpagrahaPositions({
876
913
  latitude: 28.6139,
877
914
  longitude: 77.209,
878
915
  timezone: 5.5,
916
+ ayanamsa: 'lahiri',
917
+ ayanamsaValue: 24,
879
918
  },
880
919
  });
881
920
 
@@ -887,6 +926,8 @@ const { data } = await roxy.vedicAstrology.calculateAshtakavarga({
887
926
  latitude: 28.6139,
888
927
  longitude: 77.209,
889
928
  timezone: 5.5,
929
+ ayanamsa: 'lahiri',
930
+ ayanamsaValue: 24,
890
931
  },
891
932
  });
892
933
 
@@ -898,6 +939,8 @@ const { data } = await roxy.vedicAstrology.calculateShadbala({
898
939
  latitude: 28.6139,
899
940
  longitude: 77.209,
900
941
  timezone: 5.5,
942
+ ayanamsa: 'lahiri',
943
+ ayanamsaValue: 24,
901
944
  },
902
945
  });
903
946
 
@@ -915,6 +958,8 @@ const { data } = await roxy.vedicAstrology.calculateArudhaPadas({
915
958
  latitude: 28.6139,
916
959
  longitude: 77.209,
917
960
  timezone: 5.5,
961
+ ayanamsa: 'lahiri',
962
+ ayanamsaValue: 24,
918
963
  },
919
964
  });
920
965
 
@@ -926,9 +971,49 @@ const { data } = await roxy.vedicAstrology.calculateCharaKarakas({
926
971
  latitude: 28.6139,
927
972
  longitude: 77.209,
928
973
  timezone: 5.5,
974
+ ayanamsa: 'lahiri',
975
+ ayanamsaValue: 24,
929
976
  scheme: 'eight',
930
977
  },
931
978
  });
979
+
980
+ // Get Bhava Bala (house strength) for all twelve houses - Bhava Bala Calculator API
981
+ const { data } = await roxy.vedicAstrology.calculateBhavaBala({
982
+ query: { focus: 'general' },
983
+ body: {
984
+ date: '1990-07-04',
985
+ time: '10:12:00',
986
+ latitude: 28.6139,
987
+ longitude: 77.209,
988
+ timezone: 5.5,
989
+ ayanamsa: 'lahiri',
990
+ ayanamsaValue: 24,
991
+ },
992
+ });
993
+
994
+ // Get the Bhav Chalit (Chalit Kundli) cusp-based house chart - Bhav Chalit API
995
+ const { data } = await roxy.vedicAstrology.calculateBhavChalit({
996
+ query: { focus: 'general' },
997
+ body: {
998
+ date: '1990-07-04',
999
+ time: '10:12:00',
1000
+ latitude: 28.6139,
1001
+ longitude: 77.209,
1002
+ timezone: 5.5,
1003
+ ayanamsa: 'lahiri',
1004
+ ayanamsaValue: 24,
1005
+ },
1006
+ });
1007
+
1008
+ // Heliacal rising and setting (udaya and asta) - Graha Asta Calculator API
1009
+ const { data } = await roxy.vedicAstrology.getHeliacalVisibility({
1010
+ body: {
1011
+ date: '2026-07-25',
1012
+ latitude: 19.076,
1013
+ longitude: 72.8777,
1014
+ timezone: 5.5,
1015
+ },
1016
+ });
932
1017
  ```
933
1018
 
934
1019
  ---
@@ -1332,7 +1417,7 @@ const { data } = await roxy.tarot.getDailyCard({ body: { seed: 'user123', date:
1332
1417
  const { data } = await roxy.tarot.castYesNo({
1333
1418
  body: {
1334
1419
  question: 'Should I accept the job offer?',
1335
- seed: 'optional-seed',
1420
+ seed: 'reading-2f9c1a',
1336
1421
  },
1337
1422
  });
1338
1423
 
@@ -1340,7 +1425,7 @@ const { data } = await roxy.tarot.castYesNo({
1340
1425
  const { data } = await roxy.tarot.castThreeCard({
1341
1426
  body: {
1342
1427
  question: 'What do I need to know about my career?',
1343
- seed: 'optional-seed',
1428
+ seed: 'reading-2f9c1a',
1344
1429
  },
1345
1430
  });
1346
1431
 
@@ -1348,7 +1433,7 @@ const { data } = await roxy.tarot.castThreeCard({
1348
1433
  const { data } = await roxy.tarot.castCelticCross({
1349
1434
  body: {
1350
1435
  question: 'What should I know about this situation?',
1351
- seed: 'optional-seed',
1436
+ seed: 'reading-2f9c1a',
1352
1437
  },
1353
1438
  });
1354
1439
 
@@ -1356,7 +1441,7 @@ const { data } = await roxy.tarot.castCelticCross({
1356
1441
  const { data } = await roxy.tarot.castLoveSpread({
1357
1442
  body: {
1358
1443
  question: 'What do I need to know about my relationship?',
1359
- seed: 'optional-seed',
1444
+ seed: 'reading-2f9c1a',
1360
1445
  },
1361
1446
  });
1362
1447
 
@@ -1364,7 +1449,7 @@ const { data } = await roxy.tarot.castLoveSpread({
1364
1449
  const { data } = await roxy.tarot.castCareerSpread({
1365
1450
  body: {
1366
1451
  question: 'What do I need to know about my career path?',
1367
- seed: 'optional-seed',
1452
+ seed: 'reading-2f9c1a',
1368
1453
  },
1369
1454
  });
1370
1455
 
@@ -1383,8 +1468,8 @@ const { data } = await roxy.tarot.castCustomSpread({
1383
1468
  },
1384
1469
  { name: 'Best Action', interpretation: 'What to do next' },
1385
1470
  ],
1386
- question: 'Optional question',
1387
- seed: 'optional-seed',
1471
+ question: 'How do I move forward with this project?',
1472
+ seed: 'reading-2f9c1a',
1388
1473
  },
1389
1474
  });
1390
1475
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@roxyapi/sdk",
3
- "version": "1.2.55",
3
+ "version": "1.2.57",
4
4
  "description": "TypeScript SDK for Roxy — the multi-domain spiritual intelligence API",
5
5
  "type": "module",
6
6
  "exports": {
@@ -67,10 +67,10 @@
67
67
  "url": "https://github.com/RoxyAPI/sdk-typescript/issues"
68
68
  },
69
69
  "devDependencies": {
70
- "@biomejs/biome": "^2.5.3",
70
+ "@biomejs/biome": "^2.5.6",
71
71
  "@hey-api/client-fetch": "0.13.1",
72
- "@hey-api/openapi-ts": "0.97.3",
73
- "@types/node": "^26.1.1",
72
+ "@hey-api/openapi-ts": "0.99.0",
73
+ "@types/node": "^26.1.2",
74
74
  "lefthook": "^2.1.10",
75
75
  "tsup": "^8.5.1",
76
76
  "typescript": "^6.0.3",
@@ -9,6 +9,8 @@ export {
9
9
  } from '../core/bodySerializer.gen';
10
10
  export { buildClientParams } from '../core/params.gen';
11
11
  export { serializeQueryKeyValue } from '../core/queryKeySerializer.gen';
12
+ export type { ServerSentEventsResult } from '../core/serverSentEvents.gen';
13
+ export type { ClientMeta } from '../core/types.gen';
12
14
  export { createClient } from './client.gen';
13
15
  export type {
14
16
  Client,
@@ -14,8 +14,8 @@ import type { Client, ClientOptions, Config, RequestOptions } from './types.gen'
14
14
  export const createQuerySerializer = <T = unknown>({
15
15
  parameters = {},
16
16
  ...args
17
- }: QuerySerializerOptions = {}) => {
18
- const querySerializer = (queryParams: T) => {
17
+ }: QuerySerializerOptions = {}): ((queryParams: T) => string) => {
18
+ const querySerializer = (queryParams: T): string => {
19
19
  const search: string[] = [];
20
20
  if (queryParams && typeof queryParams === 'object') {
21
21
  for (const name in queryParams) {
package/src/client.gen.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  // This file is auto-generated by @hey-api/openapi-ts
2
2
 
3
- import { type ClientOptions, type Config, createClient, createConfig } from './client';
3
+ import { type Client, type ClientOptions, type Config, createClient, createConfig } from './client';
4
4
  import type { ClientOptions as ClientOptions2 } from './types.gen';
5
5
 
6
6
  /**
@@ -13,4 +13,4 @@ import type { ClientOptions as ClientOptions2 } from './types.gen';
13
13
  */
14
14
  export type CreateClientConfig<T extends ClientOptions = ClientOptions2> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T>;
15
15
 
16
- export const client = createClient(createConfig<ClientOptions2>({ baseUrl: 'https://roxyapi.com/api/v2' }));
16
+ export const client: Client = createClient(createConfig<ClientOptions2>({ baseUrl: 'https://roxyapi.com/api/v2' }));
@@ -9,6 +9,13 @@ export interface Auth {
9
9
  * @default 'header'
10
10
  */
11
11
  in?: 'header' | 'query' | 'cookie';
12
+ /**
13
+ * A unique identifier for the security scheme.
14
+ *
15
+ * Defined only when there are multiple security schemes whose `Auth`
16
+ * shape would otherwise be identical.
17
+ */
18
+ key?: string;
12
19
  /**
13
20
  * Header or query parameter name.
14
21
  *
@@ -62,7 +62,7 @@ type KeyMap = Map<
62
62
  }
63
63
  >;
64
64
 
65
- const buildKeyMap = (fields: FieldsConfig, map?: KeyMap): KeyMap => {
65
+ function buildKeyMap(fields: FieldsConfig, map?: KeyMap): KeyMap {
66
66
  if (!map) {
67
67
  map = new Map();
68
68
  }
@@ -85,26 +85,26 @@ const buildKeyMap = (fields: FieldsConfig, map?: KeyMap): KeyMap => {
85
85
  }
86
86
 
87
87
  return map;
88
- };
88
+ }
89
89
 
90
90
  interface Params {
91
- body: unknown;
91
+ body?: unknown;
92
92
  headers: Record<string, unknown>;
93
93
  path: Record<string, unknown>;
94
94
  query: Record<string, unknown>;
95
95
  }
96
96
 
97
- const stripEmptySlots = (params: Params) => {
97
+ function stripEmptySlots(params: Params): void {
98
98
  for (const [slot, value] of Object.entries(params)) {
99
+ if (slot === 'body') continue;
99
100
  if (value && typeof value === 'object' && !Array.isArray(value) && !Object.keys(value).length) {
100
101
  delete params[slot as Slot];
101
102
  }
102
103
  }
103
- };
104
+ }
104
105
 
105
- export const buildClientParams = (args: ReadonlyArray<unknown>, fields: FieldsConfig) => {
106
+ export function buildClientParams(args: ReadonlyArray<unknown>, fields: FieldsConfig): Params {
106
107
  const params: Params = {
107
- body: Object.create(null),
108
108
  headers: Object.create(null),
109
109
  path: Object.create(null),
110
110
  query: Object.create(null),
@@ -112,6 +112,15 @@ export const buildClientParams = (args: ReadonlyArray<unknown>, fields: FieldsCo
112
112
 
113
113
  const map = buildKeyMap(fields);
114
114
 
115
+ function writeSlot(slot: Slot, key: string, value: unknown): void {
116
+ let record = params[slot] as Record<string, unknown> | undefined;
117
+ if (record === undefined) {
118
+ record = Object.create(null) as Record<string, unknown>;
119
+ params[slot] = record;
120
+ }
121
+ record[key] = value;
122
+ }
123
+
115
124
  let config: FieldsConfig[number] | undefined;
116
125
 
117
126
  for (const [index, arg] of args.entries()) {
@@ -128,7 +137,7 @@ export const buildClientParams = (args: ReadonlyArray<unknown>, fields: FieldsCo
128
137
  const field = map.get(config.key)!;
129
138
  const name = field.map || config.key;
130
139
  if (field.in) {
131
- (params[field.in] as Record<string, unknown>)[name] = arg;
140
+ writeSlot(field.in, name, arg);
132
141
  }
133
142
  } else {
134
143
  params.body = arg;
@@ -140,7 +149,7 @@ export const buildClientParams = (args: ReadonlyArray<unknown>, fields: FieldsCo
140
149
  if (field) {
141
150
  if (field.in) {
142
151
  const name = field.map || key;
143
- (params[field.in] as Record<string, unknown>)[name] = value;
152
+ writeSlot(field.in, name, value);
144
153
  } else {
145
154
  params[field.map] = value;
146
155
  }
@@ -149,11 +158,11 @@ export const buildClientParams = (args: ReadonlyArray<unknown>, fields: FieldsCo
149
158
 
150
159
  if (extra) {
151
160
  const [prefix, slot] = extra;
152
- (params[slot] as Record<string, unknown>)[key.slice(prefix.length)] = value;
161
+ writeSlot(slot, key.slice(prefix.length), value);
153
162
  } else if ('allowExtra' in config && config.allowExtra) {
154
163
  for (const [slot, allowed] of Object.entries(config.allowExtra)) {
155
164
  if (allowed) {
156
- (params[slot as Slot] as Record<string, unknown>)[key] = value;
165
+ writeSlot(slot as Slot, key, value);
157
166
  break;
158
167
  }
159
168
  }
@@ -166,4 +175,4 @@ export const buildClientParams = (args: ReadonlyArray<unknown>, fields: FieldsCo
166
175
  stripEmptySlots(params);
167
176
 
168
177
  return params;
169
- };
178
+ }
@@ -25,7 +25,7 @@ interface SerializePrimitiveParam extends SerializePrimitiveOptions {
25
25
  value: string;
26
26
  }
27
27
 
28
- export const separatorArrayExplode = (style: ArraySeparatorStyle) => {
28
+ export const separatorArrayExplode = (style: ArraySeparatorStyle): '.' | ';' | ',' | '&' => {
29
29
  switch (style) {
30
30
  case 'label':
31
31
  return '.';
@@ -38,7 +38,7 @@ export const separatorArrayExplode = (style: ArraySeparatorStyle) => {
38
38
  }
39
39
  };
40
40
 
41
- export const separatorArrayNoExplode = (style: ArraySeparatorStyle) => {
41
+ export const separatorArrayNoExplode = (style: ArraySeparatorStyle): ',' | '|' | '%20' => {
42
42
  switch (style) {
43
43
  case 'form':
44
44
  return ',';
@@ -51,7 +51,7 @@ export const separatorArrayNoExplode = (style: ArraySeparatorStyle) => {
51
51
  }
52
52
  };
53
53
 
54
- export const separatorObjectExplode = (style: ObjectSeparatorStyle) => {
54
+ export const separatorObjectExplode = (style: ObjectSeparatorStyle): '.' | ';' | ',' | '&' => {
55
55
  switch (style) {
56
56
  case 'label':
57
57
  return '.';
@@ -72,7 +72,7 @@ export const serializeArrayParam = ({
72
72
  value,
73
73
  }: SerializeOptions<ArraySeparatorStyle> & {
74
74
  value: unknown[];
75
- }) => {
75
+ }): string => {
76
76
  if (!explode) {
77
77
  const joinedValues = (
78
78
  allowReserved ? value : value.map((v) => encodeURIComponent(v as string))
@@ -110,7 +110,7 @@ export const serializePrimitiveParam = ({
110
110
  allowReserved,
111
111
  name,
112
112
  value,
113
- }: SerializePrimitiveParam) => {
113
+ }: SerializePrimitiveParam): string => {
114
114
  if (value === undefined || value === null) {
115
115
  return '';
116
116
  }
@@ -134,7 +134,7 @@ export const serializeObjectParam = ({
134
134
  }: SerializeOptions<ObjectSeparatorStyle> & {
135
135
  value: Record<string, unknown> | Date;
136
136
  valueOnly?: boolean;
137
- }) => {
137
+ }): string => {
138
138
  if (value instanceof Date) {
139
139
  return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`;
140
140
  }
@@ -14,7 +14,7 @@ export type JsonValue =
14
14
  /**
15
15
  * Replacer that converts non-JSON values (bigint, Date, etc.) to safe substitutes.
16
16
  */
17
- export const queryKeyJsonReplacer = (_key: string, value: unknown) => {
17
+ export const queryKeyJsonReplacer = (_key: string, value: unknown): unknown | undefined => {
18
18
  if (value === undefined || typeof value === 'function' || typeof value === 'symbol') {
19
19
  return undefined;
20
20
  }
@@ -91,6 +91,12 @@ export interface Config {
91
91
  responseValidator?: (data: unknown) => Promise<unknown>;
92
92
  }
93
93
 
94
+ /**
95
+ * Arbitrary metadata passed through the `meta` request option.
96
+ */
97
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
98
+ export interface ClientMeta {}
99
+
94
100
  type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never]
95
101
  ? true
96
102
  : [T] extends [never | undefined]
@@ -13,9 +13,9 @@ export interface PathSerializer {
13
13
  url: string;
14
14
  }
15
15
 
16
- export const PATH_PARAM_RE = /\{[^{}]+\}/g;
16
+ export const PATH_PARAM_RE: RegExp = /\{[^{}]+\}/g;
17
17
 
18
- export const defaultPathSerializer = ({ path, url: _url }: PathSerializer) => {
18
+ export const defaultPathSerializer = ({ path, url: _url }: PathSerializer): string => {
19
19
  let url = _url;
20
20
  const matches = _url.match(PATH_PARAM_RE);
21
21
  if (matches) {
@@ -94,7 +94,7 @@ export const getUrl = ({
94
94
  query?: Record<string, unknown>;
95
95
  querySerializer: QuerySerializer;
96
96
  url: string;
97
- }) => {
97
+ }): string => {
98
98
  const pathUrl = _url.startsWith('/') ? _url : `/${_url}`;
99
99
  let url = (baseUrl ?? '') + pathUrl;
100
100
  if (path) {
@@ -114,7 +114,7 @@ export function getValidRequestBody(options: {
114
114
  body?: unknown;
115
115
  bodySerializer?: BodySerializer | null;
116
116
  serializedBody?: unknown;
117
- }) {
117
+ }): unknown {
118
118
  const hasBody = options.body !== undefined;
119
119
  const isSerializedBody = hasBody && options.bodySerializer;
120
120