@atproto/xrpc 0.6.0-rc.0 → 0.6.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-handler.d.ts","sourceRoot":"","sources":["../src/fetch-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGlC,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,IAAI;AACV;;;;GAIG;AACH,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,KACd,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEtB,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,GAAG,MAAM,GAAG,GAAG,CAAA;AAEzE,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;OAIG;IACH,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;IAE/B;;;;OAIG;IACH,OAAO,CAAC,EAAE;SACP,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;KACxC,CAAA;IAED;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAChC,CAAA;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CA0B5E"}
1
+ {"version":3,"file":"fetch-handler.d.ts","sourceRoot":"","sources":["../src/fetch-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGlC,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,IAAI;AACV;;;;GAIG;AACH,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,KACd,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEtB,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,GAAG,MAAM,GAAG,GAAG,CAAA;AAEzE,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;OAIG;IACH,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;IAE/B;;;;OAIG;IACH,OAAO,CAAC,EAAE;SACP,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;KACxC,CAAA;IAED;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAChC,CAAA;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,CACZ,IAAI,EAAE,kBAAkB;IACxB;;;;OAIG;IACH,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,KACd,OAAO,CAAC,QAAQ,CAAC,CAAA;CACvB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,YAAY,GAAG,kBAAkB,GAAG,mBAAmB,GAC/D,YAAY,CAgCd"}
@@ -3,6 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildFetchHandler = void 0;
4
4
  const util_1 = require("./util");
5
5
  function buildFetchHandler(options) {
6
+ // Already a fetch handler (allowed for convenience)
7
+ if (typeof options === 'function')
8
+ return options;
9
+ if (typeof options === 'object' && 'fetchHandler' in options) {
10
+ return options.fetchHandler.bind(options);
11
+ }
6
12
  const { service, headers: defaultHeaders = undefined, fetch = globalThis.fetch, } = typeof options === 'string' || options instanceof URL
7
13
  ? { service: options }
8
14
  : options;
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-handler.js","sourceRoot":"","sources":["../src/fetch-handler.ts"],"names":[],"mappings":";;;AACA,iCAAuC;AAwCvC,SAAgB,iBAAiB,CAAC,OAA4B;IAC5D,MAAM,EACJ,OAAO,EACP,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,KAAK,GAAG,UAAU,CAAC,KAAK,GACzB,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,YAAY,GAAG;QACvD,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;QACtB,CAAC,CAAC,OAAO,CAAA;IAEX,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CACjB,sEAAsE,CACvE,CAAA;IACH,CAAC;IAED,MAAM,qBAAqB,GACzB,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAErE,OAAO,KAAK,WAAW,GAAG,EAAE,IAAI;QAC9B,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;QAChE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAElC,MAAM,OAAO,GAAG,IAAA,qBAAc,EAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAA;QAEnE,OAAO,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAC7C,CAAC,CAAA;AACH,CAAC;AA1BD,8CA0BC"}
1
+ {"version":3,"file":"fetch-handler.js","sourceRoot":"","sources":["../src/fetch-handler.ts"],"names":[],"mappings":";;;AACA,iCAAuC;AAqDvC,SAAgB,iBAAiB,CAC/B,OAAgE;IAEhE,oDAAoD;IACpD,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,OAAO,OAAO,CAAA;IACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,cAAc,IAAI,OAAO,EAAE,CAAC;QAC7D,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,EACJ,OAAO,EACP,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,KAAK,GAAG,UAAU,CAAC,KAAK,GACzB,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,YAAY,GAAG;QACvD,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;QACtB,CAAC,CAAC,OAAO,CAAA;IAEX,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CACjB,sEAAsE,CACvE,CAAA;IACH,CAAC;IAED,MAAM,qBAAqB,GACzB,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAErE,OAAO,KAAK,WAAW,GAAG,EAAE,IAAI;QAC9B,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;QAChE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAElC,MAAM,OAAO,GAAG,IAAA,qBAAc,EAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAA;QAEnE,OAAO,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAC7C,CAAC,CAAA;AACH,CAAC;AAlCD,8CAkCC"}
package/dist/types.d.ts CHANGED
@@ -2,8 +2,9 @@ import { z } from 'zod';
2
2
  import { ValidationError } from '@atproto/lexicon';
3
3
  export type QueryParams = Record<string, any>;
4
4
  export type HeadersMap = Record<string, string>;
5
+ export type {
5
6
  /** @deprecated not to be confused with the WHATWG Headers constructor */
6
- export type Headers = HeadersMap;
7
+ HeadersMap as Headers, };
7
8
  export type Gettable<T> = T | (() => T);
8
9
  export interface CallOptions {
9
10
  encoding?: string;
@@ -74,9 +75,9 @@ export declare const ResponseTypeStrings: {
74
75
  export declare function httpResponseCodeToString(status: number): string;
75
76
  export declare class XRPCResponse {
76
77
  data: any;
77
- headers: Headers;
78
+ headers: HeadersMap;
78
79
  success: boolean;
79
- constructor(data: any, headers: Headers);
80
+ constructor(data: any, headers: HeadersMap);
80
81
  }
81
82
  export declare class XRPCError extends Error {
82
83
  error: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC7C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE/C,yEAAyE;AACzE,MAAM,MAAM,OAAO,GAAG,UAAU,CAAA;AAEhC,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;AAEvC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,UAAU,CAAA;CACrB;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,oBAAY,YAAY;IACtB,OAAO,IAAI;IACX,eAAe,IAAI;IACnB,OAAO,MAAM;IACb,cAAc,MAAM;IACpB,YAAY,MAAM;IAClB,SAAS,MAAM;IACf,gBAAgB,MAAM;IACtB,eAAe,MAAM;IACrB,iBAAiB,MAAM;IACvB,mBAAmB,MAAM;IACzB,oBAAoB,MAAM;IAC1B,eAAe,MAAM;IACrB,kBAAkB,MAAM;IACxB,eAAe,MAAM;CACtB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAcnE;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;CAe7B,CAAA;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;CAe/B,CAAA;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,qBAAa,YAAY;IAId,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,OAAO;IAJzB,OAAO,UAAO;gBAGL,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,OAAO;CAE1B;AAED,qBAAa,SAAU,SAAQ,KAAK;IAOzB,KAAK,EAAE,MAAM;IAEb,OAAO,CAAC;IARjB,OAAO,UAAQ;IAER,MAAM,EAAE,YAAY,CAAA;gBAGzB,UAAU,EAAE,MAAM,EACX,KAAK,GAAE,MAA2C,EACzD,OAAO,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,wBAAS,EACxB,OAAO,CAAC,EAAE,YAAY;IAaxB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,SAAS;CAsBtE;AAED,qBAAa,wBAAyB,SAAQ,SAAS;IAE5C,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,eAAe;IAChC,YAAY,EAAE,OAAO;gBAFrB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,OAAO;CAU/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC7C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE/C,YAAY;AACV,yEAAyE;AACzE,UAAU,IAAI,OAAO,GACtB,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;AAEvC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,UAAU,CAAA;CACrB;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,oBAAY,YAAY;IACtB,OAAO,IAAI;IACX,eAAe,IAAI;IACnB,OAAO,MAAM;IACb,cAAc,MAAM;IACpB,YAAY,MAAM;IAClB,SAAS,MAAM;IACf,gBAAgB,MAAM;IACtB,eAAe,MAAM;IACrB,iBAAiB,MAAM;IACvB,mBAAmB,MAAM;IACzB,oBAAoB,MAAM;IAC1B,eAAe,MAAM;IACrB,kBAAkB,MAAM;IACxB,eAAe,MAAM;CACtB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAcnE;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;CAe7B,CAAA;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;CAe/B,CAAA;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,qBAAa,YAAY;IAId,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,UAAU;IAJ5B,OAAO,UAAO;gBAGL,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,UAAU;CAE7B;AAED,qBAAa,SAAU,SAAQ,KAAK;IAOzB,KAAK,EAAE,MAAM;IAEb,OAAO,CAAC;IARjB,OAAO,UAAQ;IAER,MAAM,EAAE,YAAY,CAAA;gBAGzB,UAAU,EAAE,MAAM,EACX,KAAK,GAAE,MAA2C,EACzD,OAAO,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,wBAAY,EAC3B,OAAO,CAAC,EAAE,YAAY;IAaxB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,SAAS;CAqCtE;AAED,qBAAa,wBAAyB,SAAQ,SAAS;IAE5C,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,eAAe;IAChC,YAAY,EAAE,OAAO;gBAFrB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,OAAO;CAU/B"}
package/dist/types.js CHANGED
@@ -145,17 +145,29 @@ class XRPCError extends Error {
145
145
  if (cause instanceof XRPCError) {
146
146
  return cause;
147
147
  }
148
+ // Type cast the cause to an Error if it is one
149
+ const causeErr = cause instanceof Error ? cause : undefined;
150
+ // Try and find a Response object in the cause
151
+ const causeResponse = cause instanceof Response
152
+ ? cause
153
+ : cause?.['response'] instanceof Response
154
+ ? cause['response']
155
+ : undefined;
156
+ const statusCode =
148
157
  // Extract status code from "http-errors" like errors
149
- const statusCode = cause instanceof Error
150
- ? ('statusCode' in cause ? cause.statusCode : undefined) ??
151
- ('status' in cause ? cause.status : undefined)
152
- : undefined;
158
+ causeErr?.['statusCode'] ??
159
+ causeErr?.['status'] ??
160
+ // Use the status code from the response object as fallback
161
+ causeResponse?.status;
162
+ // Convert the status code to a ResponseType
153
163
  const status = typeof statusCode === 'number'
154
164
  ? httpResponseCodeToEnum(statusCode)
155
165
  : fallbackStatus ?? ResponseType.Unknown;
156
- const error = exports.ResponseTypeNames[status];
157
- const message = cause instanceof Error ? cause.message : String(cause);
158
- return new XRPCError(status, error, message, undefined, { cause });
166
+ const message = causeErr?.message ?? String(cause);
167
+ const headers = causeResponse
168
+ ? Object.fromEntries(causeResponse.headers.entries())
169
+ : undefined;
170
+ return new XRPCError(status, undefined, message, headers, { cause });
159
171
  }
160
172
  }
161
173
  exports.XRPCError = XRPCError;
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,YAAY,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,WAAW,EAEX,iBAAiB,EACjB,QAAQ,EACR,WAAW,EAGZ,MAAM,SAAS,CAAA;AAYhB,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,iBAAiB,CAEtE;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,gBAAgB,GAAG,YAAY,kBAMxC;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,GAAG,YAAY,EACvC,UAAU,EAAE,GAAG,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,MAAM,CAGR;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,GAAG,YAAY,EACvC,MAAM,CAAC,EAAE,WAAW,GACnB,MAAM,CA6BR;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EACA,QAAQ,GACR,OAAO,GACP,SAAS,GACT,SAAS,GACT,UAAU,GACV,OAAO,GACP,SAAS,EACb,KAAK,EAAE,GAAG,GACT,MAAM,CAiBR;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,gBAAgB,GAAG,YAAY,EACvC,IAAI,CAAC,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAoET;AAED,wBAAgB,cAAc,CAC5B,WAAW,EAAE,SAAS,GAAG,WAAW,EACpC,cAAc,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GACvE,SAAS,GAAG,WAAW,CAuBzB;AAmBD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAgB5D;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAMrD;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,OAAO,GACb,QAAQ,GAAG,SAAS,CAqEtB;AA6FD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,IAAI,EAAE,WAAW,GAAG,SAAS,GAC5B,GAAG,CAwBL"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,YAAY,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,WAAW,EAEX,iBAAiB,EACjB,QAAQ,EACR,WAAW,EAGZ,MAAM,SAAS,CAAA;AAYhB,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,iBAAiB,CAEtE;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,gBAAgB,GAAG,YAAY,kBAMxC;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,GAAG,YAAY,EACvC,UAAU,EAAE,GAAG,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,MAAM,CAGR;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,GAAG,YAAY,EACvC,MAAM,CAAC,EAAE,WAAW,GACnB,MAAM,CA6BR;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EACA,QAAQ,GACR,OAAO,GACP,SAAS,GACT,SAAS,GACT,UAAU,GACV,OAAO,GACP,SAAS,EACb,KAAK,EAAE,GAAG,GACT,MAAM,CAiBR;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,gBAAgB,GAAG,YAAY,EACvC,IAAI,CAAC,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAoET;AAED,wBAAgB,cAAc,CAC5B,WAAW,EAAE,SAAS,GAAG,WAAW,EACpC,cAAc,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GACvE,SAAS,GAAG,WAAW,CAuBzB;AAmBD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAgB5D;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAMrD;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,OAAO,GACb,QAAQ,GAAG,SAAS,CAqEtB;AAwBD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,IAAI,EAAE,WAAW,GAAG,SAAS,GAC5B,GAAG,CAwBL"}
package/dist/util.js CHANGED
@@ -147,22 +147,22 @@ function combineHeaders(headersInit, defaultHeaders) {
147
147
  if (!defaultHeaders)
148
148
  return headersInit;
149
149
  let headers = undefined;
150
- for (const [key, getter] of defaultHeaders) {
150
+ for (const [name, definition] of defaultHeaders) {
151
151
  // Ignore undefined values (allowed for convenience when using
152
152
  // Object.entries).
153
- if (getter === undefined)
153
+ if (definition === undefined)
154
154
  continue;
155
155
  // Lazy initialization of the headers object
156
156
  headers ?? (headers = new Headers(headersInit));
157
- if (headers.has(key))
157
+ if (headers.has(name))
158
158
  continue;
159
- const value = typeof getter === 'function' ? getter() : getter;
159
+ const value = typeof definition === 'function' ? definition() : definition;
160
160
  if (typeof value === 'string')
161
- headers.set(key, value);
161
+ headers.set(name, value);
162
162
  else if (value === null)
163
- headers.delete(key);
163
+ headers.delete(name);
164
164
  else
165
- throw new TypeError(`Invalid "${key}" header value: ${typeof value}`);
165
+ throw new TypeError(`Invalid "${name}" header value: ${typeof value}`);
166
166
  }
167
167
  return headers ?? headersInit;
168
168
  }
@@ -266,78 +266,13 @@ function iterableToReadableStream(iterable) {
266
266
  if ('from' in ReadableStream && typeof ReadableStream.from === 'function') {
267
267
  return ReadableStream.from(iterable);
268
268
  }
269
- // Note, in environments where ReadableStream is not available either, we
270
- // *could* load the iterable into memory and create an Arraybuffer from it.
271
- // However, this would be a bad idea for large iterables. In order to keep
272
- // things simple, we'll just allow the anonymous ReadableStream constructor
273
- // to throw an error in those environments, hinting the user of the lib to find
274
- // an alternate solution in that case (e.g. use a Blob if available).
275
- let generator;
276
- return new ReadableStream({
277
- type: 'bytes',
278
- start() {
279
- // Wrap the iterable in an async generator to handle both sync and async
280
- // iterables, and make sure that the return() method exists.
281
- generator = (async function* () {
282
- yield* iterable;
283
- })();
284
- },
285
- async pull(controller) {
286
- const { done, value } = await generator.next();
287
- if (done) {
288
- controller.close();
289
- }
290
- else {
291
- try {
292
- const buf = toUint8Array(value);
293
- if (buf)
294
- controller.enqueue(buf);
295
- }
296
- catch (cause) {
297
- // ReadableStream won't call cancel() if the stream is errored.
298
- await generator.return();
299
- controller.error(new TypeError('Converting iterable body to ReadableStream requires Buffer, ArrayBuffer or string values', { cause }));
300
- }
301
- }
302
- },
303
- async cancel() {
304
- await generator.return();
305
- },
306
- });
269
+ // If you see this error, consider using a polyfill for ReadableStream. For
270
+ // example, the "web-streams-polyfill" package:
271
+ // https://github.com/MattiasBuelens/web-streams-polyfill
272
+ throw new TypeError('ReadableStream.from() is not supported in this environment. ' +
273
+ 'It is required to support using iterables as the request body. ' +
274
+ 'Consider using a polyfill or re-write your code to use a different body type.');
307
275
  }
308
- // Browsers don't have Buffer. This syntax is to avoid bundlers from including
309
- // a Buffer polyfill in the bundle if it's not used elsewhere.
310
- const globalName = `${{ toString: () => 'Buf' }}fer`;
311
- const Buffer = typeof globalThis[globalName] === 'function'
312
- ? globalThis[globalName]
313
- : undefined;
314
- const toUint8Array = Buffer
315
- ? (value) => {
316
- // @ts-expect-error Buffer.from will throw if value is not a valid input
317
- const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
318
- return buf.byteLength ? new Uint8Array(buf) : undefined;
319
- }
320
- : (value) => {
321
- if (value instanceof ArrayBuffer) {
322
- const buf = new Uint8Array(value);
323
- return buf.byteLength ? buf : undefined;
324
- }
325
- // Simulate Buffer.from() behavior for strings and and coercion
326
- if (typeof value === 'string') {
327
- return value.length ? new TextEncoder().encode(value) : undefined;
328
- }
329
- else if (typeof value?.valueOf === 'function') {
330
- const coerced = value.valueOf();
331
- if (coerced instanceof ArrayBuffer) {
332
- const buf = new Uint8Array(coerced);
333
- return buf.byteLength ? buf : undefined;
334
- }
335
- else if (typeof coerced === 'string') {
336
- return coerced.length ? new TextEncoder().encode(coerced) : undefined;
337
- }
338
- }
339
- throw new TypeError(`Unable to convert "${typeof value}" to Uint8Array`);
340
- };
341
276
  function httpResponseBodyParse(mimeType, data) {
342
277
  try {
343
278
  if (mimeType) {
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  import { LexiconDoc, Lexicons } from '@atproto/lexicon';
2
- import { FetchHandler, FetchHandlerOptions } from './fetch-handler';
3
- import { CallOptions, QueryParams, XRPCResponse } from './types';
2
+ import { FetchHandler, FetchHandlerObject, FetchHandlerOptions } from './fetch-handler';
3
+ import { CallOptions, Gettable, QueryParams, XRPCResponse } from './types';
4
4
  export declare class XrpcClient {
5
5
  readonly fetchHandler: FetchHandler;
6
+ readonly headers: Map<string, Gettable<string | null>>;
6
7
  readonly lex: Lexicons;
7
- constructor(fetchHandler: FetchHandler | FetchHandlerOptions, lex: Lexicons | Iterable<LexiconDoc>);
8
+ constructor(fetchHandlerOpts: FetchHandler | FetchHandlerObject | FetchHandlerOptions, lex: Lexicons | Iterable<LexiconDoc>);
9
+ setHeader(key: string, value: Gettable<null | string>): void;
10
+ unsetHeader(key: string): void;
11
+ clearHeaders(): void;
8
12
  call(methodNsid: string, params?: QueryParams, data?: unknown, opts?: CallOptions): Promise<XRPCResponse>;
9
13
  }
10
14
  //# sourceMappingURL=xrpc-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xrpc-client.d.ts","sourceRoot":"","sources":["../src/xrpc-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAmB,MAAM,kBAAkB,CAAA;AACxE,OAAO,EACL,YAAY,EACZ,mBAAmB,EAEpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,WAAW,EACX,WAAW,EAIX,YAAY,EAEb,MAAM,SAAS,CAAA;AAUhB,qBAAa,UAAU;IACrB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;gBAGpB,YAAY,EAAE,YAAY,GAAG,mBAAmB,EAChD,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC;IAUhC,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,YAAY,CAAC;CA8DzB"}
1
+ {"version":3,"file":"xrpc-client.d.ts","sourceRoot":"","sources":["../src/xrpc-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAmB,MAAM,kBAAkB,CAAA;AACxE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EAEpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,WAAW,EACX,QAAQ,EACR,WAAW,EAIX,YAAY,EAEb,MAAM,SAAS,CAAA;AAWhB,qBAAa,UAAU;IACrB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,OAAO,uCAA6C;IAC7D,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;gBAGpB,gBAAgB,EAAE,YAAY,GAAG,kBAAkB,GAAG,mBAAmB,EAGzE,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC;IAOtC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,IAAI;IAI5D,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9B,YAAY,IAAI,IAAI;IAId,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,YAAY,CAAC;CA8DzB"}
@@ -6,31 +6,46 @@ const fetch_handler_1 = require("./fetch-handler");
6
6
  const types_1 = require("./types");
7
7
  const util_1 = require("./util");
8
8
  class XrpcClient {
9
- constructor(fetchHandler, lex) {
9
+ constructor(fetchHandlerOpts,
10
+ // "Lexicons" is redundant here (because that class implements
11
+ // "Iterable<LexiconDoc>") but we keep it for explicitness:
12
+ lex) {
10
13
  Object.defineProperty(this, "fetchHandler", {
11
14
  enumerable: true,
12
15
  configurable: true,
13
16
  writable: true,
14
17
  value: void 0
15
18
  });
19
+ Object.defineProperty(this, "headers", {
20
+ enumerable: true,
21
+ configurable: true,
22
+ writable: true,
23
+ value: new Map()
24
+ });
16
25
  Object.defineProperty(this, "lex", {
17
26
  enumerable: true,
18
27
  configurable: true,
19
28
  writable: true,
20
29
  value: void 0
21
30
  });
22
- this.fetchHandler =
23
- typeof fetchHandler === 'function'
24
- ? fetchHandler
25
- : (0, fetch_handler_1.buildFetchHandler)(fetchHandler);
31
+ this.fetchHandler = (0, fetch_handler_1.buildFetchHandler)(fetchHandlerOpts);
26
32
  this.lex = lex instanceof lexicon_1.Lexicons ? lex : new lexicon_1.Lexicons(lex);
27
33
  }
34
+ setHeader(key, value) {
35
+ this.headers.set(key.toLowerCase(), value);
36
+ }
37
+ unsetHeader(key) {
38
+ this.headers.delete(key.toLowerCase());
39
+ }
40
+ clearHeaders() {
41
+ this.headers.clear();
42
+ }
28
43
  async call(methodNsid, params, data, opts) {
29
44
  const def = this.lex.getDefOrThrow(methodNsid);
30
45
  if (!def || (def.type !== 'query' && def.type !== 'procedure')) {
31
46
  throw new TypeError(`Invalid lexicon: ${methodNsid}. Must be a query or procedure.`);
32
47
  }
33
- //@TODO: should we validate the params and data here?
48
+ // @TODO: should we validate the params and data here?
34
49
  // this.lex.assertValidXrpcParams(methodNsid, params)
35
50
  // if (data !== undefined) {
36
51
  // this.lex.assertValidXrpcInput(methodNsid, data)
@@ -43,7 +58,7 @@ class XrpcClient {
43
58
  // anywhere in docs or types. See whatwg/fetch#1438, nodejs/node#46221.
44
59
  const init = {
45
60
  method: reqMethod,
46
- headers: reqHeaders,
61
+ headers: (0, util_1.combineHeaders)(reqHeaders, this.headers),
47
62
  body: reqBody,
48
63
  duplex: 'half',
49
64
  signal: opts?.signal,
@@ -1 +1 @@
1
- {"version":3,"file":"xrpc-client.js","sourceRoot":"","sources":["../src/xrpc-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xrpc-client.js","sourceRoot":"","sources":["../src/xrpc-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/xrpc",
3
- "version": "0.6.0-rc.0",
3
+ "version": "0.6.1",
4
4
  "license": "MIT",
5
5
  "description": "atproto HTTP API (XRPC) client library",
6
6
  "keywords": [
@@ -17,7 +17,7 @@
17
17
  "types": "dist/index.d.ts",
18
18
  "dependencies": {
19
19
  "zod": "^3.23.8",
20
- "@atproto/lexicon": "^0.4.1-rc.0"
20
+ "@atproto/lexicon": "^0.4.1"
21
21
  },
22
22
  "devDependencies": {
23
23
  "typescript": "^5.3.3"
package/src/client.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { LexiconDoc, Lexicons } from '@atproto/lexicon'
2
- import { CallOptions, Gettable, QueryParams } from './types'
2
+ import { CallOptions, QueryParams } from './types'
3
3
  import { XrpcClient } from './xrpc-client'
4
4
  import { combineHeaders } from './util'
5
5
 
@@ -59,24 +59,15 @@ export class Client {
59
59
  /** @deprecated Use {@link XrpcClient} instead */
60
60
  export class ServiceClient extends XrpcClient {
61
61
  uri: URL
62
- protected headers = new Map<string, Gettable<null | string>>()
63
62
 
64
63
  constructor(
65
64
  public baseClient: Client,
66
65
  serviceUri: string | URL,
67
66
  ) {
68
67
  super(async (input, init) => {
69
- const headers = combineHeaders(init.headers, this.headers)
68
+ const headers = combineHeaders(init.headers, Object.entries(this.headers))
70
69
  return fetch(new URL(input, this.uri), { ...init, headers })
71
70
  }, baseClient.lex)
72
71
  this.uri = typeof serviceUri === 'string' ? new URL(serviceUri) : serviceUri
73
72
  }
74
-
75
- setHeader(key: string, value: Gettable<null | string>): void {
76
- this.headers.set(key.toLowerCase(), value)
77
- }
78
-
79
- unsetHeader(key: string): void {
80
- this.headers.delete(key.toLowerCase())
81
- }
82
73
  }
@@ -39,7 +39,28 @@ export type BuildFetchHandlerOptions = {
39
39
  fetch?: typeof globalThis.fetch
40
40
  }
41
41
 
42
- export function buildFetchHandler(options: FetchHandlerOptions): FetchHandler {
42
+ export interface FetchHandlerObject {
43
+ fetchHandler: (
44
+ this: FetchHandlerObject,
45
+ /**
46
+ * The URL (pathname + query parameters) to make the request to, without the
47
+ * origin. The origin (protocol, hostname, and port) must be added by this
48
+ * {@link FetchHandler}, typically based on authentication or other factors.
49
+ */
50
+ url: string,
51
+ init: RequestInit,
52
+ ) => Promise<Response>
53
+ }
54
+
55
+ export function buildFetchHandler(
56
+ options: FetchHandler | FetchHandlerObject | FetchHandlerOptions,
57
+ ): FetchHandler {
58
+ // Already a fetch handler (allowed for convenience)
59
+ if (typeof options === 'function') return options
60
+ if (typeof options === 'object' && 'fetchHandler' in options) {
61
+ return options.fetchHandler.bind(options)
62
+ }
63
+
43
64
  const {
44
65
  service,
45
66
  headers: defaultHeaders = undefined,
package/src/types.ts CHANGED
@@ -4,8 +4,10 @@ import { ValidationError } from '@atproto/lexicon'
4
4
  export type QueryParams = Record<string, any>
5
5
  export type HeadersMap = Record<string, string>
6
6
 
7
- /** @deprecated not to be confused with the WHATWG Headers constructor */
8
- export type Headers = HeadersMap
7
+ export type {
8
+ /** @deprecated not to be confused with the WHATWG Headers constructor */
9
+ HeadersMap as Headers,
10
+ }
9
11
 
10
12
  export type Gettable<T> = T | (() => T)
11
13
 
@@ -101,7 +103,7 @@ export class XRPCResponse {
101
103
 
102
104
  constructor(
103
105
  public data: any,
104
- public headers: Headers,
106
+ public headers: HeadersMap,
105
107
  ) {}
106
108
  }
107
109
 
@@ -114,7 +116,7 @@ export class XRPCError extends Error {
114
116
  statusCode: number,
115
117
  public error: string = httpResponseCodeToName(statusCode),
116
118
  message?: string,
117
- public headers?: Headers,
119
+ public headers?: HeadersMap,
118
120
  options?: ErrorOptions,
119
121
  ) {
120
122
  super(message || error || httpResponseCodeToString(statusCode), options)
@@ -133,22 +135,37 @@ export class XRPCError extends Error {
133
135
  return cause
134
136
  }
135
137
 
136
- // Extract status code from "http-errors" like errors
138
+ // Type cast the cause to an Error if it is one
139
+ const causeErr = cause instanceof Error ? cause : undefined
140
+
141
+ // Try and find a Response object in the cause
142
+ const causeResponse: Response | undefined =
143
+ cause instanceof Response
144
+ ? cause
145
+ : cause?.['response'] instanceof Response
146
+ ? cause['response']
147
+ : undefined
148
+
137
149
  const statusCode: unknown =
138
- cause instanceof Error
139
- ? ('statusCode' in cause ? cause.statusCode : undefined) ??
140
- ('status' in cause ? cause.status : undefined)
141
- : undefined
150
+ // Extract status code from "http-errors" like errors
151
+ causeErr?.['statusCode'] ??
152
+ causeErr?.['status'] ??
153
+ // Use the status code from the response object as fallback
154
+ causeResponse?.status
142
155
 
156
+ // Convert the status code to a ResponseType
143
157
  const status: ResponseType =
144
158
  typeof statusCode === 'number'
145
159
  ? httpResponseCodeToEnum(statusCode)
146
160
  : fallbackStatus ?? ResponseType.Unknown
147
161
 
148
- const error = ResponseTypeNames[status]
149
- const message = cause instanceof Error ? cause.message : String(cause)
162
+ const message = causeErr?.message ?? String(cause)
163
+
164
+ const headers = causeResponse
165
+ ? Object.fromEntries(causeResponse.headers.entries())
166
+ : undefined
150
167
 
151
- return new XRPCError(status, error, message, undefined, { cause })
168
+ return new XRPCError(status, undefined, message, headers, { cause })
152
169
  }
153
170
  }
154
171