@prdb/sdk 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 (199) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +68 -0
  3. package/dist/generated/actors/batch/index.d.ts +32 -0
  4. package/dist/generated/actors/batch/index.d.ts.map +1 -0
  5. package/dist/generated/actors/batch/index.js +30 -0
  6. package/dist/generated/actors/batch/index.js.map +1 -0
  7. package/dist/generated/actors/changes/index.d.ts +38 -0
  8. package/dist/generated/actors/changes/index.d.ts.map +1 -0
  9. package/dist/generated/actors/changes/index.js +36 -0
  10. package/dist/generated/actors/changes/index.js.map +1 -0
  11. package/dist/generated/actors/index.d.ts +70 -0
  12. package/dist/generated/actors/index.d.ts.map +1 -0
  13. package/dist/generated/actors/index.js +67 -0
  14. package/dist/generated/actors/index.js.map +1 -0
  15. package/dist/generated/actors/item/index.d.ts +30 -0
  16. package/dist/generated/actors/item/index.d.ts.map +1 -0
  17. package/dist/generated/actors/item/index.js +27 -0
  18. package/dist/generated/actors/item/index.js.map +1 -0
  19. package/dist/generated/downloadedFromIndexers/index.d.ts +45 -0
  20. package/dist/generated/downloadedFromIndexers/index.d.ts.map +1 -0
  21. package/dist/generated/downloadedFromIndexers/index.js +44 -0
  22. package/dist/generated/downloadedFromIndexers/index.js.map +1 -0
  23. package/dist/generated/downloadedFromIndexers/item/filenames/index.d.ts +45 -0
  24. package/dist/generated/downloadedFromIndexers/item/filenames/index.d.ts.map +1 -0
  25. package/dist/generated/downloadedFromIndexers/item/filenames/index.js +43 -0
  26. package/dist/generated/downloadedFromIndexers/item/filenames/index.js.map +1 -0
  27. package/dist/generated/downloadedFromIndexers/item/filenames/item/index.d.ts +47 -0
  28. package/dist/generated/downloadedFromIndexers/item/filenames/item/index.d.ts.map +1 -0
  29. package/dist/generated/downloadedFromIndexers/item/filenames/item/index.js +41 -0
  30. package/dist/generated/downloadedFromIndexers/item/filenames/item/index.js.map +1 -0
  31. package/dist/generated/downloadedFromIndexers/item/index.d.ts +56 -0
  32. package/dist/generated/downloadedFromIndexers/item/index.d.ts.map +1 -0
  33. package/dist/generated/downloadedFromIndexers/item/index.js +52 -0
  34. package/dist/generated/downloadedFromIndexers/item/index.js.map +1 -0
  35. package/dist/generated/favoriteActors/changes/index.d.ts +38 -0
  36. package/dist/generated/favoriteActors/changes/index.d.ts.map +1 -0
  37. package/dist/generated/favoriteActors/changes/index.js +36 -0
  38. package/dist/generated/favoriteActors/changes/index.js.map +1 -0
  39. package/dist/generated/favoriteActors/index.d.ts +64 -0
  40. package/dist/generated/favoriteActors/index.d.ts.map +1 -0
  41. package/dist/generated/favoriteActors/index.js +61 -0
  42. package/dist/generated/favoriteActors/index.js.map +1 -0
  43. package/dist/generated/favoriteActors/item/index.d.ts +41 -0
  44. package/dist/generated/favoriteActors/item/index.d.ts.map +1 -0
  45. package/dist/generated/favoriteActors/item/index.js +35 -0
  46. package/dist/generated/favoriteActors/item/index.js.map +1 -0
  47. package/dist/generated/favoriteSites/changes/index.d.ts +38 -0
  48. package/dist/generated/favoriteSites/changes/index.d.ts.map +1 -0
  49. package/dist/generated/favoriteSites/changes/index.js +36 -0
  50. package/dist/generated/favoriteSites/changes/index.js.map +1 -0
  51. package/dist/generated/favoriteSites/index.d.ts +64 -0
  52. package/dist/generated/favoriteSites/index.d.ts.map +1 -0
  53. package/dist/generated/favoriteSites/index.js +61 -0
  54. package/dist/generated/favoriteSites/index.js.map +1 -0
  55. package/dist/generated/favoriteSites/item/index.d.ts +41 -0
  56. package/dist/generated/favoriteSites/item/index.d.ts.map +1 -0
  57. package/dist/generated/favoriteSites/item/index.js +35 -0
  58. package/dist/generated/favoriteSites/item/index.js.map +1 -0
  59. package/dist/generated/health/index.d.ts +28 -0
  60. package/dist/generated/health/index.d.ts.map +1 -0
  61. package/dist/generated/health/index.js +23 -0
  62. package/dist/generated/health/index.js.map +1 -0
  63. package/dist/generated/indexerFilehashes/changes/index.d.ts +49 -0
  64. package/dist/generated/indexerFilehashes/changes/index.d.ts.map +1 -0
  65. package/dist/generated/indexerFilehashes/changes/index.js +46 -0
  66. package/dist/generated/indexerFilehashes/changes/index.js.map +1 -0
  67. package/dist/generated/indexerFilehashes/index.d.ts +30 -0
  68. package/dist/generated/indexerFilehashes/index.d.ts.map +1 -0
  69. package/dist/generated/indexerFilehashes/index.js +30 -0
  70. package/dist/generated/indexerFilehashes/index.js.map +1 -0
  71. package/dist/generated/indexerFilehashes/latest/index.d.ts +73 -0
  72. package/dist/generated/indexerFilehashes/latest/index.d.ts.map +1 -0
  73. package/dist/generated/indexerFilehashes/latest/index.js +68 -0
  74. package/dist/generated/indexerFilehashes/latest/index.js.map +1 -0
  75. package/dist/generated/indexerFilehashes/lookup/index.d.ts +32 -0
  76. package/dist/generated/indexerFilehashes/lookup/index.d.ts.map +1 -0
  77. package/dist/generated/indexerFilehashes/lookup/index.js +30 -0
  78. package/dist/generated/indexerFilehashes/lookup/index.js.map +1 -0
  79. package/dist/generated/models/index.d.ts +4223 -0
  80. package/dist/generated/models/index.d.ts.map +1 -0
  81. package/dist/generated/models/index.js +4251 -0
  82. package/dist/generated/models/index.js.map +1 -0
  83. package/dist/generated/prdbClient.d.ts +85 -0
  84. package/dist/generated/prdbClient.d.ts.map +1 -0
  85. package/dist/generated/prdbClient.js +129 -0
  86. package/dist/generated/prdbClient.js.map +1 -0
  87. package/dist/generated/predb/index.d.ts +82 -0
  88. package/dist/generated/predb/index.d.ts.map +1 -0
  89. package/dist/generated/predb/index.js +78 -0
  90. package/dist/generated/predb/index.js.map +1 -0
  91. package/dist/generated/predb/latest/index.d.ts +40 -0
  92. package/dist/generated/predb/latest/index.d.ts.map +1 -0
  93. package/dist/generated/predb/latest/index.js +38 -0
  94. package/dist/generated/predb/latest/index.js.map +1 -0
  95. package/dist/generated/predb/searchByVideo/index.d.ts +37 -0
  96. package/dist/generated/predb/searchByVideo/index.d.ts.map +1 -0
  97. package/dist/generated/predb/searchByVideo/index.js +35 -0
  98. package/dist/generated/predb/searchByVideo/index.js.map +1 -0
  99. package/dist/generated/rateLimit/index.d.ts +29 -0
  100. package/dist/generated/rateLimit/index.d.ts.map +1 -0
  101. package/dist/generated/rateLimit/index.js +26 -0
  102. package/dist/generated/rateLimit/index.js.map +1 -0
  103. package/dist/generated/sites/index.d.ts +47 -0
  104. package/dist/generated/sites/index.d.ts.map +1 -0
  105. package/dist/generated/sites/index.js +44 -0
  106. package/dist/generated/sites/index.js.map +1 -0
  107. package/dist/generated/userIdentity/index.d.ts +29 -0
  108. package/dist/generated/userIdentity/index.d.ts.map +1 -0
  109. package/dist/generated/userIdentity/index.js +26 -0
  110. package/dist/generated/userIdentity/index.js.map +1 -0
  111. package/dist/generated/videoUserImages/byOsHash/index.d.ts +22 -0
  112. package/dist/generated/videoUserImages/byOsHash/index.d.ts.map +1 -0
  113. package/dist/generated/videoUserImages/byOsHash/index.js +21 -0
  114. package/dist/generated/videoUserImages/byOsHash/index.js.map +1 -0
  115. package/dist/generated/videoUserImages/byOsHash/item/index.d.ts +30 -0
  116. package/dist/generated/videoUserImages/byOsHash/item/index.d.ts.map +1 -0
  117. package/dist/generated/videoUserImages/byOsHash/item/index.js +27 -0
  118. package/dist/generated/videoUserImages/byOsHash/item/index.js.map +1 -0
  119. package/dist/generated/videoUserImages/changes/index.d.ts +38 -0
  120. package/dist/generated/videoUserImages/changes/index.d.ts.map +1 -0
  121. package/dist/generated/videoUserImages/changes/index.js +36 -0
  122. package/dist/generated/videoUserImages/changes/index.js.map +1 -0
  123. package/dist/generated/videoUserImages/index.d.ts +56 -0
  124. package/dist/generated/videoUserImages/index.d.ts.map +1 -0
  125. package/dist/generated/videoUserImages/index.js +57 -0
  126. package/dist/generated/videoUserImages/index.js.map +1 -0
  127. package/dist/generated/videoUserImages/item/index.d.ts +39 -0
  128. package/dist/generated/videoUserImages/item/index.d.ts.map +1 -0
  129. package/dist/generated/videoUserImages/item/index.js +37 -0
  130. package/dist/generated/videoUserImages/item/index.js.map +1 -0
  131. package/dist/generated/videoUserImages/item/report/index.d.ts +35 -0
  132. package/dist/generated/videoUserImages/item/report/index.d.ts.map +1 -0
  133. package/dist/generated/videoUserImages/item/report/index.js +33 -0
  134. package/dist/generated/videoUserImages/item/report/index.js.map +1 -0
  135. package/dist/generated/videos/batch/index.d.ts +32 -0
  136. package/dist/generated/videos/batch/index.d.ts.map +1 -0
  137. package/dist/generated/videos/batch/index.js +30 -0
  138. package/dist/generated/videos/batch/index.js.map +1 -0
  139. package/dist/generated/videos/filehashes/batch/index.d.ts +32 -0
  140. package/dist/generated/videos/filehashes/batch/index.d.ts.map +1 -0
  141. package/dist/generated/videos/filehashes/batch/index.js +30 -0
  142. package/dist/generated/videos/filehashes/batch/index.js.map +1 -0
  143. package/dist/generated/videos/filehashes/changes/index.d.ts +40 -0
  144. package/dist/generated/videos/filehashes/changes/index.d.ts.map +1 -0
  145. package/dist/generated/videos/filehashes/changes/index.js +38 -0
  146. package/dist/generated/videos/filehashes/changes/index.js.map +1 -0
  147. package/dist/generated/videos/filehashes/index.d.ts +40 -0
  148. package/dist/generated/videos/filehashes/index.d.ts.map +1 -0
  149. package/dist/generated/videos/filehashes/index.js +40 -0
  150. package/dist/generated/videos/filehashes/index.js.map +1 -0
  151. package/dist/generated/videos/filehashes/latest/index.d.ts +64 -0
  152. package/dist/generated/videos/filehashes/latest/index.d.ts.map +1 -0
  153. package/dist/generated/videos/filehashes/latest/index.js +60 -0
  154. package/dist/generated/videos/filehashes/latest/index.js.map +1 -0
  155. package/dist/generated/videos/filehashes/lookup/index.d.ts +32 -0
  156. package/dist/generated/videos/filehashes/lookup/index.d.ts.map +1 -0
  157. package/dist/generated/videos/filehashes/lookup/index.js +30 -0
  158. package/dist/generated/videos/filehashes/lookup/index.js.map +1 -0
  159. package/dist/generated/videos/filehashes/unlinked/index.d.ts +57 -0
  160. package/dist/generated/videos/filehashes/unlinked/index.d.ts.map +1 -0
  161. package/dist/generated/videos/filehashes/unlinked/index.js +53 -0
  162. package/dist/generated/videos/filehashes/unlinked/index.js.map +1 -0
  163. package/dist/generated/videos/index.d.ts +82 -0
  164. package/dist/generated/videos/index.d.ts.map +1 -0
  165. package/dist/generated/videos/index.js +79 -0
  166. package/dist/generated/videos/index.js.map +1 -0
  167. package/dist/generated/videos/item/filehashes/index.d.ts +30 -0
  168. package/dist/generated/videos/item/filehashes/index.d.ts.map +1 -0
  169. package/dist/generated/videos/item/filehashes/index.js +27 -0
  170. package/dist/generated/videos/item/filehashes/index.js.map +1 -0
  171. package/dist/generated/videos/item/index.d.ts +44 -0
  172. package/dist/generated/videos/item/index.d.ts.map +1 -0
  173. package/dist/generated/videos/item/index.js +42 -0
  174. package/dist/generated/videos/item/index.js.map +1 -0
  175. package/dist/generated/videos/item/userImages/index.d.ts +30 -0
  176. package/dist/generated/videos/item/userImages/index.d.ts.map +1 -0
  177. package/dist/generated/videos/item/userImages/index.js +27 -0
  178. package/dist/generated/videos/item/userImages/index.js.map +1 -0
  179. package/dist/generated/wantedVideos/batch/index.d.ts +32 -0
  180. package/dist/generated/wantedVideos/batch/index.d.ts.map +1 -0
  181. package/dist/generated/wantedVideos/batch/index.js +30 -0
  182. package/dist/generated/wantedVideos/batch/index.js.map +1 -0
  183. package/dist/generated/wantedVideos/changes/index.d.ts +38 -0
  184. package/dist/generated/wantedVideos/changes/index.d.ts.map +1 -0
  185. package/dist/generated/wantedVideos/changes/index.js +36 -0
  186. package/dist/generated/wantedVideos/changes/index.js.map +1 -0
  187. package/dist/generated/wantedVideos/index.d.ts +73 -0
  188. package/dist/generated/wantedVideos/index.d.ts.map +1 -0
  189. package/dist/generated/wantedVideos/index.js +70 -0
  190. package/dist/generated/wantedVideos/index.js.map +1 -0
  191. package/dist/generated/wantedVideos/item/index.d.ts +59 -0
  192. package/dist/generated/wantedVideos/item/index.d.ts.map +1 -0
  193. package/dist/generated/wantedVideos/item/index.js +49 -0
  194. package/dist/generated/wantedVideos/item/index.js.map +1 -0
  195. package/dist/index.d.ts +50 -0
  196. package/dist/index.d.ts.map +1 -0
  197. package/dist/index.js +138 -0
  198. package/dist/index.js.map +1 -0
  199. package/package.json +43 -0
@@ -0,0 +1,50 @@
1
+ import { type PrdbClient } from "./generated/prdbClient.js";
2
+ /** Header the API expects the key in. */
3
+ export declare const API_KEY_HEADER = "X-Api-Key";
4
+ /** Production base URL, also the default baked into the generated client. */
5
+ export declare const DEFAULT_BASE_URL = "https://api.prdb.net";
6
+ /** A fetch implementation, as Kiota's middleware pipeline expects it. */
7
+ export type FetchLike = (url: string, init: RequestInit) => Promise<Response>;
8
+ /**
9
+ * Thrown when the API redirects to a different origin.
10
+ *
11
+ * Following such a redirect would hand the API key to whoever answers at the
12
+ * new location, so the SDK refuses it. Redirects that stay on the same origin
13
+ * are followed normally.
14
+ */
15
+ export declare class CrossOriginRedirectError extends Error {
16
+ constructor(originalUrl: string, newUrl: string);
17
+ }
18
+ export interface ClientOptions {
19
+ /** The API key, sent in the `X-Api-Key` header on every request. */
20
+ apiKey: string;
21
+ /**
22
+ * Override the API root. Useful for a staging deployment. Must use `https`,
23
+ * so the key is never sent in cleartext.
24
+ */
25
+ baseUrl?: string;
26
+ /**
27
+ * Supply your own fetch implementation to control timeouts, proxies or
28
+ * agents. It is wrapped in the SDK's middleware either way, so the redirect
29
+ * rule below always applies.
30
+ */
31
+ customFetch?: FetchLike;
32
+ }
33
+ export type AnonymousClientOptions = Omit<ClientOptions, "apiKey">;
34
+ /**
35
+ * Create a client authenticated with an API key.
36
+ *
37
+ * @throws If `apiKey` is empty, or `baseUrl` is not an absolute `https` URL.
38
+ */
39
+ export declare function createClient(options: ClientOptions): PrdbClient;
40
+ /**
41
+ * Create a client without credentials.
42
+ *
43
+ * Only `GET /health` is reachable this way; every other endpoint answers 401.
44
+ * Provided so health probes do not need an API key.
45
+ *
46
+ * With no credential to protect, `baseUrl` may use plain `http`.
47
+ */
48
+ export declare function createAnonymousClient(options?: AnonymousClientOptions): PrdbClient;
49
+ export type { PrdbClient };
50
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE9E,yCAAyC;AACzC,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AAEvD,yEAAyE;AACzE,MAAM,MAAM,SAAS,GAAG,CACvB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,KACb,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;gBACtC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAO/C;AAED,MAAM,WAAW,aAAa;IAC7B,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAEnE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,CAiB/D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,GAAE,sBAA2B,GAClC,UAAU,CASZ;AA8GD,YAAY,EAAE,UAAU,EAAE,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,138 @@
1
+ /**
2
+ * TypeScript SDK for the prdb Public API.
3
+ *
4
+ * The request builders mirror the API's URL structure:
5
+ *
6
+ * ```ts
7
+ * import { createClient } from "@prdb/sdk";
8
+ *
9
+ * const client = createClient({ apiKey: "..." });
10
+ * const page = await client.videos.get();
11
+ * const video = await client.videos.byId(videoId).get();
12
+ * ```
13
+ *
14
+ * Everything under `./generated` is produced by Kiota from `spec/openapi.json`
15
+ * and is overwritten on every regeneration. Do not edit it.
16
+ */
17
+ import { AnonymousAuthenticationProvider, ApiKeyAuthenticationProvider, ApiKeyLocation, } from "@microsoft/kiota-abstractions";
18
+ import { DefaultRequestAdapter } from "@microsoft/kiota-bundle";
19
+ import { KiotaClientFactory, MiddlewareFactory, RedirectHandler, RedirectHandlerOptions, } from "@microsoft/kiota-http-fetchlibrary";
20
+ import { createPrdbClient } from "./generated/prdbClient.js";
21
+ /** Header the API expects the key in. */
22
+ export const API_KEY_HEADER = "X-Api-Key";
23
+ /** Production base URL, also the default baked into the generated client. */
24
+ export const DEFAULT_BASE_URL = "https://api.prdb.net";
25
+ /**
26
+ * Thrown when the API redirects to a different origin.
27
+ *
28
+ * Following such a redirect would hand the API key to whoever answers at the
29
+ * new location, so the SDK refuses it. Redirects that stay on the same origin
30
+ * are followed normally.
31
+ */
32
+ export class CrossOriginRedirectError extends Error {
33
+ constructor(originalUrl, newUrl) {
34
+ super(`refusing to follow a redirect from ${new URL(originalUrl).host} to ` +
35
+ `${new URL(newUrl).host}; the api key is bound to the first host`);
36
+ this.name = "CrossOriginRedirectError";
37
+ }
38
+ }
39
+ /**
40
+ * Create a client authenticated with an API key.
41
+ *
42
+ * @throws If `apiKey` is empty, or `baseUrl` is not an absolute `https` URL.
43
+ */
44
+ export function createClient(options) {
45
+ const { apiKey, baseUrl = DEFAULT_BASE_URL, customFetch } = options;
46
+ if (!apiKey) {
47
+ throw new Error("apiKey must not be empty");
48
+ }
49
+ const host = hostOf(baseUrl, { requireHttps: true });
50
+ const authProvider = new ApiKeyAuthenticationProvider(apiKey, API_KEY_HEADER, ApiKeyLocation.Header, new Set([host]));
51
+ return buildClient(authProvider, baseUrl, customFetch);
52
+ }
53
+ /**
54
+ * Create a client without credentials.
55
+ *
56
+ * Only `GET /health` is reachable this way; every other endpoint answers 401.
57
+ * Provided so health probes do not need an API key.
58
+ *
59
+ * With no credential to protect, `baseUrl` may use plain `http`.
60
+ */
61
+ export function createAnonymousClient(options = {}) {
62
+ const { baseUrl = DEFAULT_BASE_URL, customFetch } = options;
63
+ hostOf(baseUrl, { requireHttps: false });
64
+ return buildClient(new AnonymousAuthenticationProvider(), baseUrl, customFetch);
65
+ }
66
+ function buildClient(authProvider, baseUrl, customFetch) {
67
+ const adapter = new DefaultRequestAdapter(authProvider, undefined, undefined, buildHttpClient(customFetch));
68
+ adapter.baseUrl = baseUrl;
69
+ return createPrdbClient(adapter);
70
+ }
71
+ /**
72
+ * Build Kiota's default middleware pipeline with one change: a redirect to a
73
+ * different origin is refused instead of followed.
74
+ *
75
+ * The API key travels in a custom header, and nothing below this point strips
76
+ * it. Kiota's default scrubbing removes only `authorization`, `cookie` and
77
+ * `proxy-authorization`, and `fetch` itself keeps custom headers across a
78
+ * redirect, so a redirect off the API host would hand the credential to
79
+ * whoever answered.
80
+ */
81
+ function buildHttpClient(customFetch) {
82
+ const middlewares = MiddlewareFactory.getDefaultMiddlewares(customFetch);
83
+ const ours = new RedirectHandler(new RedirectHandlerOptions({
84
+ scrubSensitiveHeaders: refuseCrossOriginRedirect,
85
+ }));
86
+ const index = middlewares.findIndex((middleware) => middleware instanceof RedirectHandler);
87
+ if (index === -1) {
88
+ // Kiota's defaults no longer include one; ours still has to run.
89
+ middlewares.unshift(ours);
90
+ }
91
+ else {
92
+ middlewares[index] = ours;
93
+ }
94
+ return KiotaClientFactory.create(customFetch, middlewares);
95
+ }
96
+ /**
97
+ * Refuse a redirect that leaves the origin the request started on.
98
+ *
99
+ * The key is deleted before throwing as well, so it is gone from the headers
100
+ * even if a caller catches the error and reuses them.
101
+ */
102
+ function refuseCrossOriginRedirect(headers, originalUrl, newUrl) {
103
+ const original = new URL(originalUrl);
104
+ const next = new URL(newUrl);
105
+ if (original.protocol.toLowerCase() === next.protocol.toLowerCase() &&
106
+ original.host.toLowerCase() === next.host.toLowerCase()) {
107
+ return;
108
+ }
109
+ // The request adapter lower-cases every header key before the middleware
110
+ // sees it, so a PascalCase delete would be a no-op.
111
+ for (const key of Object.keys(headers)) {
112
+ const lower = key.toLowerCase();
113
+ if (lower === API_KEY_HEADER.toLowerCase() ||
114
+ lower === "authorization" ||
115
+ lower === "cookie" ||
116
+ lower === "proxy-authorization") {
117
+ delete headers[key];
118
+ }
119
+ }
120
+ throw new CrossOriginRedirectError(originalUrl, newUrl);
121
+ }
122
+ function hostOf(baseUrl, { requireHttps }) {
123
+ let url;
124
+ try {
125
+ url = new URL(baseUrl);
126
+ }
127
+ catch {
128
+ throw new Error(`baseUrl must be an absolute URL, got ${baseUrl}`);
129
+ }
130
+ if (!url.host || (url.protocol !== "http:" && url.protocol !== "https:")) {
131
+ throw new Error(`baseUrl must be an absolute URL, got ${baseUrl}`);
132
+ }
133
+ if (requireHttps && url.protocol !== "https:") {
134
+ throw new Error(`baseUrl must use https so the api key is not sent in cleartext, got ${baseUrl}`);
135
+ }
136
+ return url.host;
137
+ }
138
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@prdb/sdk",
3
+ "version": "0.1.0",
4
+ "description": "TypeScript SDK for the prdb Public API",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/prdb-net/prdb-sdk.git",
9
+ "directory": "typescript"
10
+ },
11
+ "homepage": "https://github.com/prdb-net/prdb-sdk#readme",
12
+ "bugs": "https://github.com/prdb-net/prdb-sdk/issues",
13
+ "keywords": ["prdb", "sdk", "api", "client"],
14
+ "type": "module",
15
+ "main": "./dist/index.js",
16
+ "types": "./dist/index.d.ts",
17
+ "exports": {
18
+ ".": {
19
+ "types": "./dist/index.d.ts",
20
+ "default": "./dist/index.js"
21
+ }
22
+ },
23
+ "files": ["dist"],
24
+ "engines": {
25
+ "node": ">=20"
26
+ },
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
30
+ "scripts": {
31
+ "build": "tsc --build",
32
+ "typecheck": "tsc --noEmit",
33
+ "test": "tsc -p tsconfig.test.json && node --test .test-dist/test/*.test.js",
34
+ "clean": "rm -rf dist .test-dist"
35
+ },
36
+ "dependencies": {
37
+ "@microsoft/kiota-bundle": "1.0.0-preview.103"
38
+ },
39
+ "devDependencies": {
40
+ "typescript": "^5.6.0",
41
+ "@types/node": "^20.0.0"
42
+ }
43
+ }