@data-client/rest 0.15.6 → 0.16.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.
Files changed (54) hide show
  1. package/CHANGELOG.md +118 -0
  2. package/dist/index.js +61 -18
  3. package/dist/index.umd.min.js +1 -1
  4. package/legacy/NetworkError.js +16 -1
  5. package/legacy/RestEndpoint.js +17 -4
  6. package/legacy/RestEndpointTypes.js +1 -1
  7. package/legacy/RestHelpers.js +29 -16
  8. package/legacy/pathTypes.js +1 -1
  9. package/legacy/resource.js +3 -1
  10. package/legacy/resourceTypes.js +1 -1
  11. package/lib/NetworkError.d.ts +12 -0
  12. package/lib/NetworkError.d.ts.map +1 -1
  13. package/lib/NetworkError.js +16 -1
  14. package/lib/RestEndpoint.js +17 -4
  15. package/lib/RestEndpointTypes.d.ts +43 -9
  16. package/lib/RestEndpointTypes.d.ts.map +1 -1
  17. package/lib/RestEndpointTypes.js +1 -1
  18. package/lib/RestHelpers.d.ts +2 -2
  19. package/lib/RestHelpers.d.ts.map +1 -1
  20. package/lib/RestHelpers.js +29 -16
  21. package/lib/pathTypes.d.ts +14 -13
  22. package/lib/pathTypes.d.ts.map +1 -1
  23. package/lib/pathTypes.js +1 -1
  24. package/lib/resource.d.ts.map +1 -1
  25. package/lib/resource.js +3 -1
  26. package/lib/resourceTypes.d.ts +5 -1
  27. package/lib/resourceTypes.d.ts.map +1 -1
  28. package/lib/resourceTypes.js +1 -1
  29. package/package.json +5 -5
  30. package/src/NetworkError.ts +15 -0
  31. package/src/RestEndpoint.js +21 -3
  32. package/src/RestEndpointTypes.ts +33 -9
  33. package/src/RestHelpers.ts +34 -26
  34. package/src/__tests__/Resource.test.ts +131 -0
  35. package/src/__tests__/RestEndpoint.ts +212 -4
  36. package/src/__tests__/__snapshots__/RestEndpoint.ts.snap +2 -0
  37. package/src/__tests__/__snapshots__/resource-construction.test.ts.snap +1 -1
  38. package/src/__tests__/hookifyResource.ts +7 -0
  39. package/src/__tests__/resource-construction.test.ts +543 -0
  40. package/src/pathTypes.ts +35 -23
  41. package/src/resource.ts +2 -0
  42. package/src/resourceTypes.ts +3 -1
  43. package/ts4.0/NetworkError.d.ts +12 -0
  44. package/ts4.0/RestEndpointTypes.d.ts +61 -9
  45. package/ts4.0/RestHelpers.d.ts +2 -2
  46. package/ts4.0/pathTypes.d.ts +1 -1
  47. package/ts4.0/resourceExtendable.d.ts +1 -1
  48. package/ts4.0/resourceTypes.d.ts +7 -1
  49. package/ts4.1/NetworkError.d.ts +12 -0
  50. package/ts4.1/RestEndpointTypes.d.ts +61 -9
  51. package/ts4.1/RestHelpers.d.ts +2 -2
  52. package/ts4.1/pathTypes.d.ts +14 -13
  53. package/ts4.1/resourceExtendable.d.ts +1 -1
  54. package/ts4.1/resourceTypes.d.ts +7 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RestHelpers.d.ts","sourceRoot":"","sources":["../src/RestHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAS,MAAM,gBAAgB,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAWrD;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAUtD;AAKD,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAK/D;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAYrE"}
1
+ {"version":3,"file":"RestHelpers.d.ts","sourceRoot":"","sources":["../src/RestHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAgB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAKhE;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAKtD;AAuBD,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAK/D;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAarE"}
@@ -1,20 +1,34 @@
1
1
  import { compile, parse } from 'path-to-regexp';
2
- const urlBaseCache = new Map();
2
+ const urlBaseCache = Object.create(null);
3
3
  export function getUrlBase(path) {
4
- if (!urlBaseCache.has(path)) {
5
- urlBaseCache.set(path, compile(path, {
6
- encode: encodeURIComponent,
7
- validate: false
8
- }));
4
+ if (!(path in urlBaseCache)) {
5
+ urlBaseCache[path] = compile(path);
9
6
  }
10
- return urlBaseCache.get(path);
7
+ return urlBaseCache[path];
11
8
  }
12
- const urlTokensCache = new Map();
9
+ const urlTokensCache = Object.create(null);
13
10
  export function getUrlTokens(path) {
14
- if (!urlTokensCache.has(path)) {
15
- urlTokensCache.set(path, new Set(parse(path).map(t => typeof t === 'string' ? t : `${t['name']}`)));
11
+ if (!(path in urlTokensCache)) {
12
+ urlTokensCache[path] = tokenMap(parse(path).tokens);
16
13
  }
17
- return urlTokensCache.get(path);
14
+ return urlTokensCache[path];
15
+ }
16
+ function tokenMap(tokens) {
17
+ const tokenNames = new Set();
18
+ for (const token of tokens) {
19
+ switch (token.type) {
20
+ case 'param':
21
+ case 'wildcard':
22
+ tokenNames.add(token.name);
23
+ break;
24
+ case 'group':
25
+ for (const name of tokenMap(token.tokens)) {
26
+ tokenNames.add(name);
27
+ }
28
+ break;
29
+ }
30
+ }
31
+ return tokenNames;
18
32
  }
19
33
  const proto = Object.prototype;
20
34
  const gpo = Object.getPrototypeOf;
@@ -25,11 +39,10 @@ export function isPojo(obj) {
25
39
  return gpo(obj) === proto;
26
40
  }
27
41
  export function shortenPath(path) {
28
- const lastColonIndex = path.lastIndexOf(':');
29
- if (lastColonIndex === -1) throw new Error('Resource path requires at least one :parameter');
30
- // this is for when not specifying a specific item like create/list
31
- let shortUrlRoot = path.substring(0, lastColonIndex);
42
+ const lastTokenIndex = Math.max(path.lastIndexOf(':'), path.lastIndexOf('*'));
43
+ if (lastTokenIndex === -1) throw new Error('Resource path requires at least one :parameter or *wildcard');
44
+ let shortUrlRoot = path.substring(0, lastTokenIndex);
32
45
  if (shortUrlRoot[shortUrlRoot.length - 1] === '/') shortUrlRoot = shortUrlRoot.substring(0, shortUrlRoot.length - 1);
33
46
  return shortUrlRoot;
34
47
  }
35
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21waWxlIiwicGFyc2UiLCJ1cmxCYXNlQ2FjaGUiLCJNYXAiLCJnZXRVcmxCYXNlIiwicGF0aCIsImhhcyIsInNldCIsImVuY29kZSIsImVuY29kZVVSSUNvbXBvbmVudCIsInZhbGlkYXRlIiwiZ2V0IiwidXJsVG9rZW5zQ2FjaGUiLCJnZXRVcmxUb2tlbnMiLCJTZXQiLCJtYXAiLCJ0IiwicHJvdG8iLCJPYmplY3QiLCJwcm90b3R5cGUiLCJncG8iLCJnZXRQcm90b3R5cGVPZiIsImlzUG9qbyIsIm9iaiIsInNob3J0ZW5QYXRoIiwibGFzdENvbG9uSW5kZXgiLCJsYXN0SW5kZXhPZiIsIkVycm9yIiwic2hvcnRVcmxSb290Iiwic3Vic3RyaW5nIiwibGVuZ3RoIl0sInNvdXJjZXMiOlsiLi4vc3JjL1Jlc3RIZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXBpbGUsIFBhdGhGdW5jdGlvbiwgcGFyc2UgfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5cbmltcG9ydCB7IFNob3J0ZW5QYXRoIH0gZnJvbSAnLi9wYXRoVHlwZXMuanMnO1xuXG5jb25zdCB1cmxCYXNlQ2FjaGU6IE1hcDxzdHJpbmcsIFBhdGhGdW5jdGlvbjxvYmplY3Q+PiA9IG5ldyBNYXAoKTtcbmV4cG9ydCBmdW5jdGlvbiBnZXRVcmxCYXNlKHBhdGg6IHN0cmluZyk6IFBhdGhGdW5jdGlvbiB7XG4gIGlmICghdXJsQmFzZUNhY2hlLmhhcyhwYXRoKSkge1xuICAgIHVybEJhc2VDYWNoZS5zZXQoXG4gICAgICBwYXRoLFxuICAgICAgY29tcGlsZShwYXRoLCB7XG4gICAgICAgIGVuY29kZTogZW5jb2RlVVJJQ29tcG9uZW50LFxuICAgICAgICB2YWxpZGF0ZTogZmFsc2UsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG4gIHJldHVybiB1cmxCYXNlQ2FjaGUuZ2V0KHBhdGgpIGFzIFBhdGhGdW5jdGlvbjtcbn1cblxuY29uc3QgdXJsVG9rZW5zQ2FjaGU6IE1hcDxzdHJpbmcsIFNldDxzdHJpbmc+PiA9IG5ldyBNYXAoKTtcbmV4cG9ydCBmdW5jdGlvbiBnZXRVcmxUb2tlbnMocGF0aDogc3RyaW5nKTogU2V0PHN0cmluZz4ge1xuICBpZiAoIXVybFRva2Vuc0NhY2hlLmhhcyhwYXRoKSkge1xuICAgIHVybFRva2Vuc0NhY2hlLnNldChcbiAgICAgIHBhdGgsXG4gICAgICBuZXcgU2V0KFxuICAgICAgICBwYXJzZShwYXRoKS5tYXAodCA9PiAodHlwZW9mIHQgPT09ICdzdHJpbmcnID8gdCA6IGAke3RbJ25hbWUnXX1gKSksXG4gICAgICApLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHVybFRva2Vuc0NhY2hlLmdldChwYXRoKSBhcyBTZXQ8c3RyaW5nPjtcbn1cblxuY29uc3QgcHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuY29uc3QgZ3BvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNQb2pvKG9iajogdW5rbm93bik6IG9iaiBpcyBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gZ3BvKG9iaikgPT09IHByb3RvO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2hvcnRlblBhdGg8UyBleHRlbmRzIHN0cmluZz4ocGF0aDogUyk6IFNob3J0ZW5QYXRoPFM+IHtcbiAgY29uc3QgbGFzdENvbG9uSW5kZXggPSBwYXRoLmxhc3RJbmRleE9mKCc6Jyk7XG4gIGlmIChsYXN0Q29sb25JbmRleCA9PT0gLTEpXG4gICAgdGhyb3cgbmV3IEVycm9yKCdSZXNvdXJjZSBwYXRoIHJlcXVpcmVzIGF0IGxlYXN0IG9uZSA6cGFyYW1ldGVyJyk7XG4gIC8vIHRoaXMgaXMgZm9yIHdoZW4gbm90IHNwZWNpZnlpbmcgYSBzcGVjaWZpYyBpdGVtIGxpa2UgY3JlYXRlL2xpc3RcbiAgbGV0IHNob3J0VXJsUm9vdDogU2hvcnRlblBhdGg8Uz4gPSBwYXRoLnN1YnN0cmluZygwLCBsYXN0Q29sb25JbmRleCkgYXMgYW55O1xuICBpZiAoc2hvcnRVcmxSb290W3Nob3J0VXJsUm9vdC5sZW5ndGggLSAxXSA9PT0gJy8nKVxuICAgIHNob3J0VXJsUm9vdCA9IHNob3J0VXJsUm9vdC5zdWJzdHJpbmcoXG4gICAgICAwLFxuICAgICAgc2hvcnRVcmxSb290Lmxlbmd0aCAtIDEsXG4gICAgKSBhcyBTaG9ydGVuUGF0aDxTPjtcbiAgcmV0dXJuIHNob3J0VXJsUm9vdDtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsT0FBTyxFQUFnQkMsS0FBSyxRQUFRLGdCQUFnQjtBQUk3RCxNQUFNQyxZQUErQyxHQUFHLElBQUlDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pFLE9BQU8sU0FBU0MsVUFBVUEsQ0FBQ0MsSUFBWSxFQUFnQjtFQUNyRCxJQUFJLENBQUNILFlBQVksQ0FBQ0ksR0FBRyxDQUFDRCxJQUFJLENBQUMsRUFBRTtJQUMzQkgsWUFBWSxDQUFDSyxHQUFHLENBQ2RGLElBQUksRUFDSkwsT0FBTyxDQUFDSyxJQUFJLEVBQUU7TUFDWkcsTUFBTSxFQUFFQyxrQkFBa0I7TUFDMUJDLFFBQVEsRUFBRTtJQUNaLENBQUMsQ0FDSCxDQUFDO0VBQ0g7RUFDQSxPQUFPUixZQUFZLENBQUNTLEdBQUcsQ0FBQ04sSUFBSSxDQUFDO0FBQy9CO0FBRUEsTUFBTU8sY0FBd0MsR0FBRyxJQUFJVCxHQUFHLENBQUMsQ0FBQztBQUMxRCxPQUFPLFNBQVNVLFlBQVlBLENBQUNSLElBQVksRUFBZTtFQUN0RCxJQUFJLENBQUNPLGNBQWMsQ0FBQ04sR0FBRyxDQUFDRCxJQUFJLENBQUMsRUFBRTtJQUM3Qk8sY0FBYyxDQUFDTCxHQUFHLENBQ2hCRixJQUFJLEVBQ0osSUFBSVMsR0FBRyxDQUNMYixLQUFLLENBQUNJLElBQUksQ0FBQyxDQUFDVSxHQUFHLENBQUNDLENBQUMsSUFBSyxPQUFPQSxDQUFDLEtBQUssUUFBUSxHQUFHQSxDQUFDLEdBQUcsR0FBR0EsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFHLENBQ25FLENBQ0YsQ0FBQztFQUNIO0VBQ0EsT0FBT0osY0FBYyxDQUFDRCxHQUFHLENBQUNOLElBQUksQ0FBQztBQUNqQztBQUVBLE1BQU1ZLEtBQUssR0FBR0MsTUFBTSxDQUFDQyxTQUFTO0FBQzlCLE1BQU1DLEdBQUcsR0FBR0YsTUFBTSxDQUFDRyxjQUFjO0FBRWpDLE9BQU8sU0FBU0MsTUFBTUEsQ0FBQ0MsR0FBWSxFQUE4QjtFQUMvRCxJQUFJQSxHQUFHLEtBQUssSUFBSSxJQUFJLE9BQU9BLEdBQUcsS0FBSyxRQUFRLEVBQUU7SUFDM0MsT0FBTyxLQUFLO0VBQ2Q7RUFDQSxPQUFPSCxHQUFHLENBQUNHLEdBQUcsQ0FBQyxLQUFLTixLQUFLO0FBQzNCO0FBRUEsT0FBTyxTQUFTTyxXQUFXQSxDQUFtQm5CLElBQU8sRUFBa0I7RUFDckUsTUFBTW9CLGNBQWMsR0FBR3BCLElBQUksQ0FBQ3FCLFdBQVcsQ0FBQyxHQUFHLENBQUM7RUFDNUMsSUFBSUQsY0FBYyxLQUFLLENBQUMsQ0FBQyxFQUN2QixNQUFNLElBQUlFLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQztFQUNuRTtFQUNBLElBQUlDLFlBQTRCLEdBQUd2QixJQUFJLENBQUN3QixTQUFTLENBQUMsQ0FBQyxFQUFFSixjQUFjLENBQVE7RUFDM0UsSUFBSUcsWUFBWSxDQUFDQSxZQUFZLENBQUNFLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQy9DRixZQUFZLEdBQUdBLFlBQVksQ0FBQ0MsU0FBUyxDQUNuQyxDQUFDLEVBQ0RELFlBQVksQ0FBQ0UsTUFBTSxHQUFHLENBQ3hCLENBQW1CO0VBQ3JCLE9BQU9GLFlBQVk7QUFDckIiLCJpZ25vcmVMaXN0IjpbXX0=
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21waWxlIiwicGFyc2UiLCJ1cmxCYXNlQ2FjaGUiLCJPYmplY3QiLCJjcmVhdGUiLCJnZXRVcmxCYXNlIiwicGF0aCIsInVybFRva2Vuc0NhY2hlIiwiZ2V0VXJsVG9rZW5zIiwidG9rZW5NYXAiLCJ0b2tlbnMiLCJ0b2tlbk5hbWVzIiwiU2V0IiwidG9rZW4iLCJ0eXBlIiwiYWRkIiwibmFtZSIsInByb3RvIiwicHJvdG90eXBlIiwiZ3BvIiwiZ2V0UHJvdG90eXBlT2YiLCJpc1Bvam8iLCJvYmoiLCJzaG9ydGVuUGF0aCIsImxhc3RUb2tlbkluZGV4IiwiTWF0aCIsIm1heCIsImxhc3RJbmRleE9mIiwiRXJyb3IiLCJzaG9ydFVybFJvb3QiLCJzdWJzdHJpbmciLCJsZW5ndGgiXSwic291cmNlcyI6WyIuLi9zcmMvUmVzdEhlbHBlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcGlsZSwgUGF0aEZ1bmN0aW9uLCBwYXJzZSwgVG9rZW4sIFBhcmFtRGF0YSB9IGZyb20gJ3BhdGgtdG8tcmVnZXhwJztcblxuaW1wb3J0IHsgU2hvcnRlblBhdGggfSBmcm9tICcuL3BhdGhUeXBlcy5qcyc7XG5cbmNvbnN0IHVybEJhc2VDYWNoZTogUmVjb3JkPHN0cmluZywgUGF0aEZ1bmN0aW9uPG9iamVjdD4+ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbmV4cG9ydCBmdW5jdGlvbiBnZXRVcmxCYXNlKHBhdGg6IHN0cmluZyk6IFBhdGhGdW5jdGlvbjxQYXJhbURhdGE+IHtcbiAgaWYgKCEocGF0aCBpbiB1cmxCYXNlQ2FjaGUpKSB7XG4gICAgdXJsQmFzZUNhY2hlW3BhdGhdID0gY29tcGlsZShwYXRoKTtcbiAgfVxuICByZXR1cm4gdXJsQmFzZUNhY2hlW3BhdGhdO1xufVxuXG5jb25zdCB1cmxUb2tlbnNDYWNoZTogUmVjb3JkPHN0cmluZywgU2V0PHN0cmluZz4+ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbmV4cG9ydCBmdW5jdGlvbiBnZXRVcmxUb2tlbnMocGF0aDogc3RyaW5nKTogU2V0PHN0cmluZz4ge1xuICBpZiAoIShwYXRoIGluIHVybFRva2Vuc0NhY2hlKSkge1xuICAgIHVybFRva2Vuc0NhY2hlW3BhdGhdID0gdG9rZW5NYXAocGFyc2UocGF0aCkudG9rZW5zKTtcbiAgfVxuICByZXR1cm4gdXJsVG9rZW5zQ2FjaGVbcGF0aF07XG59XG5cbmZ1bmN0aW9uIHRva2VuTWFwKHRva2VuczogVG9rZW5bXSk6IFNldDxzdHJpbmc+IHtcbiAgY29uc3QgdG9rZW5OYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2Vucykge1xuICAgIHN3aXRjaCAodG9rZW4udHlwZSkge1xuICAgICAgY2FzZSAncGFyYW0nOlxuICAgICAgY2FzZSAnd2lsZGNhcmQnOlxuICAgICAgICB0b2tlbk5hbWVzLmFkZCh0b2tlbi5uYW1lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdncm91cCc6XG4gICAgICAgIGZvciAoY29uc3QgbmFtZSBvZiB0b2tlbk1hcCh0b2tlbi50b2tlbnMpKSB7XG4gICAgICAgICAgdG9rZW5OYW1lcy5hZGQobmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIHJldHVybiB0b2tlbk5hbWVzO1xufVxuXG5jb25zdCBwcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5jb25zdCBncG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Y7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Bvam8ob2JqOiB1bmtub3duKTogb2JqIGlzIFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBncG8ob2JqKSA9PT0gcHJvdG87XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaG9ydGVuUGF0aDxTIGV4dGVuZHMgc3RyaW5nPihwYXRoOiBTKTogU2hvcnRlblBhdGg8Uz4ge1xuICBjb25zdCBsYXN0VG9rZW5JbmRleCA9IE1hdGgubWF4KHBhdGgubGFzdEluZGV4T2YoJzonKSwgcGF0aC5sYXN0SW5kZXhPZignKicpKTtcbiAgaWYgKGxhc3RUb2tlbkluZGV4ID09PSAtMSlcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnUmVzb3VyY2UgcGF0aCByZXF1aXJlcyBhdCBsZWFzdCBvbmUgOnBhcmFtZXRlciBvciAqd2lsZGNhcmQnLFxuICAgICk7XG4gIGxldCBzaG9ydFVybFJvb3Q6IFNob3J0ZW5QYXRoPFM+ID0gcGF0aC5zdWJzdHJpbmcoMCwgbGFzdFRva2VuSW5kZXgpIGFzIGFueTtcbiAgaWYgKHNob3J0VXJsUm9vdFtzaG9ydFVybFJvb3QubGVuZ3RoIC0gMV0gPT09ICcvJylcbiAgICBzaG9ydFVybFJvb3QgPSBzaG9ydFVybFJvb3Quc3Vic3RyaW5nKFxuICAgICAgMCxcbiAgICAgIHNob3J0VXJsUm9vdC5sZW5ndGggLSAxLFxuICAgICkgYXMgU2hvcnRlblBhdGg8Uz47XG4gIHJldHVybiBzaG9ydFVybFJvb3Q7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLE9BQU8sRUFBZ0JDLEtBQUssUUFBMEIsZ0JBQWdCO0FBSS9FLE1BQU1DLFlBQWtELEdBQUdDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLElBQUksQ0FBQztBQUM5RSxPQUFPLFNBQVNDLFVBQVVBLENBQUNDLElBQVksRUFBMkI7RUFDaEUsSUFBSSxFQUFFQSxJQUFJLElBQUlKLFlBQVksQ0FBQyxFQUFFO0lBQzNCQSxZQUFZLENBQUNJLElBQUksQ0FBQyxHQUFHTixPQUFPLENBQUNNLElBQUksQ0FBQztFQUNwQztFQUNBLE9BQU9KLFlBQVksQ0FBQ0ksSUFBSSxDQUFDO0FBQzNCO0FBRUEsTUFBTUMsY0FBMkMsR0FBR0osTUFBTSxDQUFDQyxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ3ZFLE9BQU8sU0FBU0ksWUFBWUEsQ0FBQ0YsSUFBWSxFQUFlO0VBQ3RELElBQUksRUFBRUEsSUFBSSxJQUFJQyxjQUFjLENBQUMsRUFBRTtJQUM3QkEsY0FBYyxDQUFDRCxJQUFJLENBQUMsR0FBR0csUUFBUSxDQUFDUixLQUFLLENBQUNLLElBQUksQ0FBQyxDQUFDSSxNQUFNLENBQUM7RUFDckQ7RUFDQSxPQUFPSCxjQUFjLENBQUNELElBQUksQ0FBQztBQUM3QjtBQUVBLFNBQVNHLFFBQVFBLENBQUNDLE1BQWUsRUFBZTtFQUM5QyxNQUFNQyxVQUFVLEdBQUcsSUFBSUMsR0FBRyxDQUFTLENBQUM7RUFDcEMsS0FBSyxNQUFNQyxLQUFLLElBQUlILE1BQU0sRUFBRTtJQUMxQixRQUFRRyxLQUFLLENBQUNDLElBQUk7TUFDaEIsS0FBSyxPQUFPO01BQ1osS0FBSyxVQUFVO1FBQ2JILFVBQVUsQ0FBQ0ksR0FBRyxDQUFDRixLQUFLLENBQUNHLElBQUksQ0FBQztRQUMxQjtNQUNGLEtBQUssT0FBTztRQUNWLEtBQUssTUFBTUEsSUFBSSxJQUFJUCxRQUFRLENBQUNJLEtBQUssQ0FBQ0gsTUFBTSxDQUFDLEVBQUU7VUFDekNDLFVBQVUsQ0FBQ0ksR0FBRyxDQUFDQyxJQUFJLENBQUM7UUFDdEI7UUFDQTtJQUNKO0VBQ0Y7RUFDQSxPQUFPTCxVQUFVO0FBQ25CO0FBRUEsTUFBTU0sS0FBSyxHQUFHZCxNQUFNLENBQUNlLFNBQVM7QUFDOUIsTUFBTUMsR0FBRyxHQUFHaEIsTUFBTSxDQUFDaUIsY0FBYztBQUVqQyxPQUFPLFNBQVNDLE1BQU1BLENBQUNDLEdBQVksRUFBOEI7RUFDL0QsSUFBSUEsR0FBRyxLQUFLLElBQUksSUFBSSxPQUFPQSxHQUFHLEtBQUssUUFBUSxFQUFFO0lBQzNDLE9BQU8sS0FBSztFQUNkO0VBQ0EsT0FBT0gsR0FBRyxDQUFDRyxHQUFHLENBQUMsS0FBS0wsS0FBSztBQUMzQjtBQUVBLE9BQU8sU0FBU00sV0FBV0EsQ0FBbUJqQixJQUFPLEVBQWtCO0VBQ3JFLE1BQU1rQixjQUFjLEdBQUdDLElBQUksQ0FBQ0MsR0FBRyxDQUFDcEIsSUFBSSxDQUFDcUIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFckIsSUFBSSxDQUFDcUIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQzdFLElBQUlILGNBQWMsS0FBSyxDQUFDLENBQUMsRUFDdkIsTUFBTSxJQUFJSSxLQUFLLENBQ2IsNkRBQ0YsQ0FBQztFQUNILElBQUlDLFlBQTRCLEdBQUd2QixJQUFJLENBQUN3QixTQUFTLENBQUMsQ0FBQyxFQUFFTixjQUFjLENBQVE7RUFDM0UsSUFBSUssWUFBWSxDQUFDQSxZQUFZLENBQUNFLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQy9DRixZQUFZLEdBQUdBLFlBQVksQ0FBQ0MsU0FBUyxDQUNuQyxDQUFDLEVBQ0RELFlBQVksQ0FBQ0UsTUFBTSxHQUFHLENBQ3hCLENBQW1CO0VBQ3JCLE9BQU9GLFlBQVk7QUFDckIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,21 +1,22 @@
1
- type OnlyOptional<S extends string> = S extends `${infer K}}?` ? K : S extends `${infer K}?` ? K : never;
2
- type OnlyRequired<S extends string> = S extends `${string}?` ? never : S;
1
+ type CleanKey<S extends string> = S extends `"${infer K}"` ? K : S;
2
+ type KeyName<K extends string> = CleanKey<K extends `*${infer N}}` ? N : K extends `*${infer N}` ? N : K extends `${infer N}}` ? N : K>;
3
+ type KeyVal<K extends string> = K extends `*${string}` ? string[] : string | number;
3
4
  /** Parameters for a given path */
4
5
  export type PathArgs<S extends string> = PathKeys<S> extends never ? unknown : KeysToArgs<PathKeys<S>>;
5
6
  /** Computes the union of keys for a path string */
6
- export type PathKeys<S extends string> = string extends S ? string : S extends `${infer A}\\${':' | '?' | '+' | '*' | '{' | '}'}${infer B}` ? PathKeys<A> | PathKeys<B> : PathSplits<S>;
7
- type PathSplits<S extends string> = S extends (`${string}:${infer K}${'/' | ',' | '%' | '&' | '+' | '*' | '{'}${infer R}`) ? PathSplits<`:${K}`> | PathSplits<R> : S extends `${string}:${infer K}:${infer R}` ? PathSplits<`:${K}`> | PathSplits<`:${R}`> : S extends `${string}:${infer K}` ? K : never;
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
+ 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;
8
9
  export type KeysToArgs<Key extends string> = {
9
- [K in Key as OnlyOptional<K>]?: string | number;
10
- } & (OnlyRequired<Key> extends never ? unknown : {
11
- [K in Key as OnlyRequired<K>]: string | number;
10
+ [K in Key as K extends `${string}}` ? KeyName<K> : never]?: KeyVal<K>;
11
+ } & (Exclude<Key, `${string}}`> extends never ? unknown : {
12
+ [K in Key as K extends `${string}}` ? never : KeyName<K>]: KeyVal<K>;
12
13
  });
13
- export type PathArgsAndSearch<S extends string> = OnlyRequired<PathKeys<S>> extends never ? Record<string, number | string | boolean> | undefined : {
14
- [K in PathKeys<S> as OnlyRequired<K>]: string | number;
15
- } & Record<string, number | string>;
16
- /** Removes the last :token */
17
- export type ShortenPath<S extends string> = string extends S ? string : S extends `${infer B}:${infer R}` ? TrimColon<`${B}:${ShortenPath<R>}`> : '';
18
- type TrimColon<S extends string> = string extends S ? string : S extends `${infer R}:` ? R : S;
14
+ export type PathArgsAndSearch<S extends string> = Exclude<PathKeys<S>, `${string}}`> extends never ? Record<string, number | string | boolean> | undefined : {
15
+ [K in PathKeys<S> as K extends `${string}}` ? never : KeyName<K>]: KeyVal<K>;
16
+ } & Record<string, number | string | string[]>;
17
+ /** Removes the last :param or *wildcard token */
18
+ export type ShortenPath<S extends string> = string extends S ? string : S extends `${infer B}:${infer R}` ? TrimToken<`${B}:${ShortenPath<R>}`> : S extends `${infer B}*${infer R}` ? TrimToken<`${B}*${ShortenPath<R>}`> : '';
19
+ type TrimToken<S extends string> = string extends S ? string : S extends `${infer R}:` ? R : S extends `${infer R}*` ? R : S;
19
20
  export type ResourcePath = string;
20
21
  export {};
21
22
  //# sourceMappingURL=pathTypes.d.ts.map
@@ -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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL3BhdGhUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIE9ubHlPcHRpb25hbDxTIGV4dGVuZHMgc3RyaW5nPiA9XG4gIFMgZXh0ZW5kcyBgJHtpbmZlciBLfX0/YCA/IEtcbiAgOiBTIGV4dGVuZHMgYCR7aW5mZXIgS30/YCA/IEtcbiAgOiBuZXZlcjtcbnR5cGUgT25seVJlcXVpcmVkPFMgZXh0ZW5kcyBzdHJpbmc+ID0gUyBleHRlbmRzIGAke3N0cmluZ30/YCA/IG5ldmVyIDogUztcblxuLyoqIFBhcmFtZXRlcnMgZm9yIGEgZ2l2ZW4gcGF0aCAqL1xuZXhwb3J0IHR5cGUgUGF0aEFyZ3M8UyBleHRlbmRzIHN0cmluZz4gPVxuICBQYXRoS2V5czxTPiBleHRlbmRzIG5ldmVyID9cbiAgICAvLyB1bmtub3duIGlzIGlkZW50aXR5IGZvciBpbnRlcnNlY3Rpb24gKCcmJylcbiAgICB1bmtub3duXG4gIDogS2V5c1RvQXJnczxQYXRoS2V5czxTPj47XG5cbi8qKiBDb21wdXRlcyB0aGUgdW5pb24gb2Yga2V5cyBmb3IgYSBwYXRoIHN0cmluZyAqL1xuZXhwb3J0IHR5cGUgUGF0aEtleXM8UyBleHRlbmRzIHN0cmluZz4gPVxuICBzdHJpbmcgZXh0ZW5kcyBTID8gc3RyaW5nXG4gIDogUyBleHRlbmRzIGAke2luZmVyIEF9XFxcXCR7JzonIHwgJz8nIHwgJysnIHwgJyonIHwgJ3snIHwgJ30nfSR7aW5mZXIgQn1gID9cbiAgICBQYXRoS2V5czxBPiB8IFBhdGhLZXlzPEI+XG4gIDogUGF0aFNwbGl0czxTPjtcblxudHlwZSBQYXRoU3BsaXRzPFMgZXh0ZW5kcyBzdHJpbmc+ID1cbiAgUyBleHRlbmRzIChcbiAgICBgJHtzdHJpbmd9OiR7aW5mZXIgS30keycvJyB8ICcsJyB8ICclJyB8ICcmJyB8ICcrJyB8ICcqJyB8ICd7J30ke2luZmVyIFJ9YFxuICApID9cbiAgICBQYXRoU3BsaXRzPGA6JHtLfWA+IHwgUGF0aFNwbGl0czxSPlxuICA6IFMgZXh0ZW5kcyBgJHtzdHJpbmd9OiR7aW5mZXIgS306JHtpbmZlciBSfWAgP1xuICAgIFBhdGhTcGxpdHM8YDoke0t9YD4gfCBQYXRoU3BsaXRzPGA6JHtSfWA+XG4gIDogUyBleHRlbmRzIGAke3N0cmluZ306JHtpbmZlciBLfWAgPyBLXG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEtleXNUb0FyZ3M8S2V5IGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgW0sgaW4gS2V5IGFzIE9ubHlPcHRpb25hbDxLPl0/OiBzdHJpbmcgfCBudW1iZXI7XG59ICYgKE9ubHlSZXF1aXJlZDxLZXk+IGV4dGVuZHMgbmV2ZXIgPyB1bmtub3duXG46IHtcbiAgICBbSyBpbiBLZXkgYXMgT25seVJlcXVpcmVkPEs+XTogc3RyaW5nIHwgbnVtYmVyO1xuICB9KTtcblxuZXhwb3J0IHR5cGUgUGF0aEFyZ3NBbmRTZWFyY2g8UyBleHRlbmRzIHN0cmluZz4gPVxuICBPbmx5UmVxdWlyZWQ8UGF0aEtleXM8Uz4+IGV4dGVuZHMgbmV2ZXIgP1xuICAgIFJlY29yZDxzdHJpbmcsIG51bWJlciB8IHN0cmluZyB8IGJvb2xlYW4+IHwgdW5kZWZpbmVkXG4gIDoge1xuICAgICAgW0sgaW4gUGF0aEtleXM8Uz4gYXMgT25seVJlcXVpcmVkPEs+XTogc3RyaW5nIHwgbnVtYmVyO1xuICAgIH0gJiBSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBzdHJpbmc+O1xuXG4vKiogUmVtb3ZlcyB0aGUgbGFzdCA6dG9rZW4gKi9cbmV4cG9ydCB0eXBlIFNob3J0ZW5QYXRoPFMgZXh0ZW5kcyBzdHJpbmc+ID1cbiAgc3RyaW5nIGV4dGVuZHMgUyA/IHN0cmluZ1xuICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBCfToke2luZmVyIFJ9YCA/IFRyaW1Db2xvbjxgJHtCfToke1Nob3J0ZW5QYXRoPFI+fWA+XG4gIDogJyc7XG5cbnR5cGUgVHJpbUNvbG9uPFMgZXh0ZW5kcyBzdHJpbmc+ID1cbiAgc3RyaW5nIGV4dGVuZHMgUyA/IHN0cmluZ1xuICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBSfTpgID8gUlxuICA6IFM7XG5cbmV4cG9ydCB0eXBlIFJlc291cmNlUGF0aCA9IHN0cmluZzsgLy8gYCR7c3RyaW5nfToke3N0cmluZ31gOyBUT0RPOiBNYXliZSBkbyB0aGlzIGluIHRoZSBmdXR1cmU/IFNlZW1zIHRvIGhhcmQgdG8gdW5kZXJzdGFuZCBmb3Igbm93XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
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==
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,QAAQ,EAET,MAAM,oBAAoB,CAAC;AAW5B;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,SAAS,gBAAgB,EAAE,EAC3D,IAAI,EACJ,MAAM,EACN,QAAuB,EACvB,UAA2B,EAC3B,UAAU,EACV,eAAe,EACf,GAAG,YAAY,EAChB,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAiJ7C"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,QAAQ,EAET,MAAM,oBAAoB,CAAC;AAW5B;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,SAAS,gBAAgB,EAAE,EAC3D,IAAI,EACJ,MAAM,EACN,QAAuB,EACvB,UAA2B,EAC3B,UAAU,EACV,eAAe,EACf,GAAG,YAAY,EAChB,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAmJ7C"}
package/lib/resource.js CHANGED
@@ -63,6 +63,7 @@ This warning will not show in production.`);
63
63
  const getList = new Endpoint({
64
64
  ...extraMutateOptions,
65
65
  paginationField: paginationField,
66
+ movePath: path,
66
67
  path: shortenedPath,
67
68
  schema: new Collection([schema]),
68
69
  name: getName('getList')
@@ -81,6 +82,7 @@ This warning will not show in production.`);
81
82
  method: 'PUT',
82
83
  name: getName('update')
83
84
  }),
85
+ // TODO(breaking): Move to getList.move
84
86
  partialUpdate: new Endpoint({
85
87
  ...extraPartialOptions,
86
88
  path,
@@ -161,4 +163,4 @@ function optimisticDelete(snap, params) {
161
163
  function ensurePojo(body) {
162
164
  return body instanceof FormData ? Object.fromEntries(body.entries()) : body;
163
165
  }
164
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkludmFsaWRhdGUiLCJDb2xsZWN0aW9uIiwiQmFzZUNvbGxlY3Rpb24iLCJyZXNvdXJjZSIsInBhdGgiLCJFbmRwb2ludCIsIm9wdGltaXN0aWMiLCJwYWdpbmF0aW9uRmllbGQiLCJleHRyYU9wdGlvbnMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJpc1Byb3RvdHlwZU9mIiwiY2FsbCIsImNvbnNvbGUiLCJ3YXJuIiwic2hvcnRlbmVkUGF0aCIsImdldE5hbWUiLCJuYW1lIiwiZXh0ZW5kTWVtYmVyIiwiZXh0ZW5kZWQiLCJrZXkiLCJvcHRpb25zIiwiZXh0ZW5kIiwiZXh0cmFNdXRhdGVPcHRpb25zIiwiZXh0cmFQYXJ0aWFsT3B0aW9ucyIsImdldCIsImdldE9wdGltaXN0aWNSZXNwb25zZSIsIm9wdGltaXN0aWNVcGRhdGUiLCJvcHRpbWlzdGljUGFydGlhbCIsImdldExpc3QiLCJyZXQiLCJjcmVhdGUiLCJwdXNoIiwidXBkYXRlIiwibWV0aG9kIiwicGFydGlhbFVwZGF0ZSIsImRlbGV0ZSIsIl9ob2lzdGFibGUiLCJyZXMiLCJwYXJhbXMiLCJrZXlzIiwibGVuZ3RoIiwib3B0aW1pc3RpY0RlbGV0ZSIsInVuZGVmaW5lZCIsImFyZ3MiLCJvdmVycmlkZXMiLCJzbmFwIiwiYm9keSIsImVuc3VyZVBvam8iLCJkYXRhIiwiYWJvcnQiLCJGb3JtRGF0YSIsImZyb21FbnRyaWVzIiwiZW50cmllcyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXNvdXJjZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzY2hlbWEgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHR5cGUgeyBTbmFwc2hvdEludGVyZmFjZSwgUXVlcnlhYmxlIH0gZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcblxuaW1wb3J0IHtcbiAgUmVzb3VyY2VHZW5lcmljcyxcbiAgUmVzb3VyY2VPcHRpb25zLFxuICBSZXNvdXJjZSxcbiAgUmVzb3VyY2VJbnRlcmZhY2UsXG59IGZyb20gJy4vcmVzb3VyY2VUeXBlcy5qcyc7XG5pbXBvcnQgUmVzdEVuZHBvaW50LCB7XG4gIEdldEVuZHBvaW50LFxuICBQYXJ0aWFsUmVzdEdlbmVyaWNzLFxuICBSZXN0RW5kcG9pbnRPcHRpb25zLFxuICBSZXN0SW5zdGFuY2VCYXNlLFxufSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5pbXBvcnQgeyBzaG9ydGVuUGF0aCB9IGZyb20gJy4vUmVzdEhlbHBlcnMuanMnO1xuXG5jb25zdCB7IEludmFsaWRhdGUsIENvbGxlY3Rpb246IEJhc2VDb2xsZWN0aW9uIH0gPSBzY2hlbWE7XG5cbi8qKiBDcmVhdGVzIGNvbGxlY3Rpb24gb2YgRW5kcG9pbnRzIGZvciBjb21tb24gb3BlcmF0aW9ucyBvbiBhIGdpdmVuIGRhdGEvc2NoZW1hLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL3Jlc291cmNlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJlc291cmNlPE8gZXh0ZW5kcyBSZXNvdXJjZUdlbmVyaWNzPih7XG4gIHBhdGgsXG4gIHNjaGVtYSxcbiAgRW5kcG9pbnQgPSBSZXN0RW5kcG9pbnQsXG4gIENvbGxlY3Rpb24gPSBCYXNlQ29sbGVjdGlvbixcbiAgb3B0aW1pc3RpYyxcbiAgcGFnaW5hdGlvbkZpZWxkLFxuICAuLi5leHRyYU9wdGlvbnNcbn06IFJlYWRvbmx5PE8+ICYgUmVzb3VyY2VPcHRpb25zKTogUmVzb3VyY2U8Tz4ge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIC8vIGlmIHRoZXkgbG93ZXJjYXNlIGFuZCBpdCBsb29rcyBsaWtlIHRoZXkgbWVhbnQgdG8gdXNlIHVwcGVyLWNhc2UgdmVyc2lvblxuICAgIGlmIChcbiAgICAgICdlbmRwb2ludCcgaW4gZXh0cmFPcHRpb25zICYmXG4gICAgICBFbmRwb2ludCA9PT0gUmVzdEVuZHBvaW50ICYmXG4gICAgICB0eXBlb2YgZXh0cmFPcHRpb25zWydlbmRwb2ludCddID09PSAnZnVuY3Rpb24nICYmXG4gICAgICBleHRyYU9wdGlvbnNbJ2VuZHBvaW50J10gJiZcbiAgICAgIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5jYWxsKFxuICAgICAgICBSZXN0RW5kcG9pbnQucHJvdG90eXBlLFxuICAgICAgICAoZXh0cmFPcHRpb25zWydlbmRwb2ludCddIGFzIGFueSkucHJvdG90eXBlLFxuICAgICAgKVxuICAgICkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgWW91IHBhc3NlZCAnZW5kcG9pbnQnIG9wdGlvbjsgZGlkIHlvdSBtZWFuIHRvIHVzZSBFbmRwb2ludD9cbmh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNlbmRwb2ludFxuVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBjYXBpdGFsaXplZC5cblxuVGhpcyB3YXJuaW5nIHdpbGwgbm90IHNob3cgaW4gcHJvZHVjdGlvbi5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgLy8gaWYgdGhleSBsb3dlcmNhc2UgYW5kIGl0IGxvb2tzIGxpa2UgdGhleSBtZWFudCB0byB1c2UgdXBwZXItY2FzZSB2ZXJzaW9uXG4gICAgaWYgKFxuICAgICAgJ2NvbGxlY3Rpb24nIGluIGV4dHJhT3B0aW9ucyAmJlxuICAgICAgQ29sbGVjdGlvbiA9PT0gQmFzZUNvbGxlY3Rpb24gJiZcbiAgICAgIHR5cGVvZiBleHRyYU9wdGlvbnNbJ2NvbGxlY3Rpb24nXSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgZXh0cmFPcHRpb25zWydjb2xsZWN0aW9uJ10gJiZcbiAgICAgIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5jYWxsKFxuICAgICAgICBCYXNlQ29sbGVjdGlvbi5wcm90b3R5cGUsXG4gICAgICAgIChleHRyYU9wdGlvbnNbJ2NvbGxlY3Rpb24nXSBhcyBhbnkpLnByb3RvdHlwZSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFlvdSBwYXNzZWQgJ2NvbGxlY3Rpb24nIG9wdGlvbjsgZGlkIHlvdSBtZWFuIHRvIHVzZSBDb2xsZWN0aW9uP1xuaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL3Jlc291cmNlI2NvbGxlY3Rpb25cblRoaXMgcGFyYW1ldGVyIG11c3QgYmUgY2FwaXRhbGl6ZWQuXG5cblRoaXMgd2FybmluZyB3aWxsIG5vdCBzaG93IGluIHByb2R1Y3Rpb24uYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIGNvbnN0IHNob3J0ZW5lZFBhdGggPSBzaG9ydGVuUGF0aChwYXRoKTtcbiAgY29uc3QgZ2V0TmFtZSA9IChuYW1lOiBzdHJpbmcpID0+IGAkeyhzY2hlbWEgYXMgYW55KT8ubmFtZX0uJHtuYW1lfWA7XG4gIC8vIHRoaXMgYWNjb3VudHMgZm9yIGRlcml2YXRpdmUgZW5kcG9pbnRzXG4gIGZ1bmN0aW9uIGV4dGVuZE1lbWJlcihleHRlbmRlZDogYW55LCBrZXk6IHN0cmluZywgb3B0aW9uczogYW55KSB7XG4gICAgZXh0ZW5kZWRba2V5XSA9IGV4dGVuZGVkW2tleV0uZXh0ZW5kKG9wdGlvbnMpO1xuICB9XG5cbiAgY29uc3QgZXh0cmFNdXRhdGVPcHRpb25zID0geyAuLi5leHRyYU9wdGlvbnMgfTtcbiAgY29uc3QgZXh0cmFQYXJ0aWFsT3B0aW9ucyA9IHsgLi4uZXh0cmFPcHRpb25zIH07XG4gIGNvbnN0IGdldDogR2V0RW5kcG9pbnQ8eyBwYXRoOiBPWydwYXRoJ107IHNjaGVtYTogT1snc2NoZW1hJ10gfT4gPVxuICAgIG5ldyBFbmRwb2ludCh7XG4gICAgICAuLi5leHRyYU9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hLFxuICAgICAgbmFtZTogZ2V0TmFtZSgnZ2V0JyksXG4gICAgfSkgYXMgYW55O1xuICBpZiAob3B0aW1pc3RpYykge1xuICAgIChleHRyYU11dGF0ZU9wdGlvbnMgYXMgYW55KS5nZXRPcHRpbWlzdGljUmVzcG9uc2UgPSBvcHRpbWlzdGljVXBkYXRlO1xuICAgIC8vIFRPRE86IENoZWNrIHRoYXQgc2NoZW1hIGlzIGEgcXVlcnlhYmxlLCBvdGhlcndpc2UgdGhpcyBkb2Vzbid0IG1ha2Ugc2Vuc2VcbiAgICAoZXh0cmFQYXJ0aWFsT3B0aW9ucyBhcyBhbnkpLmdldE9wdGltaXN0aWNSZXNwb25zZSA9IG9wdGltaXN0aWNQYXJ0aWFsKFxuICAgICAgc2NoZW1hIGFzIGFueSxcbiAgICApO1xuICB9XG4gIGNvbnN0IGdldExpc3QgPSBuZXcgRW5kcG9pbnQoe1xuICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICBwYWdpbmF0aW9uRmllbGQ6IHBhZ2luYXRpb25GaWVsZCBhcyBzdHJpbmcsXG4gICAgcGF0aDogc2hvcnRlbmVkUGF0aCxcbiAgICBzY2hlbWE6IG5ldyBDb2xsZWN0aW9uKFtzY2hlbWEgYXMgYW55XSksXG4gICAgbmFtZTogZ2V0TmFtZSgnZ2V0TGlzdCcpLFxuICB9KTtcbiAgY29uc3QgcmV0ID0ge1xuICAgIGdldCxcbiAgICBnZXRMaXN0LFxuICAgIC8vIFRPRE8oZGVwcmVjYXRlZCk6IHJlbW92ZSB0aGlzIG9uY2Ugd2UgcmVtb3ZlIGNyZWF0ZXNcbiAgICBjcmVhdGU6IGdldExpc3QucHVzaC5leHRlbmQoeyBuYW1lOiBnZXROYW1lKCdjcmVhdGUnKSB9KSxcbiAgICB1cGRhdGU6IG5ldyBFbmRwb2ludCh7XG4gICAgICAuLi5leHRyYU11dGF0ZU9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hLFxuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIG5hbWU6IGdldE5hbWUoJ3VwZGF0ZScpLFxuICAgIH0pLFxuICAgIHBhcnRpYWxVcGRhdGU6IG5ldyBFbmRwb2ludCh7XG4gICAgICAuLi5leHRyYVBhcnRpYWxPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgIG5hbWU6IGdldE5hbWUoJ3BhcnRpYWxVcGRhdGUnKSxcbiAgICB9KSxcbiAgICBkZWxldGU6IG5ldyBFbmRwb2ludCh7XG4gICAgICAuLi5leHRyYU11dGF0ZU9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hOlxuICAgICAgICAvLyBFbnRpdHkgfHwgVW5pb25cbiAgICAgICAgKHNjaGVtYSBhcyBhbnkpLnByb2Nlc3MgfHwgKHNjaGVtYSBhcyBhbnkpLl9ob2lzdGFibGUgP1xuICAgICAgICAgIG5ldyBJbnZhbGlkYXRlKHNjaGVtYSBhcyBhbnkpXG4gICAgICAgIDogc2NoZW1hLFxuICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICAgIG5hbWU6IGdldE5hbWUoJ2RlbGV0ZScpLFxuICAgICAgcHJvY2VzcyhyZXM6IGFueSwgcGFyYW1zOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHJlcyAmJiBPYmplY3Qua2V5cyhyZXMpLmxlbmd0aCA/IHJlcyA6IHBhcmFtcztcbiAgICAgIH0sXG4gICAgICBnZXRPcHRpbWlzdGljUmVzcG9uc2U6IG9wdGltaXN0aWMgPyAob3B0aW1pc3RpY0RlbGV0ZSBhcyBhbnkpIDogdW5kZWZpbmVkLFxuICAgIH0pLFxuICAgIGV4dGVuZChcbiAgICAgIC4uLmFyZ3M6XG4gICAgICAgIHwgW3N0cmluZywgUmVzdEVuZHBvaW50T3B0aW9ucyAmIFBhcnRpYWxSZXN0R2VuZXJpY3NdXG4gICAgICAgIHwgW1Jlc3RFbmRwb2ludE9wdGlvbnMgJiBQYXJ0aWFsUmVzdEdlbmVyaWNzXVxuICAgICAgICB8IFtcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgYmFzZVJlc291cmNlOiBSZXNvdXJjZUludGVyZmFjZSxcbiAgICAgICAgICAgICkgPT4gUmVjb3JkPHN0cmluZywgUmVzdEluc3RhbmNlQmFzZT4sXG4gICAgICAgICAgXVxuICAgICkge1xuICAgICAgaWYgKHR5cGVvZiBhcmdzWzBdID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb25zdCBba2V5LCBvcHRpb25zXSA9IGFyZ3M7XG4gICAgICAgIGlmIChrZXkgaW4gdGhpcykge1xuICAgICAgICAgIGNvbnN0IGV4dGVuZGVkID0geyAuLi50aGlzIH07XG4gICAgICAgICAgZXh0ZW5kTWVtYmVyKGV4dGVuZGVkLCBrZXksIG9wdGlvbnMpO1xuICAgICAgICAgIHJldHVybiBleHRlbmRlZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udGhpcyxcbiAgICAgICAgICAgIFtrZXldOiB0aGlzLmdldC5leHRlbmQob3B0aW9ucyksXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgYXJnc1swXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBjb25zdCBleHRlbmRlZCA9IGFyZ3NbMF0odGhpcyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4udGhpcyxcbiAgICAgICAgICAuLi5leHRlbmRlZCxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG92ZXJyaWRlcyA9IGFyZ3NbMF07XG4gICAgICBjb25zdCBleHRlbmRlZCA9IHsgLi4udGhpcyB9O1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gb3ZlcnJpZGVzKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBleHRlbmRNZW1iZXIoZXh0ZW5kZWQsIGtleSwgb3ZlcnJpZGVzW2tleV0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGV4dGVuZGVkO1xuICAgIH0sXG4gIH0gYXMgYW55O1xuICByZXR1cm4gcmV0O1xufVxuXG5mdW5jdGlvbiBvcHRpbWlzdGljVXBkYXRlKHNuYXA6IFNuYXBzaG90SW50ZXJmYWNlLCBwYXJhbXM6IGFueSwgYm9keTogYW55KSB7XG4gIHJldHVybiB7XG4gICAgLi4ucGFyYW1zLFxuICAgIC4uLmVuc3VyZVBvam8oYm9keSksXG4gIH07XG59XG5mdW5jdGlvbiBvcHRpbWlzdGljUGFydGlhbChzY2hlbWE6IFF1ZXJ5YWJsZSkge1xuICByZXR1cm4gZnVuY3Rpb24gKHNuYXA6IFNuYXBzaG90SW50ZXJmYWNlLCBwYXJhbXM6IGFueSwgYm9keTogYW55KSB7XG4gICAgY29uc3QgZGF0YSA9IHNuYXAuZ2V0KHNjaGVtYSwgcGFyYW1zKTtcbiAgICBpZiAoIWRhdGEpIHRocm93IHNuYXAuYWJvcnQ7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIC4uLmRhdGEsXG4gICAgICAvLyBldmVuIHRobyB3ZSBkb24ndCBhbHdheXMgaGF2ZSB0d28gYXJndW1lbnRzLCB0aGUgZXh0cmEgb25lIHdpbGwgc2ltcGx5IGJlIHVuZGVmaW5lZCB3aGljaCBzcHJlYWRzIGZpbmVcbiAgICAgIC4uLmVuc3VyZVBvam8oYm9keSksXG4gICAgfTtcbiAgfTtcbn1cbmZ1bmN0aW9uIG9wdGltaXN0aWNEZWxldGUoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55KSB7XG4gIHJldHVybiBwYXJhbXM7XG59XG5mdW5jdGlvbiBlbnN1cmVQb2pvKGJvZHk6IGFueSkge1xuICByZXR1cm4gYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhID9cbiAgICAgIE9iamVjdC5mcm9tRW50cmllcygoYm9keSBhcyBhbnkpLmVudHJpZXMoKSlcbiAgICA6IGJvZHk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLE1BQU0sUUFBUSx1QkFBdUI7QUFTOUMsT0FBT0MsWUFBWSxNQUtaLG1CQUFtQjtBQUMxQixTQUFTQyxXQUFXLFFBQVEsa0JBQWtCO0FBRTlDLE1BQU07RUFBRUMsVUFBVTtFQUFFQyxVQUFVLEVBQUVDO0FBQWUsQ0FBQyxHQUFHTCxNQUFNOztBQUV6RDtBQUNBO0FBQ0E7QUFDQTtBQUNB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
166
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkludmFsaWRhdGUiLCJDb2xsZWN0aW9uIiwiQmFzZUNvbGxlY3Rpb24iLCJyZXNvdXJjZSIsInBhdGgiLCJFbmRwb2ludCIsIm9wdGltaXN0aWMiLCJwYWdpbmF0aW9uRmllbGQiLCJleHRyYU9wdGlvbnMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJpc1Byb3RvdHlwZU9mIiwiY2FsbCIsImNvbnNvbGUiLCJ3YXJuIiwic2hvcnRlbmVkUGF0aCIsImdldE5hbWUiLCJuYW1lIiwiZXh0ZW5kTWVtYmVyIiwiZXh0ZW5kZWQiLCJrZXkiLCJvcHRpb25zIiwiZXh0ZW5kIiwiZXh0cmFNdXRhdGVPcHRpb25zIiwiZXh0cmFQYXJ0aWFsT3B0aW9ucyIsImdldCIsImdldE9wdGltaXN0aWNSZXNwb25zZSIsIm9wdGltaXN0aWNVcGRhdGUiLCJvcHRpbWlzdGljUGFydGlhbCIsImdldExpc3QiLCJtb3ZlUGF0aCIsInJldCIsImNyZWF0ZSIsInB1c2giLCJ1cGRhdGUiLCJtZXRob2QiLCJwYXJ0aWFsVXBkYXRlIiwiZGVsZXRlIiwiX2hvaXN0YWJsZSIsInJlcyIsInBhcmFtcyIsImtleXMiLCJsZW5ndGgiLCJvcHRpbWlzdGljRGVsZXRlIiwidW5kZWZpbmVkIiwiYXJncyIsIm92ZXJyaWRlcyIsInNuYXAiLCJib2R5IiwiZW5zdXJlUG9qbyIsImRhdGEiLCJhYm9ydCIsIkZvcm1EYXRhIiwiZnJvbUVudHJpZXMiLCJlbnRyaWVzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3Jlc291cmNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNjaGVtYSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5pbXBvcnQgdHlwZSB7IFNuYXBzaG90SW50ZXJmYWNlLCBRdWVyeWFibGUgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQge1xuICBSZXNvdXJjZUdlbmVyaWNzLFxuICBSZXNvdXJjZU9wdGlvbnMsXG4gIFJlc291cmNlLFxuICBSZXNvdXJjZUludGVyZmFjZSxcbn0gZnJvbSAnLi9yZXNvdXJjZVR5cGVzLmpzJztcbmltcG9ydCBSZXN0RW5kcG9pbnQsIHtcbiAgR2V0RW5kcG9pbnQsXG4gIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIFJlc3RFbmRwb2ludE9wdGlvbnMsXG4gIFJlc3RJbnN0YW5jZUJhc2UsXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmltcG9ydCB7IHNob3J0ZW5QYXRoIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbmNvbnN0IHsgSW52YWxpZGF0ZSwgQ29sbGVjdGlvbjogQmFzZUNvbGxlY3Rpb24gfSA9IHNjaGVtYTtcblxuLyoqIENyZWF0ZXMgY29sbGVjdGlvbiBvZiBFbmRwb2ludHMgZm9yIGNvbW1vbiBvcGVyYXRpb25zIG9uIGEgZ2l2ZW4gZGF0YS9zY2hlbWEuXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2VcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVzb3VyY2U8TyBleHRlbmRzIFJlc291cmNlR2VuZXJpY3M+KHtcbiAgcGF0aCxcbiAgc2NoZW1hLFxuICBFbmRwb2ludCA9IFJlc3RFbmRwb2ludCxcbiAgQ29sbGVjdGlvbiA9IEJhc2VDb2xsZWN0aW9uLFxuICBvcHRpbWlzdGljLFxuICBwYWdpbmF0aW9uRmllbGQsXG4gIC4uLmV4dHJhT3B0aW9uc1xufTogUmVhZG9ubHk8Tz4gJiBSZXNvdXJjZU9wdGlvbnMpOiBSZXNvdXJjZTxPPiB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgLy8gaWYgdGhleSBsb3dlcmNhc2UgYW5kIGl0IGxvb2tzIGxpa2UgdGhleSBtZWFudCB0byB1c2UgdXBwZXItY2FzZSB2ZXJzaW9uXG4gICAgaWYgKFxuICAgICAgJ2VuZHBvaW50JyBpbiBleHRyYU9wdGlvbnMgJiZcbiAgICAgIEVuZHBvaW50ID09PSBSZXN0RW5kcG9pbnQgJiZcbiAgICAgIHR5cGVvZiBleHRyYU9wdGlvbnNbJ2VuZHBvaW50J10gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgIGV4dHJhT3B0aW9uc1snZW5kcG9pbnQnXSAmJlxuICAgICAgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwoXG4gICAgICAgIFJlc3RFbmRwb2ludC5wcm90b3R5cGUsXG4gICAgICAgIChleHRyYU9wdGlvbnNbJ2VuZHBvaW50J10gYXMgYW55KS5wcm90b3R5cGUsXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBZb3UgcGFzc2VkICdlbmRwb2ludCcgb3B0aW9uOyBkaWQgeW91IG1lYW4gdG8gdXNlIEVuZHBvaW50P1xuaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL3Jlc291cmNlI2VuZHBvaW50XG5UaGlzIHBhcmFtZXRlciBtdXN0IGJlIGNhcGl0YWxpemVkLlxuXG5UaGlzIHdhcm5pbmcgd2lsbCBub3Qgc2hvdyBpbiBwcm9kdWN0aW9uLmAsXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBpZiB0aGV5IGxvd2VyY2FzZSBhbmQgaXQgbG9va3MgbGlrZSB0aGV5IG1lYW50IHRvIHVzZSB1cHBlci1jYXNlIHZlcnNpb25cbiAgICBpZiAoXG4gICAgICAnY29sbGVjdGlvbicgaW4gZXh0cmFPcHRpb25zICYmXG4gICAgICBDb2xsZWN0aW9uID09PSBCYXNlQ29sbGVjdGlvbiAmJlxuICAgICAgdHlwZW9mIGV4dHJhT3B0aW9uc1snY29sbGVjdGlvbiddID09PSAnZnVuY3Rpb24nICYmXG4gICAgICBleHRyYU9wdGlvbnNbJ2NvbGxlY3Rpb24nXSAmJlxuICAgICAgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwoXG4gICAgICAgIEJhc2VDb2xsZWN0aW9uLnByb3RvdHlwZSxcbiAgICAgICAgKGV4dHJhT3B0aW9uc1snY29sbGVjdGlvbiddIGFzIGFueSkucHJvdG90eXBlLFxuICAgICAgKVxuICAgICkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgWW91IHBhc3NlZCAnY29sbGVjdGlvbicgb3B0aW9uOyBkaWQgeW91IG1lYW4gdG8gdXNlIENvbGxlY3Rpb24/XG5odHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2UjY29sbGVjdGlvblxuVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBjYXBpdGFsaXplZC5cblxuVGhpcyB3YXJuaW5nIHdpbGwgbm90IHNob3cgaW4gcHJvZHVjdGlvbi5gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgY29uc3Qgc2hvcnRlbmVkUGF0aCA9IHNob3J0ZW5QYXRoKHBhdGgpO1xuICBjb25zdCBnZXROYW1lID0gKG5hbWU6IHN0cmluZykgPT4gYCR7KHNjaGVtYSBhcyBhbnkpPy5uYW1lfS4ke25hbWV9YDtcbiAgLy8gdGhpcyBhY2NvdW50cyBmb3IgZGVyaXZhdGl2ZSBlbmRwb2ludHNcbiAgZnVuY3Rpb24gZXh0ZW5kTWVtYmVyKGV4dGVuZGVkOiBhbnksIGtleTogc3RyaW5nLCBvcHRpb25zOiBhbnkpIHtcbiAgICBleHRlbmRlZFtrZXldID0gZXh0ZW5kZWRba2V5XS5leHRlbmQob3B0aW9ucyk7XG4gIH1cblxuICBjb25zdCBleHRyYU11dGF0ZU9wdGlvbnMgPSB7IC4uLmV4dHJhT3B0aW9ucyB9O1xuICBjb25zdCBleHRyYVBhcnRpYWxPcHRpb25zID0geyAuLi5leHRyYU9wdGlvbnMgfTtcbiAgY29uc3QgZ2V0OiBHZXRFbmRwb2ludDx7IHBhdGg6IE9bJ3BhdGgnXTsgc2NoZW1hOiBPWydzY2hlbWEnXSB9PiA9XG4gICAgbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBuYW1lOiBnZXROYW1lKCdnZXQnKSxcbiAgICB9KSBhcyBhbnk7XG4gIGlmIChvcHRpbWlzdGljKSB7XG4gICAgKGV4dHJhTXV0YXRlT3B0aW9ucyBhcyBhbnkpLmdldE9wdGltaXN0aWNSZXNwb25zZSA9IG9wdGltaXN0aWNVcGRhdGU7XG4gICAgLy8gVE9ETzogQ2hlY2sgdGhhdCBzY2hlbWEgaXMgYSBxdWVyeWFibGUsIG90aGVyd2lzZSB0aGlzIGRvZXNuJ3QgbWFrZSBzZW5zZVxuICAgIChleHRyYVBhcnRpYWxPcHRpb25zIGFzIGFueSkuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW1pc3RpY1BhcnRpYWwoXG4gICAgICBzY2hlbWEgYXMgYW55LFxuICAgICk7XG4gIH1cbiAgY29uc3QgZ2V0TGlzdCA9IG5ldyBFbmRwb2ludCh7XG4gICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgIHBhZ2luYXRpb25GaWVsZDogcGFnaW5hdGlvbkZpZWxkIGFzIHN0cmluZyxcbiAgICBtb3ZlUGF0aDogcGF0aCxcbiAgICBwYXRoOiBzaG9ydGVuZWRQYXRoLFxuICAgIHNjaGVtYTogbmV3IENvbGxlY3Rpb24oW3NjaGVtYSBhcyBhbnldKSxcbiAgICBuYW1lOiBnZXROYW1lKCdnZXRMaXN0JyksXG4gIH0pO1xuICBjb25zdCByZXQgPSB7XG4gICAgZ2V0LFxuICAgIGdldExpc3QsXG4gICAgLy8gVE9ETyhkZXByZWNhdGVkKTogcmVtb3ZlIHRoaXMgb25jZSB3ZSByZW1vdmUgY3JlYXRlc1xuICAgIGNyZWF0ZTogZ2V0TGlzdC5wdXNoLmV4dGVuZCh7IG5hbWU6IGdldE5hbWUoJ2NyZWF0ZScpIH0pLFxuICAgIHVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgndXBkYXRlJyksXG4gICAgfSksXG4gICAgLy8gVE9ETyhicmVha2luZyk6IE1vdmUgdG8gZ2V0TGlzdC5tb3ZlXG4gICAgcGFydGlhbFVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhUGFydGlhbE9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgncGFydGlhbFVwZGF0ZScpLFxuICAgIH0pLFxuICAgIGRlbGV0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWE6XG4gICAgICAgIC8vIEVudGl0eSB8fCBVbmlvblxuICAgICAgICAoc2NoZW1hIGFzIGFueSkucHJvY2VzcyB8fCAoc2NoZW1hIGFzIGFueSkuX2hvaXN0YWJsZSA/XG4gICAgICAgICAgbmV3IEludmFsaWRhdGUoc2NoZW1hIGFzIGFueSlcbiAgICAgICAgOiBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgnZGVsZXRlJyksXG4gICAgICBwcm9jZXNzKHJlczogYW55LCBwYXJhbXM6IGFueSkge1xuICAgICAgICByZXR1cm4gcmVzICYmIE9iamVjdC5rZXlzKHJlcykubGVuZ3RoID8gcmVzIDogcGFyYW1zO1xuICAgICAgfSxcbiAgICAgIGdldE9wdGltaXN0aWNSZXNwb25zZTogb3B0aW1pc3RpYyA/IChvcHRpbWlzdGljRGVsZXRlIGFzIGFueSkgOiB1bmRlZmluZWQsXG4gICAgfSksXG4gICAgZXh0ZW5kKFxuICAgICAgLi4uYXJnczpcbiAgICAgICAgfCBbc3RyaW5nLCBSZXN0RW5kcG9pbnRPcHRpb25zICYgUGFydGlhbFJlc3RHZW5lcmljc11cbiAgICAgICAgfCBbUmVzdEVuZHBvaW50T3B0aW9ucyAmIFBhcnRpYWxSZXN0R2VuZXJpY3NdXG4gICAgICAgIHwgW1xuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICBiYXNlUmVzb3VyY2U6IFJlc291cmNlSW50ZXJmYWNlLFxuICAgICAgICAgICAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBSZXN0SW5zdGFuY2VCYXNlPixcbiAgICAgICAgICBdXG4gICAgKSB7XG4gICAgICBpZiAodHlwZW9mIGFyZ3NbMF0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IFtrZXksIG9wdGlvbnNdID0gYXJncztcbiAgICAgICAgaWYgKGtleSBpbiB0aGlzKSB7XG4gICAgICAgICAgY29uc3QgZXh0ZW5kZWQgPSB7IC4uLnRoaXMgfTtcbiAgICAgICAgICBleHRlbmRNZW1iZXIoZXh0ZW5kZWQsIGtleSwgb3B0aW9ucyk7XG4gICAgICAgICAgcmV0dXJuIGV4dGVuZGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi50aGlzLFxuICAgICAgICAgICAgW2tleV06IHRoaXMuZ2V0LmV4dGVuZChvcHRpb25zKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmdzWzBdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGNvbnN0IGV4dGVuZGVkID0gYXJnc1swXSh0aGlzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50aGlzLFxuICAgICAgICAgIC4uLmV4dGVuZGVkLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgY29uc3Qgb3ZlcnJpZGVzID0gYXJnc1swXTtcbiAgICAgIGNvbnN0IGV4dGVuZGVkID0geyAuLi50aGlzIH07XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBvdmVycmlkZXMpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGV4dGVuZE1lbWJlcihleHRlbmRlZCwga2V5LCBvdmVycmlkZXNba2V5XSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXh0ZW5kZWQ7XG4gICAgfSxcbiAgfSBhcyBhbnk7XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIG9wdGltaXN0aWNVcGRhdGUoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5wYXJhbXMsXG4gICAgLi4uZW5zdXJlUG9qbyhib2R5KSxcbiAgfTtcbn1cbmZ1bmN0aW9uIG9wdGltaXN0aWNQYXJ0aWFsKHNjaGVtYTogUXVlcnlhYmxlKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgICBjb25zdCBkYXRhID0gc25hcC5nZXQoc2NoZW1hLCBwYXJhbXMpO1xuICAgIGlmICghZGF0YSkgdGhyb3cgc25hcC5hYm9ydDtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgLi4uZGF0YSxcbiAgICAgIC8vIGV2ZW4gdGhvIHdlIGRvbid0IGFsd2F5cyBoYXZlIHR3byBhcmd1bWVudHMsIHRoZSBleHRyYSBvbmUgd2lsbCBzaW1wbHkgYmUgdW5kZWZpbmVkIHdoaWNoIHNwcmVhZHMgZmluZVxuICAgICAgLi4uZW5zdXJlUG9qbyhib2R5KSxcbiAgICB9O1xuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY0RlbGV0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnkpIHtcbiAgcmV0dXJuIHBhcmFtcztcbn1cbmZ1bmN0aW9uIGVuc3VyZVBvam8oYm9keTogYW55KSB7XG4gIHJldHVybiBib2R5IGluc3RhbmNlb2YgRm9ybURhdGEgP1xuICAgICAgT2JqZWN0LmZyb21FbnRyaWVzKChib2R5IGFzIGFueSkuZW50cmllcygpKVxuICAgIDogYm9keTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsTUFBTSxRQUFRLHVCQUF1QjtBQVM5QyxPQUFPQyxZQUFZLE1BS1osbUJBQW1CO0FBQzFCLFNBQVNDLFdBQVcsUUFBUSxrQkFBa0I7QUFFOUMsTUFB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
@@ -71,9 +71,12 @@ export interface Resource<O extends ResourceGenerics = {
71
71
  path: ShortenPath<O['path']>;
72
72
  schema: schema.Collection<[
73
73
  O['schema']
74
- ], ParamToArgs<O['searchParams'] extends undefined ? KeysToArgs<ShortenPath<O['path']>> : O['searchParams'] & PathArgs<ShortenPath<O['path']>>>>;
74
+ ], ParamToArgs<[
75
+ O['searchParams']
76
+ ] extends [undefined] ? KeysToArgs<ShortenPath<O['path']>> : O['searchParams'] & PathArgs<ShortenPath<O['path']>>>>;
75
77
  body: 'body' extends keyof O ? O['body'] : Partial<Denormalize<O['schema']>>;
76
78
  searchParams: O['searchParams'];
79
+ movePath: O['path'];
77
80
  } & Pick<O, 'paginationField'>> : GetEndpoint<{
78
81
  path: ShortenPath<O['path']>;
79
82
  schema: schema.Collection<[
@@ -81,6 +84,7 @@ export interface Resource<O extends ResourceGenerics = {
81
84
  ], ParamToArgs<(Record<string, number | string | boolean> | undefined) & PathArgs<ShortenPath<O['path']>>>>;
82
85
  body: 'body' extends keyof O ? O['body'] : Partial<Denormalize<O['schema']>>;
83
86
  searchParams: Record<string, number | string | boolean> | undefined;
87
+ movePath: O['path'];
84
88
  } & Pick<O, 'paginationField'>>;
85
89
  /** Create a new item (POST)
86
90
  *
@@ -1 +1 @@
1
- {"version":3,"file":"resourceTypes.d.ts","sourceRoot":"","sources":["../src/resourceTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resourceTypes.d.ts","sourceRoot":"","sources":["../src/resourceTypes.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL3Jlc291cmNlVHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uLCBzY2hlbWEgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHR5cGUgeyBTY2hlbWEgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHR5cGUgeyBEZW5vcm1hbGl6ZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5cbmltcG9ydCB0eXBlIHtcbiAgS2V5c1RvQXJncyxcbiAgUGF0aEFyZ3MsXG4gIFJlc291cmNlUGF0aCxcbiAgU2hvcnRlblBhdGgsXG59IGZyb20gJy4vcGF0aFR5cGVzLmpzJztcbmltcG9ydCB7IEV4dGVuZGFibGUgfSBmcm9tICcuL3Jlc291cmNlRXh0ZW5kYWJsZS5qcyc7XG5pbXBvcnQgUmVzdEVuZHBvaW50LCB7XG4gIEdldEVuZHBvaW50LFxuICBNdXRhdGVFbmRwb2ludCxcbiAgUGFyYW1Ub0FyZ3MsXG4gIFJlc3RJbnN0YW5jZUJhc2UsXG4gIFJlc3RUeXBlTm9Cb2R5LFxufSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5cbi8qKiBUaGUgdHlwZWQgKGdlbmVyaWMpIG9wdGlvbnMgZm9yIGEgUmVzb3VyY2VcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNmdW5jdGlvbi1pbmhlcml0YW5jZS1wYXR0ZXJuc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlR2VuZXJpY3Mge1xuICAvKiogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2UjcGF0aCAqL1xuICByZWFkb25seSBwYXRoOiBSZXNvdXJjZVBhdGg7XG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNzY2hlbWEgKi9cbiAgcmVhZG9ubHkgc2NoZW1hOiBTY2hlbWE7XG4gIC8qKiBPbmx5IHVzZWQgZm9yIHR5cGVzICovXG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNib2R5ICovXG4gIHJlYWRvbmx5IGJvZHk/OiBhbnk7XG4gIC8qKiBPbmx5IHVzZWQgZm9yIHR5cGVzICovXG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNzZWFyY2hQYXJhbXMgKi9cbiAgcmVhZG9ubHkgc2VhcmNoUGFyYW1zPzogYW55O1xuICAvKiogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2UjcGFnaW5hdGlvbmZpZWxkICovXG4gIHJlYWRvbmx5IHBhZ2luYXRpb25GaWVsZD86IHN0cmluZztcbn1cbi8qKiBUaGUgdW50eXBlZCBvcHRpb25zIGZvciByZXNvdXJjZSgpICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlT3B0aW9ucyB7XG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNlbmRwb2ludCAqL1xuICBFbmRwb2ludD86IHR5cGVvZiBSZXN0RW5kcG9pbnQ7XG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNjb2xsZWN0aW9uICovXG4gIENvbGxlY3Rpb24/OiB0eXBlb2YgQ29sbGVjdGlvbjtcbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL3Jlc291cmNlI29wdGltaXN0aWMgKi9cbiAgb3B0aW1pc3RpYz86IGJvb2xlYW47XG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSN1cmxwcmVmaXggKi9cbiAgdXJsUHJlZml4Pzogc3RyaW5nO1xuICByZXF1ZXN0SW5pdD86IFJlcXVlc3RJbml0O1xuICBnZXRIZWFkZXJzPyhoZWFkZXJzOiBIZWFkZXJzSW5pdCk6IFByb21pc2U8SGVhZGVyc0luaXQ+IHwgSGVhZGVyc0luaXQ7XG4gIGdldFJlcXVlc3RJbml0Pyhib2R5OiBhbnkpOiBQcm9taXNlPFJlcXVlc3RJbml0PiB8IFJlcXVlc3RJbml0O1xuICBmZXRjaFJlc3BvbnNlPyhpbnB1dDogUmVxdWVzdEluZm8sIGluaXQ6IFJlcXVlc3RJbml0KTogUHJvbWlzZTxhbnk+O1xuICBwYXJzZVJlc3BvbnNlPyhyZXNwb25zZTogUmVzcG9uc2UpOiBQcm9taXNlPGFueT47XG4gIC8qKiBEZWZhdWx0IGRhdGEgZXhwaXJ5IGxlbmd0aCwgd2lsbCBmYWxsIGJhY2sgdG8gTmV0d29ya01hbmFnZXIgZGVmYXVsdCBpZiBub3QgZGVmaW5lZCAqL1xuICByZWFkb25seSBkYXRhRXhwaXJ5TGVuZ3RoPzogbnVtYmVyO1xuICAvKiogRGVmYXVsdCBlcnJvciBleHBpcnkgbGVuZ3RoLCB3aWxsIGZhbGwgYmFjayB0byBOZXR3b3JrTWFuYWdlciBkZWZhdWx0IGlmIG5vdCBkZWZpbmVkICovXG4gIHJlYWRvbmx5IGVycm9yRXhwaXJ5TGVuZ3RoPzogbnVtYmVyO1xuICAvKiogUG9sbCB3aXRoIGF0IGxlYXN0IHRoaXMgZnJlcXVlbmN5IGluIG1pbGlzZWNvbmRzICovXG4gIHJlYWRvbmx5IHBvbGxGcmVxdWVuY3k/OiBudW1iZXI7XG4gIC8qKiBNYXJrcyBjYWNoZWQgcmVzb3VyY2VzIGFzIGludmFsaWQgaWYgdGhleSBhcmUgc3RhbGUgKi9cbiAgcmVhZG9ubHkgaW52YWxpZElmU3RhbGU/OiBib29sZWFuO1xuICAvKiogRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIHRocm93IG9yIGZhbGxiYWNrIHRvICovXG4gIGVycm9yUG9saWN5PyhlcnJvcjogYW55KTogJ2hhcmQnIHwgJ3NvZnQnIHwgdW5kZWZpbmVkO1xufVxuXG4vKiogUmVzb3VyY2VzIGFyZSBhIGNvbGxlY3Rpb24gb2YgbWV0aG9kcyBmb3IgYSBnaXZlbiBkYXRhIG1vZGVsLlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZTxcbiAgTyBleHRlbmRzIFJlc291cmNlR2VuZXJpY3MgPSB7IHBhdGg6IFJlc291cmNlUGF0aDsgc2NoZW1hOiBhbnkgfSxcbj4gZXh0ZW5kcyBFeHRlbmRhYmxlPE8+IHtcbiAgLyoqIEdldCBvbmUgaXRlbSAoR0VUKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNnZXRcbiAgICovXG4gIGdldDogR2V0RW5kcG9pbnQ8eyBwYXRoOiBPWydwYXRoJ107IHNjaGVtYTogT1snc2NoZW1hJ10gfT47XG4gIC8qKiBHZXQgYW4gQXJyYXkgb2YgaXRlbXMgKEdFVClcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2UjZ2V0bGlzdFxuICAgKi9cbiAgZ2V0TGlzdDogJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPID9cbiAgICBHZXRFbmRwb2ludDxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogU2hvcnRlblBhdGg8T1sncGF0aCddPjtcbiAgICAgICAgc2NoZW1hOiBzY2hlbWEuQ29sbGVjdGlvbjxcbiAgICAgICAgICBbT1snc2NoZW1hJ11dLFxuICAgICAgICAgIFBhcmFtVG9BcmdzPFxuICAgICAgICAgICAgT1snc2VhcmNoUGFyYW1zJ10gZXh0ZW5kcyB1bmRlZmluZWQgP1xuICAgICAgICAgICAgICBLZXlzVG9BcmdzPFNob3J0ZW5QYXRoPE9bJ3BhdGgnXT4+XG4gICAgICAgICAgICA6IE9bJ3NlYXJjaFBhcmFtcyddICYgUGF0aEFyZ3M8U2hvcnRlblBhdGg8T1sncGF0aCddPj5cbiAgICAgICAgICA+XG4gICAgICAgID47XG4gICAgICAgIGJvZHk6ICdib2R5JyBleHRlbmRzIGtleW9mIE8gPyBPWydib2R5J11cbiAgICAgICAgOiBQYXJ0aWFsPERlbm9ybWFsaXplPE9bJ3NjaGVtYSddPj47XG4gICAgICAgIHNlYXJjaFBhcmFtczogT1snc2VhcmNoUGFyYW1zJ107XG4gICAgICB9ICYgUGljazxPLCAncGFnaW5hdGlvbkZpZWxkJz5cbiAgICA+XG4gIDogR2V0RW5kcG9pbnQ8XG4gICAgICB7XG4gICAgICAgIHBhdGg6IFNob3J0ZW5QYXRoPE9bJ3BhdGgnXT47XG4gICAgICAgIHNjaGVtYTogc2NoZW1hLkNvbGxlY3Rpb248XG4gICAgICAgICAgW09bJ3NjaGVtYSddXSxcbiAgICAgICAgICBQYXJhbVRvQXJnczxcbiAgICAgICAgICAgIChSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBzdHJpbmcgfCBib29sZWFuPiB8IHVuZGVmaW5lZCkgJlxuICAgICAgICAgICAgICBQYXRoQXJnczxTaG9ydGVuUGF0aDxPWydwYXRoJ10+PlxuICAgICAgICAgID5cbiAgICAgICAgPjtcbiAgICAgICAgYm9keTogJ2JvZHknIGV4dGVuZHMga2V5b2YgTyA/IE9bJ2JvZHknXVxuICAgICAgICA6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PjtcbiAgICAgICAgc2VhcmNoUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBzdHJpbmcgfCBib29sZWFuPiB8IHVuZGVmaW5lZDtcbiAgICAgIH0gJiBQaWNrPE8sICdwYWdpbmF0aW9uRmllbGQnPlxuICAgID47XG4gIC8qKiBDcmVhdGUgYSBuZXcgaXRlbSAoUE9TVClcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgdXNlIFJlc291cmNlLmdldExpc3QucHVzaCBpbnN0ZWFkXG4gICAqL1xuICBjcmVhdGU6ICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgTyA/XG4gICAgTXV0YXRlRW5kcG9pbnQ8e1xuICAgICAgcGF0aDogU2hvcnRlblBhdGg8T1sncGF0aCddPjtcbiAgICAgIHNjaGVtYTogc2NoZW1hLkNvbGxlY3Rpb248W09bJ3NjaGVtYSddXT5bJ3B1c2gnXTtcbiAgICAgIGJvZHk6ICdib2R5JyBleHRlbmRzIGtleW9mIE8gPyBPWydib2R5J11cbiAgICAgIDogUGFydGlhbDxEZW5vcm1hbGl6ZTxPWydzY2hlbWEnXT4+O1xuICAgICAgc2VhcmNoUGFyYW1zOiBPWydzZWFyY2hQYXJhbXMnXTtcbiAgICB9PlxuICA6IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgIHBhdGg6IFNob3J0ZW5QYXRoPE9bJ3BhdGgnXT47XG4gICAgICBzY2hlbWE6IHNjaGVtYS5Db2xsZWN0aW9uPFtPWydzY2hlbWEnXV0+WydwdXNoJ107XG4gICAgICBib2R5OiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPID8gT1snYm9keSddXG4gICAgICA6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PjtcbiAgICB9PjtcbiAgLyoqIFVwZGF0ZSBhbiBpdGVtIChQVVQpXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL3Jlc291cmNlI3VwZGF0ZVxuICAgKi9cbiAgdXBkYXRlOiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPID9cbiAgICBNdXRhdGVFbmRwb2ludDx7XG4gICAgICBwYXRoOiBPWydwYXRoJ107XG4gICAgICBib2R5OiBPWydib2R5J107XG4gICAgICBzY2hlbWE6IE9bJ3NjaGVtYSddO1xuICAgIH0+XG4gIDogTXV0YXRlRW5kcG9pbnQ8e1xuICAgICAgcGF0aDogT1sncGF0aCddO1xuICAgICAgYm9keTogUGFydGlhbDxEZW5vcm1hbGl6ZTxPWydzY2hlbWEnXT4+IHwgRm9ybURhdGE7XG4gICAgICBzY2hlbWE6IE9bJ3NjaGVtYSddO1xuICAgIH0+O1xuICAvKiogVXBkYXRlIGFuIGl0ZW0gKFBBVENIKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNwYXJ0aWFsdXBkYXRlXG4gICAqL1xuICBwYXJ0aWFsVXBkYXRlOiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPID9cbiAgICBNdXRhdGVFbmRwb2ludDx7XG4gICAgICBwYXRoOiBPWydwYXRoJ107XG4gICAgICBib2R5OiBQYXJ0aWFsPE9bJ2JvZHknXT47XG4gICAgICBzY2hlbWE6IE9bJ3NjaGVtYSddO1xuICAgIH0+XG4gIDogTXV0YXRlRW5kcG9pbnQ8e1xuICAgICAgcGF0aDogT1sncGF0aCddO1xuICAgICAgYm9keTogUGFydGlhbDxEZW5vcm1hbGl6ZTxPWydzY2hlbWEnXT4+IHwgRm9ybURhdGE7XG4gICAgICBzY2hlbWE6IE9bJ3NjaGVtYSddO1xuICAgIH0+O1xuICAvKiogRGVsZXRlIGFuIGl0ZW0gKERFTEVURSlcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2UjZGVsZXRlXG4gICAqL1xuICBkZWxldGU6IFJlc3RUeXBlTm9Cb2R5PFxuICAgIFBhdGhBcmdzPE9bJ3BhdGgnXT4sXG4gICAgT1snc2NoZW1hJ10gZXh0ZW5kcyBzY2hlbWEuRW50aXR5SW50ZXJmYWNlICYgeyBwcm9jZXNzOiBhbnkgfSA/XG4gICAgICBzY2hlbWEuSW52YWxpZGF0ZTxPWydzY2hlbWEnXT5cbiAgICA6IE9bJ3NjaGVtYSddLFxuICAgIHVuZGVmaW5lZCxcbiAgICBQYXJ0aWFsPFBhdGhBcmdzPE9bJ3BhdGgnXT4+LFxuICAgIHtcbiAgICAgIHBhdGg6IE9bJ3BhdGgnXTtcbiAgICB9XG4gID47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VJbnRlcmZhY2Uge1xuICBnZXQ6IFJlc3RJbnN0YW5jZUJhc2U7XG4gIGdldExpc3Q6IFJlc3RJbnN0YW5jZUJhc2U7XG4gIHVwZGF0ZTogUmVzdEluc3RhbmNlQmFzZTtcbiAgcGFydGlhbFVwZGF0ZTogUmVzdEluc3RhbmNlQmFzZTtcbiAgZGVsZXRlOiBSZXN0SW5zdGFuY2VCYXNlO1xufVxuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL3Jlc291cmNlVHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uLCBzY2hlbWEgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHR5cGUgeyBTY2hlbWEgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHR5cGUgeyBEZW5vcm1hbGl6ZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5cbmltcG9ydCB0eXBlIHtcbiAgS2V5c1RvQXJncyxcbiAgUGF0aEFyZ3MsXG4gIFJlc291cmNlUGF0aCxcbiAgU2hvcnRlblBhdGgsXG59IGZyb20gJy4vcGF0aFR5cGVzLmpzJztcbmltcG9ydCB7IEV4dGVuZGFibGUgfSBmcm9tICcuL3Jlc291cmNlRXh0ZW5kYWJsZS5qcyc7XG5pbXBvcnQgUmVzdEVuZHBvaW50LCB7XG4gIEdldEVuZHBvaW50LFxuICBNdXRhdGVFbmRwb2ludCxcbiAgUGFyYW1Ub0FyZ3MsXG4gIFJlc3RJbnN0YW5jZUJhc2UsXG4gIFJlc3RUeXBlTm9Cb2R5LFxufSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5cbi8qKiBUaGUgdHlwZWQgKGdlbmVyaWMpIG9wdGlvbnMgZm9yIGEgUmVzb3VyY2VcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNmdW5jdGlvbi1pbmhlcml0YW5jZS1wYXR0ZXJuc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlR2VuZXJpY3Mge1xuICAvKiogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2UjcGF0aCAqL1xuICByZWFkb25seSBwYXRoOiBSZXNvdXJjZVBhdGg7XG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNzY2hlbWEgKi9cbiAgcmVhZG9ubHkgc2NoZW1hOiBTY2hlbWE7XG4gIC8qKiBPbmx5IHVzZWQgZm9yIHR5cGVzICovXG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNib2R5ICovXG4gIHJlYWRvbmx5IGJvZHk/OiBhbnk7XG4gIC8qKiBPbmx5IHVzZWQgZm9yIHR5cGVzICovXG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNzZWFyY2hQYXJhbXMgKi9cbiAgcmVhZG9ubHkgc2VhcmNoUGFyYW1zPzogYW55O1xuICAvKiogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2UjcGFnaW5hdGlvbmZpZWxkICovXG4gIHJlYWRvbmx5IHBhZ2luYXRpb25GaWVsZD86IHN0cmluZztcbn1cbi8qKiBUaGUgdW50eXBlZCBvcHRpb25zIGZvciByZXNvdXJjZSgpICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlT3B0aW9ucyB7XG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNlbmRwb2ludCAqL1xuICBFbmRwb2ludD86IHR5cGVvZiBSZXN0RW5kcG9pbnQ7XG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNjb2xsZWN0aW9uICovXG4gIENvbGxlY3Rpb24/OiB0eXBlb2YgQ29sbGVjdGlvbjtcbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL3Jlc291cmNlI29wdGltaXN0aWMgKi9cbiAgb3B0aW1pc3RpYz86IGJvb2xlYW47XG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSN1cmxwcmVmaXggKi9cbiAgdXJsUHJlZml4Pzogc3RyaW5nO1xuICByZXF1ZXN0SW5pdD86IFJlcXVlc3RJbml0O1xuICBnZXRIZWFkZXJzPyhoZWFkZXJzOiBIZWFkZXJzSW5pdCk6IFByb21pc2U8SGVhZGVyc0luaXQ+IHwgSGVhZGVyc0luaXQ7XG4gIGdldFJlcXVlc3RJbml0Pyhib2R5OiBhbnkpOiBQcm9taXNlPFJlcXVlc3RJbml0PiB8IFJlcXVlc3RJbml0O1xuICBmZXRjaFJlc3BvbnNlPyhpbnB1dDogUmVxdWVzdEluZm8sIGluaXQ6IFJlcXVlc3RJbml0KTogUHJvbWlzZTxhbnk+O1xuICBwYXJzZVJlc3BvbnNlPyhyZXNwb25zZTogUmVzcG9uc2UpOiBQcm9taXNlPGFueT47XG4gIC8qKiBEZWZhdWx0IGRhdGEgZXhwaXJ5IGxlbmd0aCwgd2lsbCBmYWxsIGJhY2sgdG8gTmV0d29ya01hbmFnZXIgZGVmYXVsdCBpZiBub3QgZGVmaW5lZCAqL1xuICByZWFkb25seSBkYXRhRXhwaXJ5TGVuZ3RoPzogbnVtYmVyO1xuICAvKiogRGVmYXVsdCBlcnJvciBleHBpcnkgbGVuZ3RoLCB3aWxsIGZhbGwgYmFjayB0byBOZXR3b3JrTWFuYWdlciBkZWZhdWx0IGlmIG5vdCBkZWZpbmVkICovXG4gIHJlYWRvbmx5IGVycm9yRXhwaXJ5TGVuZ3RoPzogbnVtYmVyO1xuICAvKiogUG9sbCB3aXRoIGF0IGxlYXN0IHRoaXMgZnJlcXVlbmN5IGluIG1pbGlzZWNvbmRzICovXG4gIHJlYWRvbmx5IHBvbGxGcmVxdWVuY3k/OiBudW1iZXI7XG4gIC8qKiBNYXJrcyBjYWNoZWQgcmVzb3VyY2VzIGFzIGludmFsaWQgaWYgdGhleSBhcmUgc3RhbGUgKi9cbiAgcmVhZG9ubHkgaW52YWxpZElmU3RhbGU/OiBib29sZWFuO1xuICAvKiogRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIHRocm93IG9yIGZhbGxiYWNrIHRvICovXG4gIGVycm9yUG9saWN5PyhlcnJvcjogYW55KTogJ2hhcmQnIHwgJ3NvZnQnIHwgdW5kZWZpbmVkO1xufVxuXG4vKiogUmVzb3VyY2VzIGFyZSBhIGNvbGxlY3Rpb24gb2YgbWV0aG9kcyBmb3IgYSBnaXZlbiBkYXRhIG1vZGVsLlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZTxcbiAgTyBleHRlbmRzIFJlc291cmNlR2VuZXJpY3MgPSB7IHBhdGg6IFJlc291cmNlUGF0aDsgc2NoZW1hOiBhbnkgfSxcbj4gZXh0ZW5kcyBFeHRlbmRhYmxlPE8+IHtcbiAgLyoqIEdldCBvbmUgaXRlbSAoR0VUKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNnZXRcbiAgICovXG4gIGdldDogR2V0RW5kcG9pbnQ8eyBwYXRoOiBPWydwYXRoJ107IHNjaGVtYTogT1snc2NoZW1hJ10gfT47XG4gIC8qKiBHZXQgYW4gQXJyYXkgb2YgaXRlbXMgKEdFVClcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2UjZ2V0bGlzdFxuICAgKi9cbiAgZ2V0TGlzdDogJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPID9cbiAgICBHZXRFbmRwb2ludDxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogU2hvcnRlblBhdGg8T1sncGF0aCddPjtcbiAgICAgICAgc2NoZW1hOiBzY2hlbWEuQ29sbGVjdGlvbjxcbiAgICAgICAgICBbT1snc2NoZW1hJ11dLFxuICAgICAgICAgIFBhcmFtVG9BcmdzPFxuICAgICAgICAgICAgW09bJ3NlYXJjaFBhcmFtcyddXSBleHRlbmRzIFt1bmRlZmluZWRdID9cbiAgICAgICAgICAgICAgS2V5c1RvQXJnczxTaG9ydGVuUGF0aDxPWydwYXRoJ10+PlxuICAgICAgICAgICAgOiBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPFNob3J0ZW5QYXRoPE9bJ3BhdGgnXT4+XG4gICAgICAgICAgPlxuICAgICAgICA+O1xuICAgICAgICBib2R5OiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPID8gT1snYm9keSddXG4gICAgICAgIDogUGFydGlhbDxEZW5vcm1hbGl6ZTxPWydzY2hlbWEnXT4+O1xuICAgICAgICBzZWFyY2hQYXJhbXM6IE9bJ3NlYXJjaFBhcmFtcyddO1xuICAgICAgICBtb3ZlUGF0aDogT1sncGF0aCddO1xuICAgICAgfSAmIFBpY2s8TywgJ3BhZ2luYXRpb25GaWVsZCc+XG4gICAgPlxuICA6IEdldEVuZHBvaW50PFxuICAgICAge1xuICAgICAgICBwYXRoOiBTaG9ydGVuUGF0aDxPWydwYXRoJ10+O1xuICAgICAgICBzY2hlbWE6IHNjaGVtYS5Db2xsZWN0aW9uPFxuICAgICAgICAgIFtPWydzY2hlbWEnXV0sXG4gICAgICAgICAgUGFyYW1Ub0FyZ3M8XG4gICAgICAgICAgICAoUmVjb3JkPHN0cmluZywgbnVtYmVyIHwgc3RyaW5nIHwgYm9vbGVhbj4gfCB1bmRlZmluZWQpICZcbiAgICAgICAgICAgICAgUGF0aEFyZ3M8U2hvcnRlblBhdGg8T1sncGF0aCddPj5cbiAgICAgICAgICA+XG4gICAgICAgID47XG4gICAgICAgIGJvZHk6ICdib2R5JyBleHRlbmRzIGtleW9mIE8gPyBPWydib2R5J11cbiAgICAgICAgOiBQYXJ0aWFsPERlbm9ybWFsaXplPE9bJ3NjaGVtYSddPj47XG4gICAgICAgIHNlYXJjaFBhcmFtczogUmVjb3JkPHN0cmluZywgbnVtYmVyIHwgc3RyaW5nIHwgYm9vbGVhbj4gfCB1bmRlZmluZWQ7XG4gICAgICAgIG1vdmVQYXRoOiBPWydwYXRoJ107XG4gICAgICB9ICYgUGljazxPLCAncGFnaW5hdGlvbkZpZWxkJz5cbiAgICA+O1xuICAvKiogQ3JlYXRlIGEgbmV3IGl0ZW0gKFBPU1QpXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBSZXNvdXJjZS5nZXRMaXN0LnB1c2ggaW5zdGVhZFxuICAgKi9cbiAgY3JlYXRlOiAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE8gP1xuICAgIE11dGF0ZUVuZHBvaW50PHtcbiAgICAgIHBhdGg6IFNob3J0ZW5QYXRoPE9bJ3BhdGgnXT47XG4gICAgICBzY2hlbWE6IHNjaGVtYS5Db2xsZWN0aW9uPFtPWydzY2hlbWEnXV0+WydwdXNoJ107XG4gICAgICBib2R5OiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPID8gT1snYm9keSddXG4gICAgICA6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PjtcbiAgICAgIHNlYXJjaFBhcmFtczogT1snc2VhcmNoUGFyYW1zJ107XG4gICAgfT5cbiAgOiBNdXRhdGVFbmRwb2ludDx7XG4gICAgICBwYXRoOiBTaG9ydGVuUGF0aDxPWydwYXRoJ10+O1xuICAgICAgc2NoZW1hOiBzY2hlbWEuQ29sbGVjdGlvbjxbT1snc2NoZW1hJ11dPlsncHVzaCddO1xuICAgICAgYm9keTogJ2JvZHknIGV4dGVuZHMga2V5b2YgTyA/IE9bJ2JvZHknXVxuICAgICAgOiBQYXJ0aWFsPERlbm9ybWFsaXplPE9bJ3NjaGVtYSddPj47XG4gICAgfT47XG4gIC8qKiBVcGRhdGUgYW4gaXRlbSAoUFVUKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSN1cGRhdGVcbiAgICovXG4gIHVwZGF0ZTogJ2JvZHknIGV4dGVuZHMga2V5b2YgTyA/XG4gICAgTXV0YXRlRW5kcG9pbnQ8e1xuICAgICAgcGF0aDogT1sncGF0aCddO1xuICAgICAgYm9keTogT1snYm9keSddO1xuICAgICAgc2NoZW1hOiBPWydzY2hlbWEnXTtcbiAgICB9PlxuICA6IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgIHBhdGg6IE9bJ3BhdGgnXTtcbiAgICAgIGJvZHk6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PiB8IEZvcm1EYXRhO1xuICAgICAgc2NoZW1hOiBPWydzY2hlbWEnXTtcbiAgICB9PjtcbiAgLyoqIFVwZGF0ZSBhbiBpdGVtIChQQVRDSClcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2UjcGFydGlhbHVwZGF0ZVxuICAgKi9cbiAgcGFydGlhbFVwZGF0ZTogJ2JvZHknIGV4dGVuZHMga2V5b2YgTyA/XG4gICAgTXV0YXRlRW5kcG9pbnQ8e1xuICAgICAgcGF0aDogT1sncGF0aCddO1xuICAgICAgYm9keTogUGFydGlhbDxPWydib2R5J10+O1xuICAgICAgc2NoZW1hOiBPWydzY2hlbWEnXTtcbiAgICB9PlxuICA6IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgIHBhdGg6IE9bJ3BhdGgnXTtcbiAgICAgIGJvZHk6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PiB8IEZvcm1EYXRhO1xuICAgICAgc2NoZW1hOiBPWydzY2hlbWEnXTtcbiAgICB9PjtcbiAgLyoqIERlbGV0ZSBhbiBpdGVtIChERUxFVEUpXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL3Jlc291cmNlI2RlbGV0ZVxuICAgKi9cbiAgZGVsZXRlOiBSZXN0VHlwZU5vQm9keTxcbiAgICBQYXRoQXJnczxPWydwYXRoJ10+LFxuICAgIE9bJ3NjaGVtYSddIGV4dGVuZHMgc2NoZW1hLkVudGl0eUludGVyZmFjZSAmIHsgcHJvY2VzczogYW55IH0gP1xuICAgICAgc2NoZW1hLkludmFsaWRhdGU8T1snc2NoZW1hJ10+XG4gICAgOiBPWydzY2hlbWEnXSxcbiAgICB1bmRlZmluZWQsXG4gICAgUGFydGlhbDxQYXRoQXJnczxPWydwYXRoJ10+PixcbiAgICB7XG4gICAgICBwYXRoOiBPWydwYXRoJ107XG4gICAgfVxuICA+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlSW50ZXJmYWNlIHtcbiAgZ2V0OiBSZXN0SW5zdGFuY2VCYXNlO1xuICBnZXRMaXN0OiBSZXN0SW5zdGFuY2VCYXNlO1xuICB1cGRhdGU6IFJlc3RJbnN0YW5jZUJhc2U7XG4gIHBhcnRpYWxVcGRhdGU6IFJlc3RJbnN0YW5jZUJhc2U7XG4gIGRlbGV0ZTogUmVzdEluc3RhbmNlQmFzZTtcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@data-client/rest",
3
- "version": "0.15.6",
3
+ "version": "0.16.0",
4
4
  "description": "Quickly define typed REST resources and endpoints",
5
5
  "homepage": "https://dataclient.io/rest",
6
6
  "repository": {
@@ -135,13 +135,13 @@
135
135
  "license": "Apache-2.0",
136
136
  "dependencies": {
137
137
  "@babel/runtime": "^7.20.0",
138
- "@data-client/endpoint": "^0.15.5",
139
- "path-to-regexp": "^6.3.0"
138
+ "@data-client/endpoint": "^0.16.0",
139
+ "path-to-regexp": "^8.1.0"
140
140
  },
141
141
  "devDependencies": {
142
142
  "@anansi/browserslist-config": "^1.4.2",
143
- "@data-client/react": "0.15.6",
144
- "@data-client/test": "0.15.3",
143
+ "@data-client/react": "0.16.0",
144
+ "@data-client/test": "0.16.0",
145
145
  "@types/jest": "30.0.0",
146
146
  "@types/node": "^24.0.0",
147
147
  "nock": "13.3.1",
@@ -14,4 +14,19 @@ export default class NetworkError extends Error {
14
14
  this.status = response.status;
15
15
  this.response = response;
16
16
  }
17
+
18
+ /** Serialize the error for logging and debugging.
19
+ *
20
+ * Error properties are non-enumerable by default, so `JSON.stringify()`
21
+ * on a plain Error produces `{}`. This ensures status, message, and the
22
+ * request URL are always included in serialized output.
23
+ */
24
+ toJSON() {
25
+ return {
26
+ name: this.name,
27
+ status: this.status,
28
+ message: this.message,
29
+ url: this.response.url,
30
+ };
31
+ }
17
32
  }
@@ -67,14 +67,21 @@ export default class RestEndpoint extends Endpoint {
67
67
 
68
68
  /** Get the url */
69
69
  url(urlParams = {}) {
70
- const urlBase = getUrlBase(this.path)(urlParams);
71
70
  const tokens = getUrlTokens(this.path);
71
+ const pathParams = {};
72
72
  const searchParams = {};
73
73
  Object.keys(urlParams).forEach(k => {
74
- if (!tokens.has(k)) {
74
+ if (tokens.has(k)) {
75
+ if (urlParams[k] !== undefined)
76
+ pathParams[k] =
77
+ Array.isArray(urlParams[k]) ?
78
+ urlParams[k].map(String)
79
+ : String(urlParams[k]);
80
+ } else {
75
81
  searchParams[k] = urlParams[k];
76
82
  }
77
83
  });
84
+ const urlBase = getUrlBase(this.path)(pathParams);
78
85
  if (Object.keys(searchParams).length) {
79
86
  return `${this.urlPrefix}${urlBase}?${this.searchToString(searchParams)}`;
80
87
  }
@@ -189,7 +196,7 @@ Response (first 300 characters): ${text.substring(0, 300)}`;
189
196
  }
190
197
 
191
198
  get pathRegex() {
192
- return pathToRegexp(this.path);
199
+ return pathToRegexp(this.path).regexp;
193
200
  }
194
201
 
195
202
  testKey(key) {
@@ -275,6 +282,17 @@ Response (first 300 characters): ${text.substring(0, 300)}`;
275
282
  name: this.name + '.remove',
276
283
  });
277
284
  }
285
+
286
+ get move() {
287
+ const options = {
288
+ method: 'PATCH',
289
+ schema: extractCollection(this.schema, s => s.move),
290
+ searchParams: undefined,
291
+ name: this.name + '.partialUpdate',
292
+ };
293
+ if (this.movePath) options.path = this.movePath;
294
+ return this.extend(options);
295
+ }
278
296
  }
279
297
 
280
298
  const tryParse = input => {
@@ -198,6 +198,17 @@ export interface RestInstance<
198
198
  | FormData;
199
199
  }
200
200
  >;
201
+ /** Move item between collections (PATCH) - removes from old, adds to new
202
+ * @see https://dataclient.io/rest/api/RestEndpoint#move
203
+ */
204
+ move: MoveEndpoint<
205
+ F,
206
+ ExtractCollection<S>['move'],
207
+ {
208
+ path: 'movePath' extends keyof O ? O['movePath'] & string : O['path'];
209
+ body: OptionsToAdderBodyArgument<O> | FormData;
210
+ }
211
+ >;
201
212
  }
202
213
 
203
214
  export type RestEndpointExtendOptions<
@@ -224,7 +235,7 @@ type OptionsToRestEndpoint<
224
235
  'path' extends keyof O ?
225
236
  RestType<
226
237
  'searchParams' extends keyof O ?
227
- O['searchParams'] extends undefined ?
238
+ [O['searchParams']] extends [undefined] ?
228
239
  PathArgs<Exclude<O['path'], undefined>>
229
240
  : O['searchParams'] & PathArgs<Exclude<O['path'], undefined>>
230
241
  : PathArgs<Exclude<O['path'], undefined>>,
@@ -252,7 +263,7 @@ type OptionsToRestEndpoint<
252
263
  : 'body' extends keyof O ?
253
264
  RestType<
254
265
  'searchParams' extends keyof O ?
255
- O['searchParams'] extends undefined ?
266
+ [O['searchParams']] extends [undefined] ?
256
267
  PathArgs<Exclude<O['path'], undefined>>
257
268
  : O['searchParams'] & PathArgs<Exclude<E['path'], undefined>>
258
269
  : PathArgs<Exclude<E['path'], undefined>>,
@@ -279,7 +290,7 @@ type OptionsToRestEndpoint<
279
290
  >
280
291
  : 'searchParams' extends keyof O ?
281
292
  RestType<
282
- O['searchParams'] extends undefined ?
293
+ [O['searchParams']] extends [undefined] ?
283
294
  PathArgs<Exclude<O['path'], undefined>>
284
295
  : O['searchParams'] & PathArgs<Exclude<E['path'], undefined>>,
285
296
  OptionsToBodyArgument<
@@ -457,7 +468,7 @@ export type AddEndpoint<
457
468
  > = RestInstanceBase<
458
469
  RestFetch<
459
470
  'searchParams' extends keyof O ?
460
- O['searchParams'] extends undefined ?
471
+ [O['searchParams']] extends [undefined] ?
461
472
  PathArgs<Exclude<O['path'], undefined>>
462
473
  : O['searchParams'] & PathArgs<Exclude<O['path'], undefined>>
463
474
  : PathArgs<Exclude<O['path'], undefined>>,
@@ -479,7 +490,7 @@ export type RemoveEndpoint<
479
490
  > = RestInstanceBase<
480
491
  RestFetch<
481
492
  'searchParams' extends keyof O ?
482
- O['searchParams'] extends undefined ?
493
+ [O['searchParams']] extends [undefined] ?
483
494
  PathArgs<Exclude<O['path'], undefined>>
484
495
  : O['searchParams'] & PathArgs<Exclude<O['path'], undefined>>
485
496
  : PathArgs<Exclude<O['path'], undefined>>,
@@ -490,6 +501,19 @@ export type RemoveEndpoint<
490
501
  true,
491
502
  Omit<O, 'method'> & { method: 'PATCH' }
492
503
  >;
504
+ export type MoveEndpoint<
505
+ F extends FetchFunction = FetchFunction,
506
+ S extends Schema | undefined = any,
507
+ O extends {
508
+ path: string;
509
+ body: any;
510
+ } = { path: string; body: any },
511
+ > = RestInstanceBase<
512
+ RestFetch<PathArgs<Exclude<O['path'], undefined>>, O['body'], ResolveType<F>>,
513
+ S,
514
+ true,
515
+ Omit<O, 'method' | 'searchParams'> & { method: 'PATCH' }
516
+ >;
493
517
 
494
518
  type OptionsBodyDefault<O extends RestGenerics> =
495
519
  'body' extends keyof O ? O
@@ -538,7 +562,7 @@ export type RestEndpointConstructorOptions<O extends RestGenerics = any> =
538
562
  RestEndpointOptions<
539
563
  RestFetch<
540
564
  'searchParams' extends keyof O ?
541
- O['searchParams'] extends undefined ?
565
+ [O['searchParams']] extends [undefined] ?
542
566
  PathArgs<O['path']>
543
567
  : O['searchParams'] & PathArgs<O['path']>
544
568
  : PathArgs<O['path']>,
@@ -563,7 +587,7 @@ export interface RestEndpoint<
563
587
  > extends RestInstance<
564
588
  RestFetch<
565
589
  'searchParams' extends keyof O ?
566
- O['searchParams'] extends undefined ?
590
+ [O['searchParams']] extends [undefined] ?
567
591
  PathArgs<O['path']>
568
592
  : O['searchParams'] & PathArgs<O['path']>
569
593
  : PathArgs<O['path']>,
@@ -730,7 +754,7 @@ export type GetEndpoint<
730
754
  },
731
755
  > = RestTypeNoBody<
732
756
  'searchParams' extends keyof O ?
733
- O['searchParams'] extends undefined ?
757
+ [O['searchParams']] extends [undefined] ?
734
758
  PathArgs<O['path']>
735
759
  : O['searchParams'] & PathArgs<O['path']>
736
760
  : PathArgs<O['path']>,
@@ -755,7 +779,7 @@ export type MutateEndpoint<
755
779
  },
756
780
  > = RestTypeWithBody<
757
781
  'searchParams' extends keyof O ?
758
- O['searchParams'] extends undefined ?
782
+ [O['searchParams']] extends [undefined] ?
759
783
  PathArgs<O['path']>
760
784
  : O['searchParams'] & PathArgs<O['path']>
761
785
  : PathArgs<O['path']>,