@blorp-labs/piefed-api-client 0.0.0-7e59b13 → 0.0.0-838220e

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.
@@ -73,8 +73,7 @@ declare const allFns: {
73
73
  getGetApiAlphaSiteInstanceChooserSearchUrl: (params?: import("./schemas").GetApiAlphaSiteInstanceChooserSearchParams) => string;
74
74
  getApiAlphaSiteInstanceChooserSearch: (params?: import("./schemas").GetApiAlphaSiteInstanceChooserSearchParams, options?: RequestInit) => Promise<site.getApiAlphaSiteInstanceChooserSearchResponse>;
75
75
  getGetApiAlphaPrivateMessageListUrl: (params?: import("./schemas").GetApiAlphaPrivateMessageListParams) => string;
76
- getApiAlphaPrivateMessageList: (params?: import("./schemas").GetApiAlphaPrivateMessageListParams, // last arg is a non-options value (e.g. a body object) append options
77
- options?: RequestInit) => Promise<privateMessage.getApiAlphaPrivateMessageListResponse>;
76
+ getApiAlphaPrivateMessageList: (params?: import("./schemas").GetApiAlphaPrivateMessageListParams, options?: RequestInit) => Promise<privateMessage.getApiAlphaPrivateMessageListResponse>;
78
77
  getGetApiAlphaPrivateMessageConversationUrl: (params?: import("./schemas").GetApiAlphaPrivateMessageConversationParams) => string;
79
78
  getApiAlphaPrivateMessageConversation: (params?: import("./schemas").GetApiAlphaPrivateMessageConversationParams, options?: RequestInit) => Promise<privateMessage.getApiAlphaPrivateMessageConversationResponse>;
80
79
  getPostApiAlphaPrivateMessageConversationLeaveUrl: () => string;
@@ -185,7 +184,7 @@ declare const allFns: {
185
184
  putApiAlphaCommunityFlair: (communityFlairEditRequest: import("./schemas").CommunityFlairEditRequest, options?: RequestInit) => Promise<community.putApiAlphaCommunityFlairResponse>;
186
185
  getPostApiAlphaCommunityFlairDeleteUrl: () => string;
187
186
  postApiAlphaCommunityFlairDelete: (communityFlairDeleteRequest: import("./schemas").CommunityFlairDeleteRequest, options?: RequestInit) => Promise<community.postApiAlphaCommunityFlairDeleteResponse>;
188
- getGetApiAlphaCommentListUrl: (// options is always the last argument; inject baseUrl into it
187
+ getGetApiAlphaCommentListUrl: (//instance-b.com');
189
188
  params?: import("./schemas").GetApiAlphaCommentListParams) => string;
190
189
  getApiAlphaCommentList: (params?: import("./schemas").GetApiAlphaCommentListParams, options?: RequestInit) => Promise<comment.getApiAlphaCommentListResponse>;
191
190
  getPostApiAlphaCommentLikeUrl: () => string;
@@ -223,6 +222,10 @@ type AsyncFn = (...args: any[]) => Promise<any>;
223
222
  type ApiFunctions = {
224
223
  [K in keyof typeof allFns as (typeof allFns)[K] extends AsyncFn ? K : never]: (typeof allFns)[K];
225
224
  };
225
+ interface CreateClientOptions {
226
+ /** Default headers merged into every request (e.g. Authorization). */
227
+ headers?: Record<string, string>;
228
+ }
226
229
  /**
227
230
  * Create a client bound to a specific PieFed instance.
228
231
  *
@@ -230,10 +233,15 @@ type ApiFunctions = {
230
233
  * const client = createClient('https://piefed.social');
231
234
  * const site = await client.getApiAlphaSite();
232
235
  *
236
+ * // With auth:
237
+ * const client = createClient('https://piefed.social', {
238
+ * headers: { Authorization: 'Bearer <token>' },
239
+ * });
240
+ *
233
241
  * // Two instances at the same time:
234
242
  * const a = createClient('https://instance-a.com');
235
243
  * const b = createClient('https://instance-b.com');
236
244
  */
237
- export declare function createClient(baseUrl: string): ApiFunctions;
245
+ export declare function createClient(baseUrl: string, options?: CreateClientOptions): ApiFunctions;
238
246
  export {};
239
247
  //# sourceMappingURL=create-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-client.d.ts","sourceRoot":"","sources":["../src/create-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-client.d.ts","sourceRoot":"","sources":["../src/create-client.ts"],"names":[],"mappings":"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"}
@@ -29,33 +29,46 @@ const allFns = {
29
29
  * const client = createClient('https://piefed.social');
30
30
  * const site = await client.getApiAlphaSite();
31
31
  *
32
+ * // With auth:
33
+ * const client = createClient('https://piefed.social', {
34
+ * headers: { Authorization: 'Bearer <token>' },
35
+ * });
36
+ *
32
37
  * // Two instances at the same time:
33
38
  * const a = createClient('https://instance-a.com');
34
39
  * const b = createClient('https://instance-b.com');
35
40
  */
36
- export function createClient(baseUrl) {
41
+ export function createClient(baseUrl, options = {}) {
37
42
  const boundFns = {};
38
43
  for (const [key, fn] of Object.entries(allFns)) {
39
44
  if (typeof fn !== 'function')
40
45
  continue;
41
46
  boundFns[key] = (...args) => {
42
- // options is always the last argument; inject baseUrl into it
47
+ // options is always the last argument; inject baseUrl and default headers into it
43
48
  const last = args[args.length - 1];
49
+ const extra = {
50
+ baseUrl,
51
+ ...(options.headers ? { headers: options.headers } : {}),
52
+ };
44
53
  if (last !== null && typeof last === 'object' && !Array.isArray(last)) {
45
- args[args.length - 1] = { ...last, baseUrl };
54
+ const lastObj = last;
55
+ args[args.length - 1] = {
56
+ ...extra,
57
+ ...lastObj,
58
+ // per-call headers win, but default headers fill in any gaps
59
+ headers: { ...options.headers, ...lastObj.headers },
60
+ };
46
61
  }
47
62
  else if (last === undefined || args.length === 0) {
48
- // either no args or options was explicitly undefined
49
63
  if (args.length > 0) {
50
- args[args.length - 1] = { baseUrl };
64
+ args[args.length - 1] = extra;
51
65
  }
52
66
  else {
53
- args.push({ baseUrl });
67
+ args.push(extra);
54
68
  }
55
69
  }
56
70
  else {
57
- // last arg is a non-options value (e.g. a body object) — append options
58
- args.push({ baseUrl });
71
+ args.push(extra);
59
72
  }
60
73
  return fn(...args);
61
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"create-client.js","sourceRoot":"","sources":["../src/create-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,SAAS,MAAM,8BAA8B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,cAAc,MAAM,0CAA0C,CAAC;AAC3E,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACjD,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAE3C,MAAM,MAAM,GAAG;IACb,GAAG,KAAK;IACR,GAAG,OAAO;IACV,GAAG,SAAS;IACZ,GAAG,IAAI;IACP,GAAG,IAAI;IACP,GAAG,IAAI;IACP,GAAG,cAAc;IACjB,GAAG,IAAI;IACP,GAAG,KAAK;IACR,GAAG,MAAM;IACT,GAAG,IAAI;CACR,CAAC;AAQF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,QAAQ,GAAG,EAA6B,CAAC;IAE/C,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,EAAE,KAAK,UAAU;YAAE,SAAS;QAEvC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;YACrC,8DAA8D;YAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,IAAc,EAAE,OAAO,EAAE,CAAC;YACzD,CAAC;iBAAM,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,qDAAqD;gBACrD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,wEAAwE;gBACxE,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YACzB,CAAC;YACD,OAAQ,EAAc,CAAC,GAAG,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,QAAwB,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"create-client.js","sourceRoot":"","sources":["../src/create-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,SAAS,MAAM,8BAA8B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,cAAc,MAAM,0CAA0C,CAAC;AAC3E,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACjD,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAE3C,MAAM,MAAM,GAAG;IACb,GAAG,KAAK;IACR,GAAG,OAAO;IACV,GAAG,SAAS;IACZ,GAAG,IAAI;IACP,GAAG,IAAI;IACP,GAAG,IAAI;IACP,GAAG,cAAc;IACjB,GAAG,IAAI;IACP,GAAG,KAAK;IACR,GAAG,MAAM;IACT,GAAG,IAAI;CACR,CAAC;AAaF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,UAA+B,EAAE;IAC7E,MAAM,QAAQ,GAAG,EAA6B,CAAC;IAE/C,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,EAAE,KAAK,UAAU;YAAE,SAAS;QAEvC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;YACrC,kFAAkF;YAClF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnC,MAAM,KAAK,GAAsC;gBAC/C,OAAO;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzD,CAAC;YACF,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtE,MAAM,OAAO,GAAG,IAA0C,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG;oBACtB,GAAG,KAAK;oBACR,GAAG,OAAO;oBACV,6DAA6D;oBAC7D,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAI,OAAO,CAAC,OAA8C,EAAE;iBAC5F,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;YACD,OAAQ,EAAc,CAAC,GAAG,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,QAAwB,CAAC;AAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blorp-labs/piefed-api-client",
3
- "version": "0.0.0-7e59b13",
3
+ "version": "0.0.0-838220e",
4
4
  "description": "Typed TypeScript client for the PieFed API, generated from the OpenAPI spec",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.6.5",
@@ -30,6 +30,11 @@ type ApiFunctions = {
30
30
  [K in keyof typeof allFns as (typeof allFns)[K] extends AsyncFn ? K : never]: (typeof allFns)[K];
31
31
  };
32
32
 
33
+ interface CreateClientOptions {
34
+ /** Default headers merged into every request (e.g. Authorization). */
35
+ headers?: Record<string, string>;
36
+ }
37
+
33
38
  /**
34
39
  * Create a client bound to a specific PieFed instance.
35
40
  *
@@ -37,31 +42,44 @@ type ApiFunctions = {
37
42
  * const client = createClient('https://piefed.social');
38
43
  * const site = await client.getApiAlphaSite();
39
44
  *
45
+ * // With auth:
46
+ * const client = createClient('https://piefed.social', {
47
+ * headers: { Authorization: 'Bearer <token>' },
48
+ * });
49
+ *
40
50
  * // Two instances at the same time:
41
51
  * const a = createClient('https://instance-a.com');
42
52
  * const b = createClient('https://instance-b.com');
43
53
  */
44
- export function createClient(baseUrl: string): ApiFunctions {
54
+ export function createClient(baseUrl: string, options: CreateClientOptions = {}): ApiFunctions {
45
55
  const boundFns = {} as Record<string, AsyncFn>;
46
56
 
47
57
  for (const [key, fn] of Object.entries(allFns)) {
48
58
  if (typeof fn !== 'function') continue;
49
59
 
50
60
  boundFns[key] = (...args: unknown[]) => {
51
- // options is always the last argument; inject baseUrl into it
61
+ // options is always the last argument; inject baseUrl and default headers into it
52
62
  const last = args[args.length - 1];
63
+ const extra: RequestInit & { baseUrl: string } = {
64
+ baseUrl,
65
+ ...(options.headers ? { headers: options.headers } : {}),
66
+ };
53
67
  if (last !== null && typeof last === 'object' && !Array.isArray(last)) {
54
- args[args.length - 1] = { ...last as object, baseUrl };
68
+ const lastObj = last as RequestInit & { baseUrl?: string };
69
+ args[args.length - 1] = {
70
+ ...extra,
71
+ ...lastObj,
72
+ // per-call headers win, but default headers fill in any gaps
73
+ headers: { ...options.headers, ...(lastObj.headers as Record<string, string> | undefined) },
74
+ };
55
75
  } else if (last === undefined || args.length === 0) {
56
- // either no args or options was explicitly undefined
57
76
  if (args.length > 0) {
58
- args[args.length - 1] = { baseUrl };
77
+ args[args.length - 1] = extra;
59
78
  } else {
60
- args.push({ baseUrl });
79
+ args.push(extra);
61
80
  }
62
81
  } else {
63
- // last arg is a non-options value (e.g. a body object) — append options
64
- args.push({ baseUrl });
82
+ args.push(extra);
65
83
  }
66
84
  return (fn as AsyncFn)(...args);
67
85
  };