@routepact/client 0.1.1 → 0.1.2

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/dist/request.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type RequestResult, type RouteOptions, type RouteOptionsRequired, type RoutePact } from "@routepact/core";
1
+ import { type PactResponse, type RouteOptions, type RouteOptionsRequired, type RoutePact } from "@routepact/core";
2
2
  import type { KyInstance } from "ky";
3
3
  /**
4
4
  * Creates a type-safe request function bound to a ky instance and base URL.
@@ -10,5 +10,5 @@ import type { KyInstance } from "ky";
10
10
  * const request = createRequest(kyInstance, "https://api.example.com");
11
11
  * const result = await request(UserPacts.getById, { params: { id: "123" } });
12
12
  */
13
- export declare function createRequest(apiInstance: KyInstance, baseUrl: string): <TPact extends RoutePact>(pact: TPact, ...[options]: RouteOptionsRequired<TPact> extends true ? [options: RouteOptions<TPact>] : [options?: RouteOptions<TPact>]) => Promise<RequestResult<TPact>>;
13
+ export declare function createRequest(apiInstance: KyInstance, baseUrl: string): <TPact extends RoutePact>(pact: TPact, ...[options]: RouteOptionsRequired<TPact> extends true ? [options: RouteOptions<TPact>] : [options?: RouteOptions<TPact>]) => Promise<PactResponse<TPact>>;
14
14
  //# sourceMappingURL=request.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,UAAU,EAAmB,MAAM,IAAI,CAAC;AAGtD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,IACtD,KAAK,SAAS,SAAS,EACnC,MAAM,KAAK,EACX,GAAG,WAAW,oBAAoB,CAAC,KAAK,CAAC,SAAS,IAAI,GAClD,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,GAC9B,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,KAClC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CA8DjC"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,UAAU,EAAmB,MAAM,IAAI,CAAC;AAGtD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,IACtD,KAAK,SAAS,SAAS,EACnC,MAAM,KAAK,EACX,GAAG,WAAW,oBAAoB,CAAC,KAAK,CAAC,SAAS,IAAI,GAClD,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,GAC9B,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,KAClC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CA8DhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,eAAe,GAKhB,MAAM,iBAAiB,CAAC;AAIzB;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,WAAuB,EAAE,OAAe;IACpE,OAAO,KAAK,EACV,IAAW,EACX,GAAG,CAAC,OAAO,CAEwB,EACJ,EAAE;QACjC,MAAM,QAAQ,GAAG,GAAG,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAE7D,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAChD,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAEhD,IAAI,QAAkC,CAAC;QACvC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,KAAK;gBACR,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,MAAM;gBACT,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE;oBACpC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE;iBAC3C,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,OAAO;gBACV,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE;oBACrC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE;iBAC3C,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,KAAK;gBACR,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;oBACnC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE;iBAC3C,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,QAAQ;gBACX,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACxC,MAAM;YACR;gBACE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA0C,CAAC;QAE3E,IAAI,IAAI,CAAC,QAAQ,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,eAAe,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,4BAA4B,EAAE;oBAC5C,KAAK,EAAE,eAAe,CAAC,KAAK;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,IAAI,IAAsD,CAAC;YAC3D,IAAI,kBAAkB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,eAAe,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE;wBACxC,KAAK,EAAE,eAAe,CAAC,KAAK;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,GAAG,eAAe,CAAC,IAA4C,CAAC;YACtE,CAAC;YAED,OAAO;gBACL,QAAQ,EAAE,eAAe,CAAC,IAAI;gBAC9B,IAAI;aACmB,CAAC;QAC5B,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,SAAS,EAA0B,CAAC;IACzD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,eAAe,GAKhB,MAAM,iBAAiB,CAAC;AAIzB;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,WAAuB,EAAE,OAAe;IACpE,OAAO,KAAK,EACV,IAAW,EACX,GAAG,CAAC,OAAO,CAEwB,EACL,EAAE;QAChC,MAAM,QAAQ,GAAG,GAAG,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAE7D,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAChD,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAEhD,IAAI,QAAkC,CAAC;QACvC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,KAAK;gBACR,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,MAAM;gBACT,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE;oBACpC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE;iBAC3C,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,OAAO;gBACV,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE;oBACrC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE;iBAC3C,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,KAAK;gBACR,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;oBACnC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE;iBAC3C,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,QAAQ;gBACX,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACxC,MAAM;YACR;gBACE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA0C,CAAC;QAE3E,IAAI,IAAI,CAAC,QAAQ,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,eAAe,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,4BAA4B,EAAE;oBAC5C,KAAK,EAAE,eAAe,CAAC,KAAK;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,IAAI,IAAsD,CAAC;YAC3D,IAAI,kBAAkB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,eAAe,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE;wBACxC,KAAK,EAAE,eAAe,CAAC,KAAK;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,GAAG,eAAe,CAAC,IAA4C,CAAC;YACtE,CAAC;YAED,OAAO;gBACL,QAAQ,EAAE,eAAe,CAAC,IAAI;gBAC9B,IAAI;aACkB,CAAC;QAC3B,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAyB,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { RouteOptions, RoutePact } from "@routepact/core";
2
+ export declare function exhaustiveGuard(_value: never): never;
3
+ export declare function buildEndpoint<TPact extends RoutePact>(pact: TPact, options?: RouteOptions<TPact>): string;
4
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE/E,wBAAgB,eAAe,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,CAIpD;AAED,wBAAgB,aAAa,CAAC,KAAK,SAAS,SAAS,EACnD,IAAI,EAAE,KAAK,EACX,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAC5B,MAAM,CAUR"}
package/dist/utils.js ADDED
@@ -0,0 +1,14 @@
1
+ export function exhaustiveGuard(_value) {
2
+ throw new Error(`Reached forbidden guard function with unexpected value: ${JSON.stringify(_value)}`);
3
+ }
4
+ export function buildEndpoint(pact, options) {
5
+ const replacedEndpoint = pact.path.replace(/:(\w+)/g, (match, key) => {
6
+ if (options?.params && key in options.params) {
7
+ return options.params[key];
8
+ }
9
+ return match;
10
+ });
11
+ const queryString = new URLSearchParams(options?.queries).toString();
12
+ return queryString ? `${replacedEndpoint}?${queryString}` : replacedEndpoint;
13
+ }
14
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,MAAa;IAC3C,MAAM,IAAI,KAAK,CACb,2DAA2D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACpF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,IAAW,EACX,OAA6B;IAE7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACnE,IAAI,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7C,OAAO,OAAO,CAAC,MAAM,CAAC,GAA0C,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrE,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,gBAAgB,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC/E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@routepact/client",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Ky-based type-safe HTTP client for route pacts — validates responses against Zod schemas",
5
5
  "type": "module",
6
6
  "repository": "gitlab:mr5k/routepact",