api-def 0.12.0-alpha.43 → 0.12.0-alpha.44

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.
@@ -4,6 +4,9 @@ import type { ResponseType } from "./ApiConstants";
4
4
  import type { Body, Params, Query, RawHeaders, State } from "./ApiTypes";
5
5
  import Endpoint, { type EndpointOptions } from "./Endpoint";
6
6
  type DefaultResponseOf<T extends ResponseType | undefined> = T extends "text" ? string : T extends "arraybuffer" ? ArrayBuffer : "stream" extends T ? AsyncIterable<Uint8Array> : unknown;
7
+ export type EndpointBuildOptions<TResponse = unknown, TParams extends Params | undefined = undefined, TQuery extends Query | undefined = undefined, TBody extends Body | undefined = undefined, TState extends State = State, TRequestHeaders extends RawHeaders | undefined = RawHeaders | undefined, TResponseHeaders extends RawHeaders | undefined = RawHeaders | undefined, TPath extends string = string, TResponseType extends ResponseType | undefined = undefined> = Omit<EndpointOptions<TResponse, TParams, TQuery, TBody, TState, TPath, TRequestHeaders, TResponseHeaders>, "validation"> & {
8
+ responseType?: TResponseType;
9
+ };
7
10
  export default class EndpointBuilder<TResponse = unknown, TParams extends Params | undefined = undefined, TQuery extends Query | undefined = undefined, TBody extends Body | undefined = undefined, TState extends State = State, TRequestHeaders extends RawHeaders | undefined = RawHeaders | undefined, TResponseHeaders extends RawHeaders | undefined = RawHeaders | undefined> {
8
11
  private api;
9
12
  private readonly validation;
@@ -15,8 +18,6 @@ export default class EndpointBuilder<TResponse = unknown, TParams extends Params
15
18
  stateOf<TNewState extends State>(schema?: zod.Schema<TNewState>): EndpointBuilder<TResponse, TParams, TQuery, TBody, TNewState, TRequestHeaders, TResponseHeaders>;
16
19
  requestHeadersOf<TNewRequestHeaders extends RawHeaders>(): EndpointBuilder<TResponse, TParams, TQuery, TBody, TState, TNewRequestHeaders, TResponseHeaders>;
17
20
  responseHeadersOf<TNewResponseHeaders extends RawHeaders>(): EndpointBuilder<TResponse, TParams, TQuery, TBody, TState, TRequestHeaders, TNewResponseHeaders>;
18
- build<TPath extends string, TResponseType extends ResponseType>(options: Omit<EndpointOptions<TResponse, TParams, TQuery, TBody, TState, TPath, TRequestHeaders, TResponseHeaders>, "validation"> & {
19
- responseType?: TResponseType;
20
- }): Endpoint<unknown extends TResponse ? DefaultResponseOf<TResponseType> : TResponse, TParams, TQuery, TBody, TState, TPath, TRequestHeaders, TResponseHeaders>;
21
+ build<TPath extends string, TResponseType extends ResponseType>(options: EndpointBuildOptions<TResponse, TParams, TQuery, TBody, TState, TRequestHeaders, TResponseHeaders, TPath, TResponseType>): Endpoint<unknown extends TResponse ? DefaultResponseOf<TResponseType> : TResponse, TParams, TQuery, TBody, TState, TPath, TRequestHeaders, TResponseHeaders>;
21
22
  }
22
23
  export {};
@@ -12,10 +12,6 @@ var __assign = (this && this.__assign) || function () {
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  var Endpoint_1 = require("./Endpoint");
15
- /*type ExtractParams<Path> = Path extends `${infer Segment}/${infer Rest}`
16
- ? Segment extends `:${infer Param}` ? Param | ExtractParams<Rest> : ExtractParams<Rest>
17
- : Path extends `:${infer Param}` ? Param : undefined;
18
- */
19
15
  var EndpointBuilder = /** @class */ (function () {
20
16
  function EndpointBuilder(api) {
21
17
  this.validation = {};
package/cjs/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export { default as retry } from "./util/retry";
6
6
  export type { RetryOptions } from "./util/retry/interfaces";
7
7
  export { isRequestError, type RequestError } from "./RequestError";
8
8
  export { default as Endpoint, type EndpointConfig } from "./Endpoint";
9
+ export { default as EndpointBuilder, type EndpointBuildOptions } from "./EndpointBuilder";
9
10
  export { clearClientCache, setClientCacheBackend } from "./cache/ClientCaching";
10
11
  export { default as LocalStorageClientCacheBackend } from "./cache/LocalStorageClientCacheBackend";
11
12
  export { default as LocalForageClientCacheBackend } from "./cache/LocalForageClientCacheBackend";
package/cjs/index.js CHANGED
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
16
  };
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.LoggingMiddleware = exports.ClientCacheMiddleware = exports.FetchRequestBackend = exports.AxiosRequestBackend = exports.LocalForageClientCacheBackend = exports.LocalStorageClientCacheBackend = exports.setClientCacheBackend = exports.clearClientCache = exports.Endpoint = exports.isRequestError = exports.retry = void 0;
18
+ exports.LoggingMiddleware = exports.ClientCacheMiddleware = exports.FetchRequestBackend = exports.AxiosRequestBackend = exports.LocalForageClientCacheBackend = exports.LocalStorageClientCacheBackend = exports.setClientCacheBackend = exports.clearClientCache = exports.EndpointBuilder = exports.Endpoint = exports.isRequestError = exports.retry = void 0;
19
19
  __exportStar(require("./Api"), exports);
20
20
  __exportStar(require("./ApiTypes"), exports);
21
21
  __exportStar(require("./UtilTypes"), exports);
@@ -26,6 +26,8 @@ var RequestError_1 = require("./RequestError");
26
26
  Object.defineProperty(exports, "isRequestError", { enumerable: true, get: function () { return RequestError_1.isRequestError; } });
27
27
  var Endpoint_1 = require("./Endpoint");
28
28
  Object.defineProperty(exports, "Endpoint", { enumerable: true, get: function () { return Endpoint_1.default; } });
29
+ var EndpointBuilder_1 = require("./EndpointBuilder");
30
+ Object.defineProperty(exports, "EndpointBuilder", { enumerable: true, get: function () { return EndpointBuilder_1.default; } });
29
31
  var ClientCaching_1 = require("./cache/ClientCaching");
30
32
  Object.defineProperty(exports, "clearClientCache", { enumerable: true, get: function () { return ClientCaching_1.clearClientCache; } });
31
33
  Object.defineProperty(exports, "setClientCacheBackend", { enumerable: true, get: function () { return ClientCaching_1.setClientCacheBackend; } });
@@ -4,6 +4,9 @@ import type { ResponseType } from "./ApiConstants";
4
4
  import type { Body, Params, Query, RawHeaders, State } from "./ApiTypes";
5
5
  import Endpoint, { type EndpointOptions } from "./Endpoint";
6
6
  type DefaultResponseOf<T extends ResponseType | undefined> = T extends "text" ? string : T extends "arraybuffer" ? ArrayBuffer : "stream" extends T ? AsyncIterable<Uint8Array> : unknown;
7
+ export type EndpointBuildOptions<TResponse = unknown, TParams extends Params | undefined = undefined, TQuery extends Query | undefined = undefined, TBody extends Body | undefined = undefined, TState extends State = State, TRequestHeaders extends RawHeaders | undefined = RawHeaders | undefined, TResponseHeaders extends RawHeaders | undefined = RawHeaders | undefined, TPath extends string = string, TResponseType extends ResponseType | undefined = undefined> = Omit<EndpointOptions<TResponse, TParams, TQuery, TBody, TState, TPath, TRequestHeaders, TResponseHeaders>, "validation"> & {
8
+ responseType?: TResponseType;
9
+ };
7
10
  export default class EndpointBuilder<TResponse = unknown, TParams extends Params | undefined = undefined, TQuery extends Query | undefined = undefined, TBody extends Body | undefined = undefined, TState extends State = State, TRequestHeaders extends RawHeaders | undefined = RawHeaders | undefined, TResponseHeaders extends RawHeaders | undefined = RawHeaders | undefined> {
8
11
  private api;
9
12
  private readonly validation;
@@ -15,8 +18,6 @@ export default class EndpointBuilder<TResponse = unknown, TParams extends Params
15
18
  stateOf<TNewState extends State>(schema?: zod.Schema<TNewState>): EndpointBuilder<TResponse, TParams, TQuery, TBody, TNewState, TRequestHeaders, TResponseHeaders>;
16
19
  requestHeadersOf<TNewRequestHeaders extends RawHeaders>(): EndpointBuilder<TResponse, TParams, TQuery, TBody, TState, TNewRequestHeaders, TResponseHeaders>;
17
20
  responseHeadersOf<TNewResponseHeaders extends RawHeaders>(): EndpointBuilder<TResponse, TParams, TQuery, TBody, TState, TRequestHeaders, TNewResponseHeaders>;
18
- build<TPath extends string, TResponseType extends ResponseType>(options: Omit<EndpointOptions<TResponse, TParams, TQuery, TBody, TState, TPath, TRequestHeaders, TResponseHeaders>, "validation"> & {
19
- responseType?: TResponseType;
20
- }): Endpoint<unknown extends TResponse ? DefaultResponseOf<TResponseType> : TResponse, TParams, TQuery, TBody, TState, TPath, TRequestHeaders, TResponseHeaders>;
21
+ build<TPath extends string, TResponseType extends ResponseType>(options: EndpointBuildOptions<TResponse, TParams, TQuery, TBody, TState, TRequestHeaders, TResponseHeaders, TPath, TResponseType>): Endpoint<unknown extends TResponse ? DefaultResponseOf<TResponseType> : TResponse, TParams, TQuery, TBody, TState, TPath, TRequestHeaders, TResponseHeaders>;
21
22
  }
22
23
  export {};
@@ -1,8 +1,4 @@
1
1
  import Endpoint from "./Endpoint";
2
- /*type ExtractParams<Path> = Path extends `${infer Segment}/${infer Rest}`
3
- ? Segment extends `:${infer Param}` ? Param | ExtractParams<Rest> : ExtractParams<Rest>
4
- : Path extends `:${infer Param}` ? Param : undefined;
5
- */
6
2
  export default class EndpointBuilder {
7
3
  constructor(api) {
8
4
  this.validation = {};
package/esm/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export { default as retry } from "./util/retry";
6
6
  export type { RetryOptions } from "./util/retry/interfaces";
7
7
  export { isRequestError, type RequestError } from "./RequestError";
8
8
  export { default as Endpoint, type EndpointConfig } from "./Endpoint";
9
+ export { default as EndpointBuilder, type EndpointBuildOptions } from "./EndpointBuilder";
9
10
  export { clearClientCache, setClientCacheBackend } from "./cache/ClientCaching";
10
11
  export { default as LocalStorageClientCacheBackend } from "./cache/LocalStorageClientCacheBackend";
11
12
  export { default as LocalForageClientCacheBackend } from "./cache/LocalForageClientCacheBackend";
package/esm/index.js CHANGED
@@ -6,6 +6,7 @@ export * from "./ApiConstants";
6
6
  export { default as retry } from "./util/retry";
7
7
  export { isRequestError } from "./RequestError";
8
8
  export { default as Endpoint } from "./Endpoint";
9
+ export { default as EndpointBuilder } from "./EndpointBuilder";
9
10
  export { clearClientCache, setClientCacheBackend } from "./cache/ClientCaching";
10
11
  export { default as LocalStorageClientCacheBackend } from "./cache/LocalStorageClientCacheBackend";
11
12
  export { default as LocalForageClientCacheBackend } from "./cache/LocalForageClientCacheBackend";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "api-def",
3
- "version": "0.12.0-alpha.43",
3
+ "version": "0.12.0-alpha.44",
4
4
  "description": "Typed API definitions with middleware support",
5
5
  "main": "cjs/index.js",
6
6
  "types": "esm/index.d.ts",