@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
@@ -1,225 +0,0 @@
1
- import _objectDestructuringEmpty from "@babel/runtime/helpers/objectDestructuringEmpty";
2
- import _classPrivateFieldLooseBase from "@babel/runtime/helpers/classPrivateFieldLooseBase";
3
- import _classPrivateFieldLooseKey from "@babel/runtime/helpers/classPrivateFieldLooseKey";
4
- import { Endpoint } from '@data-client/endpoint';
5
- import { pathToRegexp } from 'path-to-regexp';
6
- import extractCollection from '../extractCollection.js';
7
- import mapCollection from '../mapCollection.js';
8
- import NetworkError from '../NetworkError.js';
9
- import { paginatedMerge, paginatedFilter } from '../paginatedCollections.js';
10
- import paginationUpdate from '../paginationUpdate.js';
11
- import paramsToString from '../paramsToString.js';
12
- import { getUrlBase, getUrlTokens, isPojo } from '../RestHelpers.js';
13
-
14
- /** Simplifies endpoint definitions that follow REST patterns
15
- *
16
- * @see https://resthooks.io/rest/api/RestEndpoint
17
- */
18
- var _hasBody = /*#__PURE__*/_classPrivateFieldLooseKey("hasBody");
19
- export default class RestEndpoint extends Endpoint {
20
- constructor(options) {
21
- var _options$fetch;
22
- super((_options$fetch = options.fetch) != null ? _options$fetch : async function (...args) {
23
- const urlParams = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] && args.length < 2 ? {} : args[0] || {};
24
- const body = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] ? args[args.length - 1] : undefined;
25
- return this.fetchResponse(this.url(urlParams), await this.getRequestInit(body)).then(response => this.parseResponse(response)).then(res => this.process(res, ...args));
26
- }, options);
27
- // we want to use the prototype chain here
28
- Object.defineProperty(this, _hasBody, {
29
- writable: true,
30
- value: void 0
31
- });
32
- if (!('sideEffect' in this) || 'method' in options && !('sideEffect' in options)) {
33
- this.sideEffect = options.method === 'GET' || options.method === undefined ? undefined : true;
34
- }
35
- if (this.method === undefined) {
36
- this.method = this.sideEffect ? 'POST' : 'GET';
37
- }
38
- if (this.urlPrefix === undefined) {
39
- this.urlPrefix = '';
40
- }
41
- _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] = (!('body' in this) || this.body !== undefined) && !['GET', 'DELETE'].includes(this.method);
42
- Object.defineProperty(this, 'name', {
43
- get() {
44
- // using 'in' to ensure inheritance lookup
45
- if ('__name' in this) return this.__name;
46
- return this.urlPrefix + this.path;
47
- }
48
- });
49
- }
50
- key(...args) {
51
- return `${this.method} ${this.url(_classPrivateFieldLooseBase(this, _hasBody)[_hasBody] && args.length < 2 ? {} : args[0] || {})}`;
52
- }
53
-
54
- /** Get the url */
55
- url(urlParams = {}) {
56
- const urlBase = getUrlBase(this.path)(urlParams);
57
- const tokens = getUrlTokens(this.path);
58
- const searchParams = {};
59
- Object.keys(urlParams).forEach(k => {
60
- if (!tokens.has(k)) {
61
- searchParams[k] = urlParams[k];
62
- }
63
- });
64
- if (Object.keys(searchParams).length) {
65
- return `${this.urlPrefix}${urlBase}?${paramsToString(searchParams)}`;
66
- }
67
- return `${this.urlPrefix}${urlBase}`;
68
- }
69
- getHeaders(headers) {
70
- return headers;
71
- }
72
-
73
- /** Init options for fetch - run at fetch */
74
- async getRequestInit(body) {
75
- const bodyIsPojo = isPojo(body);
76
- if (bodyIsPojo) {
77
- body = JSON.stringify(body);
78
- }
79
- const init = Object.assign({}, this.requestInit, {
80
- method: this.method,
81
- signal: this.signal,
82
- body
83
- });
84
- if (!body || bodyIsPojo) {
85
- init.headers = Object.assign({
86
- // default to application/json but allow user explicit overrides
87
- 'Content-Type': 'application/json'
88
- }, init.headers);
89
- }
90
- init.headers = await this.getHeaders(init.headers);
91
- return init;
92
- }
93
-
94
- /** Perform network request and resolve with HTTP Response */
95
- fetchResponse(input, init) {
96
- return fetch(input, init).then(response => {
97
- if (!response.ok) {
98
- throw new NetworkError(response);
99
- }
100
- return response;
101
- }).catch(error => {
102
- // ensure CORS, network down, and parse errors are still caught by NetworkErrorBoundary
103
- if (error instanceof TypeError) {
104
- error.status = 500;
105
- }
106
- throw error;
107
- });
108
- }
109
- parseResponse(response) {
110
- var _response$headers$get;
111
- // this should not have any content to read
112
- if (response.status === 204) return Promise.resolve(null);
113
- if (!((_response$headers$get = response.headers.get('content-type')) != null && _response$headers$get.includes('json'))) {
114
- return response.text().then(text => {
115
- // string or 'not set' schema, are valid
116
- // when overriding process they might handle other cases, so we don't want to block on our logic
117
- if (['string', 'undefined'].includes(typeof this.schema) || this.schema === null || this.process !== RestEndpoint.prototype.process) return text;
118
- const error = new NetworkError(response);
119
- error.status = 404;
120
- error.message = `Unexpected text response for schema ${this.schema}`;
121
- // custom dev-only messages for more detailed cause
122
- /* istanbul ignore else */
123
- if (process.env.NODE_ENV !== 'production') {
124
- var _response$headers$get2;
125
- if (!((_response$headers$get2 = response.headers.get('content-type')) != null && _response$headers$get2.includes('html') || text.startsWith('<!doctype html>'))) {
126
- if (tryParse(text) !== undefined) {
127
- error.message = `"content-type" header does not include "json", but JSON response found.
128
- See https://www.rfc-editor.org/rfc/rfc4627 for information on JSON responses
129
-
130
- Using parsed JSON.
131
- If text content was expected see https://resthooks.io/rest/api/RestEndpoint#parseResponse`;
132
- }
133
- } else {
134
- error.message = `Unexpected html response for schema ${this.schema}
135
- This likely means no API endpoint was configured for this request, resulting in an HTML fallback.
136
-
137
- Response (first 300 characters): ${text.substring(0, 300)}`;
138
- }
139
- }
140
- throw error;
141
- });
142
- }
143
- return response.json().catch(error => {
144
- error.status = 400;
145
- throw error;
146
- });
147
- }
148
- process(value) {
149
- return value;
150
- }
151
- errorPolicy(error) {
152
- return error.status >= 500 ? 'soft' : undefined;
153
- }
154
- get pathRegex() {
155
- return pathToRegexp(this.path);
156
- }
157
- testKey(key) {
158
- const prefix = this.method + ' ' + this.urlPrefix;
159
- if (!key.startsWith(prefix)) return false;
160
- let lastQuestion = key.lastIndexOf('?');
161
- if (lastQuestion === -1) lastQuestion = undefined;
162
- return this.pathRegex.test(key.substring(prefix.length, lastQuestion));
163
- }
164
- extend(options) {
165
- // make a constructor/prototype based off this
166
- // extend from it and init with options sent
167
- class E extends this.constructor {}
168
- Object.assign(E.prototype, this);
169
- const instance = new E( // fetch get overridden by function prototype, so we must set it explicitly every time
170
- Object.assign({
171
- fetch: this.fetch
172
- }, options));
173
- return instance;
174
- }
175
- paginated(removeCursor) {
176
- if (typeof removeCursor === 'string') {
177
- const fieldName = removeCursor;
178
- removeCursor = _ref => {
179
- let params = Object.assign({}, (_objectDestructuringEmpty(_ref), _ref));
180
- delete params[fieldName];
181
- return [params];
182
- };
183
- }
184
- let found = false;
185
- const createPaginatedSchema = collection => {
186
- found = true;
187
- return collection.addWith(paginatedMerge, paginatedFilter(removeCursor));
188
- };
189
- const newSchema = mapCollection(this.schema, createPaginatedSchema);
190
- if (found) {
191
- return this.extend({
192
- schema: newSchema
193
- });
194
- }
195
- return this.extend({
196
- update: paginationUpdate(this, removeCursor)
197
- });
198
- }
199
- get push() {
200
- return this.extend({
201
- method: 'POST',
202
- schema: extractCollection(this.schema, s => s.push)
203
- });
204
- }
205
- get unshift() {
206
- return this.extend({
207
- method: 'POST',
208
- schema: extractCollection(this.schema, s => s.unshift)
209
- });
210
- }
211
- get assign() {
212
- return this.extend({
213
- method: 'POST',
214
- schema: extractCollection(this.schema, s => s.assign)
215
- });
216
- }
217
- }
218
- const tryParse = input => {
219
- try {
220
- return JSON.parse(input);
221
- } catch (e) {
222
- return undefined;
223
- }
224
- };
225
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbmRwb2ludCIsInBhdGhUb1JlZ2V4cCIsImV4dHJhY3RDb2xsZWN0aW9uIiwibWFwQ29sbGVjdGlvbiIsIk5ldHdvcmtFcnJvciIsInBhZ2luYXRlZE1lcmdlIiwicGFnaW5hdGVkRmlsdGVyIiwicGFnaW5hdGlvblVwZGF0ZSIsInBhcmFtc1RvU3RyaW5nIiwiZ2V0VXJsQmFzZSIsImdldFVybFRva2VucyIsImlzUG9qbyIsIl9oYXNCb2R5IiwiX2NsYXNzUHJpdmF0ZUZpZWxkTG9vc2VLZXkiLCJSZXN0RW5kcG9pbnQiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJfb3B0aW9ucyRmZXRjaCIsImZldGNoIiwiYXJncyIsInVybFBhcmFtcyIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlQmFzZSIsImxlbmd0aCIsImJvZHkiLCJ1bmRlZmluZWQiLCJmZXRjaFJlc3BvbnNlIiwidXJsIiwiZ2V0UmVxdWVzdEluaXQiLCJ0aGVuIiwicmVzcG9uc2UiLCJwYXJzZVJlc3BvbnNlIiwicmVzIiwicHJvY2VzcyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5Iiwid3JpdGFibGUiLCJ2YWx1ZSIsInNpZGVFZmZlY3QiLCJtZXRob2QiLCJ1cmxQcmVmaXgiLCJpbmNsdWRlcyIsImdldCIsIl9fbmFtZSIsInBhdGgiLCJrZXkiLCJ1cmxCYXNlIiwidG9rZW5zIiwic2VhcmNoUGFyYW1zIiwia2V5cyIsImZvckVhY2giLCJrIiwiaGFzIiwiZ2V0SGVhZGVycyIsImhlYWRlcnMiLCJib2R5SXNQb2pvIiwiSlNPTiIsInN0cmluZ2lmeSIsImluaXQiLCJhc3NpZ24iLCJyZXF1ZXN0SW5pdCIsInNpZ25hbCIsImlucHV0Iiwib2siLCJjYXRjaCIsImVycm9yIiwiVHlwZUVycm9yIiwic3RhdHVzIiwiX3Jlc3BvbnNlJGhlYWRlcnMkZ2V0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0ZXh0Iiwic2NoZW1hIiwicHJvdG90eXBlIiwibWVzc2FnZSIsImVudiIsIk5PREVfRU5WIiwiX3Jlc3BvbnNlJGhlYWRlcnMkZ2V0MiIsInN0YXJ0c1dpdGgiLCJ0cnlQYXJzZSIsInN1YnN0cmluZyIsImpzb24iLCJlcnJvclBvbGljeSIsInBhdGhSZWdleCIsInRlc3RLZXkiLCJwcmVmaXgiLCJsYXN0UXVlc3Rpb24iLCJsYXN0SW5kZXhPZiIsInRlc3QiLCJleHRlbmQiLCJFIiwiaW5zdGFuY2UiLCJwYWdpbmF0ZWQiLCJyZW1vdmVDdXJzb3IiLCJmaWVsZE5hbWUiLCJfcmVmIiwicGFyYW1zIiwiX29iamVjdERlc3RydWN0dXJpbmdFbXB0eSIsImZvdW5kIiwiY3JlYXRlUGFnaW5hdGVkU2NoZW1hIiwiY29sbGVjdGlvbiIsImFkZFdpdGgiLCJuZXdTY2hlbWEiLCJ1cGRhdGUiLCJwdXNoIiwicyIsInVuc2hpZnQiLCJwYXJzZSIsImUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV4dC9SZXN0RW5kcG9pbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW5kcG9pbnQgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHsgcGF0aFRvUmVnZXhwIH0gZnJvbSAncGF0aC10by1yZWdleHAnO1xuXG5pbXBvcnQgZXh0cmFjdENvbGxlY3Rpb24gZnJvbSAnLi4vZXh0cmFjdENvbGxlY3Rpb24uanMnO1xuaW1wb3J0IG1hcENvbGxlY3Rpb24gZnJvbSAnLi4vbWFwQ29sbGVjdGlvbi5qcyc7XG5pbXBvcnQgTmV0d29ya0Vycm9yIGZyb20gJy4uL05ldHdvcmtFcnJvci5qcyc7XG5pbXBvcnQgeyBwYWdpbmF0ZWRNZXJnZSwgcGFnaW5hdGVkRmlsdGVyIH0gZnJvbSAnLi4vcGFnaW5hdGVkQ29sbGVjdGlvbnMuanMnO1xuaW1wb3J0IHBhZ2luYXRpb25VcGRhdGUgZnJvbSAnLi4vcGFnaW5hdGlvblVwZGF0ZS5qcyc7XG5pbXBvcnQgcGFyYW1zVG9TdHJpbmcgZnJvbSAnLi4vcGFyYW1zVG9TdHJpbmcuanMnO1xuaW1wb3J0IHsgZ2V0VXJsQmFzZSwgZ2V0VXJsVG9rZW5zLCBpc1Bvam8gfSBmcm9tICcuLi9SZXN0SGVscGVycy5qcyc7XG5cbi8qKiBTaW1wbGlmaWVzIGVuZHBvaW50IGRlZmluaXRpb25zIHRoYXQgZm9sbG93IFJFU1QgcGF0dGVybnNcbiAqXG4gKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludFxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZXN0RW5kcG9pbnQgZXh0ZW5kcyBFbmRwb2ludCB7XG4gICNoYXNCb2R5O1xuICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgc3VwZXIoXG4gICAgICBvcHRpb25zLmZldGNoID8/XG4gICAgICAgIGFzeW5jIGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgICAgICAgY29uc3QgdXJsUGFyYW1zID1cbiAgICAgICAgICAgIHRoaXMuI2hhc0JvZHkgJiYgYXJncy5sZW5ndGggPCAyID8ge30gOiBhcmdzWzBdIHx8IHt9O1xuICAgICAgICAgIGNvbnN0IGJvZHkgPSB0aGlzLiNoYXNCb2R5ID8gYXJnc1thcmdzLmxlbmd0aCAtIDFdIDogdW5kZWZpbmVkO1xuICAgICAgICAgIHJldHVybiB0aGlzLmZldGNoUmVzcG9uc2UoXG4gICAgICAgICAgICB0aGlzLnVybCh1cmxQYXJhbXMpLFxuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRSZXF1ZXN0SW5pdChib2R5KSxcbiAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB0aGlzLnBhcnNlUmVzcG9uc2UocmVzcG9uc2UpKVxuICAgICAgICAgICAgLnRoZW4ocmVzID0+IHRoaXMucHJvY2VzcyhyZXMsIC4uLmFyZ3MpKTtcbiAgICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgICAvLyB3ZSB3YW50IHRvIHVzZSB0aGUgcHJvdG90eXBlIGNoYWluIGhlcmVcbiAgICBpZiAoXG4gICAgICAhKCdzaWRlRWZmZWN0JyBpbiB0aGlzKSB8fFxuICAgICAgKCdtZXRob2QnIGluIG9wdGlvbnMgJiYgISgnc2lkZUVmZmVjdCcgaW4gb3B0aW9ucykpXG4gICAgKSB7XG4gICAgICB0aGlzLnNpZGVFZmZlY3QgPVxuICAgICAgICBvcHRpb25zLm1ldGhvZCA9PT0gJ0dFVCcgfHwgb3B0aW9ucy5tZXRob2QgPT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgOiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5tZXRob2QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5tZXRob2QgPSB0aGlzLnNpZGVFZmZlY3QgPyAnUE9TVCcgOiAnR0VUJztcbiAgICB9XG4gICAgaWYgKHRoaXMudXJsUHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudXJsUHJlZml4ID0gJyc7XG4gICAgfVxuICAgIHRoaXMuI2hhc0JvZHkgPVxuICAgICAgKCEoJ2JvZHknIGluIHRoaXMpIHx8IHRoaXMuYm9keSAhPT0gdW5kZWZpbmVkKSAmJlxuICAgICAgIVsnR0VUJywgJ0RFTEVURSddLmluY2x1ZGVzKHRoaXMubWV0aG9kKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnbmFtZScsIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgLy8gdXNpbmcgJ2luJyB0byBlbnN1cmUgaW5oZXJpdGFuY2UgbG9va3VwXG4gICAgICAgIGlmICgnX19uYW1lJyBpbiB0aGlzKSByZXR1cm4gdGhpcy5fX25hbWU7XG4gICAgICAgIHJldHVybiB0aGlzLnVybFByZWZpeCArIHRoaXMucGF0aDtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBrZXkoLi4uYXJncykge1xuICAgIHJldHVybiBgJHt0aGlzLm1ldGhvZH0gJHt0aGlzLnVybChcbiAgICAgIHRoaXMuI2hhc0JvZHkgJiYgYXJncy5sZW5ndGggPCAyID8ge30gOiBhcmdzWzBdIHx8IHt9LFxuICAgICl9YDtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIHVybCAqL1xuICB1cmwodXJsUGFyYW1zID0ge30pIHtcbiAgICBjb25zdCB1cmxCYXNlID0gZ2V0VXJsQmFzZSh0aGlzLnBhdGgpKHVybFBhcmFtcyk7XG4gICAgY29uc3QgdG9rZW5zID0gZ2V0VXJsVG9rZW5zKHRoaXMucGF0aCk7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0ge307XG4gICAgT2JqZWN0LmtleXModXJsUGFyYW1zKS5mb3JFYWNoKGsgPT4ge1xuICAgICAgaWYgKCF0b2tlbnMuaGFzKGspKSB7XG4gICAgICAgIHNlYXJjaFBhcmFtc1trXSA9IHVybFBhcmFtc1trXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoT2JqZWN0LmtleXMoc2VhcmNoUGFyYW1zKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnVybFByZWZpeH0ke3VybEJhc2V9PyR7cGFyYW1zVG9TdHJpbmcoc2VhcmNoUGFyYW1zKX1gO1xuICAgIH1cbiAgICByZXR1cm4gYCR7dGhpcy51cmxQcmVmaXh9JHt1cmxCYXNlfWA7XG4gIH1cblxuICBnZXRIZWFkZXJzKGhlYWRlcnMpIHtcbiAgICByZXR1cm4gaGVhZGVycztcbiAgfVxuXG4gIC8qKiBJbml0IG9wdGlvbnMgZm9yIGZldGNoIC0gcnVuIGF0IGZldGNoICovXG4gIGFzeW5jIGdldFJlcXVlc3RJbml0KGJvZHkpIHtcbiAgICBjb25zdCBib2R5SXNQb2pvID0gaXNQb2pvKGJvZHkpO1xuICAgIGlmIChib2R5SXNQb2pvKSB7XG4gICAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkoYm9keSk7XG4gICAgfVxuICAgIGNvbnN0IGluaXQgPSB7XG4gICAgICAuLi50aGlzLnJlcXVlc3RJbml0LFxuICAgICAgbWV0aG9kOiB0aGlzLm1ldGhvZCxcbiAgICAgIHNpZ25hbDogdGhpcy5zaWduYWwsXG4gICAgICBib2R5LFxuICAgIH07XG4gICAgaWYgKCFib2R5IHx8IGJvZHlJc1Bvam8pIHtcbiAgICAgIGluaXQuaGVhZGVycyA9IHtcbiAgICAgICAgLy8gZGVmYXVsdCB0byBhcHBsaWNhdGlvbi9qc29uIGJ1dCBhbGxvdyB1c2VyIGV4cGxpY2l0IG92ZXJyaWRlc1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAuLi5pbml0LmhlYWRlcnMsXG4gICAgICB9O1xuICAgIH1cbiAgICBpbml0LmhlYWRlcnMgPSBhd2FpdCB0aGlzLmdldEhlYWRlcnMoaW5pdC5oZWFkZXJzKTtcbiAgICByZXR1cm4gaW5pdDtcbiAgfVxuXG4gIC8qKiBQZXJmb3JtIG5ldHdvcmsgcmVxdWVzdCBhbmQgcmVzb2x2ZSB3aXRoIEhUVFAgUmVzcG9uc2UgKi9cbiAgZmV0Y2hSZXNwb25zZShpbnB1dCwgaW5pdCkge1xuICAgIHJldHVybiBmZXRjaChpbnB1dCwgaW5pdClcbiAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgIHRocm93IG5ldyBOZXR3b3JrRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAvLyBlbnN1cmUgQ09SUywgbmV0d29yayBkb3duLCBhbmQgcGFyc2UgZXJyb3JzIGFyZSBzdGlsbCBjYXVnaHQgYnkgTmV0d29ya0Vycm9yQm91bmRhcnlcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7XG4gICAgICAgICAgZXJyb3Iuc3RhdHVzID0gNTAwO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gIH1cblxuICBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlKSB7XG4gICAgLy8gdGhpcyBzaG91bGQgbm90IGhhdmUgYW55IGNvbnRlbnQgdG8gcmVhZFxuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwNCkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICBpZiAoIXJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2pzb24nKSkge1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKS50aGVuKHRleHQgPT4ge1xuICAgICAgICAvLyBzdHJpbmcgb3IgJ25vdCBzZXQnIHNjaGVtYSwgYXJlIHZhbGlkXG4gICAgICAgIC8vIHdoZW4gb3ZlcnJpZGluZyBwcm9jZXNzIHRoZXkgbWlnaHQgaGFuZGxlIG90aGVyIGNhc2VzLCBzbyB3ZSBkb24ndCB3YW50IHRvIGJsb2NrIG9uIG91ciBsb2dpY1xuICAgICAgICBpZiAoXG4gICAgICAgICAgWydzdHJpbmcnLCAndW5kZWZpbmVkJ10uaW5jbHVkZXModHlwZW9mIHRoaXMuc2NoZW1hKSB8fFxuICAgICAgICAgIHRoaXMuc2NoZW1hID09PSBudWxsIHx8XG4gICAgICAgICAgdGhpcy5wcm9jZXNzICE9PSBSZXN0RW5kcG9pbnQucHJvdG90eXBlLnByb2Nlc3NcbiAgICAgICAgKVxuICAgICAgICAgIHJldHVybiB0ZXh0O1xuXG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IE5ldHdvcmtFcnJvcihyZXNwb25zZSk7XG4gICAgICAgIGVycm9yLnN0YXR1cyA9IDQwNDtcbiAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBVbmV4cGVjdGVkIHRleHQgcmVzcG9uc2UgZm9yIHNjaGVtYSAke3RoaXMuc2NoZW1hfWA7XG4gICAgICAgIC8vIGN1c3RvbSBkZXYtb25seSBtZXNzYWdlcyBmb3IgbW9yZSBkZXRhaWxlZCBjYXVzZVxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2h0bWwnKSB8fFxuICAgICAgICAgICAgICB0ZXh0LnN0YXJ0c1dpdGgoJzwhZG9jdHlwZSBodG1sPicpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAodHJ5UGFyc2UodGV4dCkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBlcnJvci5tZXNzYWdlID0gYFwiY29udGVudC10eXBlXCIgaGVhZGVyIGRvZXMgbm90IGluY2x1ZGUgXCJqc29uXCIsIGJ1dCBKU09OIHJlc3BvbnNlIGZvdW5kLlxuU2VlIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM0NjI3IGZvciBpbmZvcm1hdGlvbiBvbiBKU09OIHJlc3BvbnNlc1xuXG5Vc2luZyBwYXJzZWQgSlNPTi5cbklmIHRleHQgY29udGVudCB3YXMgZXhwZWN0ZWQgc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNwYXJzZVJlc3BvbnNlYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBVbmV4cGVjdGVkIGh0bWwgcmVzcG9uc2UgZm9yIHNjaGVtYSAke3RoaXMuc2NoZW1hfVxuVGhpcyBsaWtlbHkgbWVhbnMgbm8gQVBJIGVuZHBvaW50IHdhcyBjb25maWd1cmVkIGZvciB0aGlzIHJlcXVlc3QsIHJlc3VsdGluZyBpbiBhbiBIVE1MIGZhbGxiYWNrLlxuXG5SZXNwb25zZSAoZmlyc3QgMzAwIGNoYXJhY3RlcnMpOiAke3RleHQuc3Vic3RyaW5nKDAsIDMwMCl9YDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKS5jYXRjaChlcnJvciA9PiB7XG4gICAgICBlcnJvci5zdGF0dXMgPSA0MDA7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbiAgfVxuXG4gIHByb2Nlc3ModmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBlcnJvclBvbGljeShlcnJvcikge1xuICAgIHJldHVybiBlcnJvci5zdGF0dXMgPj0gNTAwID8gJ3NvZnQnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0IHBhdGhSZWdleCgpIHtcbiAgICByZXR1cm4gcGF0aFRvUmVnZXhwKHRoaXMucGF0aCk7XG4gIH1cblxuICB0ZXN0S2V5KGtleSkge1xuICAgIGNvbnN0IHByZWZpeCA9IHRoaXMubWV0aG9kICsgJyAnICsgdGhpcy51cmxQcmVmaXg7XG4gICAgaWYgKCFrZXkuc3RhcnRzV2l0aChwcmVmaXgpKSByZXR1cm4gZmFsc2U7XG4gICAgbGV0IGxhc3RRdWVzdGlvbiA9IGtleS5sYXN0SW5kZXhPZignPycpO1xuICAgIGlmIChsYXN0UXVlc3Rpb24gPT09IC0xKSBsYXN0UXVlc3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMucGF0aFJlZ2V4LnRlc3Qoa2V5LnN1YnN0cmluZyhwcmVmaXgubGVuZ3RoLCBsYXN0UXVlc3Rpb24pKTtcbiAgfVxuXG4gIGV4dGVuZChvcHRpb25zKSB7XG4gICAgLy8gbWFrZSBhIGNvbnN0cnVjdG9yL3Byb3RvdHlwZSBiYXNlZCBvZmYgdGhpc1xuICAgIC8vIGV4dGVuZCBmcm9tIGl0IGFuZCBpbml0IHdpdGggb3B0aW9ucyBzZW50XG4gICAgY2xhc3MgRSBleHRlbmRzIHRoaXMuY29uc3RydWN0b3Ige31cblxuICAgIE9iamVjdC5hc3NpZ24oRS5wcm90b3R5cGUsIHRoaXMpO1xuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IEUoXG4gICAgICAvLyAgZmV0Y2ggZ2V0IG92ZXJyaWRkZW4gYnkgZnVuY3Rpb24gcHJvdG90eXBlLCBzbyB3ZSBtdXN0IHNldCBpdCBleHBsaWNpdGx5IGV2ZXJ5IHRpbWVcbiAgICAgIHsgZmV0Y2g6IHRoaXMuZmV0Y2gsIC4uLm9wdGlvbnMgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgcGFnaW5hdGVkKHJlbW92ZUN1cnNvcikge1xuICAgIGlmICh0eXBlb2YgcmVtb3ZlQ3Vyc29yID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgZmllbGROYW1lID0gcmVtb3ZlQ3Vyc29yO1xuICAgICAgcmVtb3ZlQ3Vyc29yID0gKHsgLi4ucGFyYW1zIH0pID0+IHtcbiAgICAgICAgZGVsZXRlIHBhcmFtc1tmaWVsZE5hbWVdO1xuICAgICAgICByZXR1cm4gW3BhcmFtc107XG4gICAgICB9O1xuICAgIH1cbiAgICBsZXQgZm91bmQgPSBmYWxzZTtcbiAgICBjb25zdCBjcmVhdGVQYWdpbmF0ZWRTY2hlbWEgPSBjb2xsZWN0aW9uID0+IHtcbiAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgIHJldHVybiBjb2xsZWN0aW9uLmFkZFdpdGgocGFnaW5hdGVkTWVyZ2UsIHBhZ2luYXRlZEZpbHRlcihyZW1vdmVDdXJzb3IpKTtcbiAgICB9O1xuICAgIGNvbnN0IG5ld1NjaGVtYSA9IG1hcENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIGNyZWF0ZVBhZ2luYXRlZFNjaGVtYSk7XG4gICAgaWYgKGZvdW5kKSB7XG4gICAgICByZXR1cm4gdGhpcy5leHRlbmQoeyBzY2hlbWE6IG5ld1NjaGVtYSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5leHRlbmQoeyB1cGRhdGU6IHBhZ2luYXRpb25VcGRhdGUodGhpcywgcmVtb3ZlQ3Vyc29yKSB9KTtcbiAgfVxuXG4gIGdldCBwdXNoKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy5wdXNoKSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCB1bnNoaWZ0KCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy51bnNoaWZ0KSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBhc3NpZ24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgc2NoZW1hOiBleHRyYWN0Q29sbGVjdGlvbih0aGlzLnNjaGVtYSwgcyA9PiBzLmFzc2lnbiksXG4gICAgfSk7XG4gIH1cbn1cblxuY29uc3QgdHJ5UGFyc2UgPSBpbnB1dCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoaW5wdXQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBU0EsUUFBUSxRQUFRLHVCQUF1QjtBQUNoRCxTQUFTQyxZQUFZLFFBQVEsZ0JBQWdCO0FBRTdDLE9BQU9DLGlCQUFpQixNQUFNLHlCQUF5QjtBQUN2RCxPQUFPQyxhQUFhLE1BQU0scUJBQXFCO0FBQy9DLE9BQU9DLFlBQVksTUFBTSxvQkFBb0I7QUFDN0MsU0FBU0MsY0FBYyxFQUFFQyxlQUFlLFFBQVEsNEJBQTRCO0FBQzVFLE9BQU9DLGdCQUFnQixNQUFNLHdCQUF3QjtBQUNyRCxPQUFPQyxjQUFjLE1BQU0sc0JBQXNCO0FBQ2pELFNBQVNDLFVBQVUsRUFBRUMsWUFBWSxFQUFFQyxNQUFNLFFBQVEsbUJBQW1COztBQUVwRTtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBQUFDLFFBQUEsZ0JBQUFDLDBCQUFBO0FBSUEsZUFBZSxNQUFNQyxZQUFZLFNBQVNkLFFBQVEsQ0FBQztFQUVqRGUsV0FBV0EsQ0FBQ0MsT0FBTyxFQUFFO0lBQUEsSUFBQUMsY0FBQTtJQUNuQixLQUFLLEVBQUFBLGNBQUEsR0FDSEQsT0FBTyxDQUFDRSxLQUFLLFlBQUFELGNBQUEsR0FDWCxnQkFBZ0IsR0FBR0UsSUFBSSxFQUFFO01BQ3ZCLE1BQU1DLFNBQVMsR0FDYkMsMkJBQUEsS0FBSSxFQUFBVCxRQUFBLEVBQUFBLFFBQUEsS0FBYU8sSUFBSSxDQUFDRyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHSCxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO01BQ3ZELE1BQU1JLElBQUksR0FBR0YsMkJBQUEsS0FBSSxFQUFBVCxRQUFBLEVBQUFBLFFBQUEsSUFBWU8sSUFBSSxDQUFDQSxJQUFJLENBQUNHLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBR0UsU0FBUztNQUM5RCxPQUFPLElBQUksQ0FBQ0MsYUFBYSxDQUN2QixJQUFJLENBQUNDLEdBQUcsQ0FBQ04sU0FBUyxDQUFDLEVBQ25CLE1BQU0sSUFBSSxDQUFDTyxjQUFjLENBQUNKLElBQUksQ0FDaEMsQ0FBQyxDQUNFSyxJQUFJLENBQUNDLFFBQVEsSUFBSSxJQUFJLENBQUNDLGFBQWEsQ0FBQ0QsUUFBUSxDQUFDLENBQUMsQ0FDOUNELElBQUksQ0FBQ0csR0FBRyxJQUFJLElBQUksQ0FBQ0MsT0FBTyxDQUFDRCxHQUFHLEVBQUUsR0FBR1osSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQyxFQUNISCxPQUNGLENBQUM7SUFDRDtJQUFBaUIsTUFBQSxDQUFBQyxjQUFBLE9BQUF0QixRQUFBO01BQUF1QixRQUFBO01BQUFDLEtBQUE7SUFBQTtJQUNBLElBQ0UsRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLElBQ3RCLFFBQVEsSUFBSXBCLE9BQU8sSUFBSSxFQUFFLFlBQVksSUFBSUEsT0FBTyxDQUFFLEVBQ25EO01BQ0EsSUFBSSxDQUFDcUIsVUFBVSxHQUNickIsT0FBTyxDQUFDc0IsTUFBTSxLQUFLLEtBQUssSUFBSXRCLE9BQU8sQ0FBQ3NCLE1BQU0sS0FBS2QsU0FBUyxHQUNwREEsU0FBUyxHQUNULElBQUk7SUFDWjtJQUNBLElBQUksSUFBSSxDQUFDYyxNQUFNLEtBQUtkLFNBQVMsRUFBRTtNQUM3QixJQUFJLENBQUNjLE1BQU0sR0FBRyxJQUFJLENBQUNELFVBQVUsR0FBRyxNQUFNLEdBQUcsS0FBSztJQUNoRDtJQUNBLElBQUksSUFBSSxDQUFDRSxTQUFTLEtBQUtmLFNBQVMsRUFBRTtNQUNoQyxJQUFJLENBQUNlLFNBQVMsR0FBRyxFQUFFO0lBQ3JCO0lBQ0FsQiwyQkFBQSxLQUFJLEVBQUFULFFBQUEsRUFBQUEsUUFBQSxJQUNGLENBQUMsRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDVyxJQUFJLEtBQUtDLFNBQVMsS0FDN0MsQ0FBQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQ2dCLFFBQVEsQ0FBQyxJQUFJLENBQUNGLE1BQU0sQ0FBQztJQUUxQ0wsTUFBTSxDQUFDQyxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtNQUNsQ08sR0FBR0EsQ0FBQSxFQUFHO1FBQ0o7UUFDQSxJQUFJLFFBQVEsSUFBSSxJQUFJLEVBQUUsT0FBTyxJQUFJLENBQUNDLE1BQU07UUFDeEMsT0FBTyxJQUFJLENBQUNILFNBQVMsR0FBRyxJQUFJLENBQUNJLElBQUk7TUFDbkM7SUFDRixDQUFDLENBQUM7RUFDSjtFQUVBQyxHQUFHQSxDQUFDLEdBQUd6QixJQUFJLEVBQUU7SUFDWCxPQUFRLEdBQUUsSUFBSSxDQUFDbUIsTUFBTyxJQUFHLElBQUksQ0FBQ1osR0FBRyxDQUMvQkwsMkJBQUEsS0FBSSxFQUFBVCxRQUFBLEVBQUFBLFFBQUEsS0FBYU8sSUFBSSxDQUFDRyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHSCxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN0RCxDQUFFLEVBQUM7RUFDTDs7RUFFQTtFQUNBTyxHQUFHQSxDQUFDTixTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUU7SUFDbEIsTUFBTXlCLE9BQU8sR0FBR3BDLFVBQVUsQ0FBQyxJQUFJLENBQUNrQyxJQUFJLENBQUMsQ0FBQ3ZCLFNBQVMsQ0FBQztJQUNoRCxNQUFNMEIsTUFBTSxHQUFHcEMsWUFBWSxDQUFDLElBQUksQ0FBQ2lDLElBQUksQ0FBQztJQUN0QyxNQUFNSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCZCxNQUFNLENBQUNlLElBQUksQ0FBQzVCLFNBQVMsQ0FBQyxDQUFDNkIsT0FBTyxDQUFDQyxDQUFDLElBQUk7TUFDbEMsSUFBSSxDQUFDSixNQUFNLENBQUNLLEdBQUcsQ0FBQ0QsQ0FBQyxDQUFDLEVBQUU7UUFDbEJILFlBQVksQ0FBQ0csQ0FBQyxDQUFDLEdBQUc5QixTQUFTLENBQUM4QixDQUFDLENBQUM7TUFDaEM7SUFDRixDQUFDLENBQUM7SUFDRixJQUFJakIsTUFBTSxDQUFDZSxJQUFJLENBQUNELFlBQVksQ0FBQyxDQUFDekIsTUFBTSxFQUFFO01BQ3BDLE9BQVEsR0FBRSxJQUFJLENBQUNpQixTQUFVLEdBQUVNLE9BQVEsSUFBR3JDLGNBQWMsQ0FBQ3VDLFlBQVksQ0FBRSxFQUFDO0lBQ3RFO0lBQ0EsT0FBUSxHQUFFLElBQUksQ0FBQ1IsU0FBVSxHQUFFTSxPQUFRLEVBQUM7RUFDdEM7RUFFQU8sVUFBVUEsQ0FBQ0MsT0FBTyxFQUFFO0lBQ2xCLE9BQU9BLE9BQU87RUFDaEI7O0VBRUE7RUFDQSxNQUFNMUIsY0FBY0EsQ0FBQ0osSUFBSSxFQUFFO0lBQ3pCLE1BQU0rQixVQUFVLEdBQUczQyxNQUFNLENBQUNZLElBQUksQ0FBQztJQUMvQixJQUFJK0IsVUFBVSxFQUFFO01BQ2QvQixJQUFJLEdBQUdnQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ2pDLElBQUksQ0FBQztJQUM3QjtJQUNBLE1BQU1rQyxJQUFJLEdBQUF4QixNQUFBLENBQUF5QixNQUFBLEtBQ0wsSUFBSSxDQUFDQyxXQUFXO01BQ25CckIsTUFBTSxFQUFFLElBQUksQ0FBQ0EsTUFBTTtNQUNuQnNCLE1BQU0sRUFBRSxJQUFJLENBQUNBLE1BQU07TUFDbkJyQztJQUFJLEVBQ0w7SUFDRCxJQUFJLENBQUNBLElBQUksSUFBSStCLFVBQVUsRUFBRTtNQUN2QkcsSUFBSSxDQUFDSixPQUFPLEdBQUFwQixNQUFBLENBQUF5QixNQUFBO1FBQ1Y7UUFDQSxjQUFjLEVBQUU7TUFBa0IsR0FDL0JELElBQUksQ0FBQ0osT0FBTyxDQUNoQjtJQUNIO0lBQ0FJLElBQUksQ0FBQ0osT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDRCxVQUFVLENBQUNLLElBQUksQ0FBQ0osT0FBTyxDQUFDO0lBQ2xELE9BQU9JLElBQUk7RUFDYjs7RUFFQTtFQUNBaEMsYUFBYUEsQ0FBQ29DLEtBQUssRUFBRUosSUFBSSxFQUFFO0lBQ3pCLE9BQU92QyxLQUFLLENBQUMyQyxLQUFLLEVBQUVKLElBQUksQ0FBQyxDQUN0QjdCLElBQUksQ0FBQ0MsUUFBUSxJQUFJO01BQ2hCLElBQUksQ0FBQ0EsUUFBUSxDQUFDaUMsRUFBRSxFQUFFO1FBQ2hCLE1BQU0sSUFBSTFELFlBQVksQ0FBQ3lCLFFBQVEsQ0FBQztNQUNsQztNQUNBLE9BQU9BLFFBQVE7SUFDakIsQ0FBQyxDQUFDLENBQ0RrQyxLQUFLLENBQUNDLEtBQUssSUFBSTtNQUNkO01BQ0EsSUFBSUEsS0FBSyxZQUFZQyxTQUFTLEVBQUU7UUFDOUJELEtBQUssQ0FBQ0UsTUFBTSxHQUFHLEdBQUc7TUFDcEI7TUFDQSxNQUFNRixLQUFLO0lBQ2IsQ0FBQyxDQUFDO0VBQ047RUFFQWxDLGFBQWFBLENBQUNELFFBQVEsRUFBRTtJQUFBLElBQUFzQyxxQkFBQTtJQUN0QjtJQUNBLElBQUl0QyxRQUFRLENBQUNxQyxNQUFNLEtBQUssR0FBRyxFQUFFLE9BQU9FLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQztJQUN6RCxJQUFJLEdBQUFGLHFCQUFBLEdBQUN0QyxRQUFRLENBQUN3QixPQUFPLENBQUNaLEdBQUcsQ0FBQyxjQUFjLENBQUMsYUFBcEMwQixxQkFBQSxDQUFzQzNCLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRTtNQUMzRCxPQUFPWCxRQUFRLENBQUN5QyxJQUFJLENBQUMsQ0FBQyxDQUFDMUMsSUFBSSxDQUFDMEMsSUFBSSxJQUFJO1FBQ2xDO1FBQ0E7UUFDQSxJQUNFLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDOUIsUUFBUSxDQUFDLE9BQU8sSUFBSSxDQUFDK0IsTUFBTSxDQUFDLElBQ3BELElBQUksQ0FBQ0EsTUFBTSxLQUFLLElBQUksSUFDcEIsSUFBSSxDQUFDdkMsT0FBTyxLQUFLbEIsWUFBWSxDQUFDMEQsU0FBUyxDQUFDeEMsT0FBTyxFQUUvQyxPQUFPc0MsSUFBSTtRQUViLE1BQU1OLEtBQUssR0FBRyxJQUFJNUQsWUFBWSxDQUFDeUIsUUFBUSxDQUFDO1FBQ3hDbUMsS0FBSyxDQUFDRSxNQUFNLEdBQUcsR0FBRztRQUNsQkYsS0FBSyxDQUFDUyxPQUFPLEdBQUksdUNBQXNDLElBQUksQ0FBQ0YsTUFBTyxFQUFDO1FBQ3BFO1FBQ0E7UUFDQSxJQUFJdkMsT0FBTyxDQUFDMEMsR0FBRyxDQUFDQyxRQUFRLEtBQUssWUFBWSxFQUFFO1VBQUEsSUFBQUMsc0JBQUE7VUFDekMsSUFDRSxFQUNFLENBQUFBLHNCQUFBLEdBQUEvQyxRQUFRLENBQUN3QixPQUFPLENBQUNaLEdBQUcsQ0FBQyxjQUFjLENBQUMsYUFBcENtQyxzQkFBQSxDQUFzQ3BDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFDdEQ4QixJQUFJLENBQUNPLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUNuQyxFQUNEO1lBQ0EsSUFBSUMsUUFBUSxDQUFDUixJQUFJLENBQUMsS0FBSzlDLFNBQVMsRUFBRTtjQUNoQ3dDLEtBQUssQ0FBQ1MsT0FBTyxHQUFJO0FBQy9CO0FBQ0E7QUFDQTtBQUNBLDBGQUEwRjtZQUM5RTtVQUNGLENBQUMsTUFBTTtZQUNMVCxLQUFLLENBQUNTLE9BQU8sR0FBSSx1Q0FBc0MsSUFBSSxDQUFDRixNQUFPO0FBQy9FO0FBQ0E7QUFDQSxtQ0FBbUNELElBQUksQ0FBQ1MsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUUsRUFBQztVQUNqRDtRQUNGO1FBQ0EsTUFBTWYsS0FBSztNQUNiLENBQUMsQ0FBQztJQUNKO0lBQ0EsT0FBT25DLFFBQVEsQ0FBQ21ELElBQUksQ0FBQyxDQUFDLENBQUNqQixLQUFLLENBQUNDLEtBQUssSUFBSTtNQUNwQ0EsS0FBSyxDQUFDRSxNQUFNLEdBQUcsR0FBRztNQUNsQixNQUFNRixLQUFLO0lBQ2IsQ0FBQyxDQUFDO0VBQ0o7RUFFQWhDLE9BQU9BLENBQUNJLEtBQUssRUFBRTtJQUNiLE9BQU9BLEtBQUs7RUFDZDtFQUVBNkMsV0FBV0EsQ0FBQ2pCLEtBQUssRUFBRTtJQUNqQixPQUFPQSxLQUFLLENBQUNFLE1BQU0sSUFBSSxHQUFHLEdBQUcsTUFBTSxHQUFHMUMsU0FBUztFQUNqRDtFQUVBLElBQUkwRCxTQUFTQSxDQUFBLEVBQUc7SUFDZCxPQUFPakYsWUFBWSxDQUFDLElBQUksQ0FBQzBDLElBQUksQ0FBQztFQUNoQztFQUVBd0MsT0FBT0EsQ0FBQ3ZDLEdBQUcsRUFBRTtJQUNYLE1BQU13QyxNQUFNLEdBQUcsSUFBSSxDQUFDOUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUNDLFNBQVM7SUFDakQsSUFBSSxDQUFDSyxHQUFHLENBQUNpQyxVQUFVLENBQUNPLE1BQU0sQ0FBQyxFQUFFLE9BQU8sS0FBSztJQUN6QyxJQUFJQyxZQUFZLEdBQUd6QyxHQUFHLENBQUMwQyxXQUFXLENBQUMsR0FBRyxDQUFDO0lBQ3ZDLElBQUlELFlBQVksS0FBSyxDQUFDLENBQUMsRUFBRUEsWUFBWSxHQUFHN0QsU0FBUztJQUNqRCxPQUFPLElBQUksQ0FBQzBELFNBQVMsQ0FBQ0ssSUFBSSxDQUFDM0MsR0FBRyxDQUFDbUMsU0FBUyxDQUFDSyxNQUFNLENBQUM5RCxNQUFNLEVBQUUrRCxZQUFZLENBQUMsQ0FBQztFQUN4RTtFQUVBRyxNQUFNQSxDQUFDeEUsT0FBTyxFQUFFO0lBQ2Q7SUFDQTtJQUNBLE1BQU15RSxDQUFDLFNBQVMsSUFBSSxDQUFDMUUsV0FBVyxDQUFDO0lBRWpDa0IsTUFBTSxDQUFDeUIsTUFBTSxDQUFDK0IsQ0FBQyxDQUFDakIsU0FBUyxFQUFFLElBQUksQ0FBQztJQUNoQyxNQUFNa0IsUUFBUSxHQUFHLElBQUlELENBQUMsRUFDcEI7SUFBQXhELE1BQUEsQ0FBQXlCLE1BQUE7TUFDRXhDLEtBQUssRUFBRSxJQUFJLENBQUNBO0lBQUssR0FBS0YsT0FBTyxDQUNqQyxDQUFDO0lBRUQsT0FBTzBFLFFBQVE7RUFDakI7RUFFQUMsU0FBU0EsQ0FBQ0MsWUFBWSxFQUFFO0lBQ3RCLElBQUksT0FBT0EsWUFBWSxLQUFLLFFBQVEsRUFBRTtNQUNwQyxNQUFNQyxTQUFTLEdBQUdELFlBQVk7TUFDOUJBLFlBQVksR0FBR0UsSUFBQSxJQUFtQjtRQUFBLElBQWJDLE1BQU0sR0FBQTlELE1BQUEsQ0FBQXlCLE1BQUEsTUFBQXNDLHlCQUFBLENBQUFGLElBQUEsR0FBQUEsSUFBQTtRQUN6QixPQUFPQyxNQUFNLENBQUNGLFNBQVMsQ0FBQztRQUN4QixPQUFPLENBQUNFLE1BQU0sQ0FBQztNQUNqQixDQUFDO0lBQ0g7SUFDQSxJQUFJRSxLQUFLLEdBQUcsS0FBSztJQUNqQixNQUFNQyxxQkFBcUIsR0FBR0MsVUFBVSxJQUFJO01BQzFDRixLQUFLLEdBQUcsSUFBSTtNQUNaLE9BQU9FLFVBQVUsQ0FBQ0MsT0FBTyxDQUFDL0YsY0FBYyxFQUFFQyxlQUFlLENBQUNzRixZQUFZLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ0QsTUFBTVMsU0FBUyxHQUFHbEcsYUFBYSxDQUFDLElBQUksQ0FBQ29FLE1BQU0sRUFBRTJCLHFCQUFxQixDQUFDO0lBQ25FLElBQUlELEtBQUssRUFBRTtNQUNULE9BQU8sSUFBSSxDQUFDVCxNQUFNLENBQUM7UUFBRWpCLE1BQU0sRUFBRThCO01BQVUsQ0FBQyxDQUFDO0lBQzNDO0lBRUEsT0FBTyxJQUFJLENBQUNiLE1BQU0sQ0FBQztNQUFFYyxNQUFNLEVBQUUvRixnQkFBZ0IsQ0FBQyxJQUFJLEVBQUVxRixZQUFZO0lBQUUsQ0FBQyxDQUFDO0VBQ3RFO0VBRUEsSUFBSVcsSUFBSUEsQ0FBQSxFQUFHO0lBQ1QsT0FBTyxJQUFJLENBQUNmLE1BQU0sQ0FBQztNQUNqQmxELE1BQU0sRUFBRSxNQUFNO01BQ2RpQyxNQUFNLEVBQUVyRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUNxRSxNQUFNLEVBQUVpQyxDQUFDLElBQUlBLENBQUMsQ0FBQ0QsSUFBSTtJQUNwRCxDQUFDLENBQUM7RUFDSjtFQUVBLElBQUlFLE9BQU9BLENBQUEsRUFBRztJQUNaLE9BQU8sSUFBSSxDQUFDakIsTUFBTSxDQUFDO01BQ2pCbEQsTUFBTSxFQUFFLE1BQU07TUFDZGlDLE1BQU0sRUFBRXJFLGlCQUFpQixDQUFDLElBQUksQ0FBQ3FFLE1BQU0sRUFBRWlDLENBQUMsSUFBSUEsQ0FBQyxDQUFDQyxPQUFPO0lBQ3ZELENBQUMsQ0FBQztFQUNKO0VBRUEsSUFBSS9DLE1BQU1BLENBQUEsRUFBRztJQUNYLE9BQU8sSUFBSSxDQUFDOEIsTUFBTSxDQUFDO01BQ2pCbEQsTUFBTSxFQUFFLE1BQU07TUFDZGlDLE1BQU0sRUFBRXJFLGlCQUFpQixDQUFDLElBQUksQ0FBQ3FFLE1BQU0sRUFBRWlDLENBQUMsSUFBSUEsQ0FBQyxDQUFDOUMsTUFBTTtJQUN0RCxDQUFDLENBQUM7RUFDSjtBQUNGO0FBRUEsTUFBTW9CLFFBQVEsR0FBR2pCLEtBQUssSUFBSTtFQUN4QixJQUFJO0lBQ0YsT0FBT04sSUFBSSxDQUFDbUQsS0FBSyxDQUFDN0MsS0FBSyxDQUFDO0VBQzFCLENBQUMsQ0FBQyxPQUFPOEMsQ0FBQyxFQUFFO0lBQ1YsT0FBT25GLFNBQVM7RUFDbEI7QUFDRixDQUFDIn0=
@@ -1,86 +0,0 @@
1
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
2
- const _excluded = ["path", "schema", "Endpoint", "optimistic"];
3
- import { AbortOptimistic, schema } from '@data-client/endpoint';
4
- import RestEndpoint from './RestEndpoint.js';
5
- import { shortenPath } from '../RestHelpers.js';
6
- const {
7
- Invalidate,
8
- Collection
9
- } = schema;
10
-
11
- /** Creates collection of Endpoints for common operations on a given data/schema.
12
- *
13
- * @see https://resthooks.io/rest/api/createResource
14
- */
15
- export default function createResource(_ref) {
16
- let {
17
- path,
18
- schema,
19
- Endpoint = RestEndpoint,
20
- optimistic
21
- } = _ref,
22
- extraOptions = _objectWithoutPropertiesLoose(_ref, _excluded);
23
- const shortenedPath = shortenPath(path);
24
- const getName = name => `${schema == null ? void 0 : schema.name}.${name}`;
25
- const extraMutateOptions = Object.assign({}, extraOptions);
26
- const extraPartialOptions = Object.assign({}, extraOptions);
27
- const get = new Endpoint(Object.assign({}, extraOptions, {
28
- path,
29
- schema,
30
- name: getName('get')
31
- }));
32
- if (optimistic) {
33
- extraMutateOptions.getOptimisticResponse = optimisticUpdate;
34
- extraPartialOptions.getOptimisticResponse = optimisticPartial(get);
35
- }
36
- const getList = new Endpoint(Object.assign({}, extraMutateOptions, {
37
- path: shortenedPath,
38
- schema: new Collection([schema]),
39
- name: getName('getList')
40
- }));
41
- return {
42
- get,
43
- getList,
44
- create: getList.push.extend({
45
- name: getName('create')
46
- }),
47
- update: new Endpoint(Object.assign({}, extraMutateOptions, {
48
- path,
49
- schema,
50
- method: 'PUT',
51
- name: getName('update')
52
- })),
53
- partialUpdate: new Endpoint(Object.assign({}, extraPartialOptions, {
54
- path,
55
- schema,
56
- method: 'PATCH',
57
- name: getName('partialUpdate')
58
- })),
59
- delete: new Endpoint(Object.assign({}, extraMutateOptions, {
60
- path,
61
- schema: schema.process ? new Invalidate(schema) : schema,
62
- method: 'DELETE',
63
- name: getName('delete'),
64
- process(res, params) {
65
- return res && Object.keys(res).length ? res : params;
66
- },
67
- getOptimisticResponse: optimistic ? optimisticDelete : undefined
68
- }))
69
- };
70
- }
71
- function optimisticUpdate(snap, params, body) {
72
- return Object.assign({}, params, body);
73
- }
74
- function optimisticPartial(getEndpoint) {
75
- return function (snap, params, body) {
76
- const {
77
- data
78
- } = snap.getResponse(getEndpoint, params);
79
- if (!data) throw new AbortOptimistic();
80
- return Object.assign({}, params, data, body);
81
- };
82
- }
83
- function optimisticDelete(snap, params) {
84
- return params;
85
- }
86
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBYm9ydE9wdGltaXN0aWMiLCJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkludmFsaWRhdGUiLCJDb2xsZWN0aW9uIiwiY3JlYXRlUmVzb3VyY2UiLCJfcmVmIiwicGF0aCIsIkVuZHBvaW50Iiwib3B0aW1pc3RpYyIsImV4dHJhT3B0aW9ucyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwiX2V4Y2x1ZGVkIiwic2hvcnRlbmVkUGF0aCIsImdldE5hbWUiLCJuYW1lIiwiZXh0cmFNdXRhdGVPcHRpb25zIiwiT2JqZWN0IiwiYXNzaWduIiwiZXh0cmFQYXJ0aWFsT3B0aW9ucyIsImdldCIsImdldE9wdGltaXN0aWNSZXNwb25zZSIsIm9wdGltaXN0aWNVcGRhdGUiLCJvcHRpbWlzdGljUGFydGlhbCIsImdldExpc3QiLCJjcmVhdGUiLCJwdXNoIiwiZXh0ZW5kIiwidXBkYXRlIiwibWV0aG9kIiwicGFydGlhbFVwZGF0ZSIsImRlbGV0ZSIsInByb2Nlc3MiLCJyZXMiLCJwYXJhbXMiLCJrZXlzIiwibGVuZ3RoIiwib3B0aW1pc3RpY0RlbGV0ZSIsInVuZGVmaW5lZCIsInNuYXAiLCJib2R5IiwiZ2V0RW5kcG9pbnQiLCJkYXRhIiwiZ2V0UmVzcG9uc2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV4dC9jcmVhdGVSZXNvdXJjZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBYm9ydE9wdGltaXN0aWMsXG4gIFNuYXBzaG90SW50ZXJmYWNlLFxuICBzY2hlbWEsXG59IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5pbXBvcnQgdHlwZSB7IFNjaGVtYSwgRGVub3JtYWxpemUgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQgeyBSZXNvdXJjZUdlbmVyaWNzLCBSZXNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3Jlc291cmNlVHlwZXMuanMnO1xuaW1wb3J0IFJlc3RFbmRwb2ludCwge1xuICBHZXRFbmRwb2ludCxcbiAgTXV0YXRlRW5kcG9pbnQsXG4gIFJlc3RJbnN0YW5jZSxcbiAgUmVzdFR5cGVOb0JvZHksXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmltcG9ydCB7IFBhdGhBcmdzLCBTaG9ydGVuUGF0aCB9IGZyb20gJy4uL3BhdGhUeXBlcy5qcyc7XG5pbXBvcnQgeyBzaG9ydGVuUGF0aCB9IGZyb20gJy4uL1Jlc3RIZWxwZXJzLmpzJztcblxuY29uc3QgeyBJbnZhbGlkYXRlLCBDb2xsZWN0aW9uIH0gPSBzY2hlbWE7XG5cbi8qKiBDcmVhdGVzIGNvbGxlY3Rpb24gb2YgRW5kcG9pbnRzIGZvciBjb21tb24gb3BlcmF0aW9ucyBvbiBhIGdpdmVuIGRhdGEvc2NoZW1hLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2VcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlUmVzb3VyY2U8TyBleHRlbmRzIFJlc291cmNlR2VuZXJpY3M+KHtcbiAgcGF0aCxcbiAgc2NoZW1hLFxuICBFbmRwb2ludCA9IFJlc3RFbmRwb2ludCxcbiAgb3B0aW1pc3RpYyxcbiAgLi4uZXh0cmFPcHRpb25zXG59OiBSZWFkb25seTxPPiAmIFJlc291cmNlT3B0aW9ucyk6IFJlc291cmNlPE8+IHtcbiAgY29uc3Qgc2hvcnRlbmVkUGF0aCA9IHNob3J0ZW5QYXRoKHBhdGgpO1xuICBjb25zdCBnZXROYW1lID0gKG5hbWU6IHN0cmluZykgPT4gYCR7KHNjaGVtYSBhcyBhbnkpPy5uYW1lfS4ke25hbWV9YDtcbiAgY29uc3QgZXh0cmFNdXRhdGVPcHRpb25zID0geyAuLi5leHRyYU9wdGlvbnMgfTtcbiAgY29uc3QgZXh0cmFQYXJ0aWFsT3B0aW9ucyA9IHsgLi4uZXh0cmFPcHRpb25zIH07XG4gIGNvbnN0IGdldDogR2V0RW5kcG9pbnQ8eyBwYXRoOiBPWydwYXRoJ107IHNjaGVtYTogT1snc2NoZW1hJ10gfT4gPVxuICAgIG5ldyBFbmRwb2ludCh7XG4gICAgICAuLi5leHRyYU9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hLFxuICAgICAgbmFtZTogZ2V0TmFtZSgnZ2V0JyksXG4gICAgfSkgYXMgYW55O1xuICBpZiAob3B0aW1pc3RpYykge1xuICAgIChleHRyYU11dGF0ZU9wdGlvbnMgYXMgYW55KS5nZXRPcHRpbWlzdGljUmVzcG9uc2UgPSBvcHRpbWlzdGljVXBkYXRlO1xuICAgIChleHRyYVBhcnRpYWxPcHRpb25zIGFzIGFueSkuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW1pc3RpY1BhcnRpYWwoZ2V0KTtcbiAgfVxuICBjb25zdCBnZXRMaXN0ID0gbmV3IEVuZHBvaW50KHtcbiAgICAuLi5leHRyYU11dGF0ZU9wdGlvbnMsXG4gICAgcGF0aDogc2hvcnRlbmVkUGF0aCxcbiAgICBzY2hlbWE6IG5ldyBDb2xsZWN0aW9uKFtzY2hlbWEgYXMgYW55XSksXG4gICAgbmFtZTogZ2V0TmFtZSgnZ2V0TGlzdCcpLFxuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBnZXQsXG4gICAgZ2V0TGlzdCxcbiAgICBjcmVhdGU6IGdldExpc3QucHVzaC5leHRlbmQoeyBuYW1lOiBnZXROYW1lKCdjcmVhdGUnKSB9KSxcbiAgICB1cGRhdGU6IG5ldyBFbmRwb2ludCh7XG4gICAgICAuLi5leHRyYU11dGF0ZU9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hLFxuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIG5hbWU6IGdldE5hbWUoJ3VwZGF0ZScpLFxuICAgIH0pLFxuICAgIHBhcnRpYWxVcGRhdGU6IG5ldyBFbmRwb2ludCh7XG4gICAgICAuLi5leHRyYVBhcnRpYWxPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgIG5hbWU6IGdldE5hbWUoJ3BhcnRpYWxVcGRhdGUnKSxcbiAgICB9KSxcbiAgICBkZWxldGU6IG5ldyBFbmRwb2ludCh7XG4gICAgICAuLi5leHRyYU11dGF0ZU9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hOiAoc2NoZW1hIGFzIGFueSkucHJvY2VzcyA/IG5ldyBJbnZhbGlkYXRlKHNjaGVtYSBhcyBhbnkpIDogc2NoZW1hLFxuICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICAgIG5hbWU6IGdldE5hbWUoJ2RlbGV0ZScpLFxuICAgICAgcHJvY2VzcyhyZXM6IGFueSwgcGFyYW1zOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHJlcyAmJiBPYmplY3Qua2V5cyhyZXMpLmxlbmd0aCA/IHJlcyA6IHBhcmFtcztcbiAgICAgIH0sXG4gICAgICBnZXRPcHRpbWlzdGljUmVzcG9uc2U6IG9wdGltaXN0aWMgPyAob3B0aW1pc3RpY0RlbGV0ZSBhcyBhbnkpIDogdW5kZWZpbmVkLFxuICAgIH0pLFxuICB9IGFzIGFueTtcbn1cblxuZnVuY3Rpb24gb3B0aW1pc3RpY1VwZGF0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnksIGJvZHk6IGFueSkge1xuICByZXR1cm4ge1xuICAgIC4uLnBhcmFtcyxcbiAgICAuLi5ib2R5LFxuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY1BhcnRpYWwoZ2V0RW5kcG9pbnQ6IEdldEVuZHBvaW50KSB7XG4gIHJldHVybiBmdW5jdGlvbiAoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgICBjb25zdCB7IGRhdGEgfSA9IHNuYXAuZ2V0UmVzcG9uc2UoZ2V0RW5kcG9pbnQsIHBhcmFtcykgYXMgeyBkYXRhOiBhbnkgfTtcbiAgICBpZiAoIWRhdGEpIHRocm93IG5ldyBBYm9ydE9wdGltaXN0aWMoKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgLi4uZGF0YSxcbiAgICAgIC8vIGV2ZW4gdGhvIHdlIGRvbid0IGFsd2F5cyBoYXZlIHR3byBhcmd1bWVudHMsIHRoZSBleHRyYSBvbmUgd2lsbCBzaW1wbHkgYmUgdW5kZWZpbmVkIHdoaWNoIHNwcmVhZHMgZmluZVxuICAgICAgLi4uYm9keSxcbiAgICB9O1xuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY0RlbGV0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnkpIHtcbiAgcmV0dXJuIHBhcmFtcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZTxcbiAgTyBleHRlbmRzIFJlc291cmNlR2VuZXJpY3MgPSB7IHBhdGg6IHN0cmluZzsgc2NoZW1hOiBhbnkgfSxcbj4ge1xuICAvKiogR2V0IGEgc2luZ3VsYXIgaXRlbVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2dldFxuICAgKi9cbiAgZ2V0OiBHZXRFbmRwb2ludDx7IHBhdGg6IE9bJ3BhdGgnXTsgc2NoZW1hOiBPWydzY2hlbWEnXSB9PjtcbiAgLyoqIEdldCBhIGxpc3Qgb2YgaXRlbVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2dldGxpc3RcbiAgICovXG4gIGdldExpc3Q6ICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgID8gR2V0RW5kcG9pbnQ8e1xuICAgICAgICBwYXRoOiBTaG9ydGVuUGF0aDxPWydwYXRoJ10+O1xuICAgICAgICBzY2hlbWE6IHNjaGVtYS5Db2xsZWN0aW9uPFtPWydzY2hlbWEnXV0+O1xuICAgICAgICBzZWFyY2hQYXJhbXM6IE9bJ3NlYXJjaFBhcmFtcyddO1xuICAgICAgfT5cbiAgICA6IEdldEVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogU2hvcnRlblBhdGg8T1sncGF0aCddPjtcbiAgICAgICAgc2NoZW1hOiBzY2hlbWEuQ29sbGVjdGlvbjxbT1snc2NoZW1hJ11dPjtcbiAgICAgICAgc2VhcmNoUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBzdHJpbmcgfCBib29sZWFuPiB8IHVuZGVmaW5lZDtcbiAgICAgIH0+O1xuICAvKiogQ3JlYXRlIGEgbmV3IGl0ZW0gKFBPU1QpXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2UjY3JlYXRlXG4gICAqL1xuICBjcmVhdGU6ICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgID8gTXV0YXRlRW5kcG9pbnQ8e1xuICAgICAgICBwYXRoOiBTaG9ydGVuUGF0aDxPWydwYXRoJ10+O1xuICAgICAgICBzY2hlbWE6IHNjaGVtYS5Db2xsZWN0aW9uPFtPWydzY2hlbWEnXV0+WydwdXNoJ107XG4gICAgICAgIGJvZHk6ICdib2R5JyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgICA/IE9bJ2JvZHknXVxuICAgICAgICAgIDogUGFydGlhbDxEZW5vcm1hbGl6ZTxPWydzY2hlbWEnXT4+O1xuICAgICAgICBzZWFyY2hQYXJhbXM6IE9bJ3NlYXJjaFBhcmFtcyddO1xuICAgICAgfT5cbiAgICA6IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogU2hvcnRlblBhdGg8T1sncGF0aCddPjtcbiAgICAgICAgc2NoZW1hOiBzY2hlbWEuQ29sbGVjdGlvbjxbT1snc2NoZW1hJ11dPlsncHVzaCddO1xuICAgICAgICBib2R5OiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgICAgPyBPWydib2R5J11cbiAgICAgICAgICA6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PjtcbiAgICAgIH0+O1xuICAvKiogVXBkYXRlIGFuIGl0ZW0gKFBVVClcbiAgICpcbiAgICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSN1cGRhdGVcbiAgICovXG4gIHVwZGF0ZTogJ2JvZHknIGV4dGVuZHMga2V5b2YgT1xuICAgID8gTXV0YXRlRW5kcG9pbnQ8e1xuICAgICAgICBwYXRoOiBPWydwYXRoJ107XG4gICAgICAgIGJvZHk6IE9bJ2JvZHknXTtcbiAgICAgICAgc2NoZW1hOiBPWydzY2hlbWEnXTtcbiAgICAgIH0+XG4gICAgOiBNdXRhdGVFbmRwb2ludDx7XG4gICAgICAgIHBhdGg6IE9bJ3BhdGgnXTtcbiAgICAgICAgYm9keTogUGFydGlhbDxEZW5vcm1hbGl6ZTxPWydzY2hlbWEnXT4+O1xuICAgICAgICBzY2hlbWE6IE9bJ3NjaGVtYSddO1xuICAgICAgfT47XG4gIC8qKiBVcGRhdGUgYW4gaXRlbSAoUEFUQ0gpXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2UjcGFydGlhbHVwZGF0ZVxuICAgKi9cbiAgcGFydGlhbFVwZGF0ZTogJ2JvZHknIGV4dGVuZHMga2V5b2YgT1xuICAgID8gTXV0YXRlRW5kcG9pbnQ8e1xuICAgICAgICBwYXRoOiBPWydwYXRoJ107XG4gICAgICAgIGJvZHk6IFBhcnRpYWw8T1snYm9keSddPjtcbiAgICAgICAgc2NoZW1hOiBPWydzY2hlbWEnXTtcbiAgICAgIH0+XG4gICAgOiBNdXRhdGVFbmRwb2ludDx7XG4gICAgICAgIHBhdGg6IE9bJ3BhdGgnXTtcbiAgICAgICAgYm9keTogUGFydGlhbDxEZW5vcm1hbGl6ZTxPWydzY2hlbWEnXT4+O1xuICAgICAgICBzY2hlbWE6IE9bJ3NjaGVtYSddO1xuICAgICAgfT47XG4gIC8qKiBEZWxldGUgYW4gaXRlbSAoREVMRVRFKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2RlbGV0ZVxuICAgKi9cbiAgZGVsZXRlOiBSZXN0VHlwZU5vQm9keTxcbiAgICBQYXRoQXJnczxPWydwYXRoJ10+LFxuICAgIE9bJ3NjaGVtYSddIGV4dGVuZHMgc2NoZW1hLkVudGl0eUludGVyZmFjZSAmIHsgcHJvY2VzczogYW55IH1cbiAgICAgID8gc2NoZW1hLkludmFsaWRhdGU8T1snc2NoZW1hJ10+XG4gICAgICA6IE9bJ3NjaGVtYSddLFxuICAgIHVuZGVmaW5lZCxcbiAgICBQYXJ0aWFsPFBhdGhBcmdzPE9bJ3BhdGgnXT4+LFxuICAgIHtcbiAgICAgIHBhdGg6IE9bJ3BhdGgnXTtcbiAgICB9XG4gID47XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FDRUEsZUFBZSxFQUVmQyxNQUFNLFFBQ0QsdUJBQXVCO0FBSTlCLE9BQU9DLFlBQVksTUFLWixtQkFBbUI7QUFFMUIsU0FBU0MsV0FBVyxRQUFRLG1CQUFtQjtBQUUvQyxNQUFNO0VBQUVDLFVBQVU7RUFBRUM7QUFBVyxDQUFDLEdBQUdKLE1BQU07O0FBRXpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTSyxjQUFjQSxDQUFBQyxJQUFBLEVBTVM7RUFBQSxJQU5vQjtNQUNqRUMsSUFBSTtNQUNKUCxNQUFNO01BQ05RLFFBQVEsR0FBR1AsWUFBWTtNQUN2QlE7SUFFNkIsQ0FBQyxHQUFBSCxJQUFBO0lBRDNCSSxZQUFZLEdBQUFDLDZCQUFBLENBQUFMLElBQUEsRUFBQU0sU0FBQTtFQUVmLE1BQU1DLGFBQWEsR0FBR1gsV0FBVyxDQUFDSyxJQUFJLENBQUM7RUFDdkMsTUFBTU8sT0FBTyxHQUFJQyxJQUFZLElBQU0sR0FBR2YsTUFBTSxvQkFBTkEsTUFBTSxDQUFVZSxJQUFLLElBQUdBLElBQUssRUFBQztFQUNwRSxNQUFNQyxrQkFBa0IsR0FBQUMsTUFBQSxDQUFBQyxNQUFBLEtBQVFSLFlBQVksQ0FBRTtFQUM5QyxNQUFNUyxtQkFBbUIsR0FBQUYsTUFBQSxDQUFBQyxNQUFBLEtBQVFSLFlBQVksQ0FBRTtFQUMvQyxNQUFNVSxHQUEwRCxHQUM5RCxJQUFJWixRQUFRLENBQUFTLE1BQUEsQ0FBQUMsTUFBQSxLQUNQUixZQUFZO0lBQ2ZILElBQUk7SUFDSlAsTUFBTTtJQUNOZSxJQUFJLEVBQUVELE9BQU8sQ0FBQyxLQUFLO0VBQUMsRUFDckIsQ0FBUTtFQUNYLElBQUlMLFVBQVUsRUFBRTtJQUNiTyxrQkFBa0IsQ0FBU0ss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
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL25leHQvcmVzb3VyY2VUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNjaGVtYSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5cbmltcG9ydCBSZXN0RW5kcG9pbnQgZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlR2VuZXJpY3Mge1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNjaGVtYTogU2NoZW1hO1xuICAvKiogT25seSB1c2VkIGZvciB0eXBlcyAqL1xuICByZWFkb25seSBib2R5PzogYW55O1xuICAvKiogT25seSB1c2VkIGZvciB0eXBlcyAqL1xuICByZWFkb25seSBzZWFyY2hQYXJhbXM/OiBhbnk7XG59XG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlT3B0aW9ucyB7XG4gIEVuZHBvaW50PzogdHlwZW9mIFJlc3RFbmRwb2ludDtcbiAgdXJsUHJlZml4Pzogc3RyaW5nO1xuICByZXF1ZXN0SW5pdD86IFJlcXVlc3RJbml0O1xuICBnZXRIZWFkZXJzPyhoZWFkZXJzOiBIZWFkZXJzSW5pdCk6IFByb21pc2U8SGVhZGVyc0luaXQ+IHwgSGVhZGVyc0luaXQ7XG4gIGdldFJlcXVlc3RJbml0Pyhib2R5OiBhbnkpOiBQcm9taXNlPFJlcXVlc3RJbml0PiB8IFJlcXVlc3RJbml0O1xuICBmZXRjaFJlc3BvbnNlPyhpbnB1dDogUmVxdWVzdEluZm8sIGluaXQ6IFJlcXVlc3RJbml0KTogUHJvbWlzZTxhbnk+O1xuICBwYXJzZVJlc3BvbnNlPyhyZXNwb25zZTogUmVzcG9uc2UpOiBQcm9taXNlPGFueT47XG4gIC8qKiBEZWZhdWx0IGRhdGEgZXhwaXJ5IGxlbmd0aCwgd2lsbCBmYWxsIGJhY2sgdG8gTmV0d29ya01hbmFnZXIgZGVmYXVsdCBpZiBub3QgZGVmaW5lZCAqL1xuICByZWFkb25seSBkYXRhRXhwaXJ5TGVuZ3RoPzogbnVtYmVyO1xuICAvKiogRGVmYXVsdCBlcnJvciBleHBpcnkgbGVuZ3RoLCB3aWxsIGZhbGwgYmFjayB0byBOZXR3b3JrTWFuYWdlciBkZWZhdWx0IGlmIG5vdCBkZWZpbmVkICovXG4gIHJlYWRvbmx5IGVycm9yRXhwaXJ5TGVuZ3RoPzogbnVtYmVyO1xuICAvKiogUG9sbCB3aXRoIGF0IGxlYXN0IHRoaXMgZnJlcXVlbmN5IGluIG1pbGlzZWNvbmRzICovXG4gIHJlYWRvbmx5IHBvbGxGcmVxdWVuY3k/OiBudW1iZXI7XG4gIC8qKiBNYXJrcyBjYWNoZWQgcmVzb3VyY2VzIGFzIGludmFsaWQgaWYgdGhleSBhcmUgc3RhbGUgKi9cbiAgcmVhZG9ubHkgaW52YWxpZElmU3RhbGU/OiBib29sZWFuO1xuICAvKiogRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIHRocm93IG9yIGZhbGxiYWNrIHRvICovXG4gIGVycm9yUG9saWN5PyhlcnJvcjogYW55KTogJ2hhcmQnIHwgJ3NvZnQnIHwgdW5kZWZpbmVkO1xuICBvcHRpbWlzdGljPzogYm9vbGVhbjtcbn1cbiJdLCJtYXBwaW5ncyI6IiJ9
@@ -1,7 +0,0 @@
1
- import type { FetchFunction, ResolveType } from '@data-client/endpoint';
2
- import { PartialRestGenerics, RestInstanceBase, RestFetch } from './RestEndpoint.js';
3
- import { PathArgs } from '../pathTypes.js';
4
- export type OptionsToFunction<O extends PartialRestGenerics, E extends RestInstanceBase & {
5
- body?: any;
6
- }, F extends FetchFunction> = 'path' extends keyof O ? RestFetch<'searchParams' extends keyof O ? O['searchParams'] & PathArgs<Exclude<O['path'], undefined>> : PathArgs<Exclude<O['path'], undefined>>, 'body' extends keyof O ? O['body'] : E['body'], O['process'] extends {} ? ReturnType<O['process']> : ResolveType<F>> : 'body' extends keyof O ? RestFetch<'searchParams' extends keyof O ? O['searchParams'] & PathArgs<Exclude<E['path'], undefined>> : PathArgs<Exclude<E['path'], undefined>>, O['body'], O['process'] extends {} ? ReturnType<O['process']> : ResolveType<F>> : 'searchParams' extends keyof O ? RestFetch<O['searchParams'] & PathArgs<Exclude<E['path'], undefined>>, E['body'], O['process'] extends {} ? ReturnType<O['process']> : ResolveType<F>> : (this: ThisParameterType<F>, ...args: Parameters<F>) => Promise<O['process'] extends {} ? ReturnType<O['process']> : ResolveType<F>>;
7
- //# sourceMappingURL=OptionsToFunction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptionsToFunction.d.ts","sourceRoot":"","sources":["../../src/next/OptionsToFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,mBAAmB,EAC7B,CAAC,SAAS,gBAAgB,GAAG;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,EAC3C,CAAC,SAAS,aAAa,IACrB,MAAM,SAAS,MAAM,CAAC,GACtB,SAAS,CACP,cAAc,SAAS,MAAM,CAAC,GAC1B,CAAC,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,GAC3D,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,EAC3C,MAAM,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAC9C,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CACpE,GACD,MAAM,SAAS,MAAM,CAAC,GACtB,SAAS,CACP,cAAc,SAAS,MAAM,CAAC,GAC1B,CAAC,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,GAC3D,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,EAC3C,CAAC,CAAC,MAAM,CAAC,EACT,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CACpE,GACD,cAAc,SAAS,MAAM,CAAC,GAC9B,SAAS,CACP,CAAC,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,EAC3D,CAAC,CAAC,MAAM,CAAC,EACT,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CACpE,GACD,CACE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC1B,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KACnB,OAAO,CACV,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CACpE,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL25leHQvT3B0aW9uc1RvRnVuY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGZXRjaEZ1bmN0aW9uLCBSZXNvbHZlVHlwZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5cbmltcG9ydCB7XG4gIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIFJlc3RJbnN0YW5jZUJhc2UsXG4gIFJlc3RGZXRjaCxcbn0gZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuaW1wb3J0IHsgUGF0aEFyZ3MgfSBmcm9tICcuLi9wYXRoVHlwZXMuanMnO1xuXG5leHBvcnQgdHlwZSBPcHRpb25zVG9GdW5jdGlvbjxcbiAgTyBleHRlbmRzIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIEUgZXh0ZW5kcyBSZXN0SW5zdGFuY2VCYXNlICYgeyBib2R5PzogYW55IH0sXG4gIEYgZXh0ZW5kcyBGZXRjaEZ1bmN0aW9uLFxuPiA9ICdwYXRoJyBleHRlbmRzIGtleW9mIE9cbiAgPyBSZXN0RmV0Y2g8XG4gICAgICAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgPyBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPEV4Y2x1ZGU8T1sncGF0aCddLCB1bmRlZmluZWQ+PlxuICAgICAgICA6IFBhdGhBcmdzPEV4Y2x1ZGU8T1sncGF0aCddLCB1bmRlZmluZWQ+PixcbiAgICAgICdib2R5JyBleHRlbmRzIGtleW9mIE8gPyBPWydib2R5J10gOiBFWydib2R5J10sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+XG4gICAgPlxuICA6ICdib2R5JyBleHRlbmRzIGtleW9mIE9cbiAgPyBSZXN0RmV0Y2g8XG4gICAgICAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgPyBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PlxuICAgICAgICA6IFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PixcbiAgICAgIE9bJ2JvZHknXSxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+XG4gIDogJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gID8gUmVzdEZldGNoPFxuICAgICAgT1snc2VhcmNoUGFyYW1zJ10gJiBQYXRoQXJnczxFeGNsdWRlPEVbJ3BhdGgnXSwgdW5kZWZpbmVkPj4sXG4gICAgICBFWydib2R5J10sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+XG4gICAgPlxuICA6IChcbiAgICAgIHRoaXM6IFRoaXNQYXJhbWV0ZXJUeXBlPEY+LFxuICAgICAgLi4uYXJnczogUGFyYW1ldGVyczxGPlxuICAgICkgPT4gUHJvbWlzZTxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+O1xuIl0sIm1hcHBpbmdzIjoiIn0=