@nxgt/httpyz 0.2.0 → 0.3.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.
package/README.md CHANGED
@@ -383,6 +383,20 @@ outermost, and all of them run inside `retry` and `auth`, so they see each
383
383
  try, with its token. A middleware's own error comes through as it is, and is
384
384
  not retried.
385
385
 
386
+ `http.use()` adds middleware to a client you already have. It changes the
387
+ client in place, and returns it:
388
+
389
+ ```ts
390
+ http.use(timing).use(logging);
391
+ ```
392
+
393
+ - **After the chain the client has:** retry → auth → `use` → what `use()`
394
+ added, in order → fetch.
395
+ - **From then on:** a call already sent keeps the chain it started with.
396
+ - **Groups:** a group runs through its parent's middleware, even what is
397
+ added after the group was made. What is added to a group is the group's
398
+ alone, and its own groups'.
399
+
386
400
  Headers that only need a value, such as a `traceparent` from the current
387
401
  span, need no middleware: `headers` may be a function.
388
402
 
@@ -684,6 +698,7 @@ What `createHttpClient` returns.
684
698
  | `events` | `(path: Path, ...args: EventsArgs<Path, E, Decoded>) => EventStream<StreamEvent<E, Decoded>>` | server-sent events. See [Server-sent events](#server-sent-events) |
685
699
  | `lines` | `(path: Path, ...args: LinesArgs<Path, I, Decoded>) => Stream<StreamItem<I, Decoded>>` | JSON Lines. See [JSON Lines](#json-lines) |
686
700
  | `group` | `() => HttpGroup` | the same client, for calls that end together. See [Cancelling](#cancelling) |
701
+ | `use` | `(...middlewares: Middleware[]) => this` | adds middleware to this client, in place, and returns it. See [Middleware](#middleware) |
687
702
 
688
703
  ##### `HttpGroup`
689
704
 
@@ -1 +1 @@
1
- {"version":3,"file":"create-http-client.d.ts","sourceRoot":"","sources":["../../src/client/create-http-client.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAEX,UAAU,EACV,iBAAiB,EAEjB,MAAM,EAEN,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,OAAO,EAAE,SAAS,MAAM,EAUpC,CAAC;AAwCF;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,UAAU,CAiV5E"}
1
+ {"version":3,"file":"create-http-client.d.ts","sourceRoot":"","sources":["../../src/client/create-http-client.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAEX,UAAU,EACV,iBAAiB,EAEjB,MAAM,EAEN,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,OAAO,EAAE,SAAS,MAAM,EAUpC,CAAC;AAwCF;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,UAAU,CA8X5E"}
@@ -93,7 +93,11 @@ export type HttpGroup = HttpClient & {
93
93
  /** Aborts on the next `cancel()`: for work of your own that ends with the group's calls. */
94
94
  readonly signal: AbortSignal;
95
95
  };
96
- export type HttpClient = {
96
+ /** `http.get`, `http.post`… : a call for each method. */
97
+ type MethodCalls = {
98
+ readonly [M in Method]: Call;
99
+ };
100
+ export interface HttpClient extends MethodCalls {
97
101
  /** A call with the method as a value: `http.request('get', '/items/{id}', { param })`. */
98
102
  request<Path extends string, R extends Responses | undefined = undefined, Decoded extends boolean = true>(method: Method, path: Path, ...args: RequestArgs<Path, R, Decoded>): Promise<HttpReply<R, Decoded>>;
99
103
  /**
@@ -120,7 +124,14 @@ export type HttpClient = {
120
124
  * is cancelled with it.
121
125
  */
122
126
  group(): HttpGroup;
123
- } & {
124
- readonly [M in Method]: Call;
125
- };
127
+ /**
128
+ * Adds middleware to this client, in place, after the chain it has: retry
129
+ * → auth → `use` → what `use()` added, in order → fetch. It returns the
130
+ * client, and the calls made from then on run through it. A group runs
131
+ * through its parent's, even what is added later; what is added to a group
132
+ * is the group's alone.
133
+ */
134
+ use(...middlewares: Middleware[]): this;
135
+ }
136
+ export {};
126
137
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -830,7 +830,7 @@ function createHttpClient(options = {}) {
830
830
  signal: signals.length > 1 ? AbortSignal.any(signals) : signals[0]
831
831
  };
832
832
  };
833
- const dispatch = async (request, context, timeout, deadline, retry) => {
833
+ const dispatch = async (request, context, timeout, deadline, retry, added) => {
834
834
  const fetch = options.fetch ?? ((sent) => globalThis.fetch(sent));
835
835
  const send = async (sent) => {
836
836
  try {
@@ -846,7 +846,8 @@ function createHttpClient(options = {}) {
846
846
  const layers = [
847
847
  ...again ? [retrying(again)] : [],
848
848
  ...signer ? [signer] : [],
849
- ...options.use ?? []
849
+ ...options.use ?? [],
850
+ ...added
850
851
  ];
851
852
  try {
852
853
  return await compose(layers, send, context)(request);
@@ -891,7 +892,7 @@ function createHttpClient(options = {}) {
891
892
  };
892
893
  return { context, url, init, timeout, retry, signal: signal ?? undefined };
893
894
  };
894
- const request = async (method, path, given = {}) => {
895
+ const request = async (method, path, given, added) => {
895
896
  const {
896
897
  responses,
897
898
  validate = true,
@@ -902,10 +903,10 @@ function createHttpClient(options = {}) {
902
903
  const replaced = latestSignal(latest);
903
904
  const built = await build(method, path, call);
904
905
  const { deadline, signal } = withDeadline(built.timeout, joinSignals(built.signal, replaced));
905
- const response = await dispatch(new Request(built.url, { ...built.init, signal }), built.context, built.timeout, deadline, built.retry);
906
+ const response = await dispatch(new Request(built.url, { ...built.init, signal }), built.context, built.timeout, deadline, built.retry, added);
906
907
  return readReply(built.context, responses === undefined ? undefined : toSpec(responses), response, { validate, decode });
907
908
  };
908
- const opener = (method, path, call, accept) => async (stream, lastEventId) => {
909
+ const opener = (method, path, call, accept, added) => async (stream, lastEventId) => {
909
910
  const built = await build(method, path, call, (headers) => {
910
911
  if (!headers.has("accept"))
911
912
  headers.set("accept", accept);
@@ -922,12 +923,12 @@ function createHttpClient(options = {}) {
922
923
  return await dispatch(new Request(built.url, {
923
924
  ...built.init,
924
925
  signal: AbortSignal.any(signals)
925
- }), built.context, built.timeout, deadline.signal, built.retry);
926
+ }), built.context, built.timeout, deadline.signal, built.retry, added);
926
927
  } finally {
927
928
  clearTimeout(clock);
928
929
  }
929
930
  };
930
- const events = (path, given = {}) => {
931
+ const events = (path, given, added) => {
931
932
  const {
932
933
  events,
933
934
  onUnknownEvent,
@@ -947,7 +948,7 @@ function createHttpClient(options = {}) {
947
948
  const settings = typeof reconnect === "object" ? reconnect : {};
948
949
  return eventStream({
949
950
  context: contextOf(method, path, call.operationId),
950
- open: opener(method, path, call, "text/event-stream"),
951
+ open: opener(method, path, call, "text/event-stream", added),
951
952
  signal: call.signal ?? undefined,
952
953
  validate,
953
954
  decode,
@@ -960,7 +961,7 @@ function createHttpClient(options = {}) {
960
961
  lastEventId
961
962
  });
962
963
  };
963
- const lines = (path, given = {}) => {
964
+ const lines = (path, given, added) => {
964
965
  const {
965
966
  item,
966
967
  validate = true,
@@ -975,7 +976,7 @@ function createHttpClient(options = {}) {
975
976
  };
976
977
  return lineStream({
977
978
  context: contextOf(method, path, call.operationId),
978
- open: opener(method, path, call, LINE_TYPES.slice(0, 2).join(", ")),
979
+ open: opener(method, path, call, LINE_TYPES.slice(0, 2).join(", "), added),
979
980
  signal: call.signal ?? undefined,
980
981
  validate,
981
982
  decode,
@@ -987,7 +988,7 @@ function createHttpClient(options = {}) {
987
988
  retry = options.retry,
988
989
  operationId,
989
990
  latest
990
- } = {}) => {
991
+ }, added) => {
991
992
  const replaced = latestSignal(latest);
992
993
  const method = request.method.toLowerCase();
993
994
  const context = contextOf(method, new URL(request.url).pathname, operationId);
@@ -997,25 +998,31 @@ function createHttpClient(options = {}) {
997
998
  });
998
999
  const { deadline, signal } = withDeadline(timeout, joinSignals(request.signal, replaced));
999
1000
  const sent = new Request(request, { headers, signal });
1000
- return dispatch(sent, context, timeout, deadline, retry);
1001
+ return dispatch(sent, context, timeout, deadline, retry, added);
1001
1002
  };
1002
- const surface = (scope) => {
1003
+ const surface = (scope, inherited) => {
1004
+ const own = [];
1005
+ const layers = () => [...inherited(), ...own];
1003
1006
  const scoped = (given) => {
1004
1007
  const extra = scope();
1005
1008
  const own = given ?? {};
1006
1009
  return extra ? { ...own, signal: joinSignals(own.signal, extra) } : own;
1007
1010
  };
1008
1011
  const client = {
1009
- request: (method, path, given) => request(method, path, scoped(given)),
1012
+ request: (method, path, given) => request(method, path, scoped(given), layers()),
1010
1013
  send: (sent, given) => {
1011
1014
  const extra = scope();
1012
- return send(extra ? new Request(sent, { signal: joinSignals(sent.signal, extra) }) : sent, given);
1015
+ return send(extra ? new Request(sent, { signal: joinSignals(sent.signal, extra) }) : sent, given ?? {}, layers());
1016
+ },
1017
+ events: (path, given) => events(path, scoped(given), layers()),
1018
+ lines: (path, given) => lines(path, scoped(given), layers()),
1019
+ use: (...middlewares) => {
1020
+ own.push(...middlewares);
1021
+ return client;
1013
1022
  },
1014
- events: (path, given) => events(path, scoped(given)),
1015
- lines: (path, given) => lines(path, scoped(given)),
1016
1023
  group: () => {
1017
1024
  let controller = new AbortController;
1018
- const group = surface(() => joinSignals(scope(), controller.signal));
1025
+ const group = surface(() => joinSignals(scope(), controller.signal), layers);
1019
1026
  group.cancel = (reason) => {
1020
1027
  controller.abort(reason ?? cancelled("The group was cancelled"));
1021
1028
  controller = new AbortController;
@@ -1028,13 +1035,13 @@ function createHttpClient(options = {}) {
1028
1035
  }
1029
1036
  };
1030
1037
  for (const method of METHODS) {
1031
- client[method] = (path, given) => request(method, path, scoped(given));
1038
+ client[method] = (path, given) => request(method, path, scoped(given), layers());
1032
1039
  }
1033
1040
  return client;
1034
1041
  };
1035
1042
  return surface(() => {
1036
1043
  return;
1037
- });
1044
+ }, () => []);
1038
1045
  }
1039
1046
  // src/middleware/cache.ts
1040
1047
  var READS = new Set(["GET", "HEAD", "QUERY"]);
@@ -1106,5 +1113,5 @@ export {
1106
1113
  unwrap
1107
1114
  };
1108
1115
 
1109
- //# debugId=96539AFD0E70EDBE64756E2164756E21
1116
+ //# debugId=900A44D2EECBE84C64756E2164756E21
1110
1117
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -17,11 +17,11 @@
17
17
  "/**\n * `http.events()`: server-sent events over `fetch`. It reconnects as\n * `EventSource` does, but through the client, so each connection has its\n * `auth` and middleware, and its events are checked by their schemas.\n */\nimport { NetworkError } from '../errors/errors';\nimport {\n\topened,\n\tpause,\n\tReading,\n\ttype StreamSettings,\n\tsettle,\n} from './connection';\nimport { createSseParser, type ServerEvent } from './sse-parser';\nimport type { EventSchemas, EventStream } from './types';\n\nexport interface EventSettings extends StreamSettings {\n\treadonly events: EventSchemas | undefined;\n\treadonly onUnknownEvent: ((event: ServerEvent) => void) | undefined;\n\t/** `false`, or how to reconnect. */\n\treadonly reconnect:\n\t\t| { readonly attempts: number; readonly delay: number }\n\t\t| false;\n\treadonly lastEventId: string | undefined;\n}\n\nexport function eventStream(settings: EventSettings): EventStream<unknown> {\n\tconst reading = new Reading(settings.signal);\n\tlet lastEventId = settings.lastEventId;\n\tlet delay = settings.reconnect ? settings.reconnect.delay : 0;\n\tlet started = false;\n\n\t/** A declared event with its data checked, or `undefined` for one it does not declare. */\n\tconst declared = async (raw: ServerEvent, status: number) => {\n\t\tconst { events } = settings;\n\t\tif (!events) return raw;\n\t\tif (!Object.hasOwn(events, raw.event)) {\n\t\t\tsettings.onUnknownEvent?.(raw);\n\t\t\treturn undefined;\n\t\t}\n\t\tconst schema = events[raw.event];\n\t\tif (!schema) return raw;\n\t\tconst what = `the ${raw.event} event's data`;\n\t\tconst data = await settle(settings, status, raw.data, schema, what);\n\t\treturn { event: raw.event, data, id: raw.id };\n\t};\n\n\t/** Whether to connect again after `failures` in a row, having waited for it. */\n\tconst again = async (failures: number): Promise<boolean> => {\n\t\tconst { reconnect } = settings;\n\t\tif (!reconnect || failures >= reconnect.attempts) return false;\n\t\tawait pause(delay, reading.closer.signal, settings.signal);\n\t\treturn !reading.stopped();\n\t};\n\n\tasync function* run(): AsyncGenerator<unknown, void, undefined> {\n\t\tlet failures = 0;\n\t\ttry {\n\t\t\tfor (;;) {\n\t\t\t\tlet response: Response;\n\t\t\t\ttry {\n\t\t\t\t\tresponse = await settings.open(reading.closer.signal, lastEventId);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (reading.closer.signal.aborted) return;\n\t\t\t\t\t// Only a connection that failed may pass: not a timeout, an abort or a refusal.\n\t\t\t\t\tif (error instanceof NetworkError && (await again(failures++))) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tif (!(await opened(settings, response, ['text/event-stream']))) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst parser = createSseParser(lastEventId);\n\t\t\t\tconst reader = reading.read(response);\n\t\t\t\tlet dropped: unknown;\n\t\t\t\tfor (;;) {\n\t\t\t\t\tlet chunk: Awaited<ReturnType<typeof reader.read>>;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tchunk = await reader.read();\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tif (reading.stopped()) return;\n\t\t\t\t\t\tdropped = error;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif (reading.stopped()) return;\n\t\t\t\t\tif (chunk.done) break;\n\t\t\t\t\tconst events = parser.push(chunk.value);\n\t\t\t\t\tlastEventId = parser.lastEventId;\n\t\t\t\t\tdelay = parser.retry ?? delay;\n\t\t\t\t\tfor (const raw of events) {\n\t\t\t\t\t\tfailures = 0;\n\t\t\t\t\t\tconst event = await declared(raw, response.status);\n\t\t\t\t\t\tif (event !== undefined) yield event;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!(await again(failures++))) {\n\t\t\t\t\tif (dropped === undefined) return;\n\t\t\t\t\tthrow new NetworkError(settings.context, { cause: dropped });\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\treading.release();\n\t\t}\n\t}\n\n\treturn {\n\t\t[Symbol.asyncIterator]() {\n\t\t\tif (started) throw new TypeError('A stream is read once');\n\t\t\tstarted = true;\n\t\t\treturn run();\n\t\t},\n\t\tclose: () => reading.close(),\n\t\tget lastEventId() {\n\t\t\treturn lastEventId;\n\t\t},\n\t};\n}\n",
18
18
  "/**\n * JSON Lines, NDJSON and JSON text sequences, split into their records: one\n * JSON text a line, or after each record separator (`\\x1E`). Blank lines\n * separate nothing, and a last record needs no line end.\n */\n\nexport interface LineParser {\n\t/** Reads a chunk of text, and returns the records it completed. */\n\tpush(chunk: string): string[];\n\t/** The record left when the stream ends, if any. */\n\tend(): string[];\n}\n\n/** A JSON text sequence's record separator, which ends a record as a line end does. */\nconst RS = String.fromCharCode(0x1e);\n\nexport function createLineParser(): LineParser {\n\tlet buffer = '';\n\tconst records = (texts: string[]) =>\n\t\ttexts.map((text) => text.trim()).filter((text) => text !== '');\n\treturn {\n\t\tpush(chunk) {\n\t\t\tconst parts = (buffer + chunk).replaceAll(RS, '\\n').split(/\\r?\\n/);\n\t\t\tbuffer = parts.pop() ?? '';\n\t\t\treturn records(parts);\n\t\t},\n\t\tend() {\n\t\t\tconst rest = buffer;\n\t\t\tbuffer = '';\n\t\t\treturn records([rest]);\n\t\t},\n\t};\n}\n",
19
19
  "/** `http.lines()`: JSON Lines, NDJSON or JSON text sequences, a record at a time. */\nimport { NetworkError } from '../errors/errors';\nimport type { StandardSchemaV1 } from '../schema/standard-schema';\nimport { opened, Reading, type StreamSettings, settle } from './connection';\nimport { createLineParser } from './line-parser';\nimport type { Stream } from './types';\n\n/** The media types a stream of lines is served as. */\nexport const LINE_TYPES = [\n\t'application/jsonl',\n\t'application/x-ndjson',\n\t'application/ndjson',\n\t'application/jsonlines',\n\t'application/x-jsonlines',\n\t'application/json-seq',\n] as const;\n\nexport interface LineSettings extends StreamSettings {\n\treadonly item: StandardSchemaV1 | undefined;\n}\n\nexport function lineStream(settings: LineSettings): Stream<unknown> {\n\tconst reading = new Reading(settings.signal);\n\tlet started = false;\n\n\tasync function* run(): AsyncGenerator<unknown, void, undefined> {\n\t\ttry {\n\t\t\tlet response: Response;\n\t\t\ttry {\n\t\t\t\tresponse = await settings.open(reading.closer.signal, undefined);\n\t\t\t} catch (error) {\n\t\t\t\tif (reading.closer.signal.aborted) return;\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tif (!(await opened(settings, response, LINE_TYPES))) return;\n\t\t\tconst parser = createLineParser();\n\t\t\tconst reader = reading.read(response);\n\t\t\tfor (;;) {\n\t\t\t\tlet chunk: Awaited<ReturnType<typeof reader.read>>;\n\t\t\t\ttry {\n\t\t\t\t\tchunk = await reader.read();\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (reading.stopped()) return;\n\t\t\t\t\tthrow new NetworkError(settings.context, { cause: error });\n\t\t\t\t}\n\t\t\t\tif (reading.stopped()) return;\n\t\t\t\tconst texts = chunk.done ? parser.end() : parser.push(chunk.value);\n\t\t\t\tfor (const text of texts) {\n\t\t\t\t\tyield await settle(\n\t\t\t\t\t\tsettings,\n\t\t\t\t\t\tresponse.status,\n\t\t\t\t\t\ttext,\n\t\t\t\t\t\tsettings.item,\n\t\t\t\t\t\t'a line',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (chunk.done) return;\n\t\t\t}\n\t\t} finally {\n\t\t\treading.release();\n\t\t}\n\t}\n\n\treturn {\n\t\t[Symbol.asyncIterator]() {\n\t\t\tif (started) throw new TypeError('A stream is read once');\n\t\t\tstarted = true;\n\t\t\treturn run();\n\t\t},\n\t\tclose: () => reading.close(),\n\t};\n}\n",
20
- "/**\n * `createHttpClient`: calls over the standard `fetch`, each typed by its path\n * and by the replies it declares, through `retry`, `auth` and middleware.\n */\nimport { cancelled, joinSignals } from '../cancel/abort';\nimport { createLatest } from '../cancel/latest';\nimport { type CallContext, NetworkError, TimeoutError } from '../errors/errors';\nimport { auth } from '../middleware/auth';\nimport { compose, type Next } from '../middleware/compose';\nimport {\n\ttype RetryOptions,\n\tretrying,\n\tretrySettings,\n} from '../middleware/retry';\nimport { readReply, toSpec } from '../reply/read-reply';\nimport type { Responses } from '../reply/types';\nimport { fillPath, joinUrl, writeBody, writeQuery } from '../request/encode';\nimport type { BodyInput, QueryInput } from '../request/types';\nimport type { StandardSchemaV1 } from '../schema/standard-schema';\nimport type { Open } from '../stream/connection';\nimport { eventStream } from '../stream/event-stream';\nimport { LINE_TYPES, lineStream } from '../stream/line-stream';\nimport type { ServerEvent } from '../stream/sse-parser';\nimport type { EventSchemas, ReconnectOptions } from '../stream/types';\nimport type {\n\tCallOptions,\n\tHttpClient,\n\tHttpClientOptions,\n\tHttpGroup,\n\tMethod,\n\tSendOptions,\n} from './types';\n\nexport const METHODS: readonly Method[] = [\n\t'get',\n\t'put',\n\t'post',\n\t'delete',\n\t'options',\n\t'head',\n\t'patch',\n\t'trace',\n\t'query',\n];\n\n/** What a request is built from, as the client reads a call's options. */\ntype Given = BodyInput &\n\tCallOptions & {\n\t\treadonly param?: Readonly<Record<string, unknown>>;\n\t\treadonly query?: QueryInput;\n\t};\n\ntype ReplyGiven = Given & {\n\treadonly responses?: Responses;\n\treadonly validate?: boolean;\n\treadonly decode?: boolean;\n};\n\ntype StreamGiven = Given & {\n\treadonly method?: Method;\n\treadonly validate?: boolean;\n\treadonly decode?: boolean;\n};\n\ntype EventsGiven = StreamGiven & {\n\treadonly events?: EventSchemas;\n\treadonly onUnknownEvent?: (event: ServerEvent) => void;\n\treadonly reconnect?: boolean | ReconnectOptions;\n\treadonly lastEventId?: string;\n};\n\ntype LinesGiven = StreamGiven & { readonly item?: StandardSchemaV1 };\n\n/** A stream reconnects by default, but for the methods a retry would not repeat. */\nconst RECONNECT_DELAY = 3000;\n\nconst contextOf = (\n\tmethod: string,\n\tpath: string,\n\toperationId: string | undefined,\n): CallContext =>\n\toperationId === undefined ? { method, path } : { method, path, operationId };\n\n/**\n * ```ts\n * const http = createHttpClient({ baseUrl: 'https://api.example.com', retry: 2 });\n * const reply = await http.get('/employees/{id}', {\n * \tparam: { id },\n * \tresponses: { 200: Employee, 404: Problem },\n * });\n * if (reply.status === 200) reply.data.name;\n * ```\n */\nexport function createHttpClient(options: HttpClientOptions = {}): HttpClient {\n\tconst signer = options.auth ? auth(options.auth) : undefined;\n\tconst claim = createLatest();\n\t/**\n\t * A `latest` key's signal. Claimed before anything is awaited, so calls\n\t * with the same key replace each other in the order they were made.\n\t */\n\tconst latestSignal = (key: string | undefined) =>\n\t\tkey === undefined ? undefined : claim(key);\n\tconst sharedHeaders = async (): Promise<Headers> =>\n\t\tnew Headers(\n\t\t\ttypeof options.headers === 'function'\n\t\t\t\t? await options.headers()\n\t\t\t\t: options.headers,\n\t\t);\n\n\t/** The request's own signal, with `timeout`'s deadline added. */\n\tconst withDeadline = (\n\t\ttimeout: number | undefined,\n\t\tsignal: AbortSignal | null | undefined,\n\t) => {\n\t\tconst deadline =\n\t\t\ttimeout === undefined ? undefined : AbortSignal.timeout(timeout);\n\t\tconst signals = [signal, deadline].filter(\n\t\t\t(each): each is AbortSignal => each != null,\n\t\t);\n\t\treturn {\n\t\t\tdeadline,\n\t\t\tsignal: signals.length > 1 ? AbortSignal.any(signals) : signals[0],\n\t\t};\n\t};\n\n\t/** Through `retry`, `auth` and `use` to `fetch`, fetch's failure and the deadline made errors. */\n\tconst dispatch = async (\n\t\trequest: Request,\n\t\tcontext: CallContext,\n\t\ttimeout: number | undefined,\n\t\tdeadline: AbortSignal | undefined,\n\t\tretry: number | RetryOptions | false | undefined,\n\t): Promise<Response> => {\n\t\tconst fetch = options.fetch ?? ((sent: Request) => globalThis.fetch(sent));\n\t\t// fetch's own failure is a NetworkError, which `retry` retries; an abort is not one.\n\t\tconst send: Next = async (sent) => {\n\t\t\ttry {\n\t\t\t\t// As fetch does: a signal aborted before the call never sends.\n\t\t\t\tsent.signal.throwIfAborted();\n\t\t\t\treturn await fetch(sent);\n\t\t\t} catch (error) {\n\t\t\t\tif (request.signal.aborted) throw error;\n\t\t\t\tthrow new NetworkError(context, { cause: error });\n\t\t\t}\n\t\t};\n\t\tconst again = retrySettings(retry);\n\t\tconst layers = [\n\t\t\t...(again ? [retrying(again)] : []),\n\t\t\t...(signer ? [signer] : []),\n\t\t\t...(options.use ?? []),\n\t\t];\n\t\ttry {\n\t\t\treturn await compose(layers, send, context)(request);\n\t\t} catch (error) {\n\t\t\tif (deadline?.aborted && timeout !== undefined) {\n\t\t\t\tthrow new TimeoutError(context, timeout, { cause: error });\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t};\n\n\t/**\n\t * A request's parts, from a call's options: its URL, and its init but for\n\t * the signal. `adjust` has the last word on the headers.\n\t */\n\tconst build = async (\n\t\tmethod: Method,\n\t\tpath: string,\n\t\tgiven: Given,\n\t\tadjust?: (headers: Headers) => void,\n\t) => {\n\t\tconst {\n\t\t\tparam,\n\t\t\tquery,\n\t\t\tjson,\n\t\t\tform,\n\t\t\ttext,\n\t\t\tbody,\n\t\t\toperationId,\n\t\t\ttimeout = options.timeout,\n\t\t\tretry = options.retry,\n\t\t\theaders: own,\n\t\t\tsignal,\n\t\t\t...rest\n\t\t} = given;\n\t\tconst context = contextOf(method, path, operationId);\n\t\tconst headers = await sharedHeaders();\n\t\tconst callHeaders = new Headers(own);\n\t\tcallHeaders.forEach((value, name) => {\n\t\t\theaders.set(name, value);\n\t\t});\n\t\tadjust?.(headers);\n\t\tconst url = joinUrl(\n\t\t\toptions.baseUrl,\n\t\t\tfillPath(context, param),\n\t\t\twriteQuery(query),\n\t\t);\n\t\tconst payload = writeBody(\n\t\t\t{ json, form, text, body } as BodyInput,\n\t\t\theaders,\n\t\t\tcallHeaders.get('content-type'),\n\t\t);\n\t\tconst init = {\n\t\t\t...options.init,\n\t\t\t...rest,\n\t\t\tmethod: method.toUpperCase(),\n\t\t\theaders,\n\t\t\tbody: payload,\n\t\t\t// A stream is sent as it is read, which fetch has to be told.\n\t\t\t...(payload instanceof ReadableStream ? { duplex: 'half' } : {}),\n\t\t} as RequestInit;\n\t\treturn { context, url, init, timeout, retry, signal: signal ?? undefined };\n\t};\n\n\tconst request = async (\n\t\tmethod: Method,\n\t\tpath: string,\n\t\tgiven: ReplyGiven = {},\n\t): Promise<unknown> => {\n\t\tconst {\n\t\t\tresponses,\n\t\t\tvalidate = true,\n\t\t\tdecode = true,\n\t\t\tlatest,\n\t\t\t...call\n\t\t} = given;\n\t\tconst replaced = latestSignal(latest);\n\t\tconst built = await build(method, path, call);\n\t\tconst { deadline, signal } = withDeadline(\n\t\t\tbuilt.timeout,\n\t\t\tjoinSignals(built.signal, replaced),\n\t\t);\n\t\tconst response = await dispatch(\n\t\t\tnew Request(built.url, { ...built.init, signal }),\n\t\t\tbuilt.context,\n\t\t\tbuilt.timeout,\n\t\t\tdeadline,\n\t\t\tbuilt.retry,\n\t\t);\n\t\treturn readReply(\n\t\t\tbuilt.context,\n\t\t\tresponses === undefined ? undefined : toSpec(responses),\n\t\t\tresponse,\n\t\t\t{ validate, decode },\n\t\t);\n\t};\n\n\t/**\n\t * A stream's connections, each built afresh: its headers are run again and\n\t * `Last-Event-ID` is added. `timeout` bounds one until its headers arrive,\n\t * and no longer, since a stream has no end to wait for.\n\t */\n\tconst opener =\n\t\t(method: Method, path: string, call: Given, accept: string): Open =>\n\t\tasync (stream, lastEventId) => {\n\t\t\tconst built = await build(method, path, call, (headers) => {\n\t\t\t\tif (!headers.has('accept')) headers.set('accept', accept);\n\t\t\t\tif (lastEventId !== undefined) {\n\t\t\t\t\theaders.set('last-event-id', lastEventId);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst deadline = new AbortController();\n\t\t\tconst clock =\n\t\t\t\tbuilt.timeout === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: setTimeout(\n\t\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\t\tdeadline.abort(\n\t\t\t\t\t\t\t\t\tnew DOMException('The stream did not open', 'TimeoutError'),\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tbuilt.timeout,\n\t\t\t\t\t\t);\n\t\t\tconst signals = [stream, deadline.signal];\n\t\t\tif (built.signal) signals.push(built.signal);\n\t\t\ttry {\n\t\t\t\treturn await dispatch(\n\t\t\t\t\tnew Request(built.url, {\n\t\t\t\t\t\t...built.init,\n\t\t\t\t\t\tsignal: AbortSignal.any(signals),\n\t\t\t\t\t}),\n\t\t\t\t\tbuilt.context,\n\t\t\t\t\tbuilt.timeout,\n\t\t\t\t\tdeadline.signal,\n\t\t\t\t\tbuilt.retry,\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tclearTimeout(clock);\n\t\t\t}\n\t\t};\n\n\tconst events = (path: string, given: EventsGiven = {}) => {\n\t\tconst {\n\t\t\tevents,\n\t\t\tonUnknownEvent,\n\t\t\treconnect,\n\t\t\tlastEventId,\n\t\t\tvalidate = true,\n\t\t\tdecode = true,\n\t\t\tmethod = 'get',\n\t\t\tlatest,\n\t\t\t...own\n\t\t} = given;\n\t\tconst call = {\n\t\t\t...own,\n\t\t\tsignal: joinSignals(own.signal, latestSignal(latest)),\n\t\t};\n\t\tconst reconnects =\n\t\t\treconnect === undefined\n\t\t\t\t? method !== 'post' && method !== 'patch'\n\t\t\t\t: reconnect !== false;\n\t\tconst settings = typeof reconnect === 'object' ? reconnect : {};\n\t\treturn eventStream({\n\t\t\tcontext: contextOf(method, path, call.operationId),\n\t\t\topen: opener(method, path, call, 'text/event-stream'),\n\t\t\tsignal: call.signal ?? undefined,\n\t\t\tvalidate,\n\t\t\tdecode,\n\t\t\tevents,\n\t\t\tonUnknownEvent,\n\t\t\treconnect: reconnects && {\n\t\t\t\tattempts: settings.attempts ?? Number.POSITIVE_INFINITY,\n\t\t\t\tdelay: settings.delay ?? RECONNECT_DELAY,\n\t\t\t},\n\t\t\tlastEventId,\n\t\t});\n\t};\n\n\tconst lines = (path: string, given: LinesGiven = {}) => {\n\t\tconst {\n\t\t\titem,\n\t\t\tvalidate = true,\n\t\t\tdecode = true,\n\t\t\tmethod = 'get',\n\t\t\tlatest,\n\t\t\t...own\n\t\t} = given;\n\t\tconst call = {\n\t\t\t...own,\n\t\t\tsignal: joinSignals(own.signal, latestSignal(latest)),\n\t\t};\n\t\treturn lineStream({\n\t\t\tcontext: contextOf(method, path, call.operationId),\n\t\t\topen: opener(method, path, call, LINE_TYPES.slice(0, 2).join(', ')),\n\t\t\tsignal: call.signal ?? undefined,\n\t\t\tvalidate,\n\t\t\tdecode,\n\t\t\titem,\n\t\t});\n\t};\n\n\tconst send = async (\n\t\trequest: Request,\n\t\t{\n\t\t\ttimeout = options.timeout,\n\t\t\tretry = options.retry,\n\t\t\toperationId,\n\t\t\tlatest,\n\t\t}: SendOptions = {},\n\t): Promise<Response> => {\n\t\tconst replaced = latestSignal(latest);\n\t\tconst method = request.method.toLowerCase();\n\t\tconst context = contextOf(\n\t\t\tmethod,\n\t\t\tnew URL(request.url).pathname,\n\t\t\toperationId,\n\t\t);\n\t\tconst headers = await sharedHeaders();\n\t\trequest.headers.forEach((value, name) => {\n\t\t\theaders.set(name, value);\n\t\t});\n\t\tconst { deadline, signal } = withDeadline(\n\t\t\ttimeout,\n\t\t\tjoinSignals(request.signal, replaced),\n\t\t);\n\t\tconst sent = new Request(request, { headers, signal });\n\t\treturn dispatch(sent, context, timeout, deadline, retry);\n\t};\n\n\t/**\n\t * The client's calls, each with `scope()`'s signal added to its own: none\n\t * for the client itself, the group's for a group.\n\t */\n\tconst surface = (scope: () => AbortSignal | undefined): HttpClient => {\n\t\tconst scoped = <T extends { readonly signal?: AbortSignal | null }>(\n\t\t\tgiven: T | undefined,\n\t\t): T => {\n\t\t\tconst extra = scope();\n\t\t\tconst own = given ?? ({} as T);\n\t\t\treturn extra\n\t\t\t\t? ({ ...own, signal: joinSignals(own.signal, extra) } as T)\n\t\t\t\t: own;\n\t\t};\n\t\tconst client: Record<string, unknown> = {\n\t\t\trequest: (method: Method, path: string, given?: ReplyGiven) =>\n\t\t\t\trequest(method, path, scoped(given)),\n\t\t\tsend: (sent: Request, given?: SendOptions) => {\n\t\t\t\tconst extra = scope();\n\t\t\t\treturn send(\n\t\t\t\t\textra\n\t\t\t\t\t\t? new Request(sent, { signal: joinSignals(sent.signal, extra) })\n\t\t\t\t\t\t: sent,\n\t\t\t\t\tgiven,\n\t\t\t\t);\n\t\t\t},\n\t\t\tevents: (path: string, given?: EventsGiven) =>\n\t\t\t\tevents(path, scoped(given)),\n\t\t\tlines: (path: string, given?: LinesGiven) => lines(path, scoped(given)),\n\t\t\tgroup: (): HttpGroup => {\n\t\t\t\tlet controller = new AbortController();\n\t\t\t\tconst group = surface(() =>\n\t\t\t\t\tjoinSignals(scope(), controller.signal),\n\t\t\t\t) as HttpClient & Record<string, unknown>;\n\t\t\t\tgroup.cancel = (reason?: unknown) => {\n\t\t\t\t\tcontroller.abort(reason ?? cancelled('The group was cancelled'));\n\t\t\t\t\tcontroller = new AbortController();\n\t\t\t\t};\n\t\t\t\tObject.defineProperty(group, 'signal', {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: () => controller.signal,\n\t\t\t\t});\n\t\t\t\treturn group as unknown as HttpGroup;\n\t\t\t},\n\t\t};\n\t\tfor (const method of METHODS) {\n\t\t\tclient[method] = (path: string, given?: ReplyGiven) =>\n\t\t\t\trequest(method, path, scoped(given));\n\t\t}\n\t\treturn client as HttpClient;\n\t};\n\treturn surface(() => undefined);\n}\n",
20
+ "/**\n * `createHttpClient`: calls over the standard `fetch`, each typed by its path\n * and by the replies it declares, through `retry`, `auth` and middleware.\n */\nimport { cancelled, joinSignals } from '../cancel/abort';\nimport { createLatest } from '../cancel/latest';\nimport { type CallContext, NetworkError, TimeoutError } from '../errors/errors';\nimport { auth } from '../middleware/auth';\nimport { compose, type Middleware, type Next } from '../middleware/compose';\nimport {\n\ttype RetryOptions,\n\tretrying,\n\tretrySettings,\n} from '../middleware/retry';\nimport { readReply, toSpec } from '../reply/read-reply';\nimport type { Responses } from '../reply/types';\nimport { fillPath, joinUrl, writeBody, writeQuery } from '../request/encode';\nimport type { BodyInput, QueryInput } from '../request/types';\nimport type { StandardSchemaV1 } from '../schema/standard-schema';\nimport type { Open } from '../stream/connection';\nimport { eventStream } from '../stream/event-stream';\nimport { LINE_TYPES, lineStream } from '../stream/line-stream';\nimport type { ServerEvent } from '../stream/sse-parser';\nimport type { EventSchemas, ReconnectOptions } from '../stream/types';\nimport type {\n\tCallOptions,\n\tHttpClient,\n\tHttpClientOptions,\n\tHttpGroup,\n\tMethod,\n\tSendOptions,\n} from './types';\n\nexport const METHODS: readonly Method[] = [\n\t'get',\n\t'put',\n\t'post',\n\t'delete',\n\t'options',\n\t'head',\n\t'patch',\n\t'trace',\n\t'query',\n];\n\n/** What a request is built from, as the client reads a call's options. */\ntype Given = BodyInput &\n\tCallOptions & {\n\t\treadonly param?: Readonly<Record<string, unknown>>;\n\t\treadonly query?: QueryInput;\n\t};\n\ntype ReplyGiven = Given & {\n\treadonly responses?: Responses;\n\treadonly validate?: boolean;\n\treadonly decode?: boolean;\n};\n\ntype StreamGiven = Given & {\n\treadonly method?: Method;\n\treadonly validate?: boolean;\n\treadonly decode?: boolean;\n};\n\ntype EventsGiven = StreamGiven & {\n\treadonly events?: EventSchemas;\n\treadonly onUnknownEvent?: (event: ServerEvent) => void;\n\treadonly reconnect?: boolean | ReconnectOptions;\n\treadonly lastEventId?: string;\n};\n\ntype LinesGiven = StreamGiven & { readonly item?: StandardSchemaV1 };\n\n/** A stream reconnects by default, but for the methods a retry would not repeat. */\nconst RECONNECT_DELAY = 3000;\n\nconst contextOf = (\n\tmethod: string,\n\tpath: string,\n\toperationId: string | undefined,\n): CallContext =>\n\toperationId === undefined ? { method, path } : { method, path, operationId };\n\n/**\n * ```ts\n * const http = createHttpClient({ baseUrl: 'https://api.example.com', retry: 2 });\n * const reply = await http.get('/employees/{id}', {\n * \tparam: { id },\n * \tresponses: { 200: Employee, 404: Problem },\n * });\n * if (reply.status === 200) reply.data.name;\n * ```\n */\nexport function createHttpClient(options: HttpClientOptions = {}): HttpClient {\n\tconst signer = options.auth ? auth(options.auth) : undefined;\n\tconst claim = createLatest();\n\t/**\n\t * A `latest` key's signal. Claimed before anything is awaited, so calls\n\t * with the same key replace each other in the order they were made.\n\t */\n\tconst latestSignal = (key: string | undefined) =>\n\t\tkey === undefined ? undefined : claim(key);\n\tconst sharedHeaders = async (): Promise<Headers> =>\n\t\tnew Headers(\n\t\t\ttypeof options.headers === 'function'\n\t\t\t\t? await options.headers()\n\t\t\t\t: options.headers,\n\t\t);\n\n\t/** The request's own signal, with `timeout`'s deadline added. */\n\tconst withDeadline = (\n\t\ttimeout: number | undefined,\n\t\tsignal: AbortSignal | null | undefined,\n\t) => {\n\t\tconst deadline =\n\t\t\ttimeout === undefined ? undefined : AbortSignal.timeout(timeout);\n\t\tconst signals = [signal, deadline].filter(\n\t\t\t(each): each is AbortSignal => each != null,\n\t\t);\n\t\treturn {\n\t\t\tdeadline,\n\t\t\tsignal: signals.length > 1 ? AbortSignal.any(signals) : signals[0],\n\t\t};\n\t};\n\n\t/**\n\t * Through `retry`, `auth`, `use` and then `added`, what `use()` added, to\n\t * `fetch`: fetch's failure and the deadline made errors.\n\t */\n\tconst dispatch = async (\n\t\trequest: Request,\n\t\tcontext: CallContext,\n\t\ttimeout: number | undefined,\n\t\tdeadline: AbortSignal | undefined,\n\t\tretry: number | RetryOptions | false | undefined,\n\t\tadded: readonly Middleware[],\n\t): Promise<Response> => {\n\t\tconst fetch = options.fetch ?? ((sent: Request) => globalThis.fetch(sent));\n\t\t// fetch's own failure is a NetworkError, which `retry` retries; an abort is not one.\n\t\tconst send: Next = async (sent) => {\n\t\t\ttry {\n\t\t\t\t// As fetch does: a signal aborted before the call never sends.\n\t\t\t\tsent.signal.throwIfAborted();\n\t\t\t\treturn await fetch(sent);\n\t\t\t} catch (error) {\n\t\t\t\tif (request.signal.aborted) throw error;\n\t\t\t\tthrow new NetworkError(context, { cause: error });\n\t\t\t}\n\t\t};\n\t\tconst again = retrySettings(retry);\n\t\tconst layers = [\n\t\t\t...(again ? [retrying(again)] : []),\n\t\t\t...(signer ? [signer] : []),\n\t\t\t...(options.use ?? []),\n\t\t\t...added,\n\t\t];\n\t\ttry {\n\t\t\treturn await compose(layers, send, context)(request);\n\t\t} catch (error) {\n\t\t\tif (deadline?.aborted && timeout !== undefined) {\n\t\t\t\tthrow new TimeoutError(context, timeout, { cause: error });\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t};\n\n\t/**\n\t * A request's parts, from a call's options: its URL, and its init but for\n\t * the signal. `adjust` has the last word on the headers.\n\t */\n\tconst build = async (\n\t\tmethod: Method,\n\t\tpath: string,\n\t\tgiven: Given,\n\t\tadjust?: (headers: Headers) => void,\n\t) => {\n\t\tconst {\n\t\t\tparam,\n\t\t\tquery,\n\t\t\tjson,\n\t\t\tform,\n\t\t\ttext,\n\t\t\tbody,\n\t\t\toperationId,\n\t\t\ttimeout = options.timeout,\n\t\t\tretry = options.retry,\n\t\t\theaders: own,\n\t\t\tsignal,\n\t\t\t...rest\n\t\t} = given;\n\t\tconst context = contextOf(method, path, operationId);\n\t\tconst headers = await sharedHeaders();\n\t\tconst callHeaders = new Headers(own);\n\t\tcallHeaders.forEach((value, name) => {\n\t\t\theaders.set(name, value);\n\t\t});\n\t\tadjust?.(headers);\n\t\tconst url = joinUrl(\n\t\t\toptions.baseUrl,\n\t\t\tfillPath(context, param),\n\t\t\twriteQuery(query),\n\t\t);\n\t\tconst payload = writeBody(\n\t\t\t{ json, form, text, body } as BodyInput,\n\t\t\theaders,\n\t\t\tcallHeaders.get('content-type'),\n\t\t);\n\t\tconst init = {\n\t\t\t...options.init,\n\t\t\t...rest,\n\t\t\tmethod: method.toUpperCase(),\n\t\t\theaders,\n\t\t\tbody: payload,\n\t\t\t// A stream is sent as it is read, which fetch has to be told.\n\t\t\t...(payload instanceof ReadableStream ? { duplex: 'half' } : {}),\n\t\t} as RequestInit;\n\t\treturn { context, url, init, timeout, retry, signal: signal ?? undefined };\n\t};\n\n\tconst request = async (\n\t\tmethod: Method,\n\t\tpath: string,\n\t\tgiven: ReplyGiven,\n\t\tadded: readonly Middleware[],\n\t): Promise<unknown> => {\n\t\tconst {\n\t\t\tresponses,\n\t\t\tvalidate = true,\n\t\t\tdecode = true,\n\t\t\tlatest,\n\t\t\t...call\n\t\t} = given;\n\t\tconst replaced = latestSignal(latest);\n\t\tconst built = await build(method, path, call);\n\t\tconst { deadline, signal } = withDeadline(\n\t\t\tbuilt.timeout,\n\t\t\tjoinSignals(built.signal, replaced),\n\t\t);\n\t\tconst response = await dispatch(\n\t\t\tnew Request(built.url, { ...built.init, signal }),\n\t\t\tbuilt.context,\n\t\t\tbuilt.timeout,\n\t\t\tdeadline,\n\t\t\tbuilt.retry,\n\t\t\tadded,\n\t\t);\n\t\treturn readReply(\n\t\t\tbuilt.context,\n\t\t\tresponses === undefined ? undefined : toSpec(responses),\n\t\t\tresponse,\n\t\t\t{ validate, decode },\n\t\t);\n\t};\n\n\t/**\n\t * A stream's connections, each built afresh: its headers are run again and\n\t * `Last-Event-ID` is added. `timeout` bounds one until its headers arrive,\n\t * and no longer, since a stream has no end to wait for.\n\t */\n\tconst opener =\n\t\t(\n\t\t\tmethod: Method,\n\t\t\tpath: string,\n\t\t\tcall: Given,\n\t\t\taccept: string,\n\t\t\tadded: readonly Middleware[],\n\t\t): Open =>\n\t\tasync (stream, lastEventId) => {\n\t\t\tconst built = await build(method, path, call, (headers) => {\n\t\t\t\tif (!headers.has('accept')) headers.set('accept', accept);\n\t\t\t\tif (lastEventId !== undefined) {\n\t\t\t\t\theaders.set('last-event-id', lastEventId);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst deadline = new AbortController();\n\t\t\tconst clock =\n\t\t\t\tbuilt.timeout === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: setTimeout(\n\t\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\t\tdeadline.abort(\n\t\t\t\t\t\t\t\t\tnew DOMException('The stream did not open', 'TimeoutError'),\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tbuilt.timeout,\n\t\t\t\t\t\t);\n\t\t\tconst signals = [stream, deadline.signal];\n\t\t\tif (built.signal) signals.push(built.signal);\n\t\t\ttry {\n\t\t\t\treturn await dispatch(\n\t\t\t\t\tnew Request(built.url, {\n\t\t\t\t\t\t...built.init,\n\t\t\t\t\t\tsignal: AbortSignal.any(signals),\n\t\t\t\t\t}),\n\t\t\t\t\tbuilt.context,\n\t\t\t\t\tbuilt.timeout,\n\t\t\t\t\tdeadline.signal,\n\t\t\t\t\tbuilt.retry,\n\t\t\t\t\tadded,\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tclearTimeout(clock);\n\t\t\t}\n\t\t};\n\n\tconst events = (\n\t\tpath: string,\n\t\tgiven: EventsGiven,\n\t\tadded: readonly Middleware[],\n\t) => {\n\t\tconst {\n\t\t\tevents,\n\t\t\tonUnknownEvent,\n\t\t\treconnect,\n\t\t\tlastEventId,\n\t\t\tvalidate = true,\n\t\t\tdecode = true,\n\t\t\tmethod = 'get',\n\t\t\tlatest,\n\t\t\t...own\n\t\t} = given;\n\t\tconst call = {\n\t\t\t...own,\n\t\t\tsignal: joinSignals(own.signal, latestSignal(latest)),\n\t\t};\n\t\tconst reconnects =\n\t\t\treconnect === undefined\n\t\t\t\t? method !== 'post' && method !== 'patch'\n\t\t\t\t: reconnect !== false;\n\t\tconst settings = typeof reconnect === 'object' ? reconnect : {};\n\t\treturn eventStream({\n\t\t\tcontext: contextOf(method, path, call.operationId),\n\t\t\topen: opener(method, path, call, 'text/event-stream', added),\n\t\t\tsignal: call.signal ?? undefined,\n\t\t\tvalidate,\n\t\t\tdecode,\n\t\t\tevents,\n\t\t\tonUnknownEvent,\n\t\t\treconnect: reconnects && {\n\t\t\t\tattempts: settings.attempts ?? Number.POSITIVE_INFINITY,\n\t\t\t\tdelay: settings.delay ?? RECONNECT_DELAY,\n\t\t\t},\n\t\t\tlastEventId,\n\t\t});\n\t};\n\n\tconst lines = (\n\t\tpath: string,\n\t\tgiven: LinesGiven,\n\t\tadded: readonly Middleware[],\n\t) => {\n\t\tconst {\n\t\t\titem,\n\t\t\tvalidate = true,\n\t\t\tdecode = true,\n\t\t\tmethod = 'get',\n\t\t\tlatest,\n\t\t\t...own\n\t\t} = given;\n\t\tconst call = {\n\t\t\t...own,\n\t\t\tsignal: joinSignals(own.signal, latestSignal(latest)),\n\t\t};\n\t\treturn lineStream({\n\t\t\tcontext: contextOf(method, path, call.operationId),\n\t\t\topen: opener(\n\t\t\t\tmethod,\n\t\t\t\tpath,\n\t\t\t\tcall,\n\t\t\t\tLINE_TYPES.slice(0, 2).join(', '),\n\t\t\t\tadded,\n\t\t\t),\n\t\t\tsignal: call.signal ?? undefined,\n\t\t\tvalidate,\n\t\t\tdecode,\n\t\t\titem,\n\t\t});\n\t};\n\n\tconst send = async (\n\t\trequest: Request,\n\t\t{\n\t\t\ttimeout = options.timeout,\n\t\t\tretry = options.retry,\n\t\t\toperationId,\n\t\t\tlatest,\n\t\t}: SendOptions,\n\t\tadded: readonly Middleware[],\n\t): Promise<Response> => {\n\t\tconst replaced = latestSignal(latest);\n\t\tconst method = request.method.toLowerCase();\n\t\tconst context = contextOf(\n\t\t\tmethod,\n\t\t\tnew URL(request.url).pathname,\n\t\t\toperationId,\n\t\t);\n\t\tconst headers = await sharedHeaders();\n\t\trequest.headers.forEach((value, name) => {\n\t\t\theaders.set(name, value);\n\t\t});\n\t\tconst { deadline, signal } = withDeadline(\n\t\t\ttimeout,\n\t\t\tjoinSignals(request.signal, replaced),\n\t\t);\n\t\tconst sent = new Request(request, { headers, signal });\n\t\treturn dispatch(sent, context, timeout, deadline, retry, added);\n\t};\n\n\t/**\n\t * The client's calls, each with `scope()`'s signal added to its own, and\n\t * the middleware of `use()`: `inherited()`, a parent's, read as each call\n\t * is made, then its own. A group's `use()` is the group's alone.\n\t */\n\tconst surface = (\n\t\tscope: () => AbortSignal | undefined,\n\t\tinherited: () => readonly Middleware[],\n\t): HttpClient => {\n\t\tconst own: Middleware[] = [];\n\t\tconst layers = () => [...inherited(), ...own];\n\t\tconst scoped = <T extends { readonly signal?: AbortSignal | null }>(\n\t\t\tgiven: T | undefined,\n\t\t): T => {\n\t\t\tconst extra = scope();\n\t\t\tconst own = given ?? ({} as T);\n\t\t\treturn extra\n\t\t\t\t? ({ ...own, signal: joinSignals(own.signal, extra) } as T)\n\t\t\t\t: own;\n\t\t};\n\t\tconst client: Record<string, unknown> = {\n\t\t\trequest: (method: Method, path: string, given?: ReplyGiven) =>\n\t\t\t\trequest(method, path, scoped(given), layers()),\n\t\t\tsend: (sent: Request, given?: SendOptions) => {\n\t\t\t\tconst extra = scope();\n\t\t\t\treturn send(\n\t\t\t\t\textra\n\t\t\t\t\t\t? new Request(sent, { signal: joinSignals(sent.signal, extra) })\n\t\t\t\t\t\t: sent,\n\t\t\t\t\tgiven ?? {},\n\t\t\t\t\tlayers(),\n\t\t\t\t);\n\t\t\t},\n\t\t\tevents: (path: string, given?: EventsGiven) =>\n\t\t\t\tevents(path, scoped(given), layers()),\n\t\t\tlines: (path: string, given?: LinesGiven) =>\n\t\t\t\tlines(path, scoped(given), layers()),\n\t\t\tuse: (...middlewares: Middleware[]) => {\n\t\t\t\town.push(...middlewares);\n\t\t\t\treturn client;\n\t\t\t},\n\t\t\tgroup: (): HttpGroup => {\n\t\t\t\tlet controller = new AbortController();\n\t\t\t\tconst group = surface(\n\t\t\t\t\t() => joinSignals(scope(), controller.signal),\n\t\t\t\t\tlayers,\n\t\t\t\t) as HttpClient & Record<string, unknown>;\n\t\t\t\tgroup.cancel = (reason?: unknown) => {\n\t\t\t\t\tcontroller.abort(reason ?? cancelled('The group was cancelled'));\n\t\t\t\t\tcontroller = new AbortController();\n\t\t\t\t};\n\t\t\t\tObject.defineProperty(group, 'signal', {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: () => controller.signal,\n\t\t\t\t});\n\t\t\t\treturn group as unknown as HttpGroup;\n\t\t\t},\n\t\t};\n\t\tfor (const method of METHODS) {\n\t\t\tclient[method] = (path: string, given?: ReplyGiven) =>\n\t\t\t\trequest(method, path, scoped(given), layers());\n\t\t}\n\t\treturn client as unknown as HttpClient;\n\t};\n\treturn surface(\n\t\t() => undefined,\n\t\t() => [],\n\t);\n}\n",
21
21
  "/**\n * Replies kept in memory, as a middleware: a request made again while its\n * reply is fresh is answered from memory, and `fetch` is never called.\n *\n * Its key is the request's method, URL, the headers in `vary`\n * (`authorization` by default, so no caller is answered with another's\n * reply), and its body, when it has one: a `QUERY` is cached by what it\n * searches for.\n */\nimport type { CallContext } from '../errors/errors';\nimport type { Middleware } from './compose';\n\nexport interface CacheOptions {\n\t/** Milliseconds a reply stays fresh. Default: 5 minutes. */\n\tttl?: number;\n\t/** At most this many replies, the least recently used dropped first. Default: 500. */\n\tmaxEntries?: number;\n\t/**\n\t * Which requests are cached. Default: the reads, `GET`, `HEAD` and\n\t * `QUERY`, whose body is part of the key.\n\t */\n\tcacheable?: (request: Request, call: CallContext) => boolean;\n\t/**\n\t * The request headers that tell two replies apart. Default:\n\t * `['authorization']`. Add `accept-language` for a localized API.\n\t */\n\tvary?: readonly string[];\n}\n\n/** The middleware, and a way to empty it: after a write, for one. */\nexport type Cache = Middleware & { clear(): void };\n\ninterface Entry {\n\treadonly expiry: number;\n\t/** Never read: each hit is a clone of it. */\n\treadonly response: Response;\n}\n\nconst READS = new Set(['GET', 'HEAD', 'QUERY']);\nconst reads = (request: Request) => READS.has(request.method.toUpperCase());\n\n/**\n * A cache of `ok` replies, for `use`. One cache is one store: share the\n * middleware to share the store, as datasources made per request do.\n *\n * ```ts\n * const replies = cache({ ttl: 30_000 });\n * createHttpClient({ baseUrl, use: [replies] });\n * ```\n */\nexport function cache({\n\tttl = 5 * 60 * 1000,\n\tmaxEntries = 500,\n\tcacheable = reads,\n\tvary = ['authorization'],\n}: CacheOptions = {}): Cache {\n\tconst entries = new Map<string, Entry>();\n\tconst keyOf = async (request: Request): Promise<string> => {\n\t\tconst parts = [\n\t\t\trequest.method,\n\t\t\trequest.url,\n\t\t\t...vary.map((name) => `${name}: ${request.headers.get(name) ?? ''}`),\n\t\t];\n\t\t// A clone's: the request is still sent with its own body.\n\t\tif (request.body !== null) parts.push(await request.clone().text());\n\t\treturn JSON.stringify(parts);\n\t};\n\tconst middleware: Middleware = async (request, next, call) => {\n\t\tif (!cacheable(request, call)) return next(request);\n\t\tconst key = await keyOf(request);\n\t\tconst hit = entries.get(key);\n\t\tentries.delete(key);\n\t\tif (hit && hit.expiry > Date.now()) {\n\t\t\t// Last in the map is the most recently used: the first is dropped first.\n\t\t\tentries.set(key, hit);\n\t\t\treturn hit.response.clone();\n\t\t}\n\t\tconst response = await next(request);\n\t\tif (!response.ok) return response;\n\t\tentries.set(key, { expiry: Date.now() + ttl, response: response.clone() });\n\t\tfor (const oldest of entries.keys()) {\n\t\t\tif (entries.size <= maxEntries) break;\n\t\t\tentries.delete(oldest);\n\t\t}\n\t\treturn response;\n\t};\n\treturn Object.assign(middleware, { clear: () => entries.clear() });\n}\n",
22
22
  "import { ReplyStatusError } from '../errors/errors';\n\n/**\n * The data of a reply with one of `statuses`, narrowed to theirs; any other\n * reply throws a `ReplyStatusError`.\n *\n * ```ts\n * const employee = unwrap(await http.get('/employees/{id}', { param: { id }, responses }), 200);\n * ```\n */\nexport function unwrap<\n\tR extends { readonly status: number; readonly data: unknown },\n\tS extends R['status'],\n>(reply: R, ...statuses: [S, ...S[]]): Extract<R, { status: S }>['data'] {\n\tif (!(statuses as readonly number[]).includes(reply.status)) {\n\t\tthrow new ReplyStatusError(reply, statuses);\n\t}\n\treturn reply.data as Extract<R, { status: S }>['data'];\n}\n\n/** The members of a reply union with a 2xx status: all of it when its status is any number. */\nexport type Success<R> = R extends { readonly status: infer S extends number }\n\t? number extends S\n\t\t? R\n\t\t: `${S}` extends `2${string}`\n\t\t\t? R\n\t\t\t: never\n\t: never;\n\n/**\n * The data of a 2xx reply, narrowed to the success statuses the call\n * declares; any other reply throws a `ReplyStatusError`.\n *\n * ```ts\n * const employee = ok(await http.get('/employees/{id}', { param: { id }, responses }));\n * ```\n */\nexport function ok<\n\tR extends { readonly status: number; readonly data: unknown },\n>(reply: R): Success<R>['data'] {\n\tif (reply.status < 200 || reply.status > 299) {\n\t\tthrow new ReplyStatusError(reply, []);\n\t}\n\treturn reply.data as Success<R>['data'];\n}\n"
23
23
  ],
24
- "mappings": "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",
25
- "debugId": "96539AFD0E70EDBE64756E2164756E21",
24
+ "mappings": "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",
25
+ "debugId": "900A44D2EECBE84C64756E2164756E21",
26
26
  "names": []
27
27
  }
@@ -831,7 +831,7 @@ function createHttpClient(options = {}) {
831
831
  signal: signals.length > 1 ? AbortSignal.any(signals) : signals[0]
832
832
  };
833
833
  };
834
- const dispatch = async (request, context, timeout, deadline, retry) => {
834
+ const dispatch = async (request, context, timeout, deadline, retry, added) => {
835
835
  const fetch = options.fetch ?? ((sent) => globalThis.fetch(sent));
836
836
  const send = async (sent) => {
837
837
  try {
@@ -847,7 +847,8 @@ function createHttpClient(options = {}) {
847
847
  const layers = [
848
848
  ...again ? [retrying(again)] : [],
849
849
  ...signer ? [signer] : [],
850
- ...options.use ?? []
850
+ ...options.use ?? [],
851
+ ...added
851
852
  ];
852
853
  try {
853
854
  return await compose(layers, send, context)(request);
@@ -892,7 +893,7 @@ function createHttpClient(options = {}) {
892
893
  };
893
894
  return { context, url, init, timeout, retry, signal: signal ?? undefined };
894
895
  };
895
- const request = async (method, path, given = {}) => {
896
+ const request = async (method, path, given, added) => {
896
897
  const {
897
898
  responses,
898
899
  validate = true,
@@ -903,10 +904,10 @@ function createHttpClient(options = {}) {
903
904
  const replaced = latestSignal(latest);
904
905
  const built = await build(method, path, call);
905
906
  const { deadline, signal } = withDeadline(built.timeout, joinSignals(built.signal, replaced));
906
- const response = await dispatch(new Request(built.url, { ...built.init, signal }), built.context, built.timeout, deadline, built.retry);
907
+ const response = await dispatch(new Request(built.url, { ...built.init, signal }), built.context, built.timeout, deadline, built.retry, added);
907
908
  return readReply(built.context, responses === undefined ? undefined : toSpec(responses), response, { validate, decode });
908
909
  };
909
- const opener = (method, path, call, accept) => async (stream, lastEventId) => {
910
+ const opener = (method, path, call, accept, added) => async (stream, lastEventId) => {
910
911
  const built = await build(method, path, call, (headers) => {
911
912
  if (!headers.has("accept"))
912
913
  headers.set("accept", accept);
@@ -923,12 +924,12 @@ function createHttpClient(options = {}) {
923
924
  return await dispatch(new Request(built.url, {
924
925
  ...built.init,
925
926
  signal: AbortSignal.any(signals)
926
- }), built.context, built.timeout, deadline.signal, built.retry);
927
+ }), built.context, built.timeout, deadline.signal, built.retry, added);
927
928
  } finally {
928
929
  clearTimeout(clock);
929
930
  }
930
931
  };
931
- const events = (path, given = {}) => {
932
+ const events = (path, given, added) => {
932
933
  const {
933
934
  events,
934
935
  onUnknownEvent,
@@ -948,7 +949,7 @@ function createHttpClient(options = {}) {
948
949
  const settings = typeof reconnect === "object" ? reconnect : {};
949
950
  return eventStream({
950
951
  context: contextOf(method, path, call.operationId),
951
- open: opener(method, path, call, "text/event-stream"),
952
+ open: opener(method, path, call, "text/event-stream", added),
952
953
  signal: call.signal ?? undefined,
953
954
  validate,
954
955
  decode,
@@ -961,7 +962,7 @@ function createHttpClient(options = {}) {
961
962
  lastEventId
962
963
  });
963
964
  };
964
- const lines = (path, given = {}) => {
965
+ const lines = (path, given, added) => {
965
966
  const {
966
967
  item,
967
968
  validate = true,
@@ -976,7 +977,7 @@ function createHttpClient(options = {}) {
976
977
  };
977
978
  return lineStream({
978
979
  context: contextOf(method, path, call.operationId),
979
- open: opener(method, path, call, LINE_TYPES.slice(0, 2).join(", ")),
980
+ open: opener(method, path, call, LINE_TYPES.slice(0, 2).join(", "), added),
980
981
  signal: call.signal ?? undefined,
981
982
  validate,
982
983
  decode,
@@ -988,7 +989,7 @@ function createHttpClient(options = {}) {
988
989
  retry = options.retry,
989
990
  operationId,
990
991
  latest
991
- } = {}) => {
992
+ }, added) => {
992
993
  const replaced = latestSignal(latest);
993
994
  const method = request.method.toLowerCase();
994
995
  const context = contextOf(method, new URL(request.url).pathname, operationId);
@@ -998,25 +999,31 @@ function createHttpClient(options = {}) {
998
999
  });
999
1000
  const { deadline, signal } = withDeadline(timeout, joinSignals(request.signal, replaced));
1000
1001
  const sent = new Request(request, { headers, signal });
1001
- return dispatch(sent, context, timeout, deadline, retry);
1002
+ return dispatch(sent, context, timeout, deadline, retry, added);
1002
1003
  };
1003
- const surface = (scope) => {
1004
+ const surface = (scope, inherited) => {
1005
+ const own = [];
1006
+ const layers = () => [...inherited(), ...own];
1004
1007
  const scoped = (given) => {
1005
1008
  const extra = scope();
1006
1009
  const own = given ?? {};
1007
1010
  return extra ? { ...own, signal: joinSignals(own.signal, extra) } : own;
1008
1011
  };
1009
1012
  const client = {
1010
- request: (method, path, given) => request(method, path, scoped(given)),
1013
+ request: (method, path, given) => request(method, path, scoped(given), layers()),
1011
1014
  send: (sent, given) => {
1012
1015
  const extra = scope();
1013
- return send(extra ? new Request(sent, { signal: joinSignals(sent.signal, extra) }) : sent, given);
1016
+ return send(extra ? new Request(sent, { signal: joinSignals(sent.signal, extra) }) : sent, given ?? {}, layers());
1017
+ },
1018
+ events: (path, given) => events(path, scoped(given), layers()),
1019
+ lines: (path, given) => lines(path, scoped(given), layers()),
1020
+ use: (...middlewares) => {
1021
+ own.push(...middlewares);
1022
+ return client;
1014
1023
  },
1015
- events: (path, given) => events(path, scoped(given)),
1016
- lines: (path, given) => lines(path, scoped(given)),
1017
1024
  group: () => {
1018
1025
  let controller = new AbortController;
1019
- const group = surface(() => joinSignals(scope(), controller.signal));
1026
+ const group = surface(() => joinSignals(scope(), controller.signal), layers);
1020
1027
  group.cancel = (reason) => {
1021
1028
  controller.abort(reason ?? cancelled("The group was cancelled"));
1022
1029
  controller = new AbortController;
@@ -1029,13 +1036,13 @@ function createHttpClient(options = {}) {
1029
1036
  }
1030
1037
  };
1031
1038
  for (const method of METHODS) {
1032
- client[method] = (path, given) => request(method, path, scoped(given));
1039
+ client[method] = (path, given) => request(method, path, scoped(given), layers());
1033
1040
  }
1034
1041
  return client;
1035
1042
  };
1036
1043
  return surface(() => {
1037
1044
  return;
1038
- });
1045
+ }, () => []);
1039
1046
  }
1040
1047
  export {
1041
1048
  METHODS,
@@ -1047,5 +1054,5 @@ export {
1047
1054
  toSearchParams
1048
1055
  };
1049
1056
 
1050
- //# debugId=05C3145FB7DF61A464756E2164756E21
1057
+ //# debugId=08EFC0FA159560DB64756E2164756E21
1051
1058
  //# sourceMappingURL=index.js.map
@@ -17,9 +17,9 @@
17
17
  "/**\n * `http.events()`: server-sent events over `fetch`. It reconnects as\n * `EventSource` does, but through the client, so each connection has its\n * `auth` and middleware, and its events are checked by their schemas.\n */\nimport { NetworkError } from '../errors/errors';\nimport {\n\topened,\n\tpause,\n\tReading,\n\ttype StreamSettings,\n\tsettle,\n} from './connection';\nimport { createSseParser, type ServerEvent } from './sse-parser';\nimport type { EventSchemas, EventStream } from './types';\n\nexport interface EventSettings extends StreamSettings {\n\treadonly events: EventSchemas | undefined;\n\treadonly onUnknownEvent: ((event: ServerEvent) => void) | undefined;\n\t/** `false`, or how to reconnect. */\n\treadonly reconnect:\n\t\t| { readonly attempts: number; readonly delay: number }\n\t\t| false;\n\treadonly lastEventId: string | undefined;\n}\n\nexport function eventStream(settings: EventSettings): EventStream<unknown> {\n\tconst reading = new Reading(settings.signal);\n\tlet lastEventId = settings.lastEventId;\n\tlet delay = settings.reconnect ? settings.reconnect.delay : 0;\n\tlet started = false;\n\n\t/** A declared event with its data checked, or `undefined` for one it does not declare. */\n\tconst declared = async (raw: ServerEvent, status: number) => {\n\t\tconst { events } = settings;\n\t\tif (!events) return raw;\n\t\tif (!Object.hasOwn(events, raw.event)) {\n\t\t\tsettings.onUnknownEvent?.(raw);\n\t\t\treturn undefined;\n\t\t}\n\t\tconst schema = events[raw.event];\n\t\tif (!schema) return raw;\n\t\tconst what = `the ${raw.event} event's data`;\n\t\tconst data = await settle(settings, status, raw.data, schema, what);\n\t\treturn { event: raw.event, data, id: raw.id };\n\t};\n\n\t/** Whether to connect again after `failures` in a row, having waited for it. */\n\tconst again = async (failures: number): Promise<boolean> => {\n\t\tconst { reconnect } = settings;\n\t\tif (!reconnect || failures >= reconnect.attempts) return false;\n\t\tawait pause(delay, reading.closer.signal, settings.signal);\n\t\treturn !reading.stopped();\n\t};\n\n\tasync function* run(): AsyncGenerator<unknown, void, undefined> {\n\t\tlet failures = 0;\n\t\ttry {\n\t\t\tfor (;;) {\n\t\t\t\tlet response: Response;\n\t\t\t\ttry {\n\t\t\t\t\tresponse = await settings.open(reading.closer.signal, lastEventId);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (reading.closer.signal.aborted) return;\n\t\t\t\t\t// Only a connection that failed may pass: not a timeout, an abort or a refusal.\n\t\t\t\t\tif (error instanceof NetworkError && (await again(failures++))) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tif (!(await opened(settings, response, ['text/event-stream']))) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst parser = createSseParser(lastEventId);\n\t\t\t\tconst reader = reading.read(response);\n\t\t\t\tlet dropped: unknown;\n\t\t\t\tfor (;;) {\n\t\t\t\t\tlet chunk: Awaited<ReturnType<typeof reader.read>>;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tchunk = await reader.read();\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tif (reading.stopped()) return;\n\t\t\t\t\t\tdropped = error;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif (reading.stopped()) return;\n\t\t\t\t\tif (chunk.done) break;\n\t\t\t\t\tconst events = parser.push(chunk.value);\n\t\t\t\t\tlastEventId = parser.lastEventId;\n\t\t\t\t\tdelay = parser.retry ?? delay;\n\t\t\t\t\tfor (const raw of events) {\n\t\t\t\t\t\tfailures = 0;\n\t\t\t\t\t\tconst event = await declared(raw, response.status);\n\t\t\t\t\t\tif (event !== undefined) yield event;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!(await again(failures++))) {\n\t\t\t\t\tif (dropped === undefined) return;\n\t\t\t\t\tthrow new NetworkError(settings.context, { cause: dropped });\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\treading.release();\n\t\t}\n\t}\n\n\treturn {\n\t\t[Symbol.asyncIterator]() {\n\t\t\tif (started) throw new TypeError('A stream is read once');\n\t\t\tstarted = true;\n\t\t\treturn run();\n\t\t},\n\t\tclose: () => reading.close(),\n\t\tget lastEventId() {\n\t\t\treturn lastEventId;\n\t\t},\n\t};\n}\n",
18
18
  "/**\n * JSON Lines, NDJSON and JSON text sequences, split into their records: one\n * JSON text a line, or after each record separator (`\\x1E`). Blank lines\n * separate nothing, and a last record needs no line end.\n */\n\nexport interface LineParser {\n\t/** Reads a chunk of text, and returns the records it completed. */\n\tpush(chunk: string): string[];\n\t/** The record left when the stream ends, if any. */\n\tend(): string[];\n}\n\n/** A JSON text sequence's record separator, which ends a record as a line end does. */\nconst RS = String.fromCharCode(0x1e);\n\nexport function createLineParser(): LineParser {\n\tlet buffer = '';\n\tconst records = (texts: string[]) =>\n\t\ttexts.map((text) => text.trim()).filter((text) => text !== '');\n\treturn {\n\t\tpush(chunk) {\n\t\t\tconst parts = (buffer + chunk).replaceAll(RS, '\\n').split(/\\r?\\n/);\n\t\t\tbuffer = parts.pop() ?? '';\n\t\t\treturn records(parts);\n\t\t},\n\t\tend() {\n\t\t\tconst rest = buffer;\n\t\t\tbuffer = '';\n\t\t\treturn records([rest]);\n\t\t},\n\t};\n}\n",
19
19
  "/** `http.lines()`: JSON Lines, NDJSON or JSON text sequences, a record at a time. */\nimport { NetworkError } from '../errors/errors';\nimport type { StandardSchemaV1 } from '../schema/standard-schema';\nimport { opened, Reading, type StreamSettings, settle } from './connection';\nimport { createLineParser } from './line-parser';\nimport type { Stream } from './types';\n\n/** The media types a stream of lines is served as. */\nexport const LINE_TYPES = [\n\t'application/jsonl',\n\t'application/x-ndjson',\n\t'application/ndjson',\n\t'application/jsonlines',\n\t'application/x-jsonlines',\n\t'application/json-seq',\n] as const;\n\nexport interface LineSettings extends StreamSettings {\n\treadonly item: StandardSchemaV1 | undefined;\n}\n\nexport function lineStream(settings: LineSettings): Stream<unknown> {\n\tconst reading = new Reading(settings.signal);\n\tlet started = false;\n\n\tasync function* run(): AsyncGenerator<unknown, void, undefined> {\n\t\ttry {\n\t\t\tlet response: Response;\n\t\t\ttry {\n\t\t\t\tresponse = await settings.open(reading.closer.signal, undefined);\n\t\t\t} catch (error) {\n\t\t\t\tif (reading.closer.signal.aborted) return;\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tif (!(await opened(settings, response, LINE_TYPES))) return;\n\t\t\tconst parser = createLineParser();\n\t\t\tconst reader = reading.read(response);\n\t\t\tfor (;;) {\n\t\t\t\tlet chunk: Awaited<ReturnType<typeof reader.read>>;\n\t\t\t\ttry {\n\t\t\t\t\tchunk = await reader.read();\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (reading.stopped()) return;\n\t\t\t\t\tthrow new NetworkError(settings.context, { cause: error });\n\t\t\t\t}\n\t\t\t\tif (reading.stopped()) return;\n\t\t\t\tconst texts = chunk.done ? parser.end() : parser.push(chunk.value);\n\t\t\t\tfor (const text of texts) {\n\t\t\t\t\tyield await settle(\n\t\t\t\t\t\tsettings,\n\t\t\t\t\t\tresponse.status,\n\t\t\t\t\t\ttext,\n\t\t\t\t\t\tsettings.item,\n\t\t\t\t\t\t'a line',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (chunk.done) return;\n\t\t\t}\n\t\t} finally {\n\t\t\treading.release();\n\t\t}\n\t}\n\n\treturn {\n\t\t[Symbol.asyncIterator]() {\n\t\t\tif (started) throw new TypeError('A stream is read once');\n\t\t\tstarted = true;\n\t\t\treturn run();\n\t\t},\n\t\tclose: () => reading.close(),\n\t};\n}\n",
20
- "/**\n * `createHttpClient`: calls over the standard `fetch`, each typed by its path\n * and by the replies it declares, through `retry`, `auth` and middleware.\n */\nimport { cancelled, joinSignals } from '../cancel/abort';\nimport { createLatest } from '../cancel/latest';\nimport { type CallContext, NetworkError, TimeoutError } from '../errors/errors';\nimport { auth } from '../middleware/auth';\nimport { compose, type Next } from '../middleware/compose';\nimport {\n\ttype RetryOptions,\n\tretrying,\n\tretrySettings,\n} from '../middleware/retry';\nimport { readReply, toSpec } from '../reply/read-reply';\nimport type { Responses } from '../reply/types';\nimport { fillPath, joinUrl, writeBody, writeQuery } from '../request/encode';\nimport type { BodyInput, QueryInput } from '../request/types';\nimport type { StandardSchemaV1 } from '../schema/standard-schema';\nimport type { Open } from '../stream/connection';\nimport { eventStream } from '../stream/event-stream';\nimport { LINE_TYPES, lineStream } from '../stream/line-stream';\nimport type { ServerEvent } from '../stream/sse-parser';\nimport type { EventSchemas, ReconnectOptions } from '../stream/types';\nimport type {\n\tCallOptions,\n\tHttpClient,\n\tHttpClientOptions,\n\tHttpGroup,\n\tMethod,\n\tSendOptions,\n} from './types';\n\nexport const METHODS: readonly Method[] = [\n\t'get',\n\t'put',\n\t'post',\n\t'delete',\n\t'options',\n\t'head',\n\t'patch',\n\t'trace',\n\t'query',\n];\n\n/** What a request is built from, as the client reads a call's options. */\ntype Given = BodyInput &\n\tCallOptions & {\n\t\treadonly param?: Readonly<Record<string, unknown>>;\n\t\treadonly query?: QueryInput;\n\t};\n\ntype ReplyGiven = Given & {\n\treadonly responses?: Responses;\n\treadonly validate?: boolean;\n\treadonly decode?: boolean;\n};\n\ntype StreamGiven = Given & {\n\treadonly method?: Method;\n\treadonly validate?: boolean;\n\treadonly decode?: boolean;\n};\n\ntype EventsGiven = StreamGiven & {\n\treadonly events?: EventSchemas;\n\treadonly onUnknownEvent?: (event: ServerEvent) => void;\n\treadonly reconnect?: boolean | ReconnectOptions;\n\treadonly lastEventId?: string;\n};\n\ntype LinesGiven = StreamGiven & { readonly item?: StandardSchemaV1 };\n\n/** A stream reconnects by default, but for the methods a retry would not repeat. */\nconst RECONNECT_DELAY = 3000;\n\nconst contextOf = (\n\tmethod: string,\n\tpath: string,\n\toperationId: string | undefined,\n): CallContext =>\n\toperationId === undefined ? { method, path } : { method, path, operationId };\n\n/**\n * ```ts\n * const http = createHttpClient({ baseUrl: 'https://api.example.com', retry: 2 });\n * const reply = await http.get('/employees/{id}', {\n * \tparam: { id },\n * \tresponses: { 200: Employee, 404: Problem },\n * });\n * if (reply.status === 200) reply.data.name;\n * ```\n */\nexport function createHttpClient(options: HttpClientOptions = {}): HttpClient {\n\tconst signer = options.auth ? auth(options.auth) : undefined;\n\tconst claim = createLatest();\n\t/**\n\t * A `latest` key's signal. Claimed before anything is awaited, so calls\n\t * with the same key replace each other in the order they were made.\n\t */\n\tconst latestSignal = (key: string | undefined) =>\n\t\tkey === undefined ? undefined : claim(key);\n\tconst sharedHeaders = async (): Promise<Headers> =>\n\t\tnew Headers(\n\t\t\ttypeof options.headers === 'function'\n\t\t\t\t? await options.headers()\n\t\t\t\t: options.headers,\n\t\t);\n\n\t/** The request's own signal, with `timeout`'s deadline added. */\n\tconst withDeadline = (\n\t\ttimeout: number | undefined,\n\t\tsignal: AbortSignal | null | undefined,\n\t) => {\n\t\tconst deadline =\n\t\t\ttimeout === undefined ? undefined : AbortSignal.timeout(timeout);\n\t\tconst signals = [signal, deadline].filter(\n\t\t\t(each): each is AbortSignal => each != null,\n\t\t);\n\t\treturn {\n\t\t\tdeadline,\n\t\t\tsignal: signals.length > 1 ? AbortSignal.any(signals) : signals[0],\n\t\t};\n\t};\n\n\t/** Through `retry`, `auth` and `use` to `fetch`, fetch's failure and the deadline made errors. */\n\tconst dispatch = async (\n\t\trequest: Request,\n\t\tcontext: CallContext,\n\t\ttimeout: number | undefined,\n\t\tdeadline: AbortSignal | undefined,\n\t\tretry: number | RetryOptions | false | undefined,\n\t): Promise<Response> => {\n\t\tconst fetch = options.fetch ?? ((sent: Request) => globalThis.fetch(sent));\n\t\t// fetch's own failure is a NetworkError, which `retry` retries; an abort is not one.\n\t\tconst send: Next = async (sent) => {\n\t\t\ttry {\n\t\t\t\t// As fetch does: a signal aborted before the call never sends.\n\t\t\t\tsent.signal.throwIfAborted();\n\t\t\t\treturn await fetch(sent);\n\t\t\t} catch (error) {\n\t\t\t\tif (request.signal.aborted) throw error;\n\t\t\t\tthrow new NetworkError(context, { cause: error });\n\t\t\t}\n\t\t};\n\t\tconst again = retrySettings(retry);\n\t\tconst layers = [\n\t\t\t...(again ? [retrying(again)] : []),\n\t\t\t...(signer ? [signer] : []),\n\t\t\t...(options.use ?? []),\n\t\t];\n\t\ttry {\n\t\t\treturn await compose(layers, send, context)(request);\n\t\t} catch (error) {\n\t\t\tif (deadline?.aborted && timeout !== undefined) {\n\t\t\t\tthrow new TimeoutError(context, timeout, { cause: error });\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t};\n\n\t/**\n\t * A request's parts, from a call's options: its URL, and its init but for\n\t * the signal. `adjust` has the last word on the headers.\n\t */\n\tconst build = async (\n\t\tmethod: Method,\n\t\tpath: string,\n\t\tgiven: Given,\n\t\tadjust?: (headers: Headers) => void,\n\t) => {\n\t\tconst {\n\t\t\tparam,\n\t\t\tquery,\n\t\t\tjson,\n\t\t\tform,\n\t\t\ttext,\n\t\t\tbody,\n\t\t\toperationId,\n\t\t\ttimeout = options.timeout,\n\t\t\tretry = options.retry,\n\t\t\theaders: own,\n\t\t\tsignal,\n\t\t\t...rest\n\t\t} = given;\n\t\tconst context = contextOf(method, path, operationId);\n\t\tconst headers = await sharedHeaders();\n\t\tconst callHeaders = new Headers(own);\n\t\tcallHeaders.forEach((value, name) => {\n\t\t\theaders.set(name, value);\n\t\t});\n\t\tadjust?.(headers);\n\t\tconst url = joinUrl(\n\t\t\toptions.baseUrl,\n\t\t\tfillPath(context, param),\n\t\t\twriteQuery(query),\n\t\t);\n\t\tconst payload = writeBody(\n\t\t\t{ json, form, text, body } as BodyInput,\n\t\t\theaders,\n\t\t\tcallHeaders.get('content-type'),\n\t\t);\n\t\tconst init = {\n\t\t\t...options.init,\n\t\t\t...rest,\n\t\t\tmethod: method.toUpperCase(),\n\t\t\theaders,\n\t\t\tbody: payload,\n\t\t\t// A stream is sent as it is read, which fetch has to be told.\n\t\t\t...(payload instanceof ReadableStream ? { duplex: 'half' } : {}),\n\t\t} as RequestInit;\n\t\treturn { context, url, init, timeout, retry, signal: signal ?? undefined };\n\t};\n\n\tconst request = async (\n\t\tmethod: Method,\n\t\tpath: string,\n\t\tgiven: ReplyGiven = {},\n\t): Promise<unknown> => {\n\t\tconst {\n\t\t\tresponses,\n\t\t\tvalidate = true,\n\t\t\tdecode = true,\n\t\t\tlatest,\n\t\t\t...call\n\t\t} = given;\n\t\tconst replaced = latestSignal(latest);\n\t\tconst built = await build(method, path, call);\n\t\tconst { deadline, signal } = withDeadline(\n\t\t\tbuilt.timeout,\n\t\t\tjoinSignals(built.signal, replaced),\n\t\t);\n\t\tconst response = await dispatch(\n\t\t\tnew Request(built.url, { ...built.init, signal }),\n\t\t\tbuilt.context,\n\t\t\tbuilt.timeout,\n\t\t\tdeadline,\n\t\t\tbuilt.retry,\n\t\t);\n\t\treturn readReply(\n\t\t\tbuilt.context,\n\t\t\tresponses === undefined ? undefined : toSpec(responses),\n\t\t\tresponse,\n\t\t\t{ validate, decode },\n\t\t);\n\t};\n\n\t/**\n\t * A stream's connections, each built afresh: its headers are run again and\n\t * `Last-Event-ID` is added. `timeout` bounds one until its headers arrive,\n\t * and no longer, since a stream has no end to wait for.\n\t */\n\tconst opener =\n\t\t(method: Method, path: string, call: Given, accept: string): Open =>\n\t\tasync (stream, lastEventId) => {\n\t\t\tconst built = await build(method, path, call, (headers) => {\n\t\t\t\tif (!headers.has('accept')) headers.set('accept', accept);\n\t\t\t\tif (lastEventId !== undefined) {\n\t\t\t\t\theaders.set('last-event-id', lastEventId);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst deadline = new AbortController();\n\t\t\tconst clock =\n\t\t\t\tbuilt.timeout === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: setTimeout(\n\t\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\t\tdeadline.abort(\n\t\t\t\t\t\t\t\t\tnew DOMException('The stream did not open', 'TimeoutError'),\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tbuilt.timeout,\n\t\t\t\t\t\t);\n\t\t\tconst signals = [stream, deadline.signal];\n\t\t\tif (built.signal) signals.push(built.signal);\n\t\t\ttry {\n\t\t\t\treturn await dispatch(\n\t\t\t\t\tnew Request(built.url, {\n\t\t\t\t\t\t...built.init,\n\t\t\t\t\t\tsignal: AbortSignal.any(signals),\n\t\t\t\t\t}),\n\t\t\t\t\tbuilt.context,\n\t\t\t\t\tbuilt.timeout,\n\t\t\t\t\tdeadline.signal,\n\t\t\t\t\tbuilt.retry,\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tclearTimeout(clock);\n\t\t\t}\n\t\t};\n\n\tconst events = (path: string, given: EventsGiven = {}) => {\n\t\tconst {\n\t\t\tevents,\n\t\t\tonUnknownEvent,\n\t\t\treconnect,\n\t\t\tlastEventId,\n\t\t\tvalidate = true,\n\t\t\tdecode = true,\n\t\t\tmethod = 'get',\n\t\t\tlatest,\n\t\t\t...own\n\t\t} = given;\n\t\tconst call = {\n\t\t\t...own,\n\t\t\tsignal: joinSignals(own.signal, latestSignal(latest)),\n\t\t};\n\t\tconst reconnects =\n\t\t\treconnect === undefined\n\t\t\t\t? method !== 'post' && method !== 'patch'\n\t\t\t\t: reconnect !== false;\n\t\tconst settings = typeof reconnect === 'object' ? reconnect : {};\n\t\treturn eventStream({\n\t\t\tcontext: contextOf(method, path, call.operationId),\n\t\t\topen: opener(method, path, call, 'text/event-stream'),\n\t\t\tsignal: call.signal ?? undefined,\n\t\t\tvalidate,\n\t\t\tdecode,\n\t\t\tevents,\n\t\t\tonUnknownEvent,\n\t\t\treconnect: reconnects && {\n\t\t\t\tattempts: settings.attempts ?? Number.POSITIVE_INFINITY,\n\t\t\t\tdelay: settings.delay ?? RECONNECT_DELAY,\n\t\t\t},\n\t\t\tlastEventId,\n\t\t});\n\t};\n\n\tconst lines = (path: string, given: LinesGiven = {}) => {\n\t\tconst {\n\t\t\titem,\n\t\t\tvalidate = true,\n\t\t\tdecode = true,\n\t\t\tmethod = 'get',\n\t\t\tlatest,\n\t\t\t...own\n\t\t} = given;\n\t\tconst call = {\n\t\t\t...own,\n\t\t\tsignal: joinSignals(own.signal, latestSignal(latest)),\n\t\t};\n\t\treturn lineStream({\n\t\t\tcontext: contextOf(method, path, call.operationId),\n\t\t\topen: opener(method, path, call, LINE_TYPES.slice(0, 2).join(', ')),\n\t\t\tsignal: call.signal ?? undefined,\n\t\t\tvalidate,\n\t\t\tdecode,\n\t\t\titem,\n\t\t});\n\t};\n\n\tconst send = async (\n\t\trequest: Request,\n\t\t{\n\t\t\ttimeout = options.timeout,\n\t\t\tretry = options.retry,\n\t\t\toperationId,\n\t\t\tlatest,\n\t\t}: SendOptions = {},\n\t): Promise<Response> => {\n\t\tconst replaced = latestSignal(latest);\n\t\tconst method = request.method.toLowerCase();\n\t\tconst context = contextOf(\n\t\t\tmethod,\n\t\t\tnew URL(request.url).pathname,\n\t\t\toperationId,\n\t\t);\n\t\tconst headers = await sharedHeaders();\n\t\trequest.headers.forEach((value, name) => {\n\t\t\theaders.set(name, value);\n\t\t});\n\t\tconst { deadline, signal } = withDeadline(\n\t\t\ttimeout,\n\t\t\tjoinSignals(request.signal, replaced),\n\t\t);\n\t\tconst sent = new Request(request, { headers, signal });\n\t\treturn dispatch(sent, context, timeout, deadline, retry);\n\t};\n\n\t/**\n\t * The client's calls, each with `scope()`'s signal added to its own: none\n\t * for the client itself, the group's for a group.\n\t */\n\tconst surface = (scope: () => AbortSignal | undefined): HttpClient => {\n\t\tconst scoped = <T extends { readonly signal?: AbortSignal | null }>(\n\t\t\tgiven: T | undefined,\n\t\t): T => {\n\t\t\tconst extra = scope();\n\t\t\tconst own = given ?? ({} as T);\n\t\t\treturn extra\n\t\t\t\t? ({ ...own, signal: joinSignals(own.signal, extra) } as T)\n\t\t\t\t: own;\n\t\t};\n\t\tconst client: Record<string, unknown> = {\n\t\t\trequest: (method: Method, path: string, given?: ReplyGiven) =>\n\t\t\t\trequest(method, path, scoped(given)),\n\t\t\tsend: (sent: Request, given?: SendOptions) => {\n\t\t\t\tconst extra = scope();\n\t\t\t\treturn send(\n\t\t\t\t\textra\n\t\t\t\t\t\t? new Request(sent, { signal: joinSignals(sent.signal, extra) })\n\t\t\t\t\t\t: sent,\n\t\t\t\t\tgiven,\n\t\t\t\t);\n\t\t\t},\n\t\t\tevents: (path: string, given?: EventsGiven) =>\n\t\t\t\tevents(path, scoped(given)),\n\t\t\tlines: (path: string, given?: LinesGiven) => lines(path, scoped(given)),\n\t\t\tgroup: (): HttpGroup => {\n\t\t\t\tlet controller = new AbortController();\n\t\t\t\tconst group = surface(() =>\n\t\t\t\t\tjoinSignals(scope(), controller.signal),\n\t\t\t\t) as HttpClient & Record<string, unknown>;\n\t\t\t\tgroup.cancel = (reason?: unknown) => {\n\t\t\t\t\tcontroller.abort(reason ?? cancelled('The group was cancelled'));\n\t\t\t\t\tcontroller = new AbortController();\n\t\t\t\t};\n\t\t\t\tObject.defineProperty(group, 'signal', {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: () => controller.signal,\n\t\t\t\t});\n\t\t\t\treturn group as unknown as HttpGroup;\n\t\t\t},\n\t\t};\n\t\tfor (const method of METHODS) {\n\t\t\tclient[method] = (path: string, given?: ReplyGiven) =>\n\t\t\t\trequest(method, path, scoped(given));\n\t\t}\n\t\treturn client as HttpClient;\n\t};\n\treturn surface(() => undefined);\n}\n"
20
+ "/**\n * `createHttpClient`: calls over the standard `fetch`, each typed by its path\n * and by the replies it declares, through `retry`, `auth` and middleware.\n */\nimport { cancelled, joinSignals } from '../cancel/abort';\nimport { createLatest } from '../cancel/latest';\nimport { type CallContext, NetworkError, TimeoutError } from '../errors/errors';\nimport { auth } from '../middleware/auth';\nimport { compose, type Middleware, type Next } from '../middleware/compose';\nimport {\n\ttype RetryOptions,\n\tretrying,\n\tretrySettings,\n} from '../middleware/retry';\nimport { readReply, toSpec } from '../reply/read-reply';\nimport type { Responses } from '../reply/types';\nimport { fillPath, joinUrl, writeBody, writeQuery } from '../request/encode';\nimport type { BodyInput, QueryInput } from '../request/types';\nimport type { StandardSchemaV1 } from '../schema/standard-schema';\nimport type { Open } from '../stream/connection';\nimport { eventStream } from '../stream/event-stream';\nimport { LINE_TYPES, lineStream } from '../stream/line-stream';\nimport type { ServerEvent } from '../stream/sse-parser';\nimport type { EventSchemas, ReconnectOptions } from '../stream/types';\nimport type {\n\tCallOptions,\n\tHttpClient,\n\tHttpClientOptions,\n\tHttpGroup,\n\tMethod,\n\tSendOptions,\n} from './types';\n\nexport const METHODS: readonly Method[] = [\n\t'get',\n\t'put',\n\t'post',\n\t'delete',\n\t'options',\n\t'head',\n\t'patch',\n\t'trace',\n\t'query',\n];\n\n/** What a request is built from, as the client reads a call's options. */\ntype Given = BodyInput &\n\tCallOptions & {\n\t\treadonly param?: Readonly<Record<string, unknown>>;\n\t\treadonly query?: QueryInput;\n\t};\n\ntype ReplyGiven = Given & {\n\treadonly responses?: Responses;\n\treadonly validate?: boolean;\n\treadonly decode?: boolean;\n};\n\ntype StreamGiven = Given & {\n\treadonly method?: Method;\n\treadonly validate?: boolean;\n\treadonly decode?: boolean;\n};\n\ntype EventsGiven = StreamGiven & {\n\treadonly events?: EventSchemas;\n\treadonly onUnknownEvent?: (event: ServerEvent) => void;\n\treadonly reconnect?: boolean | ReconnectOptions;\n\treadonly lastEventId?: string;\n};\n\ntype LinesGiven = StreamGiven & { readonly item?: StandardSchemaV1 };\n\n/** A stream reconnects by default, but for the methods a retry would not repeat. */\nconst RECONNECT_DELAY = 3000;\n\nconst contextOf = (\n\tmethod: string,\n\tpath: string,\n\toperationId: string | undefined,\n): CallContext =>\n\toperationId === undefined ? { method, path } : { method, path, operationId };\n\n/**\n * ```ts\n * const http = createHttpClient({ baseUrl: 'https://api.example.com', retry: 2 });\n * const reply = await http.get('/employees/{id}', {\n * \tparam: { id },\n * \tresponses: { 200: Employee, 404: Problem },\n * });\n * if (reply.status === 200) reply.data.name;\n * ```\n */\nexport function createHttpClient(options: HttpClientOptions = {}): HttpClient {\n\tconst signer = options.auth ? auth(options.auth) : undefined;\n\tconst claim = createLatest();\n\t/**\n\t * A `latest` key's signal. Claimed before anything is awaited, so calls\n\t * with the same key replace each other in the order they were made.\n\t */\n\tconst latestSignal = (key: string | undefined) =>\n\t\tkey === undefined ? undefined : claim(key);\n\tconst sharedHeaders = async (): Promise<Headers> =>\n\t\tnew Headers(\n\t\t\ttypeof options.headers === 'function'\n\t\t\t\t? await options.headers()\n\t\t\t\t: options.headers,\n\t\t);\n\n\t/** The request's own signal, with `timeout`'s deadline added. */\n\tconst withDeadline = (\n\t\ttimeout: number | undefined,\n\t\tsignal: AbortSignal | null | undefined,\n\t) => {\n\t\tconst deadline =\n\t\t\ttimeout === undefined ? undefined : AbortSignal.timeout(timeout);\n\t\tconst signals = [signal, deadline].filter(\n\t\t\t(each): each is AbortSignal => each != null,\n\t\t);\n\t\treturn {\n\t\t\tdeadline,\n\t\t\tsignal: signals.length > 1 ? AbortSignal.any(signals) : signals[0],\n\t\t};\n\t};\n\n\t/**\n\t * Through `retry`, `auth`, `use` and then `added`, what `use()` added, to\n\t * `fetch`: fetch's failure and the deadline made errors.\n\t */\n\tconst dispatch = async (\n\t\trequest: Request,\n\t\tcontext: CallContext,\n\t\ttimeout: number | undefined,\n\t\tdeadline: AbortSignal | undefined,\n\t\tretry: number | RetryOptions | false | undefined,\n\t\tadded: readonly Middleware[],\n\t): Promise<Response> => {\n\t\tconst fetch = options.fetch ?? ((sent: Request) => globalThis.fetch(sent));\n\t\t// fetch's own failure is a NetworkError, which `retry` retries; an abort is not one.\n\t\tconst send: Next = async (sent) => {\n\t\t\ttry {\n\t\t\t\t// As fetch does: a signal aborted before the call never sends.\n\t\t\t\tsent.signal.throwIfAborted();\n\t\t\t\treturn await fetch(sent);\n\t\t\t} catch (error) {\n\t\t\t\tif (request.signal.aborted) throw error;\n\t\t\t\tthrow new NetworkError(context, { cause: error });\n\t\t\t}\n\t\t};\n\t\tconst again = retrySettings(retry);\n\t\tconst layers = [\n\t\t\t...(again ? [retrying(again)] : []),\n\t\t\t...(signer ? [signer] : []),\n\t\t\t...(options.use ?? []),\n\t\t\t...added,\n\t\t];\n\t\ttry {\n\t\t\treturn await compose(layers, send, context)(request);\n\t\t} catch (error) {\n\t\t\tif (deadline?.aborted && timeout !== undefined) {\n\t\t\t\tthrow new TimeoutError(context, timeout, { cause: error });\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t};\n\n\t/**\n\t * A request's parts, from a call's options: its URL, and its init but for\n\t * the signal. `adjust` has the last word on the headers.\n\t */\n\tconst build = async (\n\t\tmethod: Method,\n\t\tpath: string,\n\t\tgiven: Given,\n\t\tadjust?: (headers: Headers) => void,\n\t) => {\n\t\tconst {\n\t\t\tparam,\n\t\t\tquery,\n\t\t\tjson,\n\t\t\tform,\n\t\t\ttext,\n\t\t\tbody,\n\t\t\toperationId,\n\t\t\ttimeout = options.timeout,\n\t\t\tretry = options.retry,\n\t\t\theaders: own,\n\t\t\tsignal,\n\t\t\t...rest\n\t\t} = given;\n\t\tconst context = contextOf(method, path, operationId);\n\t\tconst headers = await sharedHeaders();\n\t\tconst callHeaders = new Headers(own);\n\t\tcallHeaders.forEach((value, name) => {\n\t\t\theaders.set(name, value);\n\t\t});\n\t\tadjust?.(headers);\n\t\tconst url = joinUrl(\n\t\t\toptions.baseUrl,\n\t\t\tfillPath(context, param),\n\t\t\twriteQuery(query),\n\t\t);\n\t\tconst payload = writeBody(\n\t\t\t{ json, form, text, body } as BodyInput,\n\t\t\theaders,\n\t\t\tcallHeaders.get('content-type'),\n\t\t);\n\t\tconst init = {\n\t\t\t...options.init,\n\t\t\t...rest,\n\t\t\tmethod: method.toUpperCase(),\n\t\t\theaders,\n\t\t\tbody: payload,\n\t\t\t// A stream is sent as it is read, which fetch has to be told.\n\t\t\t...(payload instanceof ReadableStream ? { duplex: 'half' } : {}),\n\t\t} as RequestInit;\n\t\treturn { context, url, init, timeout, retry, signal: signal ?? undefined };\n\t};\n\n\tconst request = async (\n\t\tmethod: Method,\n\t\tpath: string,\n\t\tgiven: ReplyGiven,\n\t\tadded: readonly Middleware[],\n\t): Promise<unknown> => {\n\t\tconst {\n\t\t\tresponses,\n\t\t\tvalidate = true,\n\t\t\tdecode = true,\n\t\t\tlatest,\n\t\t\t...call\n\t\t} = given;\n\t\tconst replaced = latestSignal(latest);\n\t\tconst built = await build(method, path, call);\n\t\tconst { deadline, signal } = withDeadline(\n\t\t\tbuilt.timeout,\n\t\t\tjoinSignals(built.signal, replaced),\n\t\t);\n\t\tconst response = await dispatch(\n\t\t\tnew Request(built.url, { ...built.init, signal }),\n\t\t\tbuilt.context,\n\t\t\tbuilt.timeout,\n\t\t\tdeadline,\n\t\t\tbuilt.retry,\n\t\t\tadded,\n\t\t);\n\t\treturn readReply(\n\t\t\tbuilt.context,\n\t\t\tresponses === undefined ? undefined : toSpec(responses),\n\t\t\tresponse,\n\t\t\t{ validate, decode },\n\t\t);\n\t};\n\n\t/**\n\t * A stream's connections, each built afresh: its headers are run again and\n\t * `Last-Event-ID` is added. `timeout` bounds one until its headers arrive,\n\t * and no longer, since a stream has no end to wait for.\n\t */\n\tconst opener =\n\t\t(\n\t\t\tmethod: Method,\n\t\t\tpath: string,\n\t\t\tcall: Given,\n\t\t\taccept: string,\n\t\t\tadded: readonly Middleware[],\n\t\t): Open =>\n\t\tasync (stream, lastEventId) => {\n\t\t\tconst built = await build(method, path, call, (headers) => {\n\t\t\t\tif (!headers.has('accept')) headers.set('accept', accept);\n\t\t\t\tif (lastEventId !== undefined) {\n\t\t\t\t\theaders.set('last-event-id', lastEventId);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst deadline = new AbortController();\n\t\t\tconst clock =\n\t\t\t\tbuilt.timeout === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: setTimeout(\n\t\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\t\tdeadline.abort(\n\t\t\t\t\t\t\t\t\tnew DOMException('The stream did not open', 'TimeoutError'),\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tbuilt.timeout,\n\t\t\t\t\t\t);\n\t\t\tconst signals = [stream, deadline.signal];\n\t\t\tif (built.signal) signals.push(built.signal);\n\t\t\ttry {\n\t\t\t\treturn await dispatch(\n\t\t\t\t\tnew Request(built.url, {\n\t\t\t\t\t\t...built.init,\n\t\t\t\t\t\tsignal: AbortSignal.any(signals),\n\t\t\t\t\t}),\n\t\t\t\t\tbuilt.context,\n\t\t\t\t\tbuilt.timeout,\n\t\t\t\t\tdeadline.signal,\n\t\t\t\t\tbuilt.retry,\n\t\t\t\t\tadded,\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tclearTimeout(clock);\n\t\t\t}\n\t\t};\n\n\tconst events = (\n\t\tpath: string,\n\t\tgiven: EventsGiven,\n\t\tadded: readonly Middleware[],\n\t) => {\n\t\tconst {\n\t\t\tevents,\n\t\t\tonUnknownEvent,\n\t\t\treconnect,\n\t\t\tlastEventId,\n\t\t\tvalidate = true,\n\t\t\tdecode = true,\n\t\t\tmethod = 'get',\n\t\t\tlatest,\n\t\t\t...own\n\t\t} = given;\n\t\tconst call = {\n\t\t\t...own,\n\t\t\tsignal: joinSignals(own.signal, latestSignal(latest)),\n\t\t};\n\t\tconst reconnects =\n\t\t\treconnect === undefined\n\t\t\t\t? method !== 'post' && method !== 'patch'\n\t\t\t\t: reconnect !== false;\n\t\tconst settings = typeof reconnect === 'object' ? reconnect : {};\n\t\treturn eventStream({\n\t\t\tcontext: contextOf(method, path, call.operationId),\n\t\t\topen: opener(method, path, call, 'text/event-stream', added),\n\t\t\tsignal: call.signal ?? undefined,\n\t\t\tvalidate,\n\t\t\tdecode,\n\t\t\tevents,\n\t\t\tonUnknownEvent,\n\t\t\treconnect: reconnects && {\n\t\t\t\tattempts: settings.attempts ?? Number.POSITIVE_INFINITY,\n\t\t\t\tdelay: settings.delay ?? RECONNECT_DELAY,\n\t\t\t},\n\t\t\tlastEventId,\n\t\t});\n\t};\n\n\tconst lines = (\n\t\tpath: string,\n\t\tgiven: LinesGiven,\n\t\tadded: readonly Middleware[],\n\t) => {\n\t\tconst {\n\t\t\titem,\n\t\t\tvalidate = true,\n\t\t\tdecode = true,\n\t\t\tmethod = 'get',\n\t\t\tlatest,\n\t\t\t...own\n\t\t} = given;\n\t\tconst call = {\n\t\t\t...own,\n\t\t\tsignal: joinSignals(own.signal, latestSignal(latest)),\n\t\t};\n\t\treturn lineStream({\n\t\t\tcontext: contextOf(method, path, call.operationId),\n\t\t\topen: opener(\n\t\t\t\tmethod,\n\t\t\t\tpath,\n\t\t\t\tcall,\n\t\t\t\tLINE_TYPES.slice(0, 2).join(', '),\n\t\t\t\tadded,\n\t\t\t),\n\t\t\tsignal: call.signal ?? undefined,\n\t\t\tvalidate,\n\t\t\tdecode,\n\t\t\titem,\n\t\t});\n\t};\n\n\tconst send = async (\n\t\trequest: Request,\n\t\t{\n\t\t\ttimeout = options.timeout,\n\t\t\tretry = options.retry,\n\t\t\toperationId,\n\t\t\tlatest,\n\t\t}: SendOptions,\n\t\tadded: readonly Middleware[],\n\t): Promise<Response> => {\n\t\tconst replaced = latestSignal(latest);\n\t\tconst method = request.method.toLowerCase();\n\t\tconst context = contextOf(\n\t\t\tmethod,\n\t\t\tnew URL(request.url).pathname,\n\t\t\toperationId,\n\t\t);\n\t\tconst headers = await sharedHeaders();\n\t\trequest.headers.forEach((value, name) => {\n\t\t\theaders.set(name, value);\n\t\t});\n\t\tconst { deadline, signal } = withDeadline(\n\t\t\ttimeout,\n\t\t\tjoinSignals(request.signal, replaced),\n\t\t);\n\t\tconst sent = new Request(request, { headers, signal });\n\t\treturn dispatch(sent, context, timeout, deadline, retry, added);\n\t};\n\n\t/**\n\t * The client's calls, each with `scope()`'s signal added to its own, and\n\t * the middleware of `use()`: `inherited()`, a parent's, read as each call\n\t * is made, then its own. A group's `use()` is the group's alone.\n\t */\n\tconst surface = (\n\t\tscope: () => AbortSignal | undefined,\n\t\tinherited: () => readonly Middleware[],\n\t): HttpClient => {\n\t\tconst own: Middleware[] = [];\n\t\tconst layers = () => [...inherited(), ...own];\n\t\tconst scoped = <T extends { readonly signal?: AbortSignal | null }>(\n\t\t\tgiven: T | undefined,\n\t\t): T => {\n\t\t\tconst extra = scope();\n\t\t\tconst own = given ?? ({} as T);\n\t\t\treturn extra\n\t\t\t\t? ({ ...own, signal: joinSignals(own.signal, extra) } as T)\n\t\t\t\t: own;\n\t\t};\n\t\tconst client: Record<string, unknown> = {\n\t\t\trequest: (method: Method, path: string, given?: ReplyGiven) =>\n\t\t\t\trequest(method, path, scoped(given), layers()),\n\t\t\tsend: (sent: Request, given?: SendOptions) => {\n\t\t\t\tconst extra = scope();\n\t\t\t\treturn send(\n\t\t\t\t\textra\n\t\t\t\t\t\t? new Request(sent, { signal: joinSignals(sent.signal, extra) })\n\t\t\t\t\t\t: sent,\n\t\t\t\t\tgiven ?? {},\n\t\t\t\t\tlayers(),\n\t\t\t\t);\n\t\t\t},\n\t\t\tevents: (path: string, given?: EventsGiven) =>\n\t\t\t\tevents(path, scoped(given), layers()),\n\t\t\tlines: (path: string, given?: LinesGiven) =>\n\t\t\t\tlines(path, scoped(given), layers()),\n\t\t\tuse: (...middlewares: Middleware[]) => {\n\t\t\t\town.push(...middlewares);\n\t\t\t\treturn client;\n\t\t\t},\n\t\t\tgroup: (): HttpGroup => {\n\t\t\t\tlet controller = new AbortController();\n\t\t\t\tconst group = surface(\n\t\t\t\t\t() => joinSignals(scope(), controller.signal),\n\t\t\t\t\tlayers,\n\t\t\t\t) as HttpClient & Record<string, unknown>;\n\t\t\t\tgroup.cancel = (reason?: unknown) => {\n\t\t\t\t\tcontroller.abort(reason ?? cancelled('The group was cancelled'));\n\t\t\t\t\tcontroller = new AbortController();\n\t\t\t\t};\n\t\t\t\tObject.defineProperty(group, 'signal', {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: () => controller.signal,\n\t\t\t\t});\n\t\t\t\treturn group as unknown as HttpGroup;\n\t\t\t},\n\t\t};\n\t\tfor (const method of METHODS) {\n\t\t\tclient[method] = (path: string, given?: ReplyGiven) =>\n\t\t\t\trequest(method, path, scoped(given), layers());\n\t\t}\n\t\treturn client as unknown as HttpClient;\n\t};\n\treturn surface(\n\t\t() => undefined,\n\t\t() => [],\n\t);\n}\n"
21
21
  ],
22
- "mappings": "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",
23
- "debugId": "05C3145FB7DF61A464756E2164756E21",
22
+ "mappings": "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",
23
+ "debugId": "08EFC0FA159560DB64756E2164756E21",
24
24
  "names": []
25
25
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxgt/httpyz",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",