@data-client/rest 0.16.0 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @data-client/rest
2
2
 
3
+ ## 0.16.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#3845](https://github.com/reactive/data-client/pull/3845) [`14095fe`](https://github.com/reactive/data-client/commit/14095fe768625cf11ce3d80d3493571029cf5b67) - Fix type errors when using concrete body types with subclassed RestEndpoint
8
+
9
+ Subclassing RestEndpoint (the standard pattern for adding auth headers, custom
10
+ serialization, etc.) could produce type errors when specifying concrete body types.
11
+
12
+ ```ts
13
+ // Before: type error on body ❌
14
+ class AuthdEndpoint<O extends RestGenerics = any> extends RestEndpoint<O> {}
15
+ new AuthdEndpoint({
16
+ method: 'PUT',
17
+ path: '/users/:id',
18
+ body: {} as { username: string; email: string },
19
+ });
20
+
21
+ // After: works correctly ✓
22
+ ```
23
+
3
24
  ## 0.16.0
4
25
 
5
26
  ### Minor Changes
package/README.md CHANGED
@@ -6,12 +6,12 @@
6
6
  [![bundle size](https://img.shields.io/bundlephobia/minzip/@data-client/rest?style=flat-square)](https://bundlephobia.com/result?p=@data-client/rest)
7
7
  [![npm version](https://img.shields.io/npm/v/@data-client/rest.svg?style=flat-square)](https://www.npmjs.com/package/@data-client/rest)
8
8
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
9
- [![Codegen GPT](https://img.shields.io/badge/chatGPT-74aa9c?style=flat-square&logo=openai&logoColor=white)](https://chatgpt.com/g/g-682609591fe48191a6850901521b4e4b-typescript-rest-codegen)
9
+ [![Agent Skills](https://img.shields.io/badge/Agent_Skills-cc785c?style=flat-square&logo=claude&logoColor=white)](https://skills.sh/reactive/data-client)
10
10
  [![Chat](https://img.shields.io/discord/768254430381735967.svg?style=flat-square&colorB=758ED3)](https://discord.gg/35nb8Mz)
11
11
 
12
12
  <div align="center">
13
13
 
14
- **[📖Read The Docs](https://dataclient.io/rest)** &nbsp;|&nbsp; [🤖Codegen](https://chatgpt.com/g/g-682609591fe48191a6850901521b4e4b-typescript-rest-codegen) &nbsp;|&nbsp; [🎮Todo Demo](https://stackblitz.com/github/reactive/data-client/tree/master/examples/todo-app?file=src%2Fresources%2FTodoResource.ts) &nbsp;|&nbsp; [🎮Github Demo](https://stackblitz.com/github/reactive/data-client/tree/master/examples/github-app?file=src%2Fresources%2FIssue.tsx)
14
+ **[📖Read The Docs](https://dataclient.io/rest)** &nbsp;|&nbsp; [🤖Agent Skills](https://skills.sh/reactive/data-client) &nbsp;|&nbsp; [🎮Todo Demo](https://stackblitz.com/github/reactive/data-client/tree/master/examples/todo-app?file=src%2Fresources%2FTodoResource.ts) &nbsp;|&nbsp; [🎮Github Demo](https://stackblitz.com/github/reactive/data-client/tree/master/examples/github-app?file=src%2Fresources%2FIssue.tsx)
15
15
 
16
16
  </div>
17
17
 
@@ -231,10 +231,16 @@ supports inferring argument types from the path templates.
231
231
  <td align="center">🛑</td>
232
232
  </tr>
233
233
  <tr>
234
- <td>any</td>
234
+ <td rowSpan="2">any</td>
235
235
  <td align="center"></td>
236
236
  <td><a href="https://dataclient.io/rest/api/Query">Query(Queryable)</a></td>
237
237
  <td>memoized custom transforms</td>
238
238
  <td align="center">✅</td>
239
239
  </tr>
240
+ <tr>
241
+ <td align="center"></td>
242
+ <td><a href="https://dataclient.io/rest/api/Lazy">Lazy(Schema)</a></td>
243
+ <td>deferred denormalization</td>
244
+ <td align="center">✅</td>
245
+ </tr>
240
246
  </tbody></table>
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL3BhdGhUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIENsZWFuS2V5PFMgZXh0ZW5kcyBzdHJpbmc+ID0gUyBleHRlbmRzIGBcIiR7aW5mZXIgS31cImAgPyBLIDogUztcblxudHlwZSBLZXlOYW1lPEsgZXh0ZW5kcyBzdHJpbmc+ID0gQ2xlYW5LZXk8XG4gIEsgZXh0ZW5kcyBgKiR7aW5mZXIgTn19YCA/IE5cbiAgOiBLIGV4dGVuZHMgYCoke2luZmVyIE59YCA/IE5cbiAgOiBLIGV4dGVuZHMgYCR7aW5mZXIgTn19YCA/IE5cbiAgOiBLXG4+O1xuXG50eXBlIEtleVZhbDxLIGV4dGVuZHMgc3RyaW5nPiA9XG4gIEsgZXh0ZW5kcyBgKiR7c3RyaW5nfWAgPyBzdHJpbmdbXSA6IHN0cmluZyB8IG51bWJlcjtcblxuLyoqIFBhcmFtZXRlcnMgZm9yIGEgZ2l2ZW4gcGF0aCAqL1xuZXhwb3J0IHR5cGUgUGF0aEFyZ3M8UyBleHRlbmRzIHN0cmluZz4gPVxuICBQYXRoS2V5czxTPiBleHRlbmRzIG5ldmVyID9cbiAgICAvLyB1bmtub3duIGlzIGlkZW50aXR5IGZvciBpbnRlcnNlY3Rpb24gKCcmJylcbiAgICB1bmtub3duXG4gIDogS2V5c1RvQXJnczxQYXRoS2V5czxTPj47XG5cbi8qKiBDb21wdXRlcyB0aGUgdW5pb24gb2Yga2V5cyBmb3IgYSBwYXRoIHN0cmluZyAqL1xuZXhwb3J0IHR5cGUgUGF0aEtleXM8UyBleHRlbmRzIHN0cmluZz4gPVxuICBzdHJpbmcgZXh0ZW5kcyBTID8gc3RyaW5nXG4gIDogUyBleHRlbmRzIGAke2luZmVyIEF9XFxcXCR7JzonIHwgJyonIHwgJ30nfSR7aW5mZXIgQn1gID9cbiAgICBQYXRoS2V5czxBPiB8IFBhdGhLZXlzPEI+XG4gIDogU3BsaXRzPFMsICc6Jz4gfCBTcGxpdHM8UywgJyonPjtcblxudHlwZSBTcGxpdHM8UyBleHRlbmRzIHN0cmluZywgTSBleHRlbmRzICc6JyB8ICcqJz4gPVxuICBTIGV4dGVuZHMgYCR7c3RyaW5nfSR7TX0ke2luZmVyIEt9JHtNfSR7aW5mZXIgUn1gID9cbiAgICBTcGxpdHM8YCR7TX0ke0t9YCwgTT4gfCBTcGxpdHM8YCR7TX0ke1J9YCwgTT5cbiAgOiBTIGV4dGVuZHMgKFxuICAgIGAke3N0cmluZ30ke019JHtpbmZlciBLfSR7Jy8nIHwgJ1xcXFwnIHwgJyUnIHwgJyYnIHwgJyonIHwgJzonIHwgJ3snIHwgJzsnIHwgJywnIHwgJyEnIHwgJ0AnfSR7aW5mZXIgUn1gXG4gICkgP1xuICAgIFNwbGl0czxgJHtNfSR7S31gLCBNPiB8IFNwbGl0czxSLCBNPlxuICA6IFMgZXh0ZW5kcyBgJHtzdHJpbmd9JHtNfSR7aW5mZXIgS31gID9cbiAgICBNIGV4dGVuZHMgJyonID9cbiAgICAgIGAqJHtLfWBcbiAgICA6IEtcbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgS2V5c1RvQXJnczxLZXkgZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICBbSyBpbiBLZXkgYXMgSyBleHRlbmRzIGAke3N0cmluZ319YCA/IEtleU5hbWU8Sz4gOiBuZXZlcl0/OiBLZXlWYWw8Sz47XG59ICYgKEV4Y2x1ZGU8S2V5LCBgJHtzdHJpbmd9fWA+IGV4dGVuZHMgbmV2ZXIgPyB1bmtub3duXG46IHtcbiAgICBbSyBpbiBLZXkgYXMgSyBleHRlbmRzIGAke3N0cmluZ319YCA/IG5ldmVyIDogS2V5TmFtZTxLPl06IEtleVZhbDxLPjtcbiAgfSk7XG5cbmV4cG9ydCB0eXBlIFBhdGhBcmdzQW5kU2VhcmNoPFMgZXh0ZW5kcyBzdHJpbmc+ID1cbiAgRXhjbHVkZTxQYXRoS2V5czxTPiwgYCR7c3RyaW5nfX1gPiBleHRlbmRzIG5ldmVyID9cbiAgICBSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBzdHJpbmcgfCBib29sZWFuPiB8IHVuZGVmaW5lZFxuICA6IHtcbiAgICAgIFtLIGluIFBhdGhLZXlzPFM+IGFzIEsgZXh0ZW5kcyBgJHtzdHJpbmd9fWAgPyBuZXZlclxuICAgICAgOiBLZXlOYW1lPEs+XTogS2V5VmFsPEs+O1xuICAgIH0gJiBSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBzdHJpbmcgfCBzdHJpbmdbXT47XG5cbi8qKiBSZW1vdmVzIHRoZSBsYXN0IDpwYXJhbSBvciAqd2lsZGNhcmQgdG9rZW4gKi9cbmV4cG9ydCB0eXBlIFNob3J0ZW5QYXRoPFMgZXh0ZW5kcyBzdHJpbmc+ID1cbiAgc3RyaW5nIGV4dGVuZHMgUyA/IHN0cmluZ1xuICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBCfToke2luZmVyIFJ9YCA/IFRyaW1Ub2tlbjxgJHtCfToke1Nob3J0ZW5QYXRoPFI+fWA+XG4gIDogUyBleHRlbmRzIGAke2luZmVyIEJ9KiR7aW5mZXIgUn1gID8gVHJpbVRva2VuPGAke0J9KiR7U2hvcnRlblBhdGg8Uj59YD5cbiAgOiAnJztcblxudHlwZSBUcmltVG9rZW48UyBleHRlbmRzIHN0cmluZz4gPVxuICBzdHJpbmcgZXh0ZW5kcyBTID8gc3RyaW5nXG4gIDogUyBleHRlbmRzIGAke2luZmVyIFJ9OmAgPyBSXG4gIDogUyBleHRlbmRzIGAke2luZmVyIFJ9KmAgPyBSXG4gIDogUztcblxuZXhwb3J0IHR5cGUgUmVzb3VyY2VQYXRoID0gc3RyaW5nOyAvLyBgJHtzdHJpbmd9OiR7c3RyaW5nfWA7IFRPRE86IE1heWJlIGRvIHRoaXMgaW4gdGhlIGZ1dHVyZT8gU2VlbXMgdG8gaGFyZCB0byB1bmRlcnN0YW5kIGZvciBub3dcbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL3BhdGhUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIENsZWFuS2V5PFMgZXh0ZW5kcyBzdHJpbmc+ID0gUyBleHRlbmRzIGBcIiR7aW5mZXIgS31cImAgPyBLIDogUztcblxudHlwZSBLZXlOYW1lPEsgZXh0ZW5kcyBzdHJpbmc+ID0gQ2xlYW5LZXk8XG4gIEsgZXh0ZW5kcyBgKiR7aW5mZXIgTn19YCA/IE5cbiAgOiBLIGV4dGVuZHMgYCoke2luZmVyIE59YCA/IE5cbiAgOiBLIGV4dGVuZHMgYCR7aW5mZXIgTn19YCA/IE5cbiAgOiBLXG4+O1xuXG50eXBlIEtleVZhbDxLIGV4dGVuZHMgc3RyaW5nPiA9XG4gIEsgZXh0ZW5kcyBgKiR7c3RyaW5nfWAgPyBzdHJpbmdbXSA6IHN0cmluZyB8IG51bWJlcjtcblxuLyoqIFBhcmFtZXRlcnMgZm9yIGEgZ2l2ZW4gcGF0aCAqL1xuZXhwb3J0IHR5cGUgUGF0aEFyZ3M8UyBleHRlbmRzIHN0cmluZz4gPVxuICB1bmtub3duIGV4dGVuZHMgUyA/IGFueVxuICA6IFBhdGhLZXlzPFM+IGV4dGVuZHMgbmV2ZXIgP1xuICAgIC8vIHVua25vd24gaXMgaWRlbnRpdHkgZm9yIGludGVyc2VjdGlvbiAoJyYnKVxuICAgIHVua25vd25cbiAgOiBLZXlzVG9BcmdzPFBhdGhLZXlzPFM+PjtcblxuLyoqIENvbXB1dGVzIHRoZSB1bmlvbiBvZiBrZXlzIGZvciBhIHBhdGggc3RyaW5nICovXG5leHBvcnQgdHlwZSBQYXRoS2V5czxTIGV4dGVuZHMgc3RyaW5nPiA9XG4gIHN0cmluZyBleHRlbmRzIFMgPyBzdHJpbmdcbiAgOiBTIGV4dGVuZHMgYCR7aW5mZXIgQX1cXFxcJHsnOicgfCAnKicgfCAnfSd9JHtpbmZlciBCfWAgP1xuICAgIFBhdGhLZXlzPEE+IHwgUGF0aEtleXM8Qj5cbiAgOiBTcGxpdHM8UywgJzonPiB8IFNwbGl0czxTLCAnKic+O1xuXG50eXBlIFNwbGl0czxTIGV4dGVuZHMgc3RyaW5nLCBNIGV4dGVuZHMgJzonIHwgJyonPiA9XG4gIFMgZXh0ZW5kcyBgJHtzdHJpbmd9JHtNfSR7aW5mZXIgS30ke019JHtpbmZlciBSfWAgP1xuICAgIFNwbGl0czxgJHtNfSR7S31gLCBNPiB8IFNwbGl0czxgJHtNfSR7Un1gLCBNPlxuICA6IFMgZXh0ZW5kcyAoXG4gICAgYCR7c3RyaW5nfSR7TX0ke2luZmVyIEt9JHsnLycgfCAnXFxcXCcgfCAnJScgfCAnJicgfCAnKicgfCAnOicgfCAneycgfCAnOycgfCAnLCcgfCAnIScgfCAnQCd9JHtpbmZlciBSfWBcbiAgKSA/XG4gICAgU3BsaXRzPGAke019JHtLfWAsIE0+IHwgU3BsaXRzPFIsIE0+XG4gIDogUyBleHRlbmRzIGAke3N0cmluZ30ke019JHtpbmZlciBLfWAgP1xuICAgIE0gZXh0ZW5kcyAnKicgP1xuICAgICAgYCoke0t9YFxuICAgIDogS1xuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBLZXlzVG9BcmdzPEtleSBleHRlbmRzIHN0cmluZz4gPSB7XG4gIFtLIGluIEtleSBhcyBLIGV4dGVuZHMgYCR7c3RyaW5nfX1gID8gS2V5TmFtZTxLPiA6IG5ldmVyXT86IEtleVZhbDxLPjtcbn0gJiAoRXhjbHVkZTxLZXksIGAke3N0cmluZ319YD4gZXh0ZW5kcyBuZXZlciA/IHVua25vd25cbjoge1xuICAgIFtLIGluIEtleSBhcyBLIGV4dGVuZHMgYCR7c3RyaW5nfX1gID8gbmV2ZXIgOiBLZXlOYW1lPEs+XTogS2V5VmFsPEs+O1xuICB9KTtcblxuZXhwb3J0IHR5cGUgUGF0aEFyZ3NBbmRTZWFyY2g8UyBleHRlbmRzIHN0cmluZz4gPVxuICB1bmtub3duIGV4dGVuZHMgUyA/IGFueVxuICA6IEV4Y2x1ZGU8UGF0aEtleXM8Uz4sIGAke3N0cmluZ319YD4gZXh0ZW5kcyBuZXZlciA/XG4gICAgUmVjb3JkPHN0cmluZywgbnVtYmVyIHwgc3RyaW5nIHwgYm9vbGVhbj4gfCB1bmRlZmluZWRcbiAgOiB7XG4gICAgICBbSyBpbiBQYXRoS2V5czxTPiBhcyBLIGV4dGVuZHMgYCR7c3RyaW5nfX1gID8gbmV2ZXJcbiAgICAgIDogS2V5TmFtZTxLPl06IEtleVZhbDxLPjtcbiAgICB9ICYgUmVjb3JkPHN0cmluZywgbnVtYmVyIHwgc3RyaW5nIHwgc3RyaW5nW10+O1xuXG4vKiogUmVtb3ZlcyB0aGUgbGFzdCA6cGFyYW0gb3IgKndpbGRjYXJkIHRva2VuICovXG5leHBvcnQgdHlwZSBTaG9ydGVuUGF0aDxTIGV4dGVuZHMgc3RyaW5nPiA9XG4gIHN0cmluZyBleHRlbmRzIFMgPyBzdHJpbmdcbiAgOiBTIGV4dGVuZHMgYCR7aW5mZXIgQn06JHtpbmZlciBSfWAgPyBUcmltVG9rZW48YCR7Qn06JHtTaG9ydGVuUGF0aDxSPn1gPlxuICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBCfSoke2luZmVyIFJ9YCA/IFRyaW1Ub2tlbjxgJHtCfSoke1Nob3J0ZW5QYXRoPFI+fWA+XG4gIDogJyc7XG5cbnR5cGUgVHJpbVRva2VuPFMgZXh0ZW5kcyBzdHJpbmc+ID1cbiAgc3RyaW5nIGV4dGVuZHMgUyA/IHN0cmluZ1xuICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBSfTpgID8gUlxuICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBSfSpgID8gUlxuICA6IFM7XG5cbmV4cG9ydCB0eXBlIFJlc291cmNlUGF0aCA9IHN0cmluZzsgLy8gYCR7c3RyaW5nfToke3N0cmluZ31gOyBUT0RPOiBNYXliZSBkbyB0aGlzIGluIHRoZSBmdXR1cmU/IFNlZW1zIHRvIGhhcmQgdG8gdW5kZXJzdGFuZCBmb3Igbm93XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -2,7 +2,7 @@ type CleanKey<S extends string> = S extends `"${infer K}"` ? K : S;
2
2
  type KeyName<K extends string> = CleanKey<K extends `*${infer N}}` ? N : K extends `*${infer N}` ? N : K extends `${infer N}}` ? N : K>;
3
3
  type KeyVal<K extends string> = K extends `*${string}` ? string[] : string | number;
4
4
  /** Parameters for a given path */
5
- export type PathArgs<S extends string> = PathKeys<S> extends never ? unknown : KeysToArgs<PathKeys<S>>;
5
+ export type PathArgs<S extends string> = unknown extends S ? any : PathKeys<S> extends never ? unknown : KeysToArgs<PathKeys<S>>;
6
6
  /** Computes the union of keys for a path string */
7
7
  export type PathKeys<S extends string> = string extends S ? string : S extends `${infer A}\\${':' | '*' | '}'}${infer B}` ? PathKeys<A> | PathKeys<B> : Splits<S, ':'> | Splits<S, '*'>;
8
8
  type Splits<S extends string, M extends ':' | '*'> = S extends `${string}${M}${infer K}${M}${infer R}` ? Splits<`${M}${K}`, M> | Splits<`${M}${R}`, M> : S extends (`${string}${M}${infer K}${'/' | '\\' | '%' | '&' | '*' | ':' | '{' | ';' | ',' | '!' | '@'}${infer R}`) ? Splits<`${M}${K}`, M> | Splits<R, M> : S extends `${string}${M}${infer K}` ? M extends '*' ? `*${K}` : K : never;
@@ -11,7 +11,7 @@ export type KeysToArgs<Key extends string> = {
11
11
  } & (Exclude<Key, `${string}}`> extends never ? unknown : {
12
12
  [K in Key as K extends `${string}}` ? never : KeyName<K>]: KeyVal<K>;
13
13
  });
14
- export type PathArgsAndSearch<S extends string> = Exclude<PathKeys<S>, `${string}}`> extends never ? Record<string, number | string | boolean> | undefined : {
14
+ export type PathArgsAndSearch<S extends string> = unknown extends S ? any : Exclude<PathKeys<S>, `${string}}`> extends never ? Record<string, number | string | boolean> | undefined : {
15
15
  [K in PathKeys<S> as K extends `${string}}` ? never : KeyName<K>]: KeyVal<K>;
16
16
  } & Record<string, number | string | string[]>;
17
17
  /** Removes the last :param or *wildcard token */
@@ -1 +1 @@
1
- {"version":3,"file":"pathTypes.d.ts","sourceRoot":"","sources":["../src/pathTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pathTypes.d.ts","sourceRoot":"","sources":["../src/pathTypes.ts"],"names":[],"mappings":"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"}
package/lib/pathTypes.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL3BhdGhUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIENsZWFuS2V5PFMgZXh0ZW5kcyBzdHJpbmc+ID0gUyBleHRlbmRzIGBcIiR7aW5mZXIgS31cImAgPyBLIDogUztcblxudHlwZSBLZXlOYW1lPEsgZXh0ZW5kcyBzdHJpbmc+ID0gQ2xlYW5LZXk8XG4gIEsgZXh0ZW5kcyBgKiR7aW5mZXIgTn19YCA/IE5cbiAgOiBLIGV4dGVuZHMgYCoke2luZmVyIE59YCA/IE5cbiAgOiBLIGV4dGVuZHMgYCR7aW5mZXIgTn19YCA/IE5cbiAgOiBLXG4+O1xuXG50eXBlIEtleVZhbDxLIGV4dGVuZHMgc3RyaW5nPiA9XG4gIEsgZXh0ZW5kcyBgKiR7c3RyaW5nfWAgPyBzdHJpbmdbXSA6IHN0cmluZyB8IG51bWJlcjtcblxuLyoqIFBhcmFtZXRlcnMgZm9yIGEgZ2l2ZW4gcGF0aCAqL1xuZXhwb3J0IHR5cGUgUGF0aEFyZ3M8UyBleHRlbmRzIHN0cmluZz4gPVxuICBQYXRoS2V5czxTPiBleHRlbmRzIG5ldmVyID9cbiAgICAvLyB1bmtub3duIGlzIGlkZW50aXR5IGZvciBpbnRlcnNlY3Rpb24gKCcmJylcbiAgICB1bmtub3duXG4gIDogS2V5c1RvQXJnczxQYXRoS2V5czxTPj47XG5cbi8qKiBDb21wdXRlcyB0aGUgdW5pb24gb2Yga2V5cyBmb3IgYSBwYXRoIHN0cmluZyAqL1xuZXhwb3J0IHR5cGUgUGF0aEtleXM8UyBleHRlbmRzIHN0cmluZz4gPVxuICBzdHJpbmcgZXh0ZW5kcyBTID8gc3RyaW5nXG4gIDogUyBleHRlbmRzIGAke2luZmVyIEF9XFxcXCR7JzonIHwgJyonIHwgJ30nfSR7aW5mZXIgQn1gID9cbiAgICBQYXRoS2V5czxBPiB8IFBhdGhLZXlzPEI+XG4gIDogU3BsaXRzPFMsICc6Jz4gfCBTcGxpdHM8UywgJyonPjtcblxudHlwZSBTcGxpdHM8UyBleHRlbmRzIHN0cmluZywgTSBleHRlbmRzICc6JyB8ICcqJz4gPVxuICBTIGV4dGVuZHMgYCR7c3RyaW5nfSR7TX0ke2luZmVyIEt9JHtNfSR7aW5mZXIgUn1gID9cbiAgICBTcGxpdHM8YCR7TX0ke0t9YCwgTT4gfCBTcGxpdHM8YCR7TX0ke1J9YCwgTT5cbiAgOiBTIGV4dGVuZHMgKFxuICAgIGAke3N0cmluZ30ke019JHtpbmZlciBLfSR7Jy8nIHwgJ1xcXFwnIHwgJyUnIHwgJyYnIHwgJyonIHwgJzonIHwgJ3snIHwgJzsnIHwgJywnIHwgJyEnIHwgJ0AnfSR7aW5mZXIgUn1gXG4gICkgP1xuICAgIFNwbGl0czxgJHtNfSR7S31gLCBNPiB8IFNwbGl0czxSLCBNPlxuICA6IFMgZXh0ZW5kcyBgJHtzdHJpbmd9JHtNfSR7aW5mZXIgS31gID9cbiAgICBNIGV4dGVuZHMgJyonID9cbiAgICAgIGAqJHtLfWBcbiAgICA6IEtcbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgS2V5c1RvQXJnczxLZXkgZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICBbSyBpbiBLZXkgYXMgSyBleHRlbmRzIGAke3N0cmluZ319YCA/IEtleU5hbWU8Sz4gOiBuZXZlcl0/OiBLZXlWYWw8Sz47XG59ICYgKEV4Y2x1ZGU8S2V5LCBgJHtzdHJpbmd9fWA+IGV4dGVuZHMgbmV2ZXIgPyB1bmtub3duXG46IHtcbiAgICBbSyBpbiBLZXkgYXMgSyBleHRlbmRzIGAke3N0cmluZ319YCA/IG5ldmVyIDogS2V5TmFtZTxLPl06IEtleVZhbDxLPjtcbiAgfSk7XG5cbmV4cG9ydCB0eXBlIFBhdGhBcmdzQW5kU2VhcmNoPFMgZXh0ZW5kcyBzdHJpbmc+ID1cbiAgRXhjbHVkZTxQYXRoS2V5czxTPiwgYCR7c3RyaW5nfX1gPiBleHRlbmRzIG5ldmVyID9cbiAgICBSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBzdHJpbmcgfCBib29sZWFuPiB8IHVuZGVmaW5lZFxuICA6IHtcbiAgICAgIFtLIGluIFBhdGhLZXlzPFM+IGFzIEsgZXh0ZW5kcyBgJHtzdHJpbmd9fWAgPyBuZXZlclxuICAgICAgOiBLZXlOYW1lPEs+XTogS2V5VmFsPEs+O1xuICAgIH0gJiBSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBzdHJpbmcgfCBzdHJpbmdbXT47XG5cbi8qKiBSZW1vdmVzIHRoZSBsYXN0IDpwYXJhbSBvciAqd2lsZGNhcmQgdG9rZW4gKi9cbmV4cG9ydCB0eXBlIFNob3J0ZW5QYXRoPFMgZXh0ZW5kcyBzdHJpbmc+ID1cbiAgc3RyaW5nIGV4dGVuZHMgUyA/IHN0cmluZ1xuICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBCfToke2luZmVyIFJ9YCA/IFRyaW1Ub2tlbjxgJHtCfToke1Nob3J0ZW5QYXRoPFI+fWA+XG4gIDogUyBleHRlbmRzIGAke2luZmVyIEJ9KiR7aW5mZXIgUn1gID8gVHJpbVRva2VuPGAke0J9KiR7U2hvcnRlblBhdGg8Uj59YD5cbiAgOiAnJztcblxudHlwZSBUcmltVG9rZW48UyBleHRlbmRzIHN0cmluZz4gPVxuICBzdHJpbmcgZXh0ZW5kcyBTID8gc3RyaW5nXG4gIDogUyBleHRlbmRzIGAke2luZmVyIFJ9OmAgPyBSXG4gIDogUyBleHRlbmRzIGAke2luZmVyIFJ9KmAgPyBSXG4gIDogUztcblxuZXhwb3J0IHR5cGUgUmVzb3VyY2VQYXRoID0gc3RyaW5nOyAvLyBgJHtzdHJpbmd9OiR7c3RyaW5nfWA7IFRPRE86IE1heWJlIGRvIHRoaXMgaW4gdGhlIGZ1dHVyZT8gU2VlbXMgdG8gaGFyZCB0byB1bmRlcnN0YW5kIGZvciBub3dcbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL3BhdGhUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIENsZWFuS2V5PFMgZXh0ZW5kcyBzdHJpbmc+ID0gUyBleHRlbmRzIGBcIiR7aW5mZXIgS31cImAgPyBLIDogUztcblxudHlwZSBLZXlOYW1lPEsgZXh0ZW5kcyBzdHJpbmc+ID0gQ2xlYW5LZXk8XG4gIEsgZXh0ZW5kcyBgKiR7aW5mZXIgTn19YCA/IE5cbiAgOiBLIGV4dGVuZHMgYCoke2luZmVyIE59YCA/IE5cbiAgOiBLIGV4dGVuZHMgYCR7aW5mZXIgTn19YCA/IE5cbiAgOiBLXG4+O1xuXG50eXBlIEtleVZhbDxLIGV4dGVuZHMgc3RyaW5nPiA9XG4gIEsgZXh0ZW5kcyBgKiR7c3RyaW5nfWAgPyBzdHJpbmdbXSA6IHN0cmluZyB8IG51bWJlcjtcblxuLyoqIFBhcmFtZXRlcnMgZm9yIGEgZ2l2ZW4gcGF0aCAqL1xuZXhwb3J0IHR5cGUgUGF0aEFyZ3M8UyBleHRlbmRzIHN0cmluZz4gPVxuICB1bmtub3duIGV4dGVuZHMgUyA/IGFueVxuICA6IFBhdGhLZXlzPFM+IGV4dGVuZHMgbmV2ZXIgP1xuICAgIC8vIHVua25vd24gaXMgaWRlbnRpdHkgZm9yIGludGVyc2VjdGlvbiAoJyYnKVxuICAgIHVua25vd25cbiAgOiBLZXlzVG9BcmdzPFBhdGhLZXlzPFM+PjtcblxuLyoqIENvbXB1dGVzIHRoZSB1bmlvbiBvZiBrZXlzIGZvciBhIHBhdGggc3RyaW5nICovXG5leHBvcnQgdHlwZSBQYXRoS2V5czxTIGV4dGVuZHMgc3RyaW5nPiA9XG4gIHN0cmluZyBleHRlbmRzIFMgPyBzdHJpbmdcbiAgOiBTIGV4dGVuZHMgYCR7aW5mZXIgQX1cXFxcJHsnOicgfCAnKicgfCAnfSd9JHtpbmZlciBCfWAgP1xuICAgIFBhdGhLZXlzPEE+IHwgUGF0aEtleXM8Qj5cbiAgOiBTcGxpdHM8UywgJzonPiB8IFNwbGl0czxTLCAnKic+O1xuXG50eXBlIFNwbGl0czxTIGV4dGVuZHMgc3RyaW5nLCBNIGV4dGVuZHMgJzonIHwgJyonPiA9XG4gIFMgZXh0ZW5kcyBgJHtzdHJpbmd9JHtNfSR7aW5mZXIgS30ke019JHtpbmZlciBSfWAgP1xuICAgIFNwbGl0czxgJHtNfSR7S31gLCBNPiB8IFNwbGl0czxgJHtNfSR7Un1gLCBNPlxuICA6IFMgZXh0ZW5kcyAoXG4gICAgYCR7c3RyaW5nfSR7TX0ke2luZmVyIEt9JHsnLycgfCAnXFxcXCcgfCAnJScgfCAnJicgfCAnKicgfCAnOicgfCAneycgfCAnOycgfCAnLCcgfCAnIScgfCAnQCd9JHtpbmZlciBSfWBcbiAgKSA/XG4gICAgU3BsaXRzPGAke019JHtLfWAsIE0+IHwgU3BsaXRzPFIsIE0+XG4gIDogUyBleHRlbmRzIGAke3N0cmluZ30ke019JHtpbmZlciBLfWAgP1xuICAgIE0gZXh0ZW5kcyAnKicgP1xuICAgICAgYCoke0t9YFxuICAgIDogS1xuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBLZXlzVG9BcmdzPEtleSBleHRlbmRzIHN0cmluZz4gPSB7XG4gIFtLIGluIEtleSBhcyBLIGV4dGVuZHMgYCR7c3RyaW5nfX1gID8gS2V5TmFtZTxLPiA6IG5ldmVyXT86IEtleVZhbDxLPjtcbn0gJiAoRXhjbHVkZTxLZXksIGAke3N0cmluZ319YD4gZXh0ZW5kcyBuZXZlciA/IHVua25vd25cbjoge1xuICAgIFtLIGluIEtleSBhcyBLIGV4dGVuZHMgYCR7c3RyaW5nfX1gID8gbmV2ZXIgOiBLZXlOYW1lPEs+XTogS2V5VmFsPEs+O1xuICB9KTtcblxuZXhwb3J0IHR5cGUgUGF0aEFyZ3NBbmRTZWFyY2g8UyBleHRlbmRzIHN0cmluZz4gPVxuICB1bmtub3duIGV4dGVuZHMgUyA/IGFueVxuICA6IEV4Y2x1ZGU8UGF0aEtleXM8Uz4sIGAke3N0cmluZ319YD4gZXh0ZW5kcyBuZXZlciA/XG4gICAgUmVjb3JkPHN0cmluZywgbnVtYmVyIHwgc3RyaW5nIHwgYm9vbGVhbj4gfCB1bmRlZmluZWRcbiAgOiB7XG4gICAgICBbSyBpbiBQYXRoS2V5czxTPiBhcyBLIGV4dGVuZHMgYCR7c3RyaW5nfX1gID8gbmV2ZXJcbiAgICAgIDogS2V5TmFtZTxLPl06IEtleVZhbDxLPjtcbiAgICB9ICYgUmVjb3JkPHN0cmluZywgbnVtYmVyIHwgc3RyaW5nIHwgc3RyaW5nW10+O1xuXG4vKiogUmVtb3ZlcyB0aGUgbGFzdCA6cGFyYW0gb3IgKndpbGRjYXJkIHRva2VuICovXG5leHBvcnQgdHlwZSBTaG9ydGVuUGF0aDxTIGV4dGVuZHMgc3RyaW5nPiA9XG4gIHN0cmluZyBleHRlbmRzIFMgPyBzdHJpbmdcbiAgOiBTIGV4dGVuZHMgYCR7aW5mZXIgQn06JHtpbmZlciBSfWAgPyBUcmltVG9rZW48YCR7Qn06JHtTaG9ydGVuUGF0aDxSPn1gPlxuICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBCfSoke2luZmVyIFJ9YCA/IFRyaW1Ub2tlbjxgJHtCfSoke1Nob3J0ZW5QYXRoPFI+fWA+XG4gIDogJyc7XG5cbnR5cGUgVHJpbVRva2VuPFMgZXh0ZW5kcyBzdHJpbmc+ID1cbiAgc3RyaW5nIGV4dGVuZHMgUyA/IHN0cmluZ1xuICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBSfTpgID8gUlxuICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBSfSpgID8gUlxuICA6IFM7XG5cbmV4cG9ydCB0eXBlIFJlc291cmNlUGF0aCA9IHN0cmluZzsgLy8gYCR7c3RyaW5nfToke3N0cmluZ31gOyBUT0RPOiBNYXliZSBkbyB0aGlzIGluIHRoZSBmdXR1cmU/IFNlZW1zIHRvIGhhcmQgdG8gdW5kZXJzdGFuZCBmb3Igbm93XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@data-client/rest",
3
- "version": "0.16.0",
3
+ "version": "0.16.1",
4
4
  "description": "Quickly define typed REST resources and endpoints",
5
5
  "homepage": "https://dataclient.io/rest",
6
6
  "repository": {
package/src/pathTypes.ts CHANGED
@@ -12,7 +12,8 @@ type KeyVal<K extends string> =
12
12
 
13
13
  /** Parameters for a given path */
14
14
  export type PathArgs<S extends string> =
15
- PathKeys<S> extends never ?
15
+ unknown extends S ? any
16
+ : PathKeys<S> extends never ?
16
17
  // unknown is identity for intersection ('&')
17
18
  unknown
18
19
  : KeysToArgs<PathKeys<S>>;
@@ -45,7 +46,8 @@ export type KeysToArgs<Key extends string> = {
45
46
  });
46
47
 
47
48
  export type PathArgsAndSearch<S extends string> =
48
- Exclude<PathKeys<S>, `${string}}`> extends never ?
49
+ unknown extends S ? any
50
+ : Exclude<PathKeys<S>, `${string}}`> extends never ?
49
51
  Record<string, number | string | boolean> | undefined
50
52
  : {
51
53
  [K in PathKeys<S> as K extends `${string}}` ? never
@@ -2,7 +2,7 @@ type CleanKey<S extends string> = S extends `"${infer K}"` ? K : S;
2
2
  type KeyName<K extends string> = CleanKey<K extends `*${infer N}}` ? N : K extends `*${infer N}` ? N : K extends `${infer N}}` ? N : K>;
3
3
  type KeyVal<K extends string> = K extends `*${string}` ? string[] : string | number;
4
4
  /** Parameters for a given path */
5
- export type PathArgs<S extends string> = PathKeys<S> extends never ? unknown : KeysToArgs<PathKeys<S>>;
5
+ export type PathArgs<S extends string> = unknown extends S ? any : PathKeys<S> extends never ? unknown : KeysToArgs<PathKeys<S>>;
6
6
  /** Computes the union of keys for a path string */
7
7
  export type PathKeys<S extends string> = string extends S ? string : S extends `${infer A}\\${':' | '*' | '}'}${infer B}` ? PathKeys<A> | PathKeys<B> : Splits<S, ':'> | Splits<S, '*'>;
8
8
  type Splits<S extends string, M extends ':' | '*'> = S extends `${string}${M}${infer K}${M}${infer R}` ? Splits<`${M}${K}`, M> | Splits<`${M}${R}`, M> : S extends (`${string}${M}${infer K}${'/' | '\\' | '%' | '&' | '*' | ':' | '{' | ';' | ',' | '!' | '@'}${infer R}`) ? Splits<`${M}${K}`, M> | Splits<R, M> : S extends `${string}${M}${infer K}` ? M extends '*' ? `*${K}` : K : never;
@@ -11,7 +11,7 @@ export type KeysToArgs<Key extends string> = {
11
11
  } & (Exclude<Key, `${string}}`> extends never ? unknown : {
12
12
  [K in Key as K extends `${string}}` ? never : KeyName<K>]: KeyVal<K>;
13
13
  });
14
- export type PathArgsAndSearch<S extends string> = Exclude<PathKeys<S>, `${string}}`> extends never ? Record<string, number | string | boolean> | undefined : {
14
+ export type PathArgsAndSearch<S extends string> = unknown extends S ? any : Exclude<PathKeys<S>, `${string}}`> extends never ? Record<string, number | string | boolean> | undefined : {
15
15
  [K in PathKeys<S> as K extends `${string}}` ? never : KeyName<K>]: KeyVal<K>;
16
16
  } & Record<string, number | string | string[]>;
17
17
  /** Removes the last :param or *wildcard token */