@data-client/rest 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/index.js +17 -16
  2. package/dist/index.umd.min.js +1 -1
  3. package/dist/next.js +7 -2
  4. package/legacy/OptionsToFunction.js +1 -1
  5. package/legacy/RestEndpoint.js +5 -5
  6. package/legacy/RestHelpers.js +4 -2
  7. package/legacy/createResource.js +14 -13
  8. package/legacy/index.js +2 -1
  9. package/legacy/next/index.js +4 -4
  10. package/legacy/pathTypes.js +1 -1
  11. package/legacy/resourceTypes.js +2 -0
  12. package/lib/OptionsToFunction.d.ts.map +1 -1
  13. package/lib/OptionsToFunction.js +1 -1
  14. package/lib/RestEndpoint.d.ts +30 -36
  15. package/lib/RestEndpoint.js +5 -5
  16. package/lib/RestHelpers.js +4 -2
  17. package/lib/createResource.d.ts +65 -32
  18. package/lib/createResource.d.ts.map +1 -1
  19. package/lib/createResource.js +11 -12
  20. package/lib/index.d.ts +3 -1
  21. package/lib/index.d.ts.map +1 -1
  22. package/lib/index.js +2 -1
  23. package/lib/next/index.d.ts +5 -5
  24. package/lib/next/index.d.ts.map +1 -1
  25. package/lib/next/index.js +4 -4
  26. package/lib/pathTypes.d.ts +1 -0
  27. package/lib/pathTypes.d.ts.map +1 -1
  28. package/lib/pathTypes.js +1 -1
  29. package/lib/{next/resourceTypes.d.ts → resourceTypes.d.ts} +12 -2
  30. package/lib/resourceTypes.d.ts.map +1 -0
  31. package/lib/resourceTypes.js +2 -0
  32. package/package.json +3 -3
  33. package/src/OptionsToFunction.ts +0 -1
  34. package/src/RestEndpoint.d.ts +30 -36
  35. package/src/RestEndpoint.js +4 -4
  36. package/src/RestHelpers.ts +4 -4
  37. package/src/__tests__/Resource.test.ts +2 -2
  38. package/src/__tests__/RestEndpoint.ts +38 -9
  39. package/src/__tests__/__snapshots__/createResource.test.ts.snap +2 -0
  40. package/src/__tests__/createResource.test.ts +25 -4
  41. package/src/__tests__/hookifyResource.ts +7 -3
  42. package/src/__tests__/types.test.ts +353 -212
  43. package/src/createResource.ts +111 -62
  44. package/src/index.ts +2 -2
  45. package/src/next/index.ts +5 -5
  46. package/src/pathTypes.ts +2 -0
  47. package/src/{next/resourceTypes.ts → resourceTypes.ts} +12 -2
  48. package/ts4.0/RestEndpoint.d.ts +19 -33
  49. package/ts4.0/createResource.d.ts +77 -32
  50. package/ts4.0/index.d.ts +3 -1
  51. package/ts4.0/next/index.d.ts +5 -5
  52. package/ts4.0/pathTypes.d.ts +2 -0
  53. package/ts4.0/{next/resourceTypes.d.ts → resourceTypes.d.ts} +12 -2
  54. package/legacy/next/OptionsToFunction.js +0 -2
  55. package/legacy/next/RestEndpoint.js +0 -225
  56. package/legacy/next/createResource.js +0 -86
  57. package/legacy/next/resourceTypes.js +0 -2
  58. package/lib/next/OptionsToFunction.d.ts +0 -7
  59. package/lib/next/OptionsToFunction.d.ts.map +0 -1
  60. package/lib/next/OptionsToFunction.js +0 -2
  61. package/lib/next/RestEndpoint.d.ts +0 -542
  62. package/lib/next/RestEndpoint.js +0 -229
  63. package/lib/next/createResource.d.ts +0 -86
  64. package/lib/next/createResource.d.ts.map +0 -1
  65. package/lib/next/createResource.js +0 -100
  66. package/lib/next/resourceTypes.d.ts.map +0 -1
  67. package/lib/next/resourceTypes.js +0 -2
  68. package/src/next/OptionsToFunction.ts +0 -41
  69. package/src/next/RestEndpoint.d.ts +0 -542
  70. package/src/next/RestEndpoint.js +0 -262
  71. package/src/next/__tests__/RestEndpoint.ts +0 -1333
  72. package/src/next/__tests__/__snapshots__/RestEndpoint.ts.snap +0 -18
  73. package/src/next/__tests__/types.test.ts +0 -429
  74. package/src/next/createResource.ts +0 -194
  75. package/ts4.0/next/OptionsToFunction.d.ts +0 -16
  76. package/ts4.0/next/RestEndpoint.d.ts +0 -226
  77. package/ts4.0/next/createResource.d.ts +0 -94
@@ -47,9 +47,9 @@ export interface RestInstanceBase<
47
47
  getRequestInit(
48
48
  this: any,
49
49
  body?: RequestInit['body'] | Record<string, unknown>,
50
- ): RequestInit;
50
+ ): Promise<RequestInit> | RequestInit;
51
51
  /** @see https://resthooks.io/rest/api/RestEndpoint#getHeaders */
52
- getHeaders(headers: HeadersInit): HeadersInit;
52
+ getHeaders(headers: HeadersInit): Promise<HeadersInit> | HeadersInit;
53
53
  /* after-fetch */
54
54
  /** @see https://resthooks.io/rest/api/RestEndpoint#fetchResponse */
55
55
  fetchResponse(input: RequestInfo, init: RequestInit): Promise<Response>;
@@ -102,15 +102,6 @@ export interface RestInstance<
102
102
  assign: AddEndpoint<F, S, O>;
103
103
  }
104
104
 
105
- export type ContainsCollectionArray =
106
- | { push: any; unshift: any }
107
- | { [K: string]: ContainsCollectionArray }
108
- | { schema: { [K: string]: ContainsCollectionArray } };
109
- export type ContainsCollectionValues =
110
- | { assign: any }
111
- | { [K: string]: ContainsCollectionValues }
112
- | { schema: { [K: string]: ContainsCollectionValues } };
113
-
114
105
  export type RestEndpointExtendOptions<
115
106
  O extends PartialRestGenerics,
116
107
  E extends RestInstanceBase,
@@ -271,7 +262,7 @@ export type AddEndpoint<
271
262
  : O['searchParams'] & PathArgs<Exclude<O['path'], undefined>>
272
263
  : PathArgs<Exclude<O['path'], undefined>>,
273
264
  any,
274
- ReturnType<F>
265
+ ResolveType<F>
275
266
  >,
276
267
  ExtractCollection<S>,
277
268
  true,
@@ -496,51 +487,54 @@ export type FetchGet<A extends readonly any[] = [any], R = any> = (
496
487
  ...args: A
497
488
  ) => Promise<R>;
498
489
 
499
- export type GetEndpoint<
500
- UrlParams = any,
501
- S extends Schema | undefined = Schema | undefined,
502
- > = RestTypeNoBody<UrlParams, S, undefined>;
503
-
504
- export type MutateEndpoint<
505
- UrlParams = any,
506
- Body extends BodyInit | Record<string, any> = any,
507
- S extends Schema | undefined = Schema | undefined,
508
- > = RestTypeWithBody<UrlParams, S, true, Body>;
509
-
510
490
  export type Defaults<O, D> = {
511
491
  [K in keyof O | keyof D]: K extends keyof O
512
492
  ? Exclude<O[K], undefined>
513
493
  : D[Extract<K, keyof D>];
514
494
  };
515
495
 
516
- export type NewGetEndpoint<
496
+ export type GetEndpoint<
517
497
  O extends {
498
+ readonly path: string;
499
+ readonly schema: Schema;
500
+ /** Only used for types */
501
+ readonly searchParams?: any;
502
+ } = {
518
503
  path: string;
519
- searchParams?: any;
520
- } = { path: string },
521
- S extends Schema | undefined = Schema | undefined,
504
+ schema: Schema;
505
+ },
522
506
  > = RestTypeNoBody<
523
507
  'searchParams' extends keyof O
524
- ? O['searchParams'] & PathArgs<O['path']>
508
+ ? O['searchParams'] extends undefined
509
+ ? PathArgs<O['path']>
510
+ : O['searchParams'] & PathArgs<O['path']>
525
511
  : PathArgs<O['path']>,
526
- S,
512
+ O['schema'],
527
513
  undefined,
528
514
  any,
529
515
  O & { body: undefined }
530
516
  >;
531
517
 
532
- export type NewMutateEndpoint<
518
+ export type MutateEndpoint<
533
519
  O extends {
520
+ readonly path: string;
521
+ readonly schema: Schema;
522
+ /** Only used for types */
523
+ readonly searchParams?: any;
524
+ /** Only used for types */
525
+ readonly body?: any;
526
+ } = {
534
527
  path: string;
535
- body?: any;
536
- searchParams?: any;
537
- } = { path: string; body: any },
538
- S extends Schema | undefined = Schema | undefined,
528
+ body: any;
529
+ schema: Schema;
530
+ },
539
531
  > = RestTypeWithBody<
540
532
  'searchParams' extends keyof O
541
- ? O['searchParams'] & PathArgs<O['path']>
533
+ ? O['searchParams'] extends undefined
534
+ ? PathArgs<O['path']>
535
+ : O['searchParams'] & PathArgs<O['path']>
542
536
  : PathArgs<O['path']>,
543
- S,
537
+ O['schema'],
544
538
  true,
545
539
  O['body'],
546
540
  any,
@@ -18,10 +18,10 @@ var _hasBody = /*#__PURE__*/_classPrivateFieldLooseKey("hasBody");
18
18
  export default class RestEndpoint extends Endpoint {
19
19
  constructor(options) {
20
20
  var _options$fetch;
21
- super((_options$fetch = options.fetch) != null ? _options$fetch : function (...args) {
21
+ super((_options$fetch = options.fetch) != null ? _options$fetch : async function (...args) {
22
22
  const urlParams = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] && args.length < 2 ? {} : args[0] || {};
23
23
  const body = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] ? args[args.length - 1] : undefined;
24
- return this.fetchResponse(this.url(urlParams), this.getRequestInit(body)).then(response => this.parseResponse(response)).then(res => this.process(res, ...args));
24
+ return this.fetchResponse(this.url(urlParams), await this.getRequestInit(body)).then(response => this.parseResponse(response)).then(res => this.process(res, ...args));
25
25
  }, options);
26
26
  // we want to use the prototype chain here
27
27
  Object.defineProperty(this, _hasBody, {
@@ -70,7 +70,7 @@ export default class RestEndpoint extends Endpoint {
70
70
  }
71
71
 
72
72
  /** Init options for fetch - run at fetch */
73
- getRequestInit(body) {
73
+ async getRequestInit(body) {
74
74
  const bodyIsPojo = isPojo(body);
75
75
  if (bodyIsPojo) {
76
76
  body = JSON.stringify(body);
@@ -88,7 +88,7 @@ export default class RestEndpoint extends Endpoint {
88
88
  ...init.headers
89
89
  };
90
90
  }
91
- init.headers = this.getHeaders(init.headers);
91
+ init.headers = await this.getHeaders(init.headers);
92
92
  return init;
93
93
  }
94
94
 
@@ -226,4 +226,4 @@ const tryParse = input => {
226
226
  return undefined;
227
227
  }
228
228
  };
229
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbmRwb2ludCIsInBhdGhUb1JlZ2V4cCIsImV4dHJhY3RDb2xsZWN0aW9uIiwibWFwQ29sbGVjdGlvbiIsIk5ldHdvcmtFcnJvciIsInBhZ2luYXRlZE1lcmdlIiwicGFnaW5hdGVkRmlsdGVyIiwicGFnaW5hdGlvblVwZGF0ZSIsInBhcmFtc1RvU3RyaW5nIiwiZ2V0VXJsQmFzZSIsImdldFVybFRva2VucyIsImlzUG9qbyIsIl9oYXNCb2R5IiwiX2NsYXNzUHJpdmF0ZUZpZWxkTG9vc2VLZXkiLCJSZXN0RW5kcG9pbnQiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJfb3B0aW9ucyRmZXRjaCIsImZldGNoIiwiYXJncyIsInVybFBhcmFtcyIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlQmFzZSIsImxlbmd0aCIsImJvZHkiLCJ1bmRlZmluZWQiLCJmZXRjaFJlc3BvbnNlIiwidXJsIiwiZ2V0UmVxdWVzdEluaXQiLCJ0aGVuIiwicmVzcG9uc2UiLCJwYXJzZVJlc3BvbnNlIiwicmVzIiwicHJvY2VzcyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5Iiwid3JpdGFibGUiLCJ2YWx1ZSIsInNpZGVFZmZlY3QiLCJtZXRob2QiLCJ1cmxQcmVmaXgiLCJpbmNsdWRlcyIsImdldCIsIl9fbmFtZSIsInBhdGgiLCJrZXkiLCJ1cmxCYXNlIiwidG9rZW5zIiwic2VhcmNoUGFyYW1zIiwia2V5cyIsImZvckVhY2giLCJrIiwiaGFzIiwiZ2V0SGVhZGVycyIsImhlYWRlcnMiLCJib2R5SXNQb2pvIiwiSlNPTiIsInN0cmluZ2lmeSIsImluaXQiLCJyZXF1ZXN0SW5pdCIsInNpZ25hbCIsImlucHV0Iiwib2siLCJjYXRjaCIsImVycm9yIiwiVHlwZUVycm9yIiwic3RhdHVzIiwiX3Jlc3BvbnNlJGhlYWRlcnMkZ2V0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0ZXh0Iiwic2NoZW1hIiwicHJvdG90eXBlIiwibWVzc2FnZSIsImVudiIsIk5PREVfRU5WIiwiX3Jlc3BvbnNlJGhlYWRlcnMkZ2V0MiIsInN0YXJ0c1dpdGgiLCJ0cnlQYXJzZSIsInN1YnN0cmluZyIsImpzb24iLCJlcnJvclBvbGljeSIsInBhdGhSZWdleCIsInRlc3RLZXkiLCJwcmVmaXgiLCJsYXN0UXVlc3Rpb24iLCJsYXN0SW5kZXhPZiIsInRlc3QiLCJleHRlbmQiLCJFIiwiYXNzaWduIiwiaW5zdGFuY2UiLCJwYWdpbmF0ZWQiLCJyZW1vdmVDdXJzb3IiLCJmaWVsZE5hbWUiLCJwYXJhbXMiLCJmb3VuZCIsImNyZWF0ZVBhZ2luYXRlZFNjaGVtYSIsImNvbGxlY3Rpb24iLCJhZGRXaXRoIiwibmV3U2NoZW1hIiwidXBkYXRlIiwicHVzaCIsInMiLCJ1bnNoaWZ0IiwicGFyc2UiLCJlIl0sInNvdXJjZXMiOlsiLi4vc3JjL1Jlc3RFbmRwb2ludC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbmRwb2ludCB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5pbXBvcnQgeyBwYXRoVG9SZWdleHAgfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5cbmltcG9ydCBleHRyYWN0Q29sbGVjdGlvbiBmcm9tICcuL2V4dHJhY3RDb2xsZWN0aW9uLmpzJztcbmltcG9ydCBtYXBDb2xsZWN0aW9uIGZyb20gJy4vbWFwQ29sbGVjdGlvbi5qcyc7XG5pbXBvcnQgTmV0d29ya0Vycm9yIGZyb20gJy4vTmV0d29ya0Vycm9yLmpzJztcbmltcG9ydCB7IHBhZ2luYXRlZE1lcmdlLCBwYWdpbmF0ZWRGaWx0ZXIgfSBmcm9tICcuL3BhZ2luYXRlZENvbGxlY3Rpb25zLmpzJztcbmltcG9ydCBwYWdpbmF0aW9uVXBkYXRlIGZyb20gJy4vcGFnaW5hdGlvblVwZGF0ZS5qcyc7XG5pbXBvcnQgcGFyYW1zVG9TdHJpbmcgZnJvbSAnLi9wYXJhbXNUb1N0cmluZy5qcyc7XG5pbXBvcnQgeyBnZXRVcmxCYXNlLCBnZXRVcmxUb2tlbnMsIGlzUG9qbyB9IGZyb20gJy4vUmVzdEhlbHBlcnMuanMnO1xuXG4vKiogU2ltcGxpZmllcyBlbmRwb2ludCBkZWZpbml0aW9ucyB0aGF0IGZvbGxvdyBSRVNUIHBhdHRlcm5zXG4gKlxuICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnRcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVzdEVuZHBvaW50IGV4dGVuZHMgRW5kcG9pbnQge1xuICAjaGFzQm9keTtcbiAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgIHN1cGVyKFxuICAgICAgb3B0aW9ucy5mZXRjaCA/P1xuICAgICAgICBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICAgIGNvbnN0IHVybFBhcmFtcyA9XG4gICAgICAgICAgICB0aGlzLiNoYXNCb2R5ICYmIGFyZ3MubGVuZ3RoIDwgMiA/IHt9IDogYXJnc1swXSB8fCB7fTtcbiAgICAgICAgICBjb25zdCBib2R5ID0gdGhpcy4jaGFzQm9keSA/IGFyZ3NbYXJncy5sZW5ndGggLSAxXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFJlc3BvbnNlKFxuICAgICAgICAgICAgdGhpcy51cmwodXJsUGFyYW1zKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0UmVxdWVzdEluaXQoYm9keSksXG4gICAgICAgICAgKVxuICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gdGhpcy5wYXJzZVJlc3BvbnNlKHJlc3BvbnNlKSlcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB0aGlzLnByb2Nlc3MocmVzLCAuLi5hcmdzKSk7XG4gICAgICAgIH0sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gICAgLy8gd2Ugd2FudCB0byB1c2UgdGhlIHByb3RvdHlwZSBjaGFpbiBoZXJlXG4gICAgaWYgKFxuICAgICAgISgnc2lkZUVmZmVjdCcgaW4gdGhpcykgfHxcbiAgICAgICgnbWV0aG9kJyBpbiBvcHRpb25zICYmICEoJ3NpZGVFZmZlY3QnIGluIG9wdGlvbnMpKVxuICAgICkge1xuICAgICAgdGhpcy5zaWRlRWZmZWN0ID1cbiAgICAgICAgb3B0aW9ucy5tZXRob2QgPT09ICdHRVQnIHx8IG9wdGlvbnMubWV0aG9kID09PSB1bmRlZmluZWRcbiAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgIDogdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWV0aG9kID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubWV0aG9kID0gdGhpcy5zaWRlRWZmZWN0ID8gJ1BPU1QnIDogJ0dFVCc7XG4gICAgfVxuICAgIGlmICh0aGlzLnVybFByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnVybFByZWZpeCA9ICcnO1xuICAgIH1cbiAgICB0aGlzLiNoYXNCb2R5ID1cbiAgICAgICghKCdib2R5JyBpbiB0aGlzKSB8fCB0aGlzLmJvZHkgIT09IHVuZGVmaW5lZCkgJiZcbiAgICAgICFbJ0dFVCcsICdERUxFVEUnXS5pbmNsdWRlcyh0aGlzLm1ldGhvZCk7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ25hbWUnLCB7XG4gICAgICBnZXQoKSB7XG4gICAgICAgIC8vIHVzaW5nICdpbicgdG8gZW5zdXJlIGluaGVyaXRhbmNlIGxvb2t1cFxuICAgICAgICBpZiAoJ19fbmFtZScgaW4gdGhpcykgcmV0dXJuIHRoaXMuX19uYW1lO1xuICAgICAgICByZXR1cm4gdGhpcy51cmxQcmVmaXggKyB0aGlzLnBhdGg7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAga2V5KC4uLmFyZ3MpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5tZXRob2R9ICR7dGhpcy51cmwoXG4gICAgICB0aGlzLiNoYXNCb2R5ICYmIGFyZ3MubGVuZ3RoIDwgMiA/IHt9IDogYXJnc1swXSB8fCB7fSxcbiAgICApfWA7XG4gIH1cblxuICAvKiogR2V0IHRoZSB1cmwgKi9cbiAgdXJsKHVybFBhcmFtcyA9IHt9KSB7XG4gICAgY29uc3QgdXJsQmFzZSA9IGdldFVybEJhc2UodGhpcy5wYXRoKSh1cmxQYXJhbXMpO1xuICAgIGNvbnN0IHRva2VucyA9IGdldFVybFRva2Vucyh0aGlzLnBhdGgpO1xuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IHt9O1xuICAgIE9iamVjdC5rZXlzKHVybFBhcmFtcykuZm9yRWFjaChrID0+IHtcbiAgICAgIGlmICghdG9rZW5zLmhhcyhrKSkge1xuICAgICAgICBzZWFyY2hQYXJhbXNba10gPSB1cmxQYXJhbXNba107XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKE9iamVjdC5rZXlzKHNlYXJjaFBhcmFtcykubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy51cmxQcmVmaXh9JHt1cmxCYXNlfT8ke3BhcmFtc1RvU3RyaW5nKHNlYXJjaFBhcmFtcyl9YDtcbiAgICB9XG4gICAgcmV0dXJuIGAke3RoaXMudXJsUHJlZml4fSR7dXJsQmFzZX1gO1xuICB9XG5cbiAgZ2V0SGVhZGVycyhoZWFkZXJzKSB7XG4gICAgcmV0dXJuIGhlYWRlcnM7XG4gIH1cblxuICAvKiogSW5pdCBvcHRpb25zIGZvciBmZXRjaCAtIHJ1biBhdCBmZXRjaCAqL1xuICBnZXRSZXF1ZXN0SW5pdChib2R5KSB7XG4gICAgY29uc3QgYm9keUlzUG9qbyA9IGlzUG9qbyhib2R5KTtcbiAgICBpZiAoYm9keUlzUG9qbykge1xuICAgICAgYm9keSA9IEpTT04uc3RyaW5naWZ5KGJvZHkpO1xuICAgIH1cbiAgICBjb25zdCBpbml0ID0ge1xuICAgICAgLi4udGhpcy5yZXF1ZXN0SW5pdCxcbiAgICAgIG1ldGhvZDogdGhpcy5tZXRob2QsXG4gICAgICBzaWduYWw6IHRoaXMuc2lnbmFsLFxuICAgICAgYm9keSxcbiAgICB9O1xuICAgIGlmICghYm9keSB8fCBib2R5SXNQb2pvKSB7XG4gICAgICBpbml0LmhlYWRlcnMgPSB7XG4gICAgICAgIC8vIGRlZmF1bHQgdG8gYXBwbGljYXRpb24vanNvbiBidXQgYWxsb3cgdXNlciBleHBsaWNpdCBvdmVycmlkZXNcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgLi4uaW5pdC5oZWFkZXJzLFxuICAgICAgfTtcbiAgICB9XG4gICAgaW5pdC5oZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKGluaXQuaGVhZGVycyk7XG4gICAgcmV0dXJuIGluaXQ7XG4gIH1cblxuICAvKiogUGVyZm9ybSBuZXR3b3JrIHJlcXVlc3QgYW5kIHJlc29sdmUgd2l0aCBIVFRQIFJlc3BvbnNlICovXG4gIGZldGNoUmVzcG9uc2UoaW5wdXQsIGluaXQpIHtcbiAgICByZXR1cm4gZmV0Y2goaW5wdXQsIGluaXQpXG4gICAgICAudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICB0aHJvdyBuZXcgTmV0d29ya0Vycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgLy8gZW5zdXJlIENPUlMsIG5ldHdvcmsgZG93biwgYW5kIHBhcnNlIGVycm9ycyBhcmUgc3RpbGwgY2F1Z2h0IGJ5IE5ldHdvcmtFcnJvckJvdW5kYXJ5XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFR5cGVFcnJvcikge1xuICAgICAgICAgIGVycm9yLnN0YXR1cyA9IDUwMDtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICB9XG5cbiAgcGFyc2VSZXNwb25zZShyZXNwb25zZSkge1xuICAgIC8vIHRoaXMgc2hvdWxkIG5vdCBoYXZlIGFueSBjb250ZW50IHRvIHJlYWRcbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDQpIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7XG4gICAgaWYgKCFyZXNwb25zZS5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdqc29uJykpIHtcbiAgICAgIHJldHVybiByZXNwb25zZS50ZXh0KCkudGhlbih0ZXh0ID0+IHtcbiAgICAgICAgLy8gc3RyaW5nIG9yICdub3Qgc2V0JyBzY2hlbWEsIGFyZSB2YWxpZFxuICAgICAgICAvLyB3aGVuIG92ZXJyaWRpbmcgcHJvY2VzcyB0aGV5IG1pZ2h0IGhhbmRsZSBvdGhlciBjYXNlcywgc28gd2UgZG9uJ3Qgd2FudCB0byBibG9jayBvbiBvdXIgbG9naWNcbiAgICAgICAgaWYgKFxuICAgICAgICAgIFsnc3RyaW5nJywgJ3VuZGVmaW5lZCddLmluY2x1ZGVzKHR5cGVvZiB0aGlzLnNjaGVtYSkgfHxcbiAgICAgICAgICB0aGlzLnNjaGVtYSA9PT0gbnVsbCB8fFxuICAgICAgICAgIHRoaXMucHJvY2VzcyAhPT0gUmVzdEVuZHBvaW50LnByb3RvdHlwZS5wcm9jZXNzXG4gICAgICAgIClcbiAgICAgICAgICByZXR1cm4gdGV4dDtcblxuICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBOZXR3b3JrRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICBlcnJvci5zdGF0dXMgPSA0MDQ7XG4gICAgICAgIGVycm9yLm1lc3NhZ2UgPSBgVW5leHBlY3RlZCB0ZXh0IHJlc3BvbnNlIGZvciBzY2hlbWEgJHt0aGlzLnNjaGVtYX1gO1xuICAgICAgICAvLyBjdXN0b20gZGV2LW9ubHkgbWVzc2FnZXMgZm9yIG1vcmUgZGV0YWlsZWQgY2F1c2VcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhKFxuICAgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdodG1sJykgfHxcbiAgICAgICAgICAgICAgdGV4dC5zdGFydHNXaXRoKCc8IWRvY3R5cGUgaHRtbD4nKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgaWYgKHRyeVBhcnNlKHRleHQpICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBcImNvbnRlbnQtdHlwZVwiIGhlYWRlciBkb2VzIG5vdCBpbmNsdWRlIFwianNvblwiLCBidXQgSlNPTiByZXNwb25zZSBmb3VuZC5cblNlZSBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjNDYyNyBmb3IgaW5mb3JtYXRpb24gb24gSlNPTiByZXNwb25zZXNcblxuVXNpbmcgcGFyc2VkIEpTT04uXG5JZiB0ZXh0IGNvbnRlbnQgd2FzIGV4cGVjdGVkIHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjcGFyc2VSZXNwb25zZWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPSBgVW5leHBlY3RlZCBodG1sIHJlc3BvbnNlIGZvciBzY2hlbWEgJHt0aGlzLnNjaGVtYX1cblRoaXMgbGlrZWx5IG1lYW5zIG5vIEFQSSBlbmRwb2ludCB3YXMgY29uZmlndXJlZCBmb3IgdGhpcyByZXF1ZXN0LCByZXN1bHRpbmcgaW4gYW4gSFRNTCBmYWxsYmFjay5cblxuUmVzcG9uc2UgKGZpcnN0IDMwMCBjaGFyYWN0ZXJzKTogJHt0ZXh0LnN1YnN0cmluZygwLCAzMDApfWA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXNwb25zZS5qc29uKCkuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgZXJyb3Iuc3RhdHVzID0gNDAwO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG4gIH1cblxuICBwcm9jZXNzKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgZXJyb3JQb2xpY3koZXJyb3IpIHtcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID49IDUwMCA/ICdzb2Z0JyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldCBwYXRoUmVnZXgoKSB7XG4gICAgcmV0dXJuIHBhdGhUb1JlZ2V4cCh0aGlzLnBhdGgpO1xuICB9XG5cbiAgdGVzdEtleShrZXkpIHtcbiAgICBjb25zdCBwcmVmaXggPSB0aGlzLm1ldGhvZCArICcgJyArIHRoaXMudXJsUHJlZml4O1xuICAgIGlmICgha2V5LnN0YXJ0c1dpdGgocHJlZml4KSkgcmV0dXJuIGZhbHNlO1xuICAgIGxldCBsYXN0UXVlc3Rpb24gPSBrZXkubGFzdEluZGV4T2YoJz8nKTtcbiAgICBpZiAobGFzdFF1ZXN0aW9uID09PSAtMSkgbGFzdFF1ZXN0aW9uID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLnBhdGhSZWdleC50ZXN0KGtleS5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCwgbGFzdFF1ZXN0aW9uKSk7XG4gIH1cblxuICBleHRlbmQob3B0aW9ucykge1xuICAgIC8vIG1ha2UgYSBjb25zdHJ1Y3Rvci9wcm90b3R5cGUgYmFzZWQgb2ZmIHRoaXNcbiAgICAvLyBleHRlbmQgZnJvbSBpdCBhbmQgaW5pdCB3aXRoIG9wdGlvbnMgc2VudFxuICAgIGNsYXNzIEUgZXh0ZW5kcyB0aGlzLmNvbnN0cnVjdG9yIHt9XG5cbiAgICBPYmplY3QuYXNzaWduKEUucHJvdG90eXBlLCB0aGlzKTtcbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBFKFxuICAgICAgLy8gIGZldGNoIGdldCBvdmVycmlkZGVuIGJ5IGZ1bmN0aW9uIHByb3RvdHlwZSwgc28gd2UgbXVzdCBzZXQgaXQgZXhwbGljaXRseSBldmVyeSB0aW1lXG4gICAgICB7IGZldGNoOiB0aGlzLmZldGNoLCAuLi5vcHRpb25zIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfVxuXG4gIHBhZ2luYXRlZChyZW1vdmVDdXJzb3IpIHtcbiAgICBpZiAodHlwZW9mIHJlbW92ZUN1cnNvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHJlbW92ZUN1cnNvcjtcbiAgICAgIHJlbW92ZUN1cnNvciA9ICh7IC4uLnBhcmFtcyB9KSA9PiB7XG4gICAgICAgIGRlbGV0ZSBwYXJhbXNbZmllbGROYW1lXTtcbiAgICAgICAgcmV0dXJuIFtwYXJhbXNdO1xuICAgICAgfTtcbiAgICB9XG4gICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgY29uc3QgY3JlYXRlUGFnaW5hdGVkU2NoZW1hID0gY29sbGVjdGlvbiA9PiB7XG4gICAgICBmb3VuZCA9IHRydWU7XG4gICAgICByZXR1cm4gY29sbGVjdGlvbi5hZGRXaXRoKHBhZ2luYXRlZE1lcmdlLCBwYWdpbmF0ZWRGaWx0ZXIocmVtb3ZlQ3Vyc29yKSk7XG4gICAgfTtcbiAgICBjb25zdCBuZXdTY2hlbWEgPSBtYXBDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBjcmVhdGVQYWdpbmF0ZWRTY2hlbWEpO1xuICAgIGlmIChmb3VuZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHsgc2NoZW1hOiBuZXdTY2hlbWEgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHsgdXBkYXRlOiBwYWdpbmF0aW9uVXBkYXRlKHRoaXMsIHJlbW92ZUN1cnNvcikgfSk7XG4gIH1cblxuICBnZXQgcHVzaCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBzY2hlbWE6IGV4dHJhY3RDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBzID0+IHMucHVzaCksXG4gICAgfSk7XG4gIH1cblxuICBnZXQgdW5zaGlmdCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBzY2hlbWE6IGV4dHJhY3RDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBzID0+IHMudW5zaGlmdCksXG4gICAgfSk7XG4gIH1cblxuICBnZXQgYXNzaWduKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy5hc3NpZ24pLFxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IHRyeVBhcnNlID0gaW5wdXQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGlucHV0KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsUUFBUSxRQUFRLHVCQUF1QjtBQUNoRCxTQUFTQyxZQUFZLFFBQVEsZ0JBQWdCO0FBRTdDLE9BQU9DLGlCQUFpQixNQUFNLHdCQUF3QjtBQUN0RCxPQUFPQyxhQUFhLE1BQU0sb0JBQW9CO0FBQzlDLE9BQU9DLFlBQVksTUFBTSxtQkFBbUI7QUFDNUMsU0FBU0MsY0FBYyxFQUFFQyxlQUFlLFFBQVEsMkJBQTJCO0FBQzNFLE9BQU9DLGdCQUFnQixNQUFNLHVCQUF1QjtBQUNwRCxPQUFPQyxjQUFjLE1BQU0scUJBQXFCO0FBQ2hELFNBQVNDLFVBQVUsRUFBRUMsWUFBWSxFQUFFQyxNQUFNLFFBQVEsa0JBQWtCOztBQUVuRTtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBQUFDLFFBQUEsZ0JBQUFDLDBCQUFBO0FBSUEsZUFBZSxNQUFNQyxZQUFZLFNBQVNkLFFBQVEsQ0FBQztFQUVqRGUsV0FBV0EsQ0FBQ0MsT0FBTyxFQUFFO0lBQUEsSUFBQUMsY0FBQTtJQUNuQixLQUFLLEVBQUFBLGNBQUEsR0FDSEQsT0FBTyxDQUFDRSxLQUFLLFlBQUFELGNBQUEsR0FDWCxVQUFVLEdBQUdFLElBQUksRUFBRTtNQUNqQixNQUFNQyxTQUFTLEdBQ2JDLDJCQUFBLEtBQUksRUFBQVQsUUFBQSxFQUFBQSxRQUFBLEtBQWFPLElBQUksQ0FBQ0csTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBR0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztNQUN2RCxNQUFNSSxJQUFJLEdBQUdGLDJCQUFB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
229
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbmRwb2ludCIsInBhdGhUb1JlZ2V4cCIsImV4dHJhY3RDb2xsZWN0aW9uIiwibWFwQ29sbGVjdGlvbiIsIk5ldHdvcmtFcnJvciIsInBhZ2luYXRlZE1lcmdlIiwicGFnaW5hdGVkRmlsdGVyIiwicGFnaW5hdGlvblVwZGF0ZSIsInBhcmFtc1RvU3RyaW5nIiwiZ2V0VXJsQmFzZSIsImdldFVybFRva2VucyIsImlzUG9qbyIsIl9oYXNCb2R5IiwiX2NsYXNzUHJpdmF0ZUZpZWxkTG9vc2VLZXkiLCJSZXN0RW5kcG9pbnQiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJfb3B0aW9ucyRmZXRjaCIsImZldGNoIiwiYXJncyIsInVybFBhcmFtcyIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlQmFzZSIsImxlbmd0aCIsImJvZHkiLCJ1bmRlZmluZWQiLCJmZXRjaFJlc3BvbnNlIiwidXJsIiwiZ2V0UmVxdWVzdEluaXQiLCJ0aGVuIiwicmVzcG9uc2UiLCJwYXJzZVJlc3BvbnNlIiwicmVzIiwicHJvY2VzcyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5Iiwid3JpdGFibGUiLCJ2YWx1ZSIsInNpZGVFZmZlY3QiLCJtZXRob2QiLCJ1cmxQcmVmaXgiLCJpbmNsdWRlcyIsImdldCIsIl9fbmFtZSIsInBhdGgiLCJrZXkiLCJ1cmxCYXNlIiwidG9rZW5zIiwic2VhcmNoUGFyYW1zIiwia2V5cyIsImZvckVhY2giLCJrIiwiaGFzIiwiZ2V0SGVhZGVycyIsImhlYWRlcnMiLCJib2R5SXNQb2pvIiwiSlNPTiIsInN0cmluZ2lmeSIsImluaXQiLCJyZXF1ZXN0SW5pdCIsInNpZ25hbCIsImlucHV0Iiwib2siLCJjYXRjaCIsImVycm9yIiwiVHlwZUVycm9yIiwic3RhdHVzIiwiX3Jlc3BvbnNlJGhlYWRlcnMkZ2V0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0ZXh0Iiwic2NoZW1hIiwicHJvdG90eXBlIiwibWVzc2FnZSIsImVudiIsIk5PREVfRU5WIiwiX3Jlc3BvbnNlJGhlYWRlcnMkZ2V0MiIsInN0YXJ0c1dpdGgiLCJ0cnlQYXJzZSIsInN1YnN0cmluZyIsImpzb24iLCJlcnJvclBvbGljeSIsInBhdGhSZWdleCIsInRlc3RLZXkiLCJwcmVmaXgiLCJsYXN0UXVlc3Rpb24iLCJsYXN0SW5kZXhPZiIsInRlc3QiLCJleHRlbmQiLCJFIiwiYXNzaWduIiwiaW5zdGFuY2UiLCJwYWdpbmF0ZWQiLCJyZW1vdmVDdXJzb3IiLCJmaWVsZE5hbWUiLCJwYXJhbXMiLCJmb3VuZCIsImNyZWF0ZVBhZ2luYXRlZFNjaGVtYSIsImNvbGxlY3Rpb24iLCJhZGRXaXRoIiwibmV3U2NoZW1hIiwidXBkYXRlIiwicHVzaCIsInMiLCJ1bnNoaWZ0IiwicGFyc2UiLCJlIl0sInNvdXJjZXMiOlsiLi4vc3JjL1Jlc3RFbmRwb2ludC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbmRwb2ludCB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5pbXBvcnQgeyBwYXRoVG9SZWdleHAgfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5cbmltcG9ydCBleHRyYWN0Q29sbGVjdGlvbiBmcm9tICcuL2V4dHJhY3RDb2xsZWN0aW9uLmpzJztcbmltcG9ydCBtYXBDb2xsZWN0aW9uIGZyb20gJy4vbWFwQ29sbGVjdGlvbi5qcyc7XG5pbXBvcnQgTmV0d29ya0Vycm9yIGZyb20gJy4vTmV0d29ya0Vycm9yLmpzJztcbmltcG9ydCB7IHBhZ2luYXRlZE1lcmdlLCBwYWdpbmF0ZWRGaWx0ZXIgfSBmcm9tICcuL3BhZ2luYXRlZENvbGxlY3Rpb25zLmpzJztcbmltcG9ydCBwYWdpbmF0aW9uVXBkYXRlIGZyb20gJy4vcGFnaW5hdGlvblVwZGF0ZS5qcyc7XG5pbXBvcnQgcGFyYW1zVG9TdHJpbmcgZnJvbSAnLi9wYXJhbXNUb1N0cmluZy5qcyc7XG5pbXBvcnQgeyBnZXRVcmxCYXNlLCBnZXRVcmxUb2tlbnMsIGlzUG9qbyB9IGZyb20gJy4vUmVzdEhlbHBlcnMuanMnO1xuXG4vKiogU2ltcGxpZmllcyBlbmRwb2ludCBkZWZpbml0aW9ucyB0aGF0IGZvbGxvdyBSRVNUIHBhdHRlcm5zXG4gKlxuICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnRcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVzdEVuZHBvaW50IGV4dGVuZHMgRW5kcG9pbnQge1xuICAjaGFzQm9keTtcbiAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgIHN1cGVyKFxuICAgICAgb3B0aW9ucy5mZXRjaCA/P1xuICAgICAgICBhc3luYyBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICAgIGNvbnN0IHVybFBhcmFtcyA9XG4gICAgICAgICAgICB0aGlzLiNoYXNCb2R5ICYmIGFyZ3MubGVuZ3RoIDwgMiA/IHt9IDogYXJnc1swXSB8fCB7fTtcbiAgICAgICAgICBjb25zdCBib2R5ID0gdGhpcy4jaGFzQm9keSA/IGFyZ3NbYXJncy5sZW5ndGggLSAxXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFJlc3BvbnNlKFxuICAgICAgICAgICAgdGhpcy51cmwodXJsUGFyYW1zKSxcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0UmVxdWVzdEluaXQoYm9keSksXG4gICAgICAgICAgKVxuICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gdGhpcy5wYXJzZVJlc3BvbnNlKHJlc3BvbnNlKSlcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB0aGlzLnByb2Nlc3MocmVzLCAuLi5hcmdzKSk7XG4gICAgICAgIH0sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gICAgLy8gd2Ugd2FudCB0byB1c2UgdGhlIHByb3RvdHlwZSBjaGFpbiBoZXJlXG4gICAgaWYgKFxuICAgICAgISgnc2lkZUVmZmVjdCcgaW4gdGhpcykgfHxcbiAgICAgICgnbWV0aG9kJyBpbiBvcHRpb25zICYmICEoJ3NpZGVFZmZlY3QnIGluIG9wdGlvbnMpKVxuICAgICkge1xuICAgICAgdGhpcy5zaWRlRWZmZWN0ID1cbiAgICAgICAgb3B0aW9ucy5tZXRob2QgPT09ICdHRVQnIHx8IG9wdGlvbnMubWV0aG9kID09PSB1bmRlZmluZWRcbiAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgIDogdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWV0aG9kID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubWV0aG9kID0gdGhpcy5zaWRlRWZmZWN0ID8gJ1BPU1QnIDogJ0dFVCc7XG4gICAgfVxuICAgIGlmICh0aGlzLnVybFByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnVybFByZWZpeCA9ICcnO1xuICAgIH1cbiAgICB0aGlzLiNoYXNCb2R5ID1cbiAgICAgICghKCdib2R5JyBpbiB0aGlzKSB8fCB0aGlzLmJvZHkgIT09IHVuZGVmaW5lZCkgJiZcbiAgICAgICFbJ0dFVCcsICdERUxFVEUnXS5pbmNsdWRlcyh0aGlzLm1ldGhvZCk7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ25hbWUnLCB7XG4gICAgICBnZXQoKSB7XG4gICAgICAgIC8vIHVzaW5nICdpbicgdG8gZW5zdXJlIGluaGVyaXRhbmNlIGxvb2t1cFxuICAgICAgICBpZiAoJ19fbmFtZScgaW4gdGhpcykgcmV0dXJuIHRoaXMuX19uYW1lO1xuICAgICAgICByZXR1cm4gdGhpcy51cmxQcmVmaXggKyB0aGlzLnBhdGg7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAga2V5KC4uLmFyZ3MpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5tZXRob2R9ICR7dGhpcy51cmwoXG4gICAgICB0aGlzLiNoYXNCb2R5ICYmIGFyZ3MubGVuZ3RoIDwgMiA/IHt9IDogYXJnc1swXSB8fCB7fSxcbiAgICApfWA7XG4gIH1cblxuICAvKiogR2V0IHRoZSB1cmwgKi9cbiAgdXJsKHVybFBhcmFtcyA9IHt9KSB7XG4gICAgY29uc3QgdXJsQmFzZSA9IGdldFVybEJhc2UodGhpcy5wYXRoKSh1cmxQYXJhbXMpO1xuICAgIGNvbnN0IHRva2VucyA9IGdldFVybFRva2Vucyh0aGlzLnBhdGgpO1xuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IHt9O1xuICAgIE9iamVjdC5rZXlzKHVybFBhcmFtcykuZm9yRWFjaChrID0+IHtcbiAgICAgIGlmICghdG9rZW5zLmhhcyhrKSkge1xuICAgICAgICBzZWFyY2hQYXJhbXNba10gPSB1cmxQYXJhbXNba107XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKE9iamVjdC5rZXlzKHNlYXJjaFBhcmFtcykubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy51cmxQcmVmaXh9JHt1cmxCYXNlfT8ke3BhcmFtc1RvU3RyaW5nKHNlYXJjaFBhcmFtcyl9YDtcbiAgICB9XG4gICAgcmV0dXJuIGAke3RoaXMudXJsUHJlZml4fSR7dXJsQmFzZX1gO1xuICB9XG5cbiAgZ2V0SGVhZGVycyhoZWFkZXJzKSB7XG4gICAgcmV0dXJuIGhlYWRlcnM7XG4gIH1cblxuICAvKiogSW5pdCBvcHRpb25zIGZvciBmZXRjaCAtIHJ1biBhdCBmZXRjaCAqL1xuICBhc3luYyBnZXRSZXF1ZXN0SW5pdChib2R5KSB7XG4gICAgY29uc3QgYm9keUlzUG9qbyA9IGlzUG9qbyhib2R5KTtcbiAgICBpZiAoYm9keUlzUG9qbykge1xuICAgICAgYm9keSA9IEpTT04uc3RyaW5naWZ5KGJvZHkpO1xuICAgIH1cbiAgICBjb25zdCBpbml0ID0ge1xuICAgICAgLi4udGhpcy5yZXF1ZXN0SW5pdCxcbiAgICAgIG1ldGhvZDogdGhpcy5tZXRob2QsXG4gICAgICBzaWduYWw6IHRoaXMuc2lnbmFsLFxuICAgICAgYm9keSxcbiAgICB9O1xuICAgIGlmICghYm9keSB8fCBib2R5SXNQb2pvKSB7XG4gICAgICBpbml0LmhlYWRlcnMgPSB7XG4gICAgICAgIC8vIGRlZmF1bHQgdG8gYXBwbGljYXRpb24vanNvbiBidXQgYWxsb3cgdXNlciBleHBsaWNpdCBvdmVycmlkZXNcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgLi4uaW5pdC5oZWFkZXJzLFxuICAgICAgfTtcbiAgICB9XG4gICAgaW5pdC5oZWFkZXJzID0gYXdhaXQgdGhpcy5nZXRIZWFkZXJzKGluaXQuaGVhZGVycyk7XG4gICAgcmV0dXJuIGluaXQ7XG4gIH1cblxuICAvKiogUGVyZm9ybSBuZXR3b3JrIHJlcXVlc3QgYW5kIHJlc29sdmUgd2l0aCBIVFRQIFJlc3BvbnNlICovXG4gIGZldGNoUmVzcG9uc2UoaW5wdXQsIGluaXQpIHtcbiAgICByZXR1cm4gZmV0Y2goaW5wdXQsIGluaXQpXG4gICAgICAudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICB0aHJvdyBuZXcgTmV0d29ya0Vycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgLy8gZW5zdXJlIENPUlMsIG5ldHdvcmsgZG93biwgYW5kIHBhcnNlIGVycm9ycyBhcmUgc3RpbGwgY2F1Z2h0IGJ5IE5ldHdvcmtFcnJvckJvdW5kYXJ5XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFR5cGVFcnJvcikge1xuICAgICAgICAgIGVycm9yLnN0YXR1cyA9IDUwMDtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICB9XG5cbiAgcGFyc2VSZXNwb25zZShyZXNwb25zZSkge1xuICAgIC8vIHRoaXMgc2hvdWxkIG5vdCBoYXZlIGFueSBjb250ZW50IHRvIHJlYWRcbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDQpIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7XG4gICAgaWYgKCFyZXNwb25zZS5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdqc29uJykpIHtcbiAgICAgIHJldHVybiByZXNwb25zZS50ZXh0KCkudGhlbih0ZXh0ID0+IHtcbiAgICAgICAgLy8gc3RyaW5nIG9yICdub3Qgc2V0JyBzY2hlbWEsIGFyZSB2YWxpZFxuICAgICAgICAvLyB3aGVuIG92ZXJyaWRpbmcgcHJvY2VzcyB0aGV5IG1pZ2h0IGhhbmRsZSBvdGhlciBjYXNlcywgc28gd2UgZG9uJ3Qgd2FudCB0byBibG9jayBvbiBvdXIgbG9naWNcbiAgICAgICAgaWYgKFxuICAgICAgICAgIFsnc3RyaW5nJywgJ3VuZGVmaW5lZCddLmluY2x1ZGVzKHR5cGVvZiB0aGlzLnNjaGVtYSkgfHxcbiAgICAgICAgICB0aGlzLnNjaGVtYSA9PT0gbnVsbCB8fFxuICAgICAgICAgIHRoaXMucHJvY2VzcyAhPT0gUmVzdEVuZHBvaW50LnByb3RvdHlwZS5wcm9jZXNzXG4gICAgICAgIClcbiAgICAgICAgICByZXR1cm4gdGV4dDtcblxuICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBOZXR3b3JrRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICBlcnJvci5zdGF0dXMgPSA0MDQ7XG4gICAgICAgIGVycm9yLm1lc3NhZ2UgPSBgVW5leHBlY3RlZCB0ZXh0IHJlc3BvbnNlIGZvciBzY2hlbWEgJHt0aGlzLnNjaGVtYX1gO1xuICAgICAgICAvLyBjdXN0b20gZGV2LW9ubHkgbWVzc2FnZXMgZm9yIG1vcmUgZGV0YWlsZWQgY2F1c2VcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhKFxuICAgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdodG1sJykgfHxcbiAgICAgICAgICAgICAgdGV4dC5zdGFydHNXaXRoKCc8IWRvY3R5cGUgaHRtbD4nKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgaWYgKHRyeVBhcnNlKHRleHQpICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBcImNvbnRlbnQtdHlwZVwiIGhlYWRlciBkb2VzIG5vdCBpbmNsdWRlIFwianNvblwiLCBidXQgSlNPTiByZXNwb25zZSBmb3VuZC5cblNlZSBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjNDYyNyBmb3IgaW5mb3JtYXRpb24gb24gSlNPTiByZXNwb25zZXNcblxuVXNpbmcgcGFyc2VkIEpTT04uXG5JZiB0ZXh0IGNvbnRlbnQgd2FzIGV4cGVjdGVkIHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjcGFyc2VSZXNwb25zZWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPSBgVW5leHBlY3RlZCBodG1sIHJlc3BvbnNlIGZvciBzY2hlbWEgJHt0aGlzLnNjaGVtYX1cblRoaXMgbGlrZWx5IG1lYW5zIG5vIEFQSSBlbmRwb2ludCB3YXMgY29uZmlndXJlZCBmb3IgdGhpcyByZXF1ZXN0LCByZXN1bHRpbmcgaW4gYW4gSFRNTCBmYWxsYmFjay5cblxuUmVzcG9uc2UgKGZpcnN0IDMwMCBjaGFyYWN0ZXJzKTogJHt0ZXh0LnN1YnN0cmluZygwLCAzMDApfWA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXNwb25zZS5qc29uKCkuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgZXJyb3Iuc3RhdHVzID0gNDAwO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG4gIH1cblxuICBwcm9jZXNzKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgZXJyb3JQb2xpY3koZXJyb3IpIHtcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID49IDUwMCA/ICdzb2Z0JyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldCBwYXRoUmVnZXgoKSB7XG4gICAgcmV0dXJuIHBhdGhUb1JlZ2V4cCh0aGlzLnBhdGgpO1xuICB9XG5cbiAgdGVzdEtleShrZXkpIHtcbiAgICBjb25zdCBwcmVmaXggPSB0aGlzLm1ldGhvZCArICcgJyArIHRoaXMudXJsUHJlZml4O1xuICAgIGlmICgha2V5LnN0YXJ0c1dpdGgocHJlZml4KSkgcmV0dXJuIGZhbHNlO1xuICAgIGxldCBsYXN0UXVlc3Rpb24gPSBrZXkubGFzdEluZGV4T2YoJz8nKTtcbiAgICBpZiAobGFzdFF1ZXN0aW9uID09PSAtMSkgbGFzdFF1ZXN0aW9uID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLnBhdGhSZWdleC50ZXN0KGtleS5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCwgbGFzdFF1ZXN0aW9uKSk7XG4gIH1cblxuICBleHRlbmQob3B0aW9ucykge1xuICAgIC8vIG1ha2UgYSBjb25zdHJ1Y3Rvci9wcm90b3R5cGUgYmFzZWQgb2ZmIHRoaXNcbiAgICAvLyBleHRlbmQgZnJvbSBpdCBhbmQgaW5pdCB3aXRoIG9wdGlvbnMgc2VudFxuICAgIGNsYXNzIEUgZXh0ZW5kcyB0aGlzLmNvbnN0cnVjdG9yIHt9XG5cbiAgICBPYmplY3QuYXNzaWduKEUucHJvdG90eXBlLCB0aGlzKTtcbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBFKFxuICAgICAgLy8gIGZldGNoIGdldCBvdmVycmlkZGVuIGJ5IGZ1bmN0aW9uIHByb3RvdHlwZSwgc28gd2UgbXVzdCBzZXQgaXQgZXhwbGljaXRseSBldmVyeSB0aW1lXG4gICAgICB7IGZldGNoOiB0aGlzLmZldGNoLCAuLi5vcHRpb25zIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfVxuXG4gIHBhZ2luYXRlZChyZW1vdmVDdXJzb3IpIHtcbiAgICBpZiAodHlwZW9mIHJlbW92ZUN1cnNvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHJlbW92ZUN1cnNvcjtcbiAgICAgIHJlbW92ZUN1cnNvciA9ICh7IC4uLnBhcmFtcyB9KSA9PiB7XG4gICAgICAgIGRlbGV0ZSBwYXJhbXNbZmllbGROYW1lXTtcbiAgICAgICAgcmV0dXJuIFtwYXJhbXNdO1xuICAgICAgfTtcbiAgICB9XG4gICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgY29uc3QgY3JlYXRlUGFnaW5hdGVkU2NoZW1hID0gY29sbGVjdGlvbiA9PiB7XG4gICAgICBmb3VuZCA9IHRydWU7XG4gICAgICByZXR1cm4gY29sbGVjdGlvbi5hZGRXaXRoKHBhZ2luYXRlZE1lcmdlLCBwYWdpbmF0ZWRGaWx0ZXIocmVtb3ZlQ3Vyc29yKSk7XG4gICAgfTtcbiAgICBjb25zdCBuZXdTY2hlbWEgPSBtYXBDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBjcmVhdGVQYWdpbmF0ZWRTY2hlbWEpO1xuICAgIGlmIChmb3VuZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHsgc2NoZW1hOiBuZXdTY2hlbWEgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHsgdXBkYXRlOiBwYWdpbmF0aW9uVXBkYXRlKHRoaXMsIHJlbW92ZUN1cnNvcikgfSk7XG4gIH1cblxuICBnZXQgcHVzaCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBzY2hlbWE6IGV4dHJhY3RDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBzID0+IHMucHVzaCksXG4gICAgfSk7XG4gIH1cblxuICBnZXQgdW5zaGlmdCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBzY2hlbWE6IGV4dHJhY3RDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBzID0+IHMudW5zaGlmdCksXG4gICAgfSk7XG4gIH1cblxuICBnZXQgYXNzaWduKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy5hc3NpZ24pLFxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IHRyeVBhcnNlID0gaW5wdXQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGlucHV0KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsUUFBUSxRQUFRLHVCQUF1QjtBQUNoRCxTQUFTQyxZQUFZLFFBQVEsZ0JBQWdCO0FBRTdDLE9BQU9DLGlCQUFpQixNQUFNLHdCQUF3QjtBQUN0RCxPQUFPQyxhQUFhLE1BQU0sb0JBQW9CO0FBQzlDLE9BQU9DLFlBQVksTUFBTSxtQkFBbUI7QUFDNUMsU0FBU0MsY0FBYyxFQUFFQyxlQUFlLFFBQVEsMkJBQTJCO0FBQzNFLE9BQU9DLGdCQUFnQixNQUFNLHVCQUF1QjtBQUNwRCxPQUFPQyxjQUFjLE1BQU0scUJBQXFCO0FBQ2hELFNBQVNDLFVBQVUsRUFBRUMsWUFBWSxFQUFFQyxNQUFNLFFBQVEsa0JBQWtCOztBQUVuRTtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBQUFDLFFBQUEsZ0JBQUFDLDBCQUFBO0FBSUEsZUFBZSxNQUFNQyxZQUFZLFNBQVNkLFFBQVEsQ0FBQztFQUVqRGUsV0FBV0EsQ0FBQ0MsT0FBTyxFQUFFO0lBQUEsSUFBQUMsY0FBQTtJQUNuQixLQUFLLEVBQUFBLGNBQUEsR0FDSEQsT0FBTyxDQUFDRSxLQUFLLFlBQUFELGNBQUEsR0FDWCxnQkFBZ0IsR0FBR0UsSUFBSSxFQUFFO01BQ3ZCLE1BQU1DLFNBQVMsR0FDYkMsMkJBQUEsS0FBSSxFQUFBVCxRQUFBLEVBQUFBLFFBQUEsS0FBYU8sSUFBSSxDQUFDRyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHSCxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO01B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
@@ -25,9 +25,11 @@ export function isPojo(obj) {
25
25
  return gpo(obj) === proto;
26
26
  }
27
27
  export function shortenPath(path) {
28
+ const lastColonIndex = path.lastIndexOf(':');
29
+ if (lastColonIndex === -1) throw new Error('Resource path requires at least one :parameter');
28
30
  // this is for when not specifying a specific item like create/list
29
- let shortUrlRoot = path.substring(0, path.lastIndexOf(':'));
31
+ let shortUrlRoot = path.substring(0, lastColonIndex);
30
32
  if (shortUrlRoot[shortUrlRoot.length - 1] === '/') shortUrlRoot = shortUrlRoot.substring(0, shortUrlRoot.length - 1);
31
33
  return shortUrlRoot;
32
34
  }
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21waWxlIiwicGFyc2UiLCJ1cmxCYXNlQ2FjaGUiLCJPYmplY3QiLCJjcmVhdGUiLCJnZXRVcmxCYXNlIiwicGF0aCIsImVuY29kZSIsImVuY29kZVVSSUNvbXBvbmVudCIsInZhbGlkYXRlIiwidXJsVG9rZW5zQ2FjaGUiLCJnZXRVcmxUb2tlbnMiLCJTZXQiLCJtYXAiLCJ0IiwicHJvdG8iLCJwcm90b3R5cGUiLCJncG8iLCJnZXRQcm90b3R5cGVPZiIsImlzUG9qbyIsIm9iaiIsInNob3J0ZW5QYXRoIiwic2hvcnRVcmxSb290Iiwic3Vic3RyaW5nIiwibGFzdEluZGV4T2YiLCJsZW5ndGgiXSwic291cmNlcyI6WyIuLi9zcmMvUmVzdEhlbHBlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcGlsZSwgUGF0aEZ1bmN0aW9uLCBwYXJzZSB9IGZyb20gJ3BhdGgtdG8tcmVnZXhwJztcblxuaW1wb3J0IHsgU2hvcnRlblBhdGggfSBmcm9tICcuL3BhdGhUeXBlcy5qcyc7XG5cbmNvbnN0IHVybEJhc2VDYWNoZTogUmVjb3JkPHN0cmluZywgUGF0aEZ1bmN0aW9uPG9iamVjdD4+ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbmV4cG9ydCBmdW5jdGlvbiBnZXRVcmxCYXNlKHBhdGg6IHN0cmluZyk6IFBhdGhGdW5jdGlvbiB7XG4gIGlmICghKHBhdGggaW4gdXJsQmFzZUNhY2hlKSkge1xuICAgIHVybEJhc2VDYWNoZVtwYXRoXSA9IGNvbXBpbGUocGF0aCwge1xuICAgICAgZW5jb2RlOiBlbmNvZGVVUklDb21wb25lbnQsXG4gICAgICB2YWxpZGF0ZTogZmFsc2UsXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHVybEJhc2VDYWNoZVtwYXRoXTtcbn1cblxuY29uc3QgdXJsVG9rZW5zQ2FjaGU6IFJlY29yZDxzdHJpbmcsIFNldDxzdHJpbmc+PiA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5leHBvcnQgZnVuY3Rpb24gZ2V0VXJsVG9rZW5zKHBhdGg6IHN0cmluZyk6IFNldDxzdHJpbmc+IHtcbiAgaWYgKCEocGF0aCBpbiB1cmxUb2tlbnNDYWNoZSkpIHtcbiAgICB1cmxUb2tlbnNDYWNoZVtwYXRoXSA9IG5ldyBTZXQoXG4gICAgICBwYXJzZShwYXRoKS5tYXAodCA9PiAodHlwZW9mIHQgPT09ICdzdHJpbmcnID8gdCA6IGAke3RbJ25hbWUnXX1gKSksXG4gICAgKTtcbiAgfVxuICByZXR1cm4gdXJsVG9rZW5zQ2FjaGVbcGF0aF07XG59XG5cbmNvbnN0IHByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcbmNvbnN0IGdwbyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzUG9qbyhvYmo6IHVua25vd24pOiBvYmogaXMgUmVjb3JkPHN0cmluZywgYW55PiB7XG4gIGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIGdwbyhvYmopID09PSBwcm90bztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNob3J0ZW5QYXRoPFMgZXh0ZW5kcyBzdHJpbmc+KHBhdGg6IFMpOiBTaG9ydGVuUGF0aDxTPiB7XG4gIC8vIHRoaXMgaXMgZm9yIHdoZW4gbm90IHNwZWNpZnlpbmcgYSBzcGVjaWZpYyBpdGVtIGxpa2UgY3JlYXRlL2xpc3RcbiAgbGV0IHNob3J0VXJsUm9vdDogU2hvcnRlblBhdGg8Uz4gPSBwYXRoLnN1YnN0cmluZyhcbiAgICAwLFxuICAgIHBhdGgubGFzdEluZGV4T2YoJzonKSxcbiAgKSBhcyBhbnk7XG4gIGlmIChzaG9ydFVybFJvb3Rbc2hvcnRVcmxSb290Lmxlbmd0aCAtIDFdID09PSAnLycpXG4gICAgc2hvcnRVcmxSb290ID0gc2hvcnRVcmxSb290LnN1YnN0cmluZyhcbiAgICAgIDAsXG4gICAgICBzaG9ydFVybFJvb3QubGVuZ3RoIC0gMSxcbiAgICApIGFzIFNob3J0ZW5QYXRoPFM+O1xuICByZXR1cm4gc2hvcnRVcmxSb290O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxPQUFPLEVBQWdCQyxLQUFLLFFBQVEsZ0JBQWdCO0FBSTdELE1BQU1DLFlBQWtELEdBQUdDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLElBQUksQ0FBQztBQUM5RSxPQUFPLFNBQVNDLFVBQVVBLENBQUNDLElBQVksRUFBZ0I7RUFDckQsSUFBSSxFQUFFQSxJQUFJLElBQUlKLFlBQVksQ0FBQyxFQUFFO0lBQzNCQSxZQUFZLENBQUNJLElBQUksQ0FBQyxHQUFHTixPQUFPLENBQUNNLElBQUksRUFBRTtNQUNqQ0MsTUFBTSxFQUFFQyxrQkFBa0I7TUFDMUJDLFFBQVEsRUFBRTtJQUNaLENBQUMsQ0FBQztFQUNKO0VBQ0EsT0FBT1AsWUFBWSxDQUFDSSxJQUFJLENBQUM7QUFDM0I7QUFFQSxNQUFNSSxjQUEyQyxHQUFHUCxNQUFNLENBQUNDLE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDdkUsT0FBTyxTQUFTTyxZQUFZQSxDQUFDTCxJQUFZLEVBQWU7RUFDdEQsSUFBSSxFQUFFQSxJQUFJLElBQUlJLGNBQWMsQ0FBQyxFQUFFO0lBQzdCQSxjQUFjLENBQUNKLElBQUksQ0FBQyxHQUFHLElBQUlNLEdBQUcsQ0FDNUJYLEtBQUssQ0FBQ0ssSUFBSSxDQUFDLENBQUNPLEdBQUcsQ0FBQ0MsQ0FBQyxJQUFLLE9BQU9BLENBQUMsS0FBSyxRQUFRLEdBQUdBLENBQUMsR0FBSSxHQUFFQSxDQUFDLENBQUMsTUFBTSxDQUFFLEVBQUUsQ0FDbkUsQ0FBQztFQUNIO0VBQ0EsT0FBT0osY0FBYyxDQUFDSixJQUFJLENBQUM7QUFDN0I7QUFFQSxNQUFNUyxLQUFLLEdBQUdaLE1BQU0sQ0FBQ2EsU0FBUztBQUM5QixNQUFNQyxHQUFHLEdBQUdkLE1BQU0sQ0FBQ2UsY0FBYztBQUVqQyxPQUFPLFNBQVNDLE1BQU1BLENBQUNDLEdBQVksRUFBOEI7RUFDL0QsSUFBSUEsR0FBRyxLQUFLLElBQUksSUFBSSxPQUFPQSxHQUFHLEtBQUssUUFBUSxFQUFFO0lBQzNDLE9BQU8sS0FBSztFQUNkO0VBQ0EsT0FBT0gsR0FBRyxDQUFDRyxHQUFHLENBQUMsS0FBS0wsS0FBSztBQUMzQjtBQUVBLE9BQU8sU0FBU00sV0FBV0EsQ0FBbUJmLElBQU8sRUFBa0I7RUFDckU7RUFDQSxJQUFJZ0IsWUFBNEIsR0FBR2hCLElBQUksQ0FBQ2lCLFNBQVMsQ0FDL0MsQ0FBQyxFQUNEakIsSUFBSSxDQUFDa0IsV0FBVyxDQUFDLEdBQUcsQ0FDdEIsQ0FBUTtFQUNSLElBQUlGLFlBQVksQ0FBQ0EsWUFBWSxDQUFDRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUMvQ0gsWUFBWSxHQUFHQSxZQUFZLENBQUNDLFNBQVMsQ0FDbkMsQ0FBQyxFQUNERCxZQUFZLENBQUNHLE1BQU0sR0FBRyxDQUN4QixDQUFtQjtFQUNyQixPQUFPSCxZQUFZO0FBQ3JCIn0=
35
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21waWxlIiwicGFyc2UiLCJ1cmxCYXNlQ2FjaGUiLCJPYmplY3QiLCJjcmVhdGUiLCJnZXRVcmxCYXNlIiwicGF0aCIsImVuY29kZSIsImVuY29kZVVSSUNvbXBvbmVudCIsInZhbGlkYXRlIiwidXJsVG9rZW5zQ2FjaGUiLCJnZXRVcmxUb2tlbnMiLCJTZXQiLCJtYXAiLCJ0IiwicHJvdG8iLCJwcm90b3R5cGUiLCJncG8iLCJnZXRQcm90b3R5cGVPZiIsImlzUG9qbyIsIm9iaiIsInNob3J0ZW5QYXRoIiwibGFzdENvbG9uSW5kZXgiLCJsYXN0SW5kZXhPZiIsIkVycm9yIiwic2hvcnRVcmxSb290Iiwic3Vic3RyaW5nIiwibGVuZ3RoIl0sInNvdXJjZXMiOlsiLi4vc3JjL1Jlc3RIZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXBpbGUsIFBhdGhGdW5jdGlvbiwgcGFyc2UgfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5cbmltcG9ydCB7IFNob3J0ZW5QYXRoIH0gZnJvbSAnLi9wYXRoVHlwZXMuanMnO1xuXG5jb25zdCB1cmxCYXNlQ2FjaGU6IFJlY29yZDxzdHJpbmcsIFBhdGhGdW5jdGlvbjxvYmplY3Q+PiA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5leHBvcnQgZnVuY3Rpb24gZ2V0VXJsQmFzZShwYXRoOiBzdHJpbmcpOiBQYXRoRnVuY3Rpb24ge1xuICBpZiAoIShwYXRoIGluIHVybEJhc2VDYWNoZSkpIHtcbiAgICB1cmxCYXNlQ2FjaGVbcGF0aF0gPSBjb21waWxlKHBhdGgsIHtcbiAgICAgIGVuY29kZTogZW5jb2RlVVJJQ29tcG9uZW50LFxuICAgICAgdmFsaWRhdGU6IGZhbHNlLFxuICAgIH0pO1xuICB9XG4gIHJldHVybiB1cmxCYXNlQ2FjaGVbcGF0aF07XG59XG5cbmNvbnN0IHVybFRva2Vuc0NhY2hlOiBSZWNvcmQ8c3RyaW5nLCBTZXQ8c3RyaW5nPj4gPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuZXhwb3J0IGZ1bmN0aW9uIGdldFVybFRva2VucyhwYXRoOiBzdHJpbmcpOiBTZXQ8c3RyaW5nPiB7XG4gIGlmICghKHBhdGggaW4gdXJsVG9rZW5zQ2FjaGUpKSB7XG4gICAgdXJsVG9rZW5zQ2FjaGVbcGF0aF0gPSBuZXcgU2V0KFxuICAgICAgcGFyc2UocGF0aCkubWFwKHQgPT4gKHR5cGVvZiB0ID09PSAnc3RyaW5nJyA/IHQgOiBgJHt0WyduYW1lJ119YCkpLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHVybFRva2Vuc0NhY2hlW3BhdGhdO1xufVxuXG5jb25zdCBwcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5jb25zdCBncG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Y7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Bvam8ob2JqOiB1bmtub3duKTogb2JqIGlzIFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBncG8ob2JqKSA9PT0gcHJvdG87XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaG9ydGVuUGF0aDxTIGV4dGVuZHMgc3RyaW5nPihwYXRoOiBTKTogU2hvcnRlblBhdGg8Uz4ge1xuICBjb25zdCBsYXN0Q29sb25JbmRleCA9IHBhdGgubGFzdEluZGV4T2YoJzonKTtcbiAgaWYgKGxhc3RDb2xvbkluZGV4ID09PSAtMSlcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Jlc291cmNlIHBhdGggcmVxdWlyZXMgYXQgbGVhc3Qgb25lIDpwYXJhbWV0ZXInKTtcbiAgLy8gdGhpcyBpcyBmb3Igd2hlbiBub3Qgc3BlY2lmeWluZyBhIHNwZWNpZmljIGl0ZW0gbGlrZSBjcmVhdGUvbGlzdFxuICBsZXQgc2hvcnRVcmxSb290OiBTaG9ydGVuUGF0aDxTPiA9IHBhdGguc3Vic3RyaW5nKDAsIGxhc3RDb2xvbkluZGV4KSBhcyBhbnk7XG4gIGlmIChzaG9ydFVybFJvb3Rbc2hvcnRVcmxSb290Lmxlbmd0aCAtIDFdID09PSAnLycpXG4gICAgc2hvcnRVcmxSb290ID0gc2hvcnRVcmxSb290LnN1YnN0cmluZyhcbiAgICAgIDAsXG4gICAgICBzaG9ydFVybFJvb3QubGVuZ3RoIC0gMSxcbiAgICApIGFzIFNob3J0ZW5QYXRoPFM+O1xuICByZXR1cm4gc2hvcnRVcmxSb290O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxPQUFPLEVBQWdCQyxLQUFLLFFBQVEsZ0JBQWdCO0FBSTdELE1BQU1DLFlBQWtELEdBQUdDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLElBQUksQ0FBQztBQUM5RSxPQUFPLFNBQVNDLFVBQVVBLENBQUNDLElBQVksRUFBZ0I7RUFDckQsSUFBSSxFQUFFQSxJQUFJLElBQUlKLFlBQVksQ0FBQyxFQUFFO0lBQzNCQSxZQUFZLENBQUNJLElBQUksQ0FBQyxHQUFHTixPQUFPLENBQUNNLElBQUksRUFBRTtNQUNqQ0MsTUFBTSxFQUFFQyxrQkFBa0I7TUFDMUJDLFFBQVEsRUFBRTtJQUNaLENBQUMsQ0FBQztFQUNKO0VBQ0EsT0FBT1AsWUFBWSxDQUFDSSxJQUFJLENBQUM7QUFDM0I7QUFFQSxNQUFNSSxjQUEyQyxHQUFHUCxNQUFNLENBQUNDLE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDdkUsT0FBTyxTQUFTTyxZQUFZQSxDQUFDTCxJQUFZLEVBQWU7RUFDdEQsSUFBSSxFQUFFQSxJQUFJLElBQUlJLGNBQWMsQ0FBQyxFQUFFO0lBQzdCQSxjQUFjLENBQUNKLElBQUksQ0FBQyxHQUFHLElBQUlNLEdBQUcsQ0FDNUJYLEtBQUssQ0FBQ0ssSUFBSSxDQUFDLENBQUNPLEdBQUcsQ0FBQ0MsQ0FBQyxJQUFLLE9BQU9BLENBQUMsS0FBSyxRQUFRLEdBQUdBLENBQUMsR0FBSSxHQUFFQSxDQUFDLENBQUMsTUFBTSxDQUFFLEVBQUUsQ0FDbkUsQ0FBQztFQUNIO0VBQ0EsT0FBT0osY0FBYyxDQUFDSixJQUFJLENBQUM7QUFDN0I7QUFFQSxNQUFNUyxLQUFLLEdBQUdaLE1BQU0sQ0FBQ2EsU0FBUztBQUM5QixNQUFNQyxHQUFHLEdBQUdkLE1BQU0sQ0FBQ2UsY0FBYztBQUVqQyxPQUFPLFNBQVNDLE1BQU1BLENBQUNDLEdBQVksRUFBOEI7RUFDL0QsSUFBSUEsR0FBRyxLQUFLLElBQUksSUFBSSxPQUFPQSxHQUFHLEtBQUssUUFBUSxFQUFFO0lBQzNDLE9BQU8sS0FBSztFQUNkO0VBQ0EsT0FBT0gsR0FBRyxDQUFDRyxHQUFHLENBQUMsS0FBS0wsS0FBSztBQUMzQjtBQUVBLE9BQU8sU0FBU00sV0FBV0EsQ0FBbUJmLElBQU8sRUFBa0I7RUFDckUsTUFBTWdCLGNBQWMsR0FBR2hCLElBQUksQ0FBQ2lCLFdBQVcsQ0FBQyxHQUFHLENBQUM7RUFDNUMsSUFBSUQsY0FBYyxLQUFLLENBQUMsQ0FBQyxFQUN2QixNQUFNLElBQUlFLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQztFQUNuRTtFQUNBLElBQUlDLFlBQTRCLEdBQUduQixJQUFJLENBQUNvQixTQUFTLENBQUMsQ0FBQyxFQUFFSixjQUFjLENBQVE7RUFDM0UsSUFBSUcsWUFBWSxDQUFDQSxZQUFZLENBQUNFLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQy9DRixZQUFZLEdBQUdBLFlBQVksQ0FBQ0MsU0FBUyxDQUNuQyxDQUFDLEVBQ0RELFlBQVksQ0FBQ0UsTUFBTSxHQUFHLENBQ3hCLENBQW1CO0VBQ3JCLE9BQU9GLFlBQVk7QUFDckIifQ==
@@ -1,66 +1,99 @@
1
1
  import { schema } from '@data-client/endpoint';
2
- import type { Schema, Denormalize, EndpointExtraOptions } from '@data-client/endpoint';
3
- import { PathArgs, ShortenPath } from './pathTypes.js';
4
- import RestEndpoint, { NewGetEndpoint, NewMutateEndpoint, RestTypeNoBody } from './RestEndpoint.js';
2
+ import type { Denormalize } from '@data-client/endpoint';
3
+ import { PathArgs, ResourcePath, ShortenPath } from './pathTypes.js';
4
+ import { ResourceGenerics, ResourceOptions } from './resourceTypes.js';
5
+ import { GetEndpoint, MutateEndpoint, PaginationFieldEndpoint, RestTypeNoBody } from './RestEndpoint.js';
5
6
  /** Creates collection of Endpoints for common operations on a given data/schema.
6
7
  *
7
8
  * @see https://resthooks.io/rest/api/createResource
8
9
  */
9
- export default function createResource<U extends string, S extends Schema>({ path, schema, Endpoint, optimistic, ...extraOptions }: {
10
- readonly path: U;
11
- readonly schema: S;
12
- readonly Endpoint?: typeof RestEndpoint;
13
- urlPrefix?: string;
14
- optimistic?: boolean;
15
- } & EndpointExtraOptions): Resource<U, S>;
16
- export interface Resource<U extends string, S extends Schema> {
10
+ export default function createResource<O extends ResourceGenerics>({ path, schema, Endpoint, optimistic, paginationField, ...extraOptions }: Readonly<O> & ResourceOptions): Resource<O>;
11
+ export interface Resource<O extends ResourceGenerics = {
12
+ path: ResourcePath;
13
+ schema: any;
14
+ }> {
17
15
  /** Get a singular item
18
16
  *
19
17
  * @see https://resthooks.io/rest/api/createResource#get
20
18
  */
21
- get: NewGetEndpoint<{
22
- path: U;
23
- }, S>;
19
+ get: GetEndpoint<{
20
+ path: O['path'];
21
+ schema: O['schema'];
22
+ }>;
24
23
  /** Get a list of item
25
24
  *
26
25
  * @see https://resthooks.io/rest/api/createResource#getlist
27
26
  */
28
- getList: NewGetEndpoint<{
29
- path: ShortenPath<U>;
27
+ getList: 'searchParams' extends keyof O ? GetEndpoint<{
28
+ path: ShortenPath<O['path']>;
29
+ schema: schema.Collection<[O['schema']]>;
30
+ searchParams: O['searchParams'];
31
+ }> : GetEndpoint<{
32
+ path: ShortenPath<O['path']>;
33
+ schema: schema.Collection<[O['schema']]>;
30
34
  searchParams: Record<string, number | string | boolean> | undefined;
31
- }, S[]>;
35
+ }>;
36
+ /** Get a list of item
37
+ *
38
+ * @see https://dataclient.io/rest/api/createResource#getNextPage
39
+ */
40
+ getNextPage: 'paginationField' extends keyof O ? PaginationFieldEndpoint<'searchParams' extends keyof O ? GetEndpoint<{
41
+ path: ShortenPath<O['path']>;
42
+ schema: schema.Collection<[O['schema']]>;
43
+ searchParams: O['searchParams'];
44
+ }> : GetEndpoint<{
45
+ path: ShortenPath<O['path']>;
46
+ schema: schema.Collection<[O['schema']]>;
47
+ searchParams: Record<string, number | string | boolean> | undefined;
48
+ }>, Exclude<O['paginationField'], undefined>> : undefined;
32
49
  /** Create a new item (POST)
33
50
  *
34
51
  * @see https://resthooks.io/rest/api/createResource#create
35
52
  */
36
- create: NewMutateEndpoint<{
37
- path: ShortenPath<U>;
38
- body: Partial<Denormalize<S>>;
39
- }, S>;
53
+ create: 'searchParams' extends keyof O ? MutateEndpoint<{
54
+ path: ShortenPath<O['path']>;
55
+ schema: schema.Collection<[O['schema']]>['push'];
56
+ body: 'body' extends keyof O ? O['body'] : Partial<Denormalize<O['schema']>>;
57
+ searchParams: O['searchParams'];
58
+ }> : MutateEndpoint<{
59
+ path: ShortenPath<O['path']>;
60
+ schema: schema.Collection<[O['schema']]>['push'];
61
+ body: 'body' extends keyof O ? O['body'] : Partial<Denormalize<O['schema']>>;
62
+ }>;
40
63
  /** Update an item (PUT)
41
64
  *
42
65
  * @see https://resthooks.io/rest/api/createResource#update
43
66
  */
44
- update: NewMutateEndpoint<{
45
- path: U;
46
- body: Partial<Denormalize<S>>;
47
- }, S>;
67
+ update: 'body' extends keyof O ? MutateEndpoint<{
68
+ path: O['path'];
69
+ body: O['body'];
70
+ schema: O['schema'];
71
+ }> : MutateEndpoint<{
72
+ path: O['path'];
73
+ body: Partial<Denormalize<O['schema']>>;
74
+ schema: O['schema'];
75
+ }>;
48
76
  /** Update an item (PATCH)
49
77
  *
50
78
  * @see https://resthooks.io/rest/api/createResource#partialupdate
51
79
  */
52
- partialUpdate: NewMutateEndpoint<{
53
- path: U;
54
- body: Partial<Denormalize<S>>;
55
- }, S>;
80
+ partialUpdate: 'body' extends keyof O ? MutateEndpoint<{
81
+ path: O['path'];
82
+ body: Partial<O['body']>;
83
+ schema: O['schema'];
84
+ }> : MutateEndpoint<{
85
+ path: O['path'];
86
+ body: Partial<Denormalize<O['schema']>>;
87
+ schema: O['schema'];
88
+ }>;
56
89
  /** Delete an item (DELETE)
57
90
  *
58
91
  * @see https://resthooks.io/rest/api/createResource#delete
59
92
  */
60
- delete: RestTypeNoBody<PathArgs<U>, S extends schema.EntityInterface & {
93
+ delete: RestTypeNoBody<PathArgs<O['path']>, O['schema'] extends schema.EntityInterface & {
61
94
  process: any;
62
- } ? schema.Delete<S> : S, undefined, Partial<PathArgs<U>>, {
63
- path: U;
95
+ } ? schema.Invalidate<O['schema']> : O['schema'], undefined, Partial<PathArgs<O['path']>>, {
96
+ path: O['path'];
64
97
  }>;
65
98
  }
66
99
  //# sourceMappingURL=createResource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createResource.d.ts","sourceRoot":"","sources":["../src/createResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EAEP,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,YAAY,EAAE,EACnB,cAAc,EACd,iBAAiB,EAEjB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAK3B;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,EACzE,IAAI,EACJ,MAAM,EACN,QAAuB,EACvB,UAAU,EACV,GAAG,YAAY,EAChB,EAAE;IACD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,YAAY,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,oBAAoB,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAyDxC;AAyBD,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM;IAC1D;;;OAGG;IACH,GAAG,EAAE,cAAc,CAAC;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,EAAE,CAAC,CAAC,CAAC;IACpC;;;OAGG;IACH,OAAO,EAAE,cAAc,CACrB;QACE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,SAAS,CAAC;KACrE,EACD,CAAC,EAAE,CACJ,CAAC;IACF;;;OAGG;IACH,MAAM,EAAE,iBAAiB,CACvB;QAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,EACvD,CAAC,CACF,CAAC;IACF;;;OAGG;IACH,MAAM,EAAE,iBAAiB,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,EAAE,CAAC,CAAC,CAAC;IACzE;;;OAGG;IACH,aAAa,EAAE,iBAAiB,CAC9B;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,EAC1C,CAAC,CACF,CAAC;IACF;;;OAGG;IACH,MAAM,EAAE,cAAc,CACpB,QAAQ,CAAC,CAAC,CAAC,EACX,CAAC,SAAS,MAAM,CAAC,eAAe,GAAG;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAC1E,SAAS,EACT,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACpB;QACE,IAAI,EAAE,CAAC,CAAC;KACT,CACF,CAAC;CACH"}
1
+ {"version":3,"file":"createResource.d.ts","sourceRoot":"","sources":["../src/createResource.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@ import { AbortOptimistic, schema } from '@data-client/endpoint';
2
2
  import RestEndpoint from './RestEndpoint.js';
3
3
  import { shortenPath } from './RestHelpers.js';
4
4
  const {
5
- Delete
5
+ Invalidate,
6
+ Collection
6
7
  } = schema;
7
8
 
8
9
  /** Creates collection of Endpoints for common operations on a given data/schema.
@@ -14,6 +15,7 @@ export default function createResource({
14
15
  schema,
15
16
  Endpoint = RestEndpoint,
16
17
  optimistic,
18
+ paginationField,
17
19
  ...extraOptions
18
20
  }) {
19
21
  const shortenedPath = shortenPath(path);
@@ -35,19 +37,15 @@ export default function createResource({
35
37
  extraPartialOptions.getOptimisticResponse = optimisticPartial(get);
36
38
  }
37
39
  const getList = new Endpoint({
38
- ...extraOptions,
40
+ ...extraMutateOptions,
39
41
  path: shortenedPath,
40
- schema: [schema],
42
+ schema: new Collection([schema]),
41
43
  name: getName('getList')
42
44
  });
43
- return {
45
+ const ret = {
44
46
  get,
45
47
  getList,
46
- create: new Endpoint({
47
- ...extraMutateOptions,
48
- path: shortenedPath,
49
- schema,
50
- method: 'POST',
48
+ create: getList.push.extend({
51
49
  name: getName('create')
52
50
  }),
53
51
  update: new Endpoint({
@@ -67,7 +65,7 @@ export default function createResource({
67
65
  delete: new Endpoint({
68
66
  ...extraMutateOptions,
69
67
  path,
70
- schema: schema.process ? new Delete(schema) : schema,
68
+ schema: schema.process ? new Invalidate(schema) : schema,
71
69
  method: 'DELETE',
72
70
  name: getName('delete'),
73
71
  process(res, params) {
@@ -76,11 +74,12 @@ export default function createResource({
76
74
  getOptimisticResponse: optimistic ? optimisticDelete : undefined
77
75
  })
78
76
  };
77
+ if (paginationField) ret.getNextPage = getList.paginated(paginationField);
78
+ return ret;
79
79
  }
80
80
  function optimisticUpdate(snap, params, body) {
81
81
  return {
82
82
  ...params,
83
- // even tho we don't always have two arguments, the extra one will simply be undefined which spreads fine
84
83
  ...body
85
84
  };
86
85
  }
@@ -101,4 +100,4 @@ function optimisticPartial(getEndpoint) {
101
100
  function optimisticDelete(snap, params) {
102
101
  return params;
103
102
  }
104
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBYm9ydE9wdGltaXN0aWMiLCJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkRlbGV0ZSIsImNyZWF0ZVJlc291cmNlIiwicGF0aCIsIkVuZHBvaW50Iiwib3B0aW1pc3RpYyIsImV4dHJhT3B0aW9ucyIsInNob3J0ZW5lZFBhdGgiLCJnZXROYW1lIiwibmFtZSIsImV4dHJhTXV0YXRlT3B0aW9ucyIsImV4dHJhUGFydGlhbE9wdGlvbnMiLCJnZXQiLCJnZXRPcHRpbWlzdGljUmVzcG9uc2UiLCJvcHRpbWlzdGljVXBkYXRlIiwib3B0aW1pc3RpY1BhcnRpYWwiLCJnZXRMaXN0IiwiY3JlYXRlIiwibWV0aG9kIiwidXBkYXRlIiwicGFydGlhbFVwZGF0ZSIsImRlbGV0ZSIsInByb2Nlc3MiLCJyZXMiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwib3B0aW1pc3RpY0RlbGV0ZSIsInVuZGVmaW5lZCIsInNuYXAiLCJib2R5IiwiZ2V0RW5kcG9pbnQiLCJkYXRhIiwiZ2V0UmVzcG9uc2UiXSwic291cmNlcyI6WyIuLi9zcmMvY3JlYXRlUmVzb3VyY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJvcnRPcHRpbWlzdGljLFxuICBzY2hlbWEsXG4gIFNuYXBzaG90SW50ZXJmYWNlLFxufSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHR5cGUge1xuICBTY2hlbWEsXG4gIERlbm9ybWFsaXplLFxuICBFbmRwb2ludEV4dHJhT3B0aW9ucyxcbn0gZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcblxuaW1wb3J0IHsgUGF0aEFyZ3MsIFNob3J0ZW5QYXRoIH0gZnJvbSAnLi9wYXRoVHlwZXMuanMnO1xuaW1wb3J0IFJlc3RFbmRwb2ludCwge1xuICBOZXdHZXRFbmRwb2ludCxcbiAgTmV3TXV0YXRlRW5kcG9pbnQsXG4gIFJlc3RJbnN0YW5jZSxcbiAgUmVzdFR5cGVOb0JvZHksXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmltcG9ydCB7IHNob3J0ZW5QYXRoIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbmNvbnN0IHsgRGVsZXRlIH0gPSBzY2hlbWE7XG5cbi8qKiBDcmVhdGVzIGNvbGxlY3Rpb24gb2YgRW5kcG9pbnRzIGZvciBjb21tb24gb3BlcmF0aW9ucyBvbiBhIGdpdmVuIGRhdGEvc2NoZW1hLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2VcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlUmVzb3VyY2U8VSBleHRlbmRzIHN0cmluZywgUyBleHRlbmRzIFNjaGVtYT4oe1xuICBwYXRoLFxuICBzY2hlbWEsXG4gIEVuZHBvaW50ID0gUmVzdEVuZHBvaW50LFxuICBvcHRpbWlzdGljLFxuICAuLi5leHRyYU9wdGlvbnNcbn06IHtcbiAgcmVhZG9ubHkgcGF0aDogVTtcbiAgcmVhZG9ubHkgc2NoZW1hOiBTO1xuICByZWFkb25seSBFbmRwb2ludD86IHR5cGVvZiBSZXN0RW5kcG9pbnQ7XG4gIHVybFByZWZpeD86IHN0cmluZztcbiAgb3B0aW1pc3RpYz86IGJvb2xlYW47XG59ICYgRW5kcG9pbnRFeHRyYU9wdGlvbnMpOiBSZXNvdXJjZTxVLCBTPiB7XG4gIGNvbnN0IHNob3J0ZW5lZFBhdGggPSBzaG9ydGVuUGF0aChwYXRoKTtcbiAgY29uc3QgZ2V0TmFtZSA9IChuYW1lOiBzdHJpbmcpID0+IGAkeyhzY2hlbWEgYXMgYW55KT8ubmFtZX0uJHtuYW1lfWA7XG4gIGNvbnN0IGV4dHJhTXV0YXRlT3B0aW9ucyA9IHsgLi4uZXh0cmFPcHRpb25zIH07XG4gIGNvbnN0IGV4dHJhUGFydGlhbE9wdGlvbnMgPSB7IC4uLmV4dHJhT3B0aW9ucyB9O1xuICBjb25zdCBnZXQ6IE5ld0dldEVuZHBvaW50PHsgcGF0aDogVSB9LCBTPiA9IG5ldyBFbmRwb2ludCh7XG4gICAgLi4uZXh0cmFPcHRpb25zLFxuICAgIHBhdGgsXG4gICAgc2NoZW1hLFxuICAgIG5hbWU6IGdldE5hbWUoJ2dldCcpLFxuICB9KTtcbiAgaWYgKG9wdGltaXN0aWMpIHtcbiAgICAoZXh0cmFNdXRhdGVPcHRpb25zIGFzIGFueSkuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW1pc3RpY1VwZGF0ZTtcbiAgICAoZXh0cmFQYXJ0aWFsT3B0aW9ucyBhcyBhbnkpLmdldE9wdGltaXN0aWNSZXNwb25zZSA9IG9wdGltaXN0aWNQYXJ0aWFsKGdldCk7XG4gIH1cbiAgY29uc3QgZ2V0TGlzdCA9IG5ldyBFbmRwb2ludCh7XG4gICAgLi4uZXh0cmFPcHRpb25zLFxuICAgIHBhdGg6IHNob3J0ZW5lZFBhdGgsXG4gICAgc2NoZW1hOiBbc2NoZW1hXSxcbiAgICBuYW1lOiBnZXROYW1lKCdnZXRMaXN0JyksXG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGdldCxcbiAgICBnZXRMaXN0LFxuICAgIGNyZWF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGg6IHNob3J0ZW5lZFBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIG5hbWU6IGdldE5hbWUoJ2NyZWF0ZScpLFxuICAgIH0pLFxuICAgIHVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgndXBkYXRlJyksXG4gICAgfSksXG4gICAgcGFydGlhbFVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhUGFydGlhbE9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgncGFydGlhbFVwZGF0ZScpLFxuICAgIH0pLFxuICAgIGRlbGV0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWE6IChzY2hlbWEgYXMgYW55KS5wcm9jZXNzID8gbmV3IERlbGV0ZShzY2hlbWEgYXMgYW55KSA6IHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICBuYW1lOiBnZXROYW1lKCdkZWxldGUnKSxcbiAgICAgIHByb2Nlc3MocmVzLCBwYXJhbXMpIHtcbiAgICAgICAgcmV0dXJuIHJlcyAmJiBPYmplY3Qua2V5cyhyZXMpLmxlbmd0aCA/IHJlcyA6IHBhcmFtcztcbiAgICAgIH0sXG4gICAgICBnZXRPcHRpbWlzdGljUmVzcG9uc2U6IG9wdGltaXN0aWMgPyAob3B0aW1pc3RpY0RlbGV0ZSBhcyBhbnkpIDogdW5kZWZpbmVkLFxuICAgIH0pLFxuICB9IGFzIGFueTtcbn1cblxuZnVuY3Rpb24gb3B0aW1pc3RpY1VwZGF0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnksIGJvZHk6IGFueSkge1xuICByZXR1cm4ge1xuICAgIC4uLnBhcmFtcyxcbiAgICAvLyBldmVuIHRobyB3ZSBkb24ndCBhbHdheXMgaGF2ZSB0d28gYXJndW1lbnRzLCB0aGUgZXh0cmEgb25lIHdpbGwgc2ltcGx5IGJlIHVuZGVmaW5lZCB3aGljaCBzcHJlYWRzIGZpbmVcbiAgICAuLi5ib2R5LFxuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY1BhcnRpYWwoZ2V0RW5kcG9pbnQ6IE5ld0dldEVuZHBvaW50PGFueSwgYW55Pikge1xuICByZXR1cm4gZnVuY3Rpb24gKHNuYXA6IFNuYXBzaG90SW50ZXJmYWNlLCBwYXJhbXM6IGFueSwgYm9keTogYW55KSB7XG4gICAgY29uc3QgeyBkYXRhIH0gPSBzbmFwLmdldFJlc3BvbnNlKGdldEVuZHBvaW50LCBwYXJhbXMpO1xuICAgIGlmICghZGF0YSkgdGhyb3cgbmV3IEFib3J0T3B0aW1pc3RpYygpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICAuLi5kYXRhLFxuICAgICAgLy8gZXZlbiB0aG8gd2UgZG9uJ3QgYWx3YXlzIGhhdmUgdHdvIGFyZ3VtZW50cywgdGhlIGV4dHJhIG9uZSB3aWxsIHNpbXBseSBiZSB1bmRlZmluZWQgd2hpY2ggc3ByZWFkcyBmaW5lXG4gICAgICAuLi5ib2R5LFxuICAgIH07XG4gIH07XG59XG5mdW5jdGlvbiBvcHRpbWlzdGljRGVsZXRlKHNuYXA6IFNuYXBzaG90SW50ZXJmYWNlLCBwYXJhbXM6IGFueSkge1xuICByZXR1cm4gcGFyYW1zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlPFUgZXh0ZW5kcyBzdHJpbmcsIFMgZXh0ZW5kcyBTY2hlbWE+IHtcbiAgLyoqIEdldCBhIHNpbmd1bGFyIGl0ZW1cbiAgICpcbiAgICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNnZXRcbiAgICovXG4gIGdldDogTmV3R2V0RW5kcG9pbnQ8eyBwYXRoOiBVIH0sIFM+O1xuICAvKiogR2V0IGEgbGlzdCBvZiBpdGVtXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2UjZ2V0bGlzdFxuICAgKi9cbiAgZ2V0TGlzdDogTmV3R2V0RW5kcG9pbnQ8XG4gICAge1xuICAgICAgcGF0aDogU2hvcnRlblBhdGg8VT47XG4gICAgICBzZWFyY2hQYXJhbXM6IFJlY29yZDxzdHJpbmcsIG51bWJlciB8IHN0cmluZyB8IGJvb2xlYW4+IHwgdW5kZWZpbmVkO1xuICAgIH0sXG4gICAgU1tdXG4gID47XG4gIC8qKiBDcmVhdGUgYSBuZXcgaXRlbSAoUE9TVClcbiAgICpcbiAgICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNjcmVhdGVcbiAgICovXG4gIGNyZWF0ZTogTmV3TXV0YXRlRW5kcG9pbnQ8XG4gICAgeyBwYXRoOiBTaG9ydGVuUGF0aDxVPjsgYm9keTogUGFydGlhbDxEZW5vcm1hbGl6ZTxTPj4gfSxcbiAgICBTXG4gID47XG4gIC8qKiBVcGRhdGUgYW4gaXRlbSAoUFVUKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI3VwZGF0ZVxuICAgKi9cbiAgdXBkYXRlOiBOZXdNdXRhdGVFbmRwb2ludDx7IHBhdGg6IFU7IGJvZHk6IFBhcnRpYWw8RGVub3JtYWxpemU8Uz4+IH0sIFM+O1xuICAvKiogVXBkYXRlIGFuIGl0ZW0gKFBBVENIKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI3BhcnRpYWx1cGRhdGVcbiAgICovXG4gIHBhcnRpYWxVcGRhdGU6IE5ld011dGF0ZUVuZHBvaW50PFxuICAgIHsgcGF0aDogVTsgYm9keTogUGFydGlhbDxEZW5vcm1hbGl6ZTxTPj4gfSxcbiAgICBTXG4gID47XG4gIC8qKiBEZWxldGUgYW4gaXRlbSAoREVMRVRFKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2RlbGV0ZVxuICAgKi9cbiAgZGVsZXRlOiBSZXN0VHlwZU5vQm9keTxcbiAgICBQYXRoQXJnczxVPixcbiAgICBTIGV4dGVuZHMgc2NoZW1hLkVudGl0eUludGVyZmFjZSAmIHsgcHJvY2VzczogYW55IH0gPyBzY2hlbWEuRGVsZXRlPFM+IDogUyxcbiAgICB1bmRlZmluZWQsXG4gICAgUGFydGlhbDxQYXRoQXJnczxVPj4sXG4gICAge1xuICAgICAgcGF0aDogVTtcbiAgICB9XG4gID47XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQ0VBLGVBQWUsRUFDZkMsTUFBTSxRQUVELHVCQUF1QjtBQVE5QixPQUFPQyxZQUFZLE1BS1osbUJBQW1CO0FBQzFCLFNBQVNDLFdBQVcsUUFBUSxrQkFBa0I7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
103
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBYm9ydE9wdGltaXN0aWMiLCJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkludmFsaWRhdGUiLCJDb2xsZWN0aW9uIiwiY3JlYXRlUmVzb3VyY2UiLCJwYXRoIiwiRW5kcG9pbnQiLCJvcHRpbWlzdGljIiwicGFnaW5hdGlvbkZpZWxkIiwiZXh0cmFPcHRpb25zIiwic2hvcnRlbmVkUGF0aCIsImdldE5hbWUiLCJuYW1lIiwiZXh0cmFNdXRhdGVPcHRpb25zIiwiZXh0cmFQYXJ0aWFsT3B0aW9ucyIsImdldCIsImdldE9wdGltaXN0aWNSZXNwb25zZSIsIm9wdGltaXN0aWNVcGRhdGUiLCJvcHRpbWlzdGljUGFydGlhbCIsImdldExpc3QiLCJyZXQiLCJjcmVhdGUiLCJwdXNoIiwiZXh0ZW5kIiwidXBkYXRlIiwibWV0aG9kIiwicGFydGlhbFVwZGF0ZSIsImRlbGV0ZSIsInByb2Nlc3MiLCJyZXMiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwib3B0aW1pc3RpY0RlbGV0ZSIsInVuZGVmaW5lZCIsImdldE5leHRQYWdlIiwicGFnaW5hdGVkIiwic25hcCIsImJvZHkiLCJnZXRFbmRwb2ludCIsImRhdGEiLCJnZXRSZXNwb25zZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVSZXNvdXJjZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBYm9ydE9wdGltaXN0aWMsXG4gIFNuYXBzaG90SW50ZXJmYWNlLFxuICBzY2hlbWEsXG59IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5pbXBvcnQgdHlwZSB7IERlbm9ybWFsaXplIH0gZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcblxuaW1wb3J0IHsgUGF0aEFyZ3MsIFJlc291cmNlUGF0aCwgU2hvcnRlblBhdGggfSBmcm9tICcuL3BhdGhUeXBlcy5qcyc7XG5pbXBvcnQgeyBSZXNvdXJjZUdlbmVyaWNzLCBSZXNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3Jlc291cmNlVHlwZXMuanMnO1xuaW1wb3J0IFJlc3RFbmRwb2ludCwge1xuICBHZXRFbmRwb2ludCxcbiAgTXV0YXRlRW5kcG9pbnQsXG4gIFBhZ2luYXRpb25GaWVsZEVuZHBvaW50LFxuICBSZXN0VHlwZU5vQm9keSxcbn0gZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuaW1wb3J0IHsgc2hvcnRlblBhdGggfSBmcm9tICcuL1Jlc3RIZWxwZXJzLmpzJztcblxuY29uc3QgeyBJbnZhbGlkYXRlLCBDb2xsZWN0aW9uIH0gPSBzY2hlbWE7XG5cbi8qKiBDcmVhdGVzIGNvbGxlY3Rpb24gb2YgRW5kcG9pbnRzIGZvciBjb21tb24gb3BlcmF0aW9ucyBvbiBhIGdpdmVuIGRhdGEvc2NoZW1hLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2VcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlUmVzb3VyY2U8TyBleHRlbmRzIFJlc291cmNlR2VuZXJpY3M+KHtcbiAgcGF0aCxcbiAgc2NoZW1hLFxuICBFbmRwb2ludCA9IFJlc3RFbmRwb2ludCxcbiAgb3B0aW1pc3RpYyxcbiAgcGFnaW5hdGlvbkZpZWxkLFxuICAuLi5leHRyYU9wdGlvbnNcbn06IFJlYWRvbmx5PE8+ICYgUmVzb3VyY2VPcHRpb25zKTogUmVzb3VyY2U8Tz4ge1xuICBjb25zdCBzaG9ydGVuZWRQYXRoID0gc2hvcnRlblBhdGgocGF0aCk7XG4gIGNvbnN0IGdldE5hbWUgPSAobmFtZTogc3RyaW5nKSA9PiBgJHsoc2NoZW1hIGFzIGFueSk/Lm5hbWV9LiR7bmFtZX1gO1xuICBjb25zdCBleHRyYU11dGF0ZU9wdGlvbnMgPSB7IC4uLmV4dHJhT3B0aW9ucyB9O1xuICBjb25zdCBleHRyYVBhcnRpYWxPcHRpb25zID0geyAuLi5leHRyYU9wdGlvbnMgfTtcbiAgY29uc3QgZ2V0OiBHZXRFbmRwb2ludDx7IHBhdGg6IE9bJ3BhdGgnXTsgc2NoZW1hOiBPWydzY2hlbWEnXSB9PiA9XG4gICAgbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBuYW1lOiBnZXROYW1lKCdnZXQnKSxcbiAgICB9KSBhcyBhbnk7XG4gIGlmIChvcHRpbWlzdGljKSB7XG4gICAgKGV4dHJhTXV0YXRlT3B0aW9ucyBhcyBhbnkpLmdldE9wdGltaXN0aWNSZXNwb25zZSA9IG9wdGltaXN0aWNVcGRhdGU7XG4gICAgKGV4dHJhUGFydGlhbE9wdGlvbnMgYXMgYW55KS5nZXRPcHRpbWlzdGljUmVzcG9uc2UgPSBvcHRpbWlzdGljUGFydGlhbChnZXQpO1xuICB9XG4gIGNvbnN0IGdldExpc3QgPSBuZXcgRW5kcG9pbnQoe1xuICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICBwYXRoOiBzaG9ydGVuZWRQYXRoLFxuICAgIHNjaGVtYTogbmV3IENvbGxlY3Rpb24oW3NjaGVtYSBhcyBhbnldKSxcbiAgICBuYW1lOiBnZXROYW1lKCdnZXRMaXN0JyksXG4gIH0pO1xuICBjb25zdCByZXQgPSB7XG4gICAgZ2V0LFxuICAgIGdldExpc3QsXG4gICAgY3JlYXRlOiBnZXRMaXN0LnB1c2guZXh0ZW5kKHsgbmFtZTogZ2V0TmFtZSgnY3JlYXRlJykgfSksXG4gICAgdXBkYXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICBuYW1lOiBnZXROYW1lKCd1cGRhdGUnKSxcbiAgICB9KSxcbiAgICBwYXJ0aWFsVXBkYXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFQYXJ0aWFsT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBuYW1lOiBnZXROYW1lKCdwYXJ0aWFsVXBkYXRlJyksXG4gICAgfSksXG4gICAgZGVsZXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYTogKHNjaGVtYSBhcyBhbnkpLnByb2Nlc3MgPyBuZXcgSW52YWxpZGF0ZShzY2hlbWEgYXMgYW55KSA6IHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICBuYW1lOiBnZXROYW1lKCdkZWxldGUnKSxcbiAgICAgIHByb2Nlc3MocmVzOiBhbnksIHBhcmFtczogYW55KSB7XG4gICAgICAgIHJldHVybiByZXMgJiYgT2JqZWN0LmtleXMocmVzKS5sZW5ndGggPyByZXMgOiBwYXJhbXM7XG4gICAgICB9LFxuICAgICAgZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlOiBvcHRpbWlzdGljID8gKG9wdGltaXN0aWNEZWxldGUgYXMgYW55KSA6IHVuZGVmaW5lZCxcbiAgICB9KSxcbiAgfSBhcyBhbnk7XG4gIGlmIChwYWdpbmF0aW9uRmllbGQpIHJldC5nZXROZXh0UGFnZSA9IGdldExpc3QucGFnaW5hdGVkKHBhZ2luYXRpb25GaWVsZCk7XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIG9wdGltaXN0aWNVcGRhdGUoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5wYXJhbXMsXG4gICAgLi4uYm9keSxcbiAgfTtcbn1cbmZ1bmN0aW9uIG9wdGltaXN0aWNQYXJ0aWFsKFxuICBnZXRFbmRwb2ludDogR2V0RW5kcG9pbnQ8eyBwYXRoOiBSZXNvdXJjZVBhdGg7IHNjaGVtYTogYW55IH0+LFxuKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgICBjb25zdCB7IGRhdGEgfSA9IHNuYXAuZ2V0UmVzcG9uc2UoZ2V0RW5kcG9pbnQsIHBhcmFtcykgYXMgeyBkYXRhOiBhbnkgfTtcbiAgICBpZiAoIWRhdGEpIHRocm93IG5ldyBBYm9ydE9wdGltaXN0aWMoKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgLi4uZGF0YSxcbiAgICAgIC8vIGV2ZW4gdGhvIHdlIGRvbid0IGFsd2F5cyBoYXZlIHR3byBhcmd1bWVudHMsIHRoZSBleHRyYSBvbmUgd2lsbCBzaW1wbHkgYmUgdW5kZWZpbmVkIHdoaWNoIHNwcmVhZHMgZmluZVxuICAgICAgLi4uYm9keSxcbiAgICB9O1xuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY0RlbGV0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnkpIHtcbiAgcmV0dXJuIHBhcmFtcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZTxcbiAgTyBleHRlbmRzIFJlc291cmNlR2VuZXJpY3MgPSB7IHBhdGg6IFJlc291cmNlUGF0aDsgc2NoZW1hOiBhbnkgfSxcbj4ge1xuICAvKiogR2V0IGEgc2luZ3VsYXIgaXRlbVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2dldFxuICAgKi9cbiAgZ2V0OiBHZXRFbmRwb2ludDx7IHBhdGg6IE9bJ3BhdGgnXTsgc2NoZW1hOiBPWydzY2hlbWEnXSB9PjtcbiAgLyoqIEdldCBhIGxpc3Qgb2YgaXRlbVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2dldGxpc3RcbiAgICovXG4gIGdldExpc3Q6ICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgID8gR2V0RW5kcG9pbnQ8e1xuICAgICAgICBwYXRoOiBTaG9ydGVuUGF0aDxPWydwYXRoJ10+O1xuICAgICAgICBzY2hlbWE6IHNjaGVtYS5Db2xsZWN0aW9uPFtPWydzY2hlbWEnXV0+O1xuICAgICAgICBzZWFyY2hQYXJhbXM6IE9bJ3NlYXJjaFBhcmFtcyddO1xuICAgICAgfT5cbiAgICA6IEdldEVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogU2hvcnRlblBhdGg8T1sncGF0aCddPjtcbiAgICAgICAgc2NoZW1hOiBzY2hlbWEuQ29sbGVjdGlvbjxbT1snc2NoZW1hJ11dPjtcbiAgICAgICAgc2VhcmNoUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBzdHJpbmcgfCBib29sZWFuPiB8IHVuZGVmaW5lZDtcbiAgICAgIH0+O1xuICAvKiogR2V0IGEgbGlzdCBvZiBpdGVtXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2dldE5leHRQYWdlXG4gICAqL1xuICBnZXROZXh0UGFnZTogJ3BhZ2luYXRpb25GaWVsZCcgZXh0ZW5kcyBrZXlvZiBPXG4gICAgPyBQYWdpbmF0aW9uRmllbGRFbmRwb2ludDxcbiAgICAgICAgJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgICAgPyBHZXRFbmRwb2ludDx7XG4gICAgICAgICAgICAgIHBhdGg6IFNob3J0ZW5QYXRoPE9bJ3BhdGgnXT47XG4gICAgICAgICAgICAgIHNjaGVtYTogc2NoZW1hLkNvbGxlY3Rpb248W09bJ3NjaGVtYSddXT47XG4gICAgICAgICAgICAgIHNlYXJjaFBhcmFtczogT1snc2VhcmNoUGFyYW1zJ107XG4gICAgICAgICAgICB9PlxuICAgICAgICAgIDogR2V0RW5kcG9pbnQ8e1xuICAgICAgICAgICAgICBwYXRoOiBTaG9ydGVuUGF0aDxPWydwYXRoJ10+O1xuICAgICAgICAgICAgICBzY2hlbWE6IHNjaGVtYS5Db2xsZWN0aW9uPFtPWydzY2hlbWEnXV0+O1xuICAgICAgICAgICAgICBzZWFyY2hQYXJhbXM6XG4gICAgICAgICAgICAgICAgfCBSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBzdHJpbmcgfCBib29sZWFuPlxuICAgICAgICAgICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgfT4sXG4gICAgICAgIEV4Y2x1ZGU8T1sncGFnaW5hdGlvbkZpZWxkJ10sIHVuZGVmaW5lZD5cbiAgICAgID5cbiAgICA6IHVuZGVmaW5lZDtcbiAgLyoqIENyZWF0ZSBhIG5ldyBpdGVtIChQT1NUKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2NyZWF0ZVxuICAgKi9cbiAgY3JlYXRlOiAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICA/IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogU2hvcnRlblBhdGg8T1sncGF0aCddPjtcbiAgICAgICAgc2NoZW1hOiBzY2hlbWEuQ29sbGVjdGlvbjxbT1snc2NoZW1hJ11dPlsncHVzaCddO1xuICAgICAgICBib2R5OiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgICAgPyBPWydib2R5J11cbiAgICAgICAgICA6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PjtcbiAgICAgICAgc2VhcmNoUGFyYW1zOiBPWydzZWFyY2hQYXJhbXMnXTtcbiAgICAgIH0+XG4gICAgOiBNdXRhdGVFbmRwb2ludDx7XG4gICAgICAgIHBhdGg6IFNob3J0ZW5QYXRoPE9bJ3BhdGgnXT47XG4gICAgICAgIHNjaGVtYTogc2NoZW1hLkNvbGxlY3Rpb248W09bJ3NjaGVtYSddXT5bJ3B1c2gnXTtcbiAgICAgICAgYm9keTogJ2JvZHknIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICAgID8gT1snYm9keSddXG4gICAgICAgICAgOiBQYXJ0aWFsPERlbm9ybWFsaXplPE9bJ3NjaGVtYSddPj47XG4gICAgICB9PjtcbiAgLyoqIFVwZGF0ZSBhbiBpdGVtIChQVVQpXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2UjdXBkYXRlXG4gICAqL1xuICB1cGRhdGU6ICdib2R5JyBleHRlbmRzIGtleW9mIE9cbiAgICA/IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogT1sncGF0aCddO1xuICAgICAgICBib2R5OiBPWydib2R5J107XG4gICAgICAgIHNjaGVtYTogT1snc2NoZW1hJ107XG4gICAgICB9PlxuICAgIDogTXV0YXRlRW5kcG9pbnQ8e1xuICAgICAgICBwYXRoOiBPWydwYXRoJ107XG4gICAgICAgIGJvZHk6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PjtcbiAgICAgICAgc2NoZW1hOiBPWydzY2hlbWEnXTtcbiAgICAgIH0+O1xuICAvKiogVXBkYXRlIGFuIGl0ZW0gKFBBVENIKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI3BhcnRpYWx1cGRhdGVcbiAgICovXG4gIHBhcnRpYWxVcGRhdGU6ICdib2R5JyBleHRlbmRzIGtleW9mIE9cbiAgICA/IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogT1sncGF0aCddO1xuICAgICAgICBib2R5OiBQYXJ0aWFsPE9bJ2JvZHknXT47XG4gICAgICAgIHNjaGVtYTogT1snc2NoZW1hJ107XG4gICAgICB9PlxuICAgIDogTXV0YXRlRW5kcG9pbnQ8e1xuICAgICAgICBwYXRoOiBPWydwYXRoJ107XG4gICAgICAgIGJvZHk6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PjtcbiAgICAgICAgc2NoZW1hOiBPWydzY2hlbWEnXTtcbiAgICAgIH0+O1xuICAvKiogRGVsZXRlIGFuIGl0ZW0gKERFTEVURSlcbiAgICpcbiAgICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNkZWxldGVcbiAgICovXG4gIGRlbGV0ZTogUmVzdFR5cGVOb0JvZHk8XG4gICAgUGF0aEFyZ3M8T1sncGF0aCddPixcbiAgICBPWydzY2hlbWEnXSBleHRlbmRzIHNjaGVtYS5FbnRpdHlJbnRlcmZhY2UgJiB7IHByb2Nlc3M6IGFueSB9XG4gICAgICA/IHNjaGVtYS5JbnZhbGlkYXRlPE9bJ3NjaGVtYSddPlxuICAgICAgOiBPWydzY2hlbWEnXSxcbiAgICB1bmRlZmluZWQsXG4gICAgUGFydGlhbDxQYXRoQXJnczxPWydwYXRoJ10+PixcbiAgICB7XG4gICAgICBwYXRoOiBPWydwYXRoJ107XG4gICAgfVxuICA+O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUNFQSxlQUFlLEVBRWZDLE1BQU0sUUFDRCx1QkFBdUI7QUFLOUIsT0FBT0MsWUFBWSxNQUtaLG1CQUFtQjtBQUMxQixTQUFTQyxXQUFXLFFBQVEsa0JBQWtCO0FBRTlDLE1BQU07RUFBRUMsVUFBVTtFQUFFQztBQUFXLENBQUMsR0FBR0osTUFBTTs7QUFFekM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVNLLGNBQWNBLENBQTZCO0VBQ2pFQyxJQUFJO0VBQ0pOLE1BQU07RUFDTk8sUUFBUSxHQUFHTixZQUFZO0VBQ3ZCTyxVQUFVO0VBQ1ZDLGVBQWU7RUFDZixHQUFHQztBQUMwQixDQUFDLEVBQWU7RUFDN0MsTUFBTUMsYUFBYSxHQUFHVCxXQUFXLENBQUNJLElBQUksQ0FBQztFQUN2QyxNQUFNTSxPQUFPLEdBQUlDLElBQVksSUFBTSxHQUFHYixNQUFNLG9CQUFOQSxNQUFNLENBQVVhLElBQUssSUFBR0EsSUFBSyxFQUFDO0VBQ3BFLE1BQU1DLGtCQUFrQixHQUFHO0lBQUUsR0FBR0o7RUFBYSxDQUFDO0VBQzlDLE1BQU1LLG1CQUFtQixHQUFHO0lBQUUsR0FBR0w7RUFBYSxDQUFDO0VBQy9DLE1BQU1NLEdBQTBELEdBQzlELElBQUlULFFBQVEsQ0FBQztJQUNYLEdBQUdHLFlBQVk7SUFDZkosSUFBSTtJQUNKTixNQUFNO0lBQ05hLElBQUksRUFBRUQsT0FBTyxDQUFDLEtBQUs7RUFDckIsQ0FBQyxDQUFRO0VBQ1gsSUFBSUosVUFBVSxFQUFFO0lBQ2JNLGtCQUFrQixDQUFTRyxxQkFBcUIsR0FBR0MsZ0JBQWdCO0lBQ25FSCxtQkFBbUIsQ0FBU0UscUJBQXFCLEdBQUdF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
package/lib/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  export { default as RestEndpoint } from './RestEndpoint.js';
2
- export type { GetEndpoint, MutateEndpoint, NewGetEndpoint, NewMutateEndpoint, Defaults, RestGenerics, FetchGet, FetchMutate, RestFetch, RestType, RestInstance, KeyofRestEndpoint, RestEndpointConstructorOptions, AddEndpoint, PaginationFieldEndpoint, } from './RestEndpoint.js';
2
+ export type { GetEndpoint, MutateEndpoint, Defaults, RestGenerics, FetchGet, FetchMutate, RestFetch, RestType, RestInstance, KeyofRestEndpoint, RestEndpointConstructorOptions, AddEndpoint, PaginationFieldEndpoint, } from './RestEndpoint.js';
3
3
  export { default as createResource } from './createResource.js';
4
4
  export type { Resource } from './createResource.js';
5
+ export type { ResourceOptions, ResourceGenerics } from './resourceTypes.js';
5
6
  export { default as hookifyResource } from './hookifyResource.js';
6
7
  export type { HookResource, HookableEndpointInterface, } from './hookifyResource.js';
7
8
  export { default as NetworkError } from './NetworkError.js';
@@ -9,4 +10,5 @@ export { default as paginationUpdate } from './paginationUpdate.js';
9
10
  export type { OptionsToFunction } from './OptionsToFunction.js';
10
11
  export type { ShortenPath, PathArgs, PathKeys, KeysToArgs, PathArgsAndSearch, } from './pathTypes.js';
11
12
  export * from '@data-client/endpoint';
13
+ export * from './RestEndpoint.js';
12
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,8BAA8B,EAC9B,WAAW,EACX,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,YAAY,EACV,YAAY,EACZ,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,8BAA8B,EAC9B,WAAW,EACX,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,YAAY,EACV,YAAY,EACZ,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
package/lib/index.js CHANGED
@@ -7,4 +7,5 @@ export { default as hookifyResource } from './hookifyResource.js';
7
7
  export { default as NetworkError } from './NetworkError.js';
8
8
  export { default as paginationUpdate } from './paginationUpdate.js';
9
9
  export * from '@data-client/endpoint';
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlZmF1bHQiLCJSZXN0RW5kcG9pbnQiLCJjcmVhdGVSZXNvdXJjZSIsImhvb2tpZnlSZXNvdXJjZSIsIk5ldHdvcmtFcnJvciIsInBhZ2luYXRpb25VcGRhdGUiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiT2JqZWN0Lmhhc093biA9XG4gIE9iamVjdC5oYXNPd24gfHxcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gZnVuY3Rpb24gaGFzT3duKGl0LCBrZXkpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xuICB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZXN0RW5kcG9pbnQgfSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEdldEVuZHBvaW50LFxuICBNdXRhdGVFbmRwb2ludCxcbiAgTmV3R2V0RW5kcG9pbnQsXG4gIE5ld011dGF0ZUVuZHBvaW50LFxuICBEZWZhdWx0cyxcbiAgUmVzdEdlbmVyaWNzLFxuICBGZXRjaEdldCxcbiAgRmV0Y2hNdXRhdGUsXG4gIFJlc3RGZXRjaCxcbiAgUmVzdFR5cGUsXG4gIFJlc3RJbnN0YW5jZSxcbiAgS2V5b2ZSZXN0RW5kcG9pbnQsXG4gIFJlc3RFbmRwb2ludENvbnN0cnVjdG9yT3B0aW9ucyxcbiAgQWRkRW5kcG9pbnQsXG4gIFBhZ2luYXRpb25GaWVsZEVuZHBvaW50LFxufSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGNyZWF0ZVJlc291cmNlIH0gZnJvbSAnLi9jcmVhdGVSZXNvdXJjZS5qcyc7XG5leHBvcnQgdHlwZSB7IFJlc291cmNlIH0gZnJvbSAnLi9jcmVhdGVSZXNvdXJjZS5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGhvb2tpZnlSZXNvdXJjZSB9IGZyb20gJy4vaG9va2lmeVJlc291cmNlLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgSG9va1Jlc291cmNlLFxuICBIb29rYWJsZUVuZHBvaW50SW50ZXJmYWNlLFxufSBmcm9tICcuL2hvb2tpZnlSZXNvdXJjZS5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5ldHdvcmtFcnJvciB9IGZyb20gJy4vTmV0d29ya0Vycm9yLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcGFnaW5hdGlvblVwZGF0ZSB9IGZyb20gJy4vcGFnaW5hdGlvblVwZGF0ZS5qcyc7XG5leHBvcnQgdHlwZSB7IE9wdGlvbnNUb0Z1bmN0aW9uIH0gZnJvbSAnLi9PcHRpb25zVG9GdW5jdGlvbi5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIFNob3J0ZW5QYXRoLFxuICBQYXRoQXJncyxcbiAgUGF0aEtleXMsXG4gIEtleXNUb0FyZ3MsXG4gIFBhdGhBcmdzQW5kU2VhcmNoLFxufSBmcm9tICcuL3BhdGhUeXBlcy5qcyc7XG5cbmV4cG9ydCAqIGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG4iXSwibWFwcGluZ3MiOiJBQUFBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENBQUM7QUFDdEQsQ0FBQztBQUNILFNBQVNJLE9BQU8sSUFBSUMsWUFBWSxRQUFRLG1CQUFtQjtBQWtCM0QsU0FBU0QsT0FBTyxJQUFJRSxjQUFjLFFBQVEscUJBQXFCO0FBRS9ELFNBQVNGLE9BQU8sSUFBSUcsZUFBZSxRQUFRLHNCQUFzQjtBQUtqRSxTQUFTSCxPQUFPLElBQUlJLFlBQVksUUFBUSxtQkFBbUI7QUFDM0QsU0FBU0osT0FBTyxJQUFJSyxnQkFBZ0IsUUFBUSx1QkFBdUI7QUFVbkUsY0FBYyx1QkFBdUIifQ==
10
+ export * from './RestEndpoint.js';
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlZmF1bHQiLCJSZXN0RW5kcG9pbnQiLCJjcmVhdGVSZXNvdXJjZSIsImhvb2tpZnlSZXNvdXJjZSIsIk5ldHdvcmtFcnJvciIsInBhZ2luYXRpb25VcGRhdGUiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiT2JqZWN0Lmhhc093biA9XG4gIE9iamVjdC5oYXNPd24gfHxcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gZnVuY3Rpb24gaGFzT3duKGl0LCBrZXkpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xuICB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZXN0RW5kcG9pbnQgfSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEdldEVuZHBvaW50LFxuICBNdXRhdGVFbmRwb2ludCxcbiAgRGVmYXVsdHMsXG4gIFJlc3RHZW5lcmljcyxcbiAgRmV0Y2hHZXQsXG4gIEZldGNoTXV0YXRlLFxuICBSZXN0RmV0Y2gsXG4gIFJlc3RUeXBlLFxuICBSZXN0SW5zdGFuY2UsXG4gIEtleW9mUmVzdEVuZHBvaW50LFxuICBSZXN0RW5kcG9pbnRDb25zdHJ1Y3Rvck9wdGlvbnMsXG4gIEFkZEVuZHBvaW50LFxuICBQYWdpbmF0aW9uRmllbGRFbmRwb2ludCxcbn0gZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjcmVhdGVSZXNvdXJjZSB9IGZyb20gJy4vY3JlYXRlUmVzb3VyY2UuanMnO1xuZXhwb3J0IHR5cGUgeyBSZXNvdXJjZSB9IGZyb20gJy4vY3JlYXRlUmVzb3VyY2UuanMnO1xuZXhwb3J0IHR5cGUgeyBSZXNvdXJjZU9wdGlvbnMsIFJlc291cmNlR2VuZXJpY3MgfSBmcm9tICcuL3Jlc291cmNlVHlwZXMuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBob29raWZ5UmVzb3VyY2UgfSBmcm9tICcuL2hvb2tpZnlSZXNvdXJjZS5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEhvb2tSZXNvdXJjZSxcbiAgSG9va2FibGVFbmRwb2ludEludGVyZmFjZSxcbn0gZnJvbSAnLi9ob29raWZ5UmVzb3VyY2UuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBOZXR3b3JrRXJyb3IgfSBmcm9tICcuL05ldHdvcmtFcnJvci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHBhZ2luYXRpb25VcGRhdGUgfSBmcm9tICcuL3BhZ2luYXRpb25VcGRhdGUuanMnO1xuZXhwb3J0IHR5cGUgeyBPcHRpb25zVG9GdW5jdGlvbiB9IGZyb20gJy4vT3B0aW9uc1RvRnVuY3Rpb24uanMnO1xuZXhwb3J0IHR5cGUge1xuICBTaG9ydGVuUGF0aCxcbiAgUGF0aEFyZ3MsXG4gIFBhdGhLZXlzLFxuICBLZXlzVG9BcmdzLFxuICBQYXRoQXJnc0FuZFNlYXJjaCxcbn0gZnJvbSAnLi9wYXRoVHlwZXMuanMnO1xuXG5leHBvcnQgKiBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuIl0sIm1hcHBpbmdzIjoiQUFBQUEsTUFBTSxDQUFDQyxNQUFNLEdBQ1hELE1BQU0sQ0FBQ0MsTUFBTSxJQUNiLDBCQUEyQixTQUFTQSxNQUFNQSxDQUFDQyxFQUFFLEVBQUVDLEdBQUcsRUFBRTtFQUNsRCxPQUFPSCxNQUFNLENBQUNJLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNKLEVBQUUsRUFBRUMsR0FBRyxDQUFDO0FBQ3RELENBQUM7QUFDSCxTQUFTSSxPQUFPLElBQUlDLFlBQVksUUFBUSxtQkFBbUI7QUFnQjNELFNBQVNELE9BQU8sSUFBSUUsY0FBYyxRQUFRLHFCQUFxQjtBQUcvRCxTQUFTRixPQUFPLElBQUlHLGVBQWUsUUFBUSxzQkFBc0I7QUFLakUsU0FBU0gsT0FBTyxJQUFJSSxZQUFZLFFBQVEsbUJBQW1CO0FBQzNELFNBQVNKLE9BQU8sSUFBSUssZ0JBQWdCLFFBQVEsdUJBQXVCO0FBVW5FLGNBQWMsdUJBQXVCO0FBQ3JDLGNBQWMsbUJBQW1CIn0=
@@ -1,6 +1,6 @@
1
- export * from './RestEndpoint.js';
2
- export { default as RestEndpoint } from './RestEndpoint.js';
3
- export { default as createResource } from './createResource.js';
4
- export type { Resource } from './createResource.js';
5
- export type { ResourceOptions, ResourceGenerics } from './resourceTypes.js';
1
+ export * from '../RestEndpoint.js';
2
+ export { default as RestEndpoint } from '../RestEndpoint.js';
3
+ export { default as createResource } from '../createResource.js';
4
+ export type { Resource } from '../createResource.js';
5
+ export type { ResourceOptions, ResourceGenerics } from '../resourceTypes.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}