@data-client/rest 0.1.0 → 0.2.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.
- package/dist/index.js +10 -14
- package/dist/index.umd.min.js +1 -1
- package/legacy/OptionsToFunction.js +1 -1
- package/legacy/RestEndpoint.js +5 -5
- package/legacy/createResource.js +8 -10
- package/legacy/index.js +2 -1
- package/legacy/next/index.js +4 -4
- package/legacy/resourceTypes.js +2 -0
- package/lib/OptionsToFunction.d.ts.map +1 -1
- package/lib/OptionsToFunction.js +1 -1
- package/lib/RestEndpoint.d.ts +29 -35
- package/lib/RestEndpoint.js +5 -5
- package/lib/createResource.d.ts +51 -31
- package/lib/createResource.d.ts.map +1 -1
- package/lib/createResource.js +7 -11
- package/lib/index.d.ts +3 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -1
- package/lib/next/index.d.ts +5 -5
- package/lib/next/index.d.ts.map +1 -1
- package/lib/next/index.js +4 -4
- package/lib/resourceTypes.d.ts.map +1 -0
- package/lib/resourceTypes.js +2 -0
- package/package.json +3 -3
- package/src/OptionsToFunction.ts +0 -1
- package/src/RestEndpoint.d.ts +29 -35
- package/src/RestEndpoint.js +4 -4
- package/src/__tests__/RestEndpoint.ts +38 -9
- package/src/__tests__/createResource.test.ts +3 -4
- package/src/__tests__/hookifyResource.ts +7 -3
- package/src/__tests__/types.test.ts +332 -212
- package/src/createResource.ts +81 -60
- package/src/index.ts +2 -2
- package/src/next/index.ts +5 -5
- package/ts4.0/RestEndpoint.d.ts +18 -32
- package/ts4.0/createResource.d.ts +59 -31
- package/ts4.0/index.d.ts +3 -1
- package/ts4.0/next/index.d.ts +5 -5
- package/legacy/next/OptionsToFunction.js +0 -2
- package/legacy/next/RestEndpoint.js +0 -225
- package/legacy/next/createResource.js +0 -86
- package/legacy/next/resourceTypes.js +0 -2
- package/lib/next/OptionsToFunction.d.ts +0 -7
- package/lib/next/OptionsToFunction.d.ts.map +0 -1
- package/lib/next/OptionsToFunction.js +0 -2
- package/lib/next/RestEndpoint.d.ts +0 -542
- package/lib/next/RestEndpoint.js +0 -229
- package/lib/next/createResource.d.ts +0 -86
- package/lib/next/createResource.d.ts.map +0 -1
- package/lib/next/createResource.js +0 -100
- package/lib/next/resourceTypes.d.ts.map +0 -1
- package/lib/next/resourceTypes.js +0 -2
- package/src/next/OptionsToFunction.ts +0 -41
- package/src/next/RestEndpoint.d.ts +0 -542
- package/src/next/RestEndpoint.js +0 -262
- package/src/next/__tests__/RestEndpoint.ts +0 -1333
- package/src/next/__tests__/__snapshots__/RestEndpoint.ts.snap +0 -18
- package/src/next/__tests__/types.test.ts +0 -429
- package/src/next/createResource.ts +0 -194
- package/ts4.0/next/OptionsToFunction.d.ts +0 -16
- package/ts4.0/next/RestEndpoint.d.ts +0 -226
- package/ts4.0/next/createResource.d.ts +0 -94
- /package/lib/{next/resourceTypes.d.ts → resourceTypes.d.ts} +0 -0
- /package/src/{next/resourceTypes.ts → resourceTypes.ts} +0 -0
- /package/ts4.0/{next/resourceTypes.d.ts → resourceTypes.d.ts} +0 -0
package/lib/RestEndpoint.js
CHANGED
|
@@ -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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
|
package/lib/createResource.d.ts
CHANGED
|
@@ -1,66 +1,86 @@
|
|
|
1
1
|
import { schema } from '@data-client/endpoint';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Denormalize } from '@data-client/endpoint';
|
|
3
3
|
import { PathArgs, ShortenPath } from './pathTypes.js';
|
|
4
|
-
import
|
|
4
|
+
import { ResourceGenerics, ResourceOptions } from './resourceTypes.js';
|
|
5
|
+
import { GetEndpoint, MutateEndpoint, 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<
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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, ...extraOptions }: Readonly<O> & ResourceOptions): Resource<O>;
|
|
11
|
+
export interface Resource<O extends ResourceGenerics = {
|
|
12
|
+
path: string;
|
|
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:
|
|
22
|
-
path:
|
|
23
|
-
|
|
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:
|
|
29
|
-
path: ShortenPath<
|
|
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
|
-
}
|
|
35
|
+
}>;
|
|
32
36
|
/** Create a new item (POST)
|
|
33
37
|
*
|
|
34
38
|
* @see https://resthooks.io/rest/api/createResource#create
|
|
35
39
|
*/
|
|
36
|
-
create:
|
|
37
|
-
path: ShortenPath<
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
create: 'searchParams' extends keyof O ? MutateEndpoint<{
|
|
41
|
+
path: ShortenPath<O['path']>;
|
|
42
|
+
schema: schema.Collection<[O['schema']]>['push'];
|
|
43
|
+
body: 'body' extends keyof O ? O['body'] : Partial<Denormalize<O['schema']>>;
|
|
44
|
+
searchParams: O['searchParams'];
|
|
45
|
+
}> : MutateEndpoint<{
|
|
46
|
+
path: ShortenPath<O['path']>;
|
|
47
|
+
schema: schema.Collection<[O['schema']]>['push'];
|
|
48
|
+
body: 'body' extends keyof O ? O['body'] : Partial<Denormalize<O['schema']>>;
|
|
49
|
+
}>;
|
|
40
50
|
/** Update an item (PUT)
|
|
41
51
|
*
|
|
42
52
|
* @see https://resthooks.io/rest/api/createResource#update
|
|
43
53
|
*/
|
|
44
|
-
update:
|
|
45
|
-
path:
|
|
46
|
-
body:
|
|
47
|
-
|
|
54
|
+
update: 'body' extends keyof O ? MutateEndpoint<{
|
|
55
|
+
path: O['path'];
|
|
56
|
+
body: O['body'];
|
|
57
|
+
schema: O['schema'];
|
|
58
|
+
}> : MutateEndpoint<{
|
|
59
|
+
path: O['path'];
|
|
60
|
+
body: Partial<Denormalize<O['schema']>>;
|
|
61
|
+
schema: O['schema'];
|
|
62
|
+
}>;
|
|
48
63
|
/** Update an item (PATCH)
|
|
49
64
|
*
|
|
50
65
|
* @see https://resthooks.io/rest/api/createResource#partialupdate
|
|
51
66
|
*/
|
|
52
|
-
partialUpdate:
|
|
53
|
-
path:
|
|
54
|
-
body: Partial<
|
|
55
|
-
|
|
67
|
+
partialUpdate: 'body' extends keyof O ? MutateEndpoint<{
|
|
68
|
+
path: O['path'];
|
|
69
|
+
body: Partial<O['body']>;
|
|
70
|
+
schema: O['schema'];
|
|
71
|
+
}> : MutateEndpoint<{
|
|
72
|
+
path: O['path'];
|
|
73
|
+
body: Partial<Denormalize<O['schema']>>;
|
|
74
|
+
schema: O['schema'];
|
|
75
|
+
}>;
|
|
56
76
|
/** Delete an item (DELETE)
|
|
57
77
|
*
|
|
58
78
|
* @see https://resthooks.io/rest/api/createResource#delete
|
|
59
79
|
*/
|
|
60
|
-
delete: RestTypeNoBody<PathArgs<
|
|
80
|
+
delete: RestTypeNoBody<PathArgs<O['path']>, O['schema'] extends schema.EntityInterface & {
|
|
61
81
|
process: any;
|
|
62
|
-
} ? schema.
|
|
63
|
-
path:
|
|
82
|
+
} ? schema.Invalidate<O['schema']> : O['schema'], undefined, Partial<PathArgs<O['path']>>, {
|
|
83
|
+
path: O['path'];
|
|
64
84
|
}>;
|
|
65
85
|
}
|
|
66
86
|
//# sourceMappingURL=createResource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createResource.d.ts","sourceRoot":"","sources":["../src/createResource.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"createResource.d.ts","sourceRoot":"","sources":["../src/createResource.ts"],"names":[],"mappings":"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"}
|
package/lib/createResource.js
CHANGED
|
@@ -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
|
-
|
|
5
|
+
Invalidate,
|
|
6
|
+
Collection
|
|
6
7
|
} = schema;
|
|
7
8
|
|
|
8
9
|
/** Creates collection of Endpoints for common operations on a given data/schema.
|
|
@@ -35,19 +36,15 @@ export default function createResource({
|
|
|
35
36
|
extraPartialOptions.getOptimisticResponse = optimisticPartial(get);
|
|
36
37
|
}
|
|
37
38
|
const getList = new Endpoint({
|
|
38
|
-
...
|
|
39
|
+
...extraMutateOptions,
|
|
39
40
|
path: shortenedPath,
|
|
40
|
-
schema: [schema],
|
|
41
|
+
schema: new Collection([schema]),
|
|
41
42
|
name: getName('getList')
|
|
42
43
|
});
|
|
43
44
|
return {
|
|
44
45
|
get,
|
|
45
46
|
getList,
|
|
46
|
-
create:
|
|
47
|
-
...extraMutateOptions,
|
|
48
|
-
path: shortenedPath,
|
|
49
|
-
schema,
|
|
50
|
-
method: 'POST',
|
|
47
|
+
create: getList.push.extend({
|
|
51
48
|
name: getName('create')
|
|
52
49
|
}),
|
|
53
50
|
update: new Endpoint({
|
|
@@ -67,7 +64,7 @@ export default function createResource({
|
|
|
67
64
|
delete: new Endpoint({
|
|
68
65
|
...extraMutateOptions,
|
|
69
66
|
path,
|
|
70
|
-
schema: schema.process ? new
|
|
67
|
+
schema: schema.process ? new Invalidate(schema) : schema,
|
|
71
68
|
method: 'DELETE',
|
|
72
69
|
name: getName('delete'),
|
|
73
70
|
process(res, params) {
|
|
@@ -80,7 +77,6 @@ export default function createResource({
|
|
|
80
77
|
function optimisticUpdate(snap, params, body) {
|
|
81
78
|
return {
|
|
82
79
|
...params,
|
|
83
|
-
// even tho we don't always have two arguments, the extra one will simply be undefined which spreads fine
|
|
84
80
|
...body
|
|
85
81
|
};
|
|
86
82
|
}
|
|
@@ -101,4 +97,4 @@ function optimisticPartial(getEndpoint) {
|
|
|
101
97
|
function optimisticDelete(snap, params) {
|
|
102
98
|
return params;
|
|
103
99
|
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBYm9ydE9wdGltaXN0aWMiLCJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkRlbGV0ZSIsImNyZWF0ZVJlc291cmNlIiwicGF0aCIsIkVuZHBvaW50Iiwib3B0aW1pc3RpYyIsImV4dHJhT3B0aW9ucyIsInNob3J0ZW5lZFBhdGgiLCJnZXROYW1lIiwibmFtZSIsImV4dHJhTXV0YXRlT3B0aW9ucyIsImV4dHJhUGFydGlhbE9wdGlvbnMiLCJnZXQiLCJnZXRPcHRpbWlzdGljUmVzcG9uc2UiLCJvcHRpbWlzdGljVXBkYXRlIiwib3B0aW1pc3RpY1BhcnRpYWwiLCJnZXRMaXN0IiwiY3JlYXRlIiwibWV0aG9kIiwidXBkYXRlIiwicGFydGlhbFVwZGF0ZSIsImRlbGV0ZSIsInByb2Nlc3MiLCJyZXMiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwib3B0aW1pc3RpY0RlbGV0ZSIsInVuZGVmaW5lZCIsInNuYXAiLCJib2R5IiwiZ2V0RW5kcG9pbnQiLCJkYXRhIiwiZ2V0UmVzcG9uc2UiXSwic291cmNlcyI6WyIuLi9zcmMvY3JlYXRlUmVzb3VyY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJvcnRPcHRpbWlzdGljLFxuICBzY2hlbWEsXG4gIFNuYXBzaG90SW50ZXJmYWNlLFxufSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHR5cGUge1xuICBTY2hlbWEsXG4gIERlbm9ybWFsaXplLFxuICBFbmRwb2ludEV4dHJhT3B0aW9ucyxcbn0gZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcblxuaW1wb3J0IHsgUGF0aEFyZ3MsIFNob3J0ZW5QYXRoIH0gZnJvbSAnLi9wYXRoVHlwZXMuanMnO1xuaW1wb3J0IFJlc3RFbmRwb2ludCwge1xuICBOZXdHZXRFbmRwb2ludCxcbiAgTmV3TXV0YXRlRW5kcG9pbnQsXG4gIFJlc3RJbnN0YW5jZSxcbiAgUmVzdFR5cGVOb0JvZHksXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmltcG9ydCB7IHNob3J0ZW5QYXRoIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbmNvbnN0IHsgRGVsZXRlIH0gPSBzY2hlbWE7XG5cbi8qKiBDcmVhdGVzIGNvbGxlY3Rpb24gb2YgRW5kcG9pbnRzIGZvciBjb21tb24gb3BlcmF0aW9ucyBvbiBhIGdpdmVuIGRhdGEvc2NoZW1hLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2VcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlUmVzb3VyY2U8VSBleHRlbmRzIHN0cmluZywgUyBleHRlbmRzIFNjaGVtYT4oe1xuICBwYXRoLFxuICBzY2hlbWEsXG4gIEVuZHBvaW50ID0gUmVzdEVuZHBvaW50LFxuICBvcHRpbWlzdGljLFxuICAuLi5leHRyYU9wdGlvbnNcbn06IHtcbiAgcmVhZG9ubHkgcGF0aDogVTtcbiAgcmVhZG9ubHkgc2NoZW1hOiBTO1xuICByZWFkb25seSBFbmRwb2ludD86IHR5cGVvZiBSZXN0RW5kcG9pbnQ7XG4gIHVybFByZWZpeD86IHN0cmluZztcbiAgb3B0aW1pc3RpYz86IGJvb2xlYW47XG59ICYgRW5kcG9pbnRFeHRyYU9wdGlvbnMpOiBSZXNvdXJjZTxVLCBTPiB7XG4gIGNvbnN0IHNob3J0ZW5lZFBhdGggPSBzaG9ydGVuUGF0aChwYXRoKTtcbiAgY29uc3QgZ2V0TmFtZSA9IChuYW1lOiBzdHJpbmcpID0+IGAkeyhzY2hlbWEgYXMgYW55KT8ubmFtZX0uJHtuYW1lfWA7XG4gIGNvbnN0IGV4dHJhTXV0YXRlT3B0aW9ucyA9IHsgLi4uZXh0cmFPcHRpb25zIH07XG4gIGNvbnN0IGV4dHJhUGFydGlhbE9wdGlvbnMgPSB7IC4uLmV4dHJhT3B0aW9ucyB9O1xuICBjb25zdCBnZXQ6IE5ld0dldEVuZHBvaW50PHsgcGF0aDogVSB9LCBTPiA9IG5ldyBFbmRwb2ludCh7XG4gICAgLi4uZXh0cmFPcHRpb25zLFxuICAgIHBhdGgsXG4gICAgc2NoZW1hLFxuICAgIG5hbWU6IGdldE5hbWUoJ2dldCcpLFxuICB9KTtcbiAgaWYgKG9wdGltaXN0aWMpIHtcbiAgICAoZXh0cmFNdXRhdGVPcHRpb25zIGFzIGFueSkuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW1pc3RpY1VwZGF0ZTtcbiAgICAoZXh0cmFQYXJ0aWFsT3B0aW9ucyBhcyBhbnkpLmdldE9wdGltaXN0aWNSZXNwb25zZSA9IG9wdGltaXN0aWNQYXJ0aWFsKGdldCk7XG4gIH1cbiAgY29uc3QgZ2V0TGlzdCA9IG5ldyBFbmRwb2ludCh7XG4gICAgLi4uZXh0cmFPcHRpb25zLFxuICAgIHBhdGg6IHNob3J0ZW5lZFBhdGgsXG4gICAgc2NoZW1hOiBbc2NoZW1hXSxcbiAgICBuYW1lOiBnZXROYW1lKCdnZXRMaXN0JyksXG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGdldCxcbiAgICBnZXRMaXN0LFxuICAgIGNyZWF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGg6IHNob3J0ZW5lZFBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIG5hbWU6IGdldE5hbWUoJ2NyZWF0ZScpLFxuICAgIH0pLFxuICAgIHVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgndXBkYXRlJyksXG4gICAgfSksXG4gICAgcGFydGlhbFVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhUGFydGlhbE9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgncGFydGlhbFVwZGF0ZScpLFxuICAgIH0pLFxuICAgIGRlbGV0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWE6IChzY2hlbWEgYXMgYW55KS5wcm9jZXNzID8gbmV3IERlbGV0ZShzY2hlbWEgYXMgYW55KSA6IHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICBuYW1lOiBnZXROYW1lKCdkZWxldGUnKSxcbiAgICAgIHByb2Nlc3MocmVzLCBwYXJhbXMpIHtcbiAgICAgICAgcmV0dXJuIHJlcyAmJiBPYmplY3Qua2V5cyhyZXMpLmxlbmd0aCA/IHJlcyA6IHBhcmFtcztcbiAgICAgIH0sXG4gICAgICBnZXRPcHRpbWlzdGljUmVzcG9uc2U6IG9wdGltaXN0aWMgPyAob3B0aW1pc3RpY0RlbGV0ZSBhcyBhbnkpIDogdW5kZWZpbmVkLFxuICAgIH0pLFxuICB9IGFzIGFueTtcbn1cblxuZnVuY3Rpb24gb3B0aW1pc3RpY1VwZGF0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnksIGJvZHk6IGFueSkge1xuICByZXR1cm4ge1xuICAgIC4uLnBhcmFtcyxcbiAgICAvLyBldmVuIHRobyB3ZSBkb24ndCBhbHdheXMgaGF2ZSB0d28gYXJndW1lbnRzLCB0aGUgZXh0cmEgb25lIHdpbGwgc2ltcGx5IGJlIHVuZGVmaW5lZCB3aGljaCBzcHJlYWRzIGZpbmVcbiAgICAuLi5ib2R5LFxuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY1BhcnRpYWwoZ2V0RW5kcG9pbnQ6IE5ld0dldEVuZHBvaW50PGFueSwgYW55Pikge1xuICByZXR1cm4gZnVuY3Rpb24gKHNuYXA6IFNuYXBzaG90SW50ZXJmYWNlLCBwYXJhbXM6IGFueSwgYm9keTogYW55KSB7XG4gICAgY29uc3QgeyBkYXRhIH0gPSBzbmFwLmdldFJlc3BvbnNlKGdldEVuZHBvaW50LCBwYXJhbXMpO1xuICAgIGlmICghZGF0YSkgdGhyb3cgbmV3IEFib3J0T3B0aW1pc3RpYygpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICAuLi5kYXRhLFxuICAgICAgLy8gZXZlbiB0aG8gd2UgZG9uJ3QgYWx3YXlzIGhhdmUgdHdvIGFyZ3VtZW50cywgdGhlIGV4dHJhIG9uZSB3aWxsIHNpbXBseSBiZSB1bmRlZmluZWQgd2hpY2ggc3ByZWFkcyBmaW5lXG4gICAgICAuLi5ib2R5LFxuICAgIH07XG4gIH07XG59XG5mdW5jdGlvbiBvcHRpbWlzdGljRGVsZXRlKHNuYXA6IFNuYXBzaG90SW50ZXJmYWNlLCBwYXJhbXM6IGFueSkge1xuICByZXR1cm4gcGFyYW1zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlPFUgZXh0ZW5kcyBzdHJpbmcsIFMgZXh0ZW5kcyBTY2hlbWE+IHtcbiAgLyoqIEdldCBhIHNpbmd1bGFyIGl0ZW1cbiAgICpcbiAgICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNnZXRcbiAgICovXG4gIGdldDogTmV3R2V0RW5kcG9pbnQ8eyBwYXRoOiBVIH0sIFM+O1xuICAvKiogR2V0IGEgbGlzdCBvZiBpdGVtXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2UjZ2V0bGlzdFxuICAgKi9cbiAgZ2V0TGlzdDogTmV3R2V0RW5kcG9pbnQ8XG4gICAge1xuICAgICAgcGF0aDogU2hvcnRlblBhdGg8VT47XG4gICAgICBzZWFyY2hQYXJhbXM6IFJlY29yZDxzdHJpbmcsIG51bWJlciB8IHN0cmluZyB8IGJvb2xlYW4+IHwgdW5kZWZpbmVkO1xuICAgIH0sXG4gICAgU1tdXG4gID47XG4gIC8qKiBDcmVhdGUgYSBuZXcgaXRlbSAoUE9TVClcbiAgICpcbiAgICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNjcmVhdGVcbiAgICovXG4gIGNyZWF0ZTogTmV3TXV0YXRlRW5kcG9pbnQ8XG4gICAgeyBwYXRoOiBTaG9ydGVuUGF0aDxVPjsgYm9keTogUGFydGlhbDxEZW5vcm1hbGl6ZTxTPj4gfSxcbiAgICBTXG4gID47XG4gIC8qKiBVcGRhdGUgYW4gaXRlbSAoUFVUKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI3VwZGF0ZVxuICAgKi9cbiAgdXBkYXRlOiBOZXdNdXRhdGVFbmRwb2ludDx7IHBhdGg6IFU7IGJvZHk6IFBhcnRpYWw8RGVub3JtYWxpemU8Uz4+IH0sIFM+O1xuICAvKiogVXBkYXRlIGFuIGl0ZW0gKFBBVENIKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI3BhcnRpYWx1cGRhdGVcbiAgICovXG4gIHBhcnRpYWxVcGRhdGU6IE5ld011dGF0ZUVuZHBvaW50PFxuICAgIHsgcGF0aDogVTsgYm9keTogUGFydGlhbDxEZW5vcm1hbGl6ZTxTPj4gfSxcbiAgICBTXG4gID47XG4gIC8qKiBEZWxldGUgYW4gaXRlbSAoREVMRVRFKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2RlbGV0ZVxuICAgKi9cbiAgZGVsZXRlOiBSZXN0VHlwZU5vQm9keTxcbiAgICBQYXRoQXJnczxVPixcbiAgICBTIGV4dGVuZHMgc2NoZW1hLkVudGl0eUludGVyZmFjZSAmIHsgcHJvY2VzczogYW55IH0gPyBzY2hlbWEuRGVsZXRlPFM+IDogUyxcbiAgICB1bmRlZmluZWQsXG4gICAgUGFydGlhbDxQYXRoQXJnczxVPj4sXG4gICAge1xuICAgICAgcGF0aDogVTtcbiAgICB9XG4gID47XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQ0VBLGVBQWUsRUFDZkMsTUFBTSxRQUVELHVCQUF1QjtBQVE5QixPQUFPQyxZQUFZLE1BS1osbUJBQW1CO0FBQzFCLFNBQVNDLFdBQVcsUUFBUSxrQkFBa0I7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
|
|
100
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBYm9ydE9wdGltaXN0aWMiLCJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkludmFsaWRhdGUiLCJDb2xsZWN0aW9uIiwiY3JlYXRlUmVzb3VyY2UiLCJwYXRoIiwiRW5kcG9pbnQiLCJvcHRpbWlzdGljIiwiZXh0cmFPcHRpb25zIiwic2hvcnRlbmVkUGF0aCIsImdldE5hbWUiLCJuYW1lIiwiZXh0cmFNdXRhdGVPcHRpb25zIiwiZXh0cmFQYXJ0aWFsT3B0aW9ucyIsImdldCIsImdldE9wdGltaXN0aWNSZXNwb25zZSIsIm9wdGltaXN0aWNVcGRhdGUiLCJvcHRpbWlzdGljUGFydGlhbCIsImdldExpc3QiLCJjcmVhdGUiLCJwdXNoIiwiZXh0ZW5kIiwidXBkYXRlIiwibWV0aG9kIiwicGFydGlhbFVwZGF0ZSIsImRlbGV0ZSIsInByb2Nlc3MiLCJyZXMiLCJwYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwib3B0aW1pc3RpY0RlbGV0ZSIsInVuZGVmaW5lZCIsInNuYXAiLCJib2R5IiwiZ2V0RW5kcG9pbnQiLCJkYXRhIiwiZ2V0UmVzcG9uc2UiXSwic291cmNlcyI6WyIuLi9zcmMvY3JlYXRlUmVzb3VyY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJvcnRPcHRpbWlzdGljLFxuICBTbmFwc2hvdEludGVyZmFjZSxcbiAgc2NoZW1hLFxufSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHR5cGUgeyBEZW5vcm1hbGl6ZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5cbmltcG9ydCB7IFBhdGhBcmdzLCBTaG9ydGVuUGF0aCB9IGZyb20gJy4vcGF0aFR5cGVzLmpzJztcbmltcG9ydCB7IFJlc291cmNlR2VuZXJpY3MsIFJlc291cmNlT3B0aW9ucyB9IGZyb20gJy4vcmVzb3VyY2VUeXBlcy5qcyc7XG5pbXBvcnQgUmVzdEVuZHBvaW50LCB7XG4gIEdldEVuZHBvaW50LFxuICBNdXRhdGVFbmRwb2ludCxcbiAgUmVzdFR5cGVOb0JvZHksXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmltcG9ydCB7IHNob3J0ZW5QYXRoIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbmNvbnN0IHsgSW52YWxpZGF0ZSwgQ29sbGVjdGlvbiB9ID0gc2NoZW1hO1xuXG4vKiogQ3JlYXRlcyBjb2xsZWN0aW9uIG9mIEVuZHBvaW50cyBmb3IgY29tbW9uIG9wZXJhdGlvbnMgb24gYSBnaXZlbiBkYXRhL3NjaGVtYS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVJlc291cmNlPE8gZXh0ZW5kcyBSZXNvdXJjZUdlbmVyaWNzPih7XG4gIHBhdGgsXG4gIHNjaGVtYSxcbiAgRW5kcG9pbnQgPSBSZXN0RW5kcG9pbnQsXG4gIG9wdGltaXN0aWMsXG4gIC4uLmV4dHJhT3B0aW9uc1xufTogUmVhZG9ubHk8Tz4gJiBSZXNvdXJjZU9wdGlvbnMpOiBSZXNvdXJjZTxPPiB7XG4gIGNvbnN0IHNob3J0ZW5lZFBhdGggPSBzaG9ydGVuUGF0aChwYXRoKTtcbiAgY29uc3QgZ2V0TmFtZSA9IChuYW1lOiBzdHJpbmcpID0+IGAkeyhzY2hlbWEgYXMgYW55KT8ubmFtZX0uJHtuYW1lfWA7XG4gIGNvbnN0IGV4dHJhTXV0YXRlT3B0aW9ucyA9IHsgLi4uZXh0cmFPcHRpb25zIH07XG4gIGNvbnN0IGV4dHJhUGFydGlhbE9wdGlvbnMgPSB7IC4uLmV4dHJhT3B0aW9ucyB9O1xuICBjb25zdCBnZXQ6IEdldEVuZHBvaW50PHsgcGF0aDogT1sncGF0aCddOyBzY2hlbWE6IE9bJ3NjaGVtYSddIH0+ID1cbiAgICBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYSxcbiAgICAgIG5hbWU6IGdldE5hbWUoJ2dldCcpLFxuICAgIH0pIGFzIGFueTtcbiAgaWYgKG9wdGltaXN0aWMpIHtcbiAgICAoZXh0cmFNdXRhdGVPcHRpb25zIGFzIGFueSkuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW1pc3RpY1VwZGF0ZTtcbiAgICAoZXh0cmFQYXJ0aWFsT3B0aW9ucyBhcyBhbnkpLmdldE9wdGltaXN0aWNSZXNwb25zZSA9IG9wdGltaXN0aWNQYXJ0aWFsKGdldCk7XG4gIH1cbiAgY29uc3QgZ2V0TGlzdCA9IG5ldyBFbmRwb2ludCh7XG4gICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgIHBhdGg6IHNob3J0ZW5lZFBhdGgsXG4gICAgc2NoZW1hOiBuZXcgQ29sbGVjdGlvbihbc2NoZW1hIGFzIGFueV0pLFxuICAgIG5hbWU6IGdldE5hbWUoJ2dldExpc3QnKSxcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgZ2V0LFxuICAgIGdldExpc3QsXG4gICAgY3JlYXRlOiBnZXRMaXN0LnB1c2guZXh0ZW5kKHsgbmFtZTogZ2V0TmFtZSgnY3JlYXRlJykgfSksXG4gICAgdXBkYXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICBuYW1lOiBnZXROYW1lKCd1cGRhdGUnKSxcbiAgICB9KSxcbiAgICBwYXJ0aWFsVXBkYXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFQYXJ0aWFsT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBuYW1lOiBnZXROYW1lKCdwYXJ0aWFsVXBkYXRlJyksXG4gICAgfSksXG4gICAgZGVsZXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYTogKHNjaGVtYSBhcyBhbnkpLnByb2Nlc3MgPyBuZXcgSW52YWxpZGF0ZShzY2hlbWEgYXMgYW55KSA6IHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICBuYW1lOiBnZXROYW1lKCdkZWxldGUnKSxcbiAgICAgIHByb2Nlc3MocmVzOiBhbnksIHBhcmFtczogYW55KSB7XG4gICAgICAgIHJldHVybiByZXMgJiYgT2JqZWN0LmtleXMocmVzKS5sZW5ndGggPyByZXMgOiBwYXJhbXM7XG4gICAgICB9LFxuICAgICAgZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlOiBvcHRpbWlzdGljID8gKG9wdGltaXN0aWNEZWxldGUgYXMgYW55KSA6IHVuZGVmaW5lZCxcbiAgICB9KSxcbiAgfSBhcyBhbnk7XG59XG5cbmZ1bmN0aW9uIG9wdGltaXN0aWNVcGRhdGUoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5wYXJhbXMsXG4gICAgLi4uYm9keSxcbiAgfTtcbn1cbmZ1bmN0aW9uIG9wdGltaXN0aWNQYXJ0aWFsKGdldEVuZHBvaW50OiBHZXRFbmRwb2ludCkge1xuICByZXR1cm4gZnVuY3Rpb24gKHNuYXA6IFNuYXBzaG90SW50ZXJmYWNlLCBwYXJhbXM6IGFueSwgYm9keTogYW55KSB7XG4gICAgY29uc3QgeyBkYXRhIH0gPSBzbmFwLmdldFJlc3BvbnNlKGdldEVuZHBvaW50LCBwYXJhbXMpIGFzIHsgZGF0YTogYW55IH07XG4gICAgaWYgKCFkYXRhKSB0aHJvdyBuZXcgQWJvcnRPcHRpbWlzdGljKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIC4uLmRhdGEsXG4gICAgICAvLyBldmVuIHRobyB3ZSBkb24ndCBhbHdheXMgaGF2ZSB0d28gYXJndW1lbnRzLCB0aGUgZXh0cmEgb25lIHdpbGwgc2ltcGx5IGJlIHVuZGVmaW5lZCB3aGljaCBzcHJlYWRzIGZpbmVcbiAgICAgIC4uLmJvZHksXG4gICAgfTtcbiAgfTtcbn1cbmZ1bmN0aW9uIG9wdGltaXN0aWNEZWxldGUoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55KSB7XG4gIHJldHVybiBwYXJhbXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2U8XG4gIE8gZXh0ZW5kcyBSZXNvdXJjZUdlbmVyaWNzID0geyBwYXRoOiBzdHJpbmc7IHNjaGVtYTogYW55IH0sXG4+IHtcbiAgLyoqIEdldCBhIHNpbmd1bGFyIGl0ZW1cbiAgICpcbiAgICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNnZXRcbiAgICovXG4gIGdldDogR2V0RW5kcG9pbnQ8eyBwYXRoOiBPWydwYXRoJ107IHNjaGVtYTogT1snc2NoZW1hJ10gfT47XG4gIC8qKiBHZXQgYSBsaXN0IG9mIGl0ZW1cbiAgICpcbiAgICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNnZXRsaXN0XG4gICAqL1xuICBnZXRMaXN0OiAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICA/IEdldEVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogU2hvcnRlblBhdGg8T1sncGF0aCddPjtcbiAgICAgICAgc2NoZW1hOiBzY2hlbWEuQ29sbGVjdGlvbjxbT1snc2NoZW1hJ11dPjtcbiAgICAgICAgc2VhcmNoUGFyYW1zOiBPWydzZWFyY2hQYXJhbXMnXTtcbiAgICAgIH0+XG4gICAgOiBHZXRFbmRwb2ludDx7XG4gICAgICAgIHBhdGg6IFNob3J0ZW5QYXRoPE9bJ3BhdGgnXT47XG4gICAgICAgIHNjaGVtYTogc2NoZW1hLkNvbGxlY3Rpb248W09bJ3NjaGVtYSddXT47XG4gICAgICAgIHNlYXJjaFBhcmFtczogUmVjb3JkPHN0cmluZywgbnVtYmVyIHwgc3RyaW5nIHwgYm9vbGVhbj4gfCB1bmRlZmluZWQ7XG4gICAgICB9PjtcbiAgLyoqIENyZWF0ZSBhIG5ldyBpdGVtIChQT1NUKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2NyZWF0ZVxuICAgKi9cbiAgY3JlYXRlOiAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICA/IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogU2hvcnRlblBhdGg8T1sncGF0aCddPjtcbiAgICAgICAgc2NoZW1hOiBzY2hlbWEuQ29sbGVjdGlvbjxbT1snc2NoZW1hJ11dPlsncHVzaCddO1xuICAgICAgICBib2R5OiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgICAgPyBPWydib2R5J11cbiAgICAgICAgICA6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PjtcbiAgICAgICAgc2VhcmNoUGFyYW1zOiBPWydzZWFyY2hQYXJhbXMnXTtcbiAgICAgIH0+XG4gICAgOiBNdXRhdGVFbmRwb2ludDx7XG4gICAgICAgIHBhdGg6IFNob3J0ZW5QYXRoPE9bJ3BhdGgnXT47XG4gICAgICAgIHNjaGVtYTogc2NoZW1hLkNvbGxlY3Rpb248W09bJ3NjaGVtYSddXT5bJ3B1c2gnXTtcbiAgICAgICAgYm9keTogJ2JvZHknIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICAgID8gT1snYm9keSddXG4gICAgICAgICAgOiBQYXJ0aWFsPERlbm9ybWFsaXplPE9bJ3NjaGVtYSddPj47XG4gICAgICB9PjtcbiAgLyoqIFVwZGF0ZSBhbiBpdGVtIChQVVQpXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2UjdXBkYXRlXG4gICAqL1xuICB1cGRhdGU6ICdib2R5JyBleHRlbmRzIGtleW9mIE9cbiAgICA/IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogT1sncGF0aCddO1xuICAgICAgICBib2R5OiBPWydib2R5J107XG4gICAgICAgIHNjaGVtYTogT1snc2NoZW1hJ107XG4gICAgICB9PlxuICAgIDogTXV0YXRlRW5kcG9pbnQ8e1xuICAgICAgICBwYXRoOiBPWydwYXRoJ107XG4gICAgICAgIGJvZHk6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PjtcbiAgICAgICAgc2NoZW1hOiBPWydzY2hlbWEnXTtcbiAgICAgIH0+O1xuICAvKiogVXBkYXRlIGFuIGl0ZW0gKFBBVENIKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI3BhcnRpYWx1cGRhdGVcbiAgICovXG4gIHBhcnRpYWxVcGRhdGU6ICdib2R5JyBleHRlbmRzIGtleW9mIE9cbiAgICA/IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogT1sncGF0aCddO1xuICAgICAgICBib2R5OiBQYXJ0aWFsPE9bJ2JvZHknXT47XG4gICAgICAgIHNjaGVtYTogT1snc2NoZW1hJ107XG4gICAgICB9PlxuICAgIDogTXV0YXRlRW5kcG9pbnQ8e1xuICAgICAgICBwYXRoOiBPWydwYXRoJ107XG4gICAgICAgIGJvZHk6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PjtcbiAgICAgICAgc2NoZW1hOiBPWydzY2hlbWEnXTtcbiAgICAgIH0+O1xuICAvKiogRGVsZXRlIGFuIGl0ZW0gKERFTEVURSlcbiAgICpcbiAgICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNkZWxldGVcbiAgICovXG4gIGRlbGV0ZTogUmVzdFR5cGVOb0JvZHk8XG4gICAgUGF0aEFyZ3M8T1sncGF0aCddPixcbiAgICBPWydzY2hlbWEnXSBleHRlbmRzIHNjaGVtYS5FbnRpdHlJbnRlcmZhY2UgJiB7IHByb2Nlc3M6IGFueSB9XG4gICAgICA/IHNjaGVtYS5JbnZhbGlkYXRlPE9bJ3NjaGVtYSddPlxuICAgICAgOiBPWydzY2hlbWEnXSxcbiAgICB1bmRlZmluZWQsXG4gICAgUGFydGlhbDxQYXRoQXJnczxPWydwYXRoJ10+PixcbiAgICB7XG4gICAgICBw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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,
|
|
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
|
package/lib/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
10
|
+
export * from './RestEndpoint.js';
|
|
11
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlZmF1bHQiLCJSZXN0RW5kcG9pbnQiLCJjcmVhdGVSZXNvdXJjZSIsImhvb2tpZnlSZXNvdXJjZSIsIk5ldHdvcmtFcnJvciIsInBhZ2luYXRpb25VcGRhdGUiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiT2JqZWN0Lmhhc093biA9XG4gIE9iamVjdC5oYXNPd24gfHxcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gZnVuY3Rpb24gaGFzT3duKGl0LCBrZXkpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xuICB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZXN0RW5kcG9pbnQgfSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEdldEVuZHBvaW50LFxuICBNdXRhdGVFbmRwb2ludCxcbiAgRGVmYXVsdHMsXG4gIFJlc3RHZW5lcmljcyxcbiAgRmV0Y2hHZXQsXG4gIEZldGNoTXV0YXRlLFxuICBSZXN0RmV0Y2gsXG4gIFJlc3RUeXBlLFxuICBSZXN0SW5zdGFuY2UsXG4gIEtleW9mUmVzdEVuZHBvaW50LFxuICBSZXN0RW5kcG9pbnRDb25zdHJ1Y3Rvck9wdGlvbnMsXG4gIEFkZEVuZHBvaW50LFxuICBQYWdpbmF0aW9uRmllbGRFbmRwb2ludCxcbn0gZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjcmVhdGVSZXNvdXJjZSB9IGZyb20gJy4vY3JlYXRlUmVzb3VyY2UuanMnO1xuZXhwb3J0IHR5cGUgeyBSZXNvdXJjZSB9IGZyb20gJy4vY3JlYXRlUmVzb3VyY2UuanMnO1xuZXhwb3J0IHR5cGUgeyBSZXNvdXJjZU9wdGlvbnMsIFJlc291cmNlR2VuZXJpY3MgfSBmcm9tICcuL3Jlc291cmNlVHlwZXMuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBob29raWZ5UmVzb3VyY2UgfSBmcm9tICcuL2hvb2tpZnlSZXNvdXJjZS5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEhvb2tSZXNvdXJjZSxcbiAgSG9va2FibGVFbmRwb2ludEludGVyZmFjZSxcbn0gZnJvbSAnLi9ob29raWZ5UmVzb3VyY2UuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBOZXR3b3JrRXJyb3IgfSBmcm9tICcuL05ldHdvcmtFcnJvci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHBhZ2luYXRpb25VcGRhdGUgfSBmcm9tICcuL3BhZ2luYXRpb25VcGRhdGUuanMnO1xuZXhwb3J0IHR5cGUgeyBPcHRpb25zVG9GdW5jdGlvbiB9IGZyb20gJy4vT3B0aW9uc1RvRnVuY3Rpb24uanMnO1xuZXhwb3J0IHR5cGUge1xuICBTaG9ydGVuUGF0aCxcbiAgUGF0aEFyZ3MsXG4gIFBhdGhLZXlzLFxuICBLZXlzVG9BcmdzLFxuICBQYXRoQXJnc0FuZFNlYXJjaCxcbn0gZnJvbSAnLi9wYXRoVHlwZXMuanMnO1xuXG5leHBvcnQgKiBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuIl0sIm1hcHBpbmdzIjoiQUFBQUEsTUFBTSxDQUFDQyxNQUFNLEdBQ1hELE1BQU0sQ0FBQ0MsTUFBTSxJQUNiLDBCQUEyQixTQUFTQSxNQUFNQSxDQUFDQyxFQUFFLEVBQUVDLEdBQUcsRUFBRTtFQUNsRCxPQUFPSCxNQUFNLENBQUNJLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNKLEVBQUUsRUFBRUMsR0FBRyxDQUFDO0FBQ3RELENBQUM7QUFDSCxTQUFTSSxPQUFPLElBQUlDLFlBQVksUUFBUSxtQkFBbUI7QUFnQjNELFNBQVNELE9BQU8sSUFBSUUsY0FBYyxRQUFRLHFCQUFxQjtBQUcvRCxTQUFTRixPQUFPLElBQUlHLGVBQWUsUUFBUSxzQkFBc0I7QUFLakUsU0FBU0gsT0FBTyxJQUFJSSxZQUFZLFFBQVEsbUJBQW1CO0FBQzNELFNBQVNKLE9BQU8sSUFBSUssZ0JBQWdCLFFBQVEsdUJBQXVCO0FBVW5FLGNBQWMsdUJBQXVCO0FBQ3JDLGNBQWMsbUJBQW1CIn0=
|
package/lib/next/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from '
|
|
2
|
-
export { default as RestEndpoint } from '
|
|
3
|
-
export { default as createResource } from '
|
|
4
|
-
export type { Resource } from '
|
|
5
|
-
export type { ResourceOptions, ResourceGenerics } from '
|
|
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
|
package/lib/next/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,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"}
|
package/lib/next/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from '
|
|
2
|
-
export { default as RestEndpoint } from '
|
|
3
|
-
export { default as createResource } from '
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
1
|
+
export * from '../RestEndpoint.js';
|
|
2
|
+
export { default as RestEndpoint } from '../RestEndpoint.js';
|
|
3
|
+
export { default as createResource } from '../createResource.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0IiwiUmVzdEVuZHBvaW50IiwiY3JlYXRlUmVzb3VyY2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV4dC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuLi9SZXN0RW5kcG9pbnQuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZXN0RW5kcG9pbnQgfSBmcm9tICcuLi9SZXN0RW5kcG9pbnQuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjcmVhdGVSZXNvdXJjZSB9IGZyb20gJy4uL2NyZWF0ZVJlc291cmNlLmpzJztcbmV4cG9ydCB0eXBlIHsgUmVzb3VyY2UgfSBmcm9tICcuLi9jcmVhdGVSZXNvdXJjZS5qcyc7XG5leHBvcnQgdHlwZSB7IFJlc291cmNlT3B0aW9ucywgUmVzb3VyY2VHZW5lcmljcyB9IGZyb20gJy4uL3Jlc291cmNlVHlwZXMuanMnO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQjtBQUNsQyxTQUFTQSxPQUFPLElBQUlDLFlBQVksUUFBUSxvQkFBb0I7QUFDNUQsU0FBU0QsT0FBTyxJQUFJRSxjQUFjLFFBQVEsc0JBQXNCIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resourceTypes.d.ts","sourceRoot":"","sources":["../src/resourceTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0BAA0B;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;IACpB,0BAA0B;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC;CAC7B;AACD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,OAAO,YAAY,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;IACtE,cAAc,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;IAC/D,aAAa,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACpE,aAAa,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACjD,0FAA0F;IAC1F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,2FAA2F;IAC3F,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,uDAAuD;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,0DAA0D;IAC1D,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,iDAAiD;IACjD,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL3Jlc291cmNlVHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTY2hlbWEgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQgUmVzdEVuZHBvaW50IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZUdlbmVyaWNzIHtcbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuICByZWFkb25seSBzY2hlbWE6IFNjaGVtYTtcbiAgLyoqIE9ubHkgdXNlZCBmb3IgdHlwZXMgKi9cbiAgcmVhZG9ubHkgYm9keT86IGFueTtcbiAgLyoqIE9ubHkgdXNlZCBmb3IgdHlwZXMgKi9cbiAgcmVhZG9ubHkgc2VhcmNoUGFyYW1zPzogYW55O1xufVxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZU9wdGlvbnMge1xuICBFbmRwb2ludD86IHR5cGVvZiBSZXN0RW5kcG9pbnQ7XG4gIHVybFByZWZpeD86IHN0cmluZztcbiAgcmVxdWVzdEluaXQ/OiBSZXF1ZXN0SW5pdDtcbiAgZ2V0SGVhZGVycz8oaGVhZGVyczogSGVhZGVyc0luaXQpOiBQcm9taXNlPEhlYWRlcnNJbml0PiB8IEhlYWRlcnNJbml0O1xuICBnZXRSZXF1ZXN0SW5pdD8oYm9keTogYW55KTogUHJvbWlzZTxSZXF1ZXN0SW5pdD4gfCBSZXF1ZXN0SW5pdDtcbiAgZmV0Y2hSZXNwb25zZT8oaW5wdXQ6IFJlcXVlc3RJbmZvLCBpbml0OiBSZXF1ZXN0SW5pdCk6IFByb21pc2U8YW55PjtcbiAgcGFyc2VSZXNwb25zZT8ocmVzcG9uc2U6IFJlc3BvbnNlKTogUHJvbWlzZTxhbnk+O1xuICAvKiogRGVmYXVsdCBkYXRhIGV4cGlyeSBsZW5ndGgsIHdpbGwgZmFsbCBiYWNrIHRvIE5ldHdvcmtNYW5hZ2VyIGRlZmF1bHQgaWYgbm90IGRlZmluZWQgKi9cbiAgcmVhZG9ubHkgZGF0YUV4cGlyeUxlbmd0aD86IG51bWJlcjtcbiAgLyoqIERlZmF1bHQgZXJyb3IgZXhwaXJ5IGxlbmd0aCwgd2lsbCBmYWxsIGJhY2sgdG8gTmV0d29ya01hbmFnZXIgZGVmYXVsdCBpZiBub3QgZGVmaW5lZCAqL1xuICByZWFkb25seSBlcnJvckV4cGlyeUxlbmd0aD86IG51bWJlcjtcbiAgLyoqIFBvbGwgd2l0aCBhdCBsZWFzdCB0aGlzIGZyZXF1ZW5jeSBpbiBtaWxpc2Vjb25kcyAqL1xuICByZWFkb25seSBwb2xsRnJlcXVlbmN5PzogbnVtYmVyO1xuICAvKiogTWFya3MgY2FjaGVkIHJlc291cmNlcyBhcyBpbnZhbGlkIGlmIHRoZXkgYXJlIHN0YWxlICovXG4gIHJlYWRvbmx5IGludmFsaWRJZlN0YWxlPzogYm9vbGVhbjtcbiAgLyoqIERldGVybWluZXMgd2hldGhlciB0byB0aHJvdyBvciBmYWxsYmFjayB0byAqL1xuICBlcnJvclBvbGljeT8oZXJyb3I6IGFueSk6ICdoYXJkJyB8ICdzb2Z0JyB8IHVuZGVmaW5lZDtcbiAgb3B0aW1pc3RpYz86IGJvb2xlYW47XG59XG4iXSwibWFwcGluZ3MiOiIifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@data-client/rest",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Endpoints for REST APIs",
|
|
5
5
|
"homepage": "https://dataclient.io/rest",
|
|
6
6
|
"repository": {
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"license": "Apache-2.0",
|
|
111
111
|
"dependencies": {
|
|
112
112
|
"@babel/runtime": "^7.17.0",
|
|
113
|
-
"@data-client/endpoint": "^0.
|
|
113
|
+
"@data-client/endpoint": "^0.2.0",
|
|
114
114
|
"path-to-regexp": "^6.2.1"
|
|
115
115
|
},
|
|
116
116
|
"devDependencies": {
|
|
@@ -118,4 +118,4 @@
|
|
|
118
118
|
"@types/node": "^20.0.0",
|
|
119
119
|
"@types/path-to-regexp": "^1.7.0"
|
|
120
120
|
}
|
|
121
|
-
}
|
|
121
|
+
}
|
package/src/OptionsToFunction.ts
CHANGED
package/src/RestEndpoint.d.ts
CHANGED
|
@@ -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,
|
|
@@ -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
|
|
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
|
-
|
|
520
|
-
}
|
|
521
|
-
S extends Schema | undefined = Schema | undefined,
|
|
504
|
+
schema: Schema;
|
|
505
|
+
},
|
|
522
506
|
> = RestTypeNoBody<
|
|
523
507
|
'searchParams' extends keyof O
|
|
524
|
-
? O['searchParams']
|
|
508
|
+
? O['searchParams'] extends undefined
|
|
509
|
+
? PathArgs<O['path']>
|
|
510
|
+
: O['searchParams'] & PathArgs<O['path']>
|
|
525
511
|
: PathArgs<O['path']>,
|
|
526
|
-
|
|
512
|
+
O['schema'],
|
|
527
513
|
undefined,
|
|
528
514
|
any,
|
|
529
515
|
O & { body: undefined }
|
|
530
516
|
>;
|
|
531
517
|
|
|
532
|
-
export type
|
|
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
|
|
536
|
-
|
|
537
|
-
}
|
|
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']
|
|
533
|
+
? O['searchParams'] extends undefined
|
|
534
|
+
? PathArgs<O['path']>
|
|
535
|
+
: O['searchParams'] & PathArgs<O['path']>
|
|
542
536
|
: PathArgs<O['path']>,
|
|
543
|
-
|
|
537
|
+
O['schema'],
|
|
544
538
|
true,
|
|
545
539
|
O['body'],
|
|
546
540
|
any,
|