@data-client/rest 0.14.1 → 0.14.3
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/README.md +5 -5
- package/dist/index.js +6 -5
- package/dist/index.umd.min.js +1 -1
- package/legacy/index.js +3 -2
- package/legacy/resource.js +140 -0
- package/legacy/resourceExtendable.js +1 -1
- package/legacy/resourceTypes.js +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -2
- package/lib/resource.d.ts +7 -0
- package/lib/resource.d.ts.map +1 -0
- package/lib/resource.js +162 -0
- package/lib/resourceExtendable.d.ts +1 -1
- package/lib/resourceExtendable.js +1 -1
- package/lib/resourceTypes.d.ts +17 -17
- package/lib/resourceTypes.d.ts.map +1 -1
- package/lib/resourceTypes.js +1 -1
- package/package.json +2 -2
- package/src/__tests__/Resource.test.ts +6 -6
- package/src/__tests__/__snapshots__/createResource.test.ts.snap +7 -7
- package/src/__tests__/createResource.test.ts +14 -14
- package/src/index.ts +2 -1
- package/src/{createResource.ts → resource.ts} +4 -4
- package/src/resourceExtendable.ts +1 -1
- package/src/resourceTypes.ts +17 -17
- package/ts4.0/index.d.ts +2 -1
- package/ts4.0/resource.d.ts +7 -0
- package/ts4.0/resourceTypes.d.ts +17 -17
- package/ts4.1/index.d.ts +2 -1
- package/ts4.1/resource.d.ts +7 -0
- package/ts4.1/resourceTypes.d.ts +17 -17
- package/legacy/createResource.js +0 -140
- package/lib/createResource.d.ts +0 -7
- package/lib/createResource.d.ts.map +0 -1
- package/lib/createResource.js +0 -162
- package/ts4.0/createResource.d.ts +0 -7
- package/ts4.1/createResource.d.ts +0 -7
package/lib/createResource.js
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { schema } from '@data-client/endpoint';
|
|
2
|
-
import RestEndpoint from './RestEndpoint.js';
|
|
3
|
-
import { shortenPath } from './RestHelpers.js';
|
|
4
|
-
const {
|
|
5
|
-
Invalidate,
|
|
6
|
-
Collection: BaseCollection
|
|
7
|
-
} = schema;
|
|
8
|
-
|
|
9
|
-
/** Creates collection of Endpoints for common operations on a given data/schema.
|
|
10
|
-
*
|
|
11
|
-
* @see https://dataclient.io/rest/api/createResource
|
|
12
|
-
*/
|
|
13
|
-
export default function createResource({
|
|
14
|
-
path,
|
|
15
|
-
schema,
|
|
16
|
-
Endpoint = RestEndpoint,
|
|
17
|
-
Collection = BaseCollection,
|
|
18
|
-
optimistic,
|
|
19
|
-
paginationField,
|
|
20
|
-
...extraOptions
|
|
21
|
-
}) {
|
|
22
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
23
|
-
// if they lowercase and it looks like they meant to use upper-case version
|
|
24
|
-
if ('endpoint' in extraOptions && Endpoint === RestEndpoint && typeof extraOptions['endpoint'] === 'function' && extraOptions['endpoint'] && Object.prototype.isPrototypeOf.call(RestEndpoint.prototype, extraOptions['endpoint'].prototype)) {
|
|
25
|
-
console.warn(`You passed 'endpoint' option; did you mean to use Endpoint?
|
|
26
|
-
https://dataclient.io/rest/api/createResource#endpoint
|
|
27
|
-
This parameter must be capitalized.
|
|
28
|
-
|
|
29
|
-
This warning will not show in production.`);
|
|
30
|
-
}
|
|
31
|
-
// if they lowercase and it looks like they meant to use upper-case version
|
|
32
|
-
if ('collection' in extraOptions && Collection === BaseCollection && typeof extraOptions['collection'] === 'function' && extraOptions['collection'] && Object.prototype.isPrototypeOf.call(BaseCollection.prototype, extraOptions['collection'].prototype)) {
|
|
33
|
-
console.warn(`You passed 'collection' option; did you mean to use Collection?
|
|
34
|
-
https://dataclient.io/rest/api/createResource#collection
|
|
35
|
-
This parameter must be capitalized.
|
|
36
|
-
|
|
37
|
-
This warning will not show in production.`);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
const shortenedPath = shortenPath(path);
|
|
41
|
-
const getName = name => `${schema == null ? void 0 : schema.name}.${name}`;
|
|
42
|
-
// this accounts for derivative endpoints
|
|
43
|
-
function extendMember(extended, key, options) {
|
|
44
|
-
extended[key] = extended[key].extend(options);
|
|
45
|
-
}
|
|
46
|
-
const extraMutateOptions = {
|
|
47
|
-
...extraOptions
|
|
48
|
-
};
|
|
49
|
-
const extraPartialOptions = {
|
|
50
|
-
...extraOptions
|
|
51
|
-
};
|
|
52
|
-
const get = new Endpoint({
|
|
53
|
-
...extraOptions,
|
|
54
|
-
path,
|
|
55
|
-
schema,
|
|
56
|
-
name: getName('get')
|
|
57
|
-
});
|
|
58
|
-
if (optimistic) {
|
|
59
|
-
extraMutateOptions.getOptimisticResponse = optimisticUpdate;
|
|
60
|
-
// TODO: Check that schema is a queryable, otherwise this doesn't make sense
|
|
61
|
-
extraPartialOptions.getOptimisticResponse = optimisticPartial(schema);
|
|
62
|
-
}
|
|
63
|
-
const getList = new Endpoint({
|
|
64
|
-
...extraMutateOptions,
|
|
65
|
-
paginationField: paginationField,
|
|
66
|
-
path: shortenedPath,
|
|
67
|
-
schema: new Collection([schema]),
|
|
68
|
-
name: getName('getList')
|
|
69
|
-
});
|
|
70
|
-
const ret = {
|
|
71
|
-
get,
|
|
72
|
-
getList,
|
|
73
|
-
// TODO(deprecated): remove this once we remove creates
|
|
74
|
-
create: getList.push.extend({
|
|
75
|
-
name: getName('create')
|
|
76
|
-
}),
|
|
77
|
-
update: new Endpoint({
|
|
78
|
-
...extraMutateOptions,
|
|
79
|
-
path,
|
|
80
|
-
schema,
|
|
81
|
-
method: 'PUT',
|
|
82
|
-
name: getName('update')
|
|
83
|
-
}),
|
|
84
|
-
partialUpdate: new Endpoint({
|
|
85
|
-
...extraPartialOptions,
|
|
86
|
-
path,
|
|
87
|
-
schema,
|
|
88
|
-
method: 'PATCH',
|
|
89
|
-
name: getName('partialUpdate')
|
|
90
|
-
}),
|
|
91
|
-
delete: new Endpoint({
|
|
92
|
-
...extraMutateOptions,
|
|
93
|
-
path,
|
|
94
|
-
schema: schema.process ? new Invalidate(schema) : schema,
|
|
95
|
-
method: 'DELETE',
|
|
96
|
-
name: getName('delete'),
|
|
97
|
-
process(res, params) {
|
|
98
|
-
return res && Object.keys(res).length ? res : params;
|
|
99
|
-
},
|
|
100
|
-
getOptimisticResponse: optimistic ? optimisticDelete : undefined
|
|
101
|
-
}),
|
|
102
|
-
extend(...args) {
|
|
103
|
-
if (typeof args[0] === 'string') {
|
|
104
|
-
const [key, options] = args;
|
|
105
|
-
if (key in this) {
|
|
106
|
-
const extended = {
|
|
107
|
-
...this
|
|
108
|
-
};
|
|
109
|
-
extendMember(extended, key, options);
|
|
110
|
-
return extended;
|
|
111
|
-
} else {
|
|
112
|
-
return {
|
|
113
|
-
...this,
|
|
114
|
-
[key]: this.get.extend(options)
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
} else if (typeof args[0] === 'function') {
|
|
118
|
-
const extended = args[0](this);
|
|
119
|
-
return {
|
|
120
|
-
...this,
|
|
121
|
-
...extended
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
const overrides = args[0];
|
|
125
|
-
const extended = {
|
|
126
|
-
...this
|
|
127
|
-
};
|
|
128
|
-
for (const key in overrides) {
|
|
129
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
130
|
-
// @ts-ignore
|
|
131
|
-
extendMember(extended, key, overrides[key]);
|
|
132
|
-
}
|
|
133
|
-
return extended;
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
return ret;
|
|
137
|
-
}
|
|
138
|
-
function optimisticUpdate(snap, params, body) {
|
|
139
|
-
return {
|
|
140
|
-
...params,
|
|
141
|
-
...ensurePojo(body)
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
function optimisticPartial(schema) {
|
|
145
|
-
return function (snap, params, body) {
|
|
146
|
-
const data = snap.get(schema, params);
|
|
147
|
-
if (!data) throw snap.abort;
|
|
148
|
-
return {
|
|
149
|
-
...params,
|
|
150
|
-
...data,
|
|
151
|
-
// even tho we don't always have two arguments, the extra one will simply be undefined which spreads fine
|
|
152
|
-
...ensurePojo(body)
|
|
153
|
-
};
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
function optimisticDelete(snap, params) {
|
|
157
|
-
return params;
|
|
158
|
-
}
|
|
159
|
-
function ensurePojo(body) {
|
|
160
|
-
return body instanceof FormData ? Object.fromEntries(body.entries()) : body;
|
|
161
|
-
}
|
|
162
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkludmFsaWRhdGUiLCJDb2xsZWN0aW9uIiwiQmFzZUNvbGxlY3Rpb24iLCJjcmVhdGVSZXNvdXJjZSIsInBhdGgiLCJFbmRwb2ludCIsIm9wdGltaXN0aWMiLCJwYWdpbmF0aW9uRmllbGQiLCJleHRyYU9wdGlvbnMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJpc1Byb3RvdHlwZU9mIiwiY2FsbCIsImNvbnNvbGUiLCJ3YXJuIiwic2hvcnRlbmVkUGF0aCIsImdldE5hbWUiLCJuYW1lIiwiZXh0ZW5kTWVtYmVyIiwiZXh0ZW5kZWQiLCJrZXkiLCJvcHRpb25zIiwiZXh0ZW5kIiwiZXh0cmFNdXRhdGVPcHRpb25zIiwiZXh0cmFQYXJ0aWFsT3B0aW9ucyIsImdldCIsImdldE9wdGltaXN0aWNSZXNwb25zZSIsIm9wdGltaXN0aWNVcGRhdGUiLCJvcHRpbWlzdGljUGFydGlhbCIsImdldExpc3QiLCJyZXQiLCJjcmVhdGUiLCJwdXNoIiwidXBkYXRlIiwibWV0aG9kIiwicGFydGlhbFVwZGF0ZSIsImRlbGV0ZSIsInJlcyIsInBhcmFtcyIsImtleXMiLCJsZW5ndGgiLCJvcHRpbWlzdGljRGVsZXRlIiwidW5kZWZpbmVkIiwiYXJncyIsIm92ZXJyaWRlcyIsInNuYXAiLCJib2R5IiwiZW5zdXJlUG9qbyIsImRhdGEiLCJhYm9ydCIsIkZvcm1EYXRhIiwiZnJvbUVudHJpZXMiLCJlbnRyaWVzIl0sInNvdXJjZXMiOlsiLi4vc3JjL2NyZWF0ZVJlc291cmNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNjaGVtYSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5pbXBvcnQgdHlwZSB7IFNuYXBzaG90SW50ZXJmYWNlLCBRdWVyeWFibGUgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQge1xuICBSZXNvdXJjZUdlbmVyaWNzLFxuICBSZXNvdXJjZU9wdGlvbnMsXG4gIFJlc291cmNlLFxuICBSZXNvdXJjZUludGVyZmFjZSxcbn0gZnJvbSAnLi9yZXNvdXJjZVR5cGVzLmpzJztcbmltcG9ydCBSZXN0RW5kcG9pbnQsIHtcbiAgR2V0RW5kcG9pbnQsXG4gIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIFJlc3RFbmRwb2ludE9wdGlvbnMsXG4gIFJlc3RJbnN0YW5jZUJhc2UsXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmltcG9ydCB7IHNob3J0ZW5QYXRoIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbmNvbnN0IHsgSW52YWxpZGF0ZSwgQ29sbGVjdGlvbjogQmFzZUNvbGxlY3Rpb24gfSA9IHNjaGVtYTtcblxuLyoqIENyZWF0ZXMgY29sbGVjdGlvbiBvZiBFbmRwb2ludHMgZm9yIGNvbW1vbiBvcGVyYXRpb25zIG9uIGEgZ2l2ZW4gZGF0YS9zY2hlbWEuXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2VcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlUmVzb3VyY2U8TyBleHRlbmRzIFJlc291cmNlR2VuZXJpY3M+KHtcbiAgcGF0aCxcbiAgc2NoZW1hLFxuICBFbmRwb2ludCA9IFJlc3RFbmRwb2ludCxcbiAgQ29sbGVjdGlvbiA9IEJhc2VDb2xsZWN0aW9uLFxuICBvcHRpbWlzdGljLFxuICBwYWdpbmF0aW9uRmllbGQsXG4gIC4uLmV4dHJhT3B0aW9uc1xufTogUmVhZG9ubHk8Tz4gJiBSZXNvdXJjZU9wdGlvbnMpOiBSZXNvdXJjZTxPPiB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgLy8gaWYgdGhleSBsb3dlcmNhc2UgYW5kIGl0IGxvb2tzIGxpa2UgdGhleSBtZWFudCB0byB1c2UgdXBwZXItY2FzZSB2ZXJzaW9uXG4gICAgaWYgKFxuICAgICAgJ2VuZHBvaW50JyBpbiBleHRyYU9wdGlvbnMgJiZcbiAgICAgIEVuZHBvaW50ID09PSBSZXN0RW5kcG9pbnQgJiZcbiAgICAgIHR5cGVvZiBleHRyYU9wdGlvbnNbJ2VuZHBvaW50J10gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgIGV4dHJhT3B0aW9uc1snZW5kcG9pbnQnXSAmJlxuICAgICAgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwoXG4gICAgICAgIFJlc3RFbmRwb2ludC5wcm90b3R5cGUsXG4gICAgICAgIChleHRyYU9wdGlvbnNbJ2VuZHBvaW50J10gYXMgYW55KS5wcm90b3R5cGUsXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBZb3UgcGFzc2VkICdlbmRwb2ludCcgb3B0aW9uOyBkaWQgeW91IG1lYW4gdG8gdXNlIEVuZHBvaW50P1xuaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2VuZHBvaW50XG5UaGlzIHBhcmFtZXRlciBtdXN0IGJlIGNhcGl0YWxpemVkLlxuXG5UaGlzIHdhcm5pbmcgd2lsbCBub3Qgc2hvdyBpbiBwcm9kdWN0aW9uLmAsXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBpZiB0aGV5IGxvd2VyY2FzZSBhbmQgaXQgbG9va3MgbGlrZSB0aGV5IG1lYW50IHRvIHVzZSB1cHBlci1jYXNlIHZlcnNpb25cbiAgICBpZiAoXG4gICAgICAnY29sbGVjdGlvbicgaW4gZXh0cmFPcHRpb25zICYmXG4gICAgICBDb2xsZWN0aW9uID09PSBCYXNlQ29sbGVjdGlvbiAmJlxuICAgICAgdHlwZW9mIGV4dHJhT3B0aW9uc1snY29sbGVjdGlvbiddID09PSAnZnVuY3Rpb24nICYmXG4gICAgICBleHRyYU9wdGlvbnNbJ2NvbGxlY3Rpb24nXSAmJlxuICAgICAgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwoXG4gICAgICAgIEJhc2VDb2xsZWN0aW9uLnByb3RvdHlwZSxcbiAgICAgICAgKGV4dHJhT3B0aW9uc1snY29sbGVjdGlvbiddIGFzIGFueSkucHJvdG90eXBlLFxuICAgICAgKVxuICAgICkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgWW91IHBhc3NlZCAnY29sbGVjdGlvbicgb3B0aW9uOyBkaWQgeW91IG1lYW4gdG8gdXNlIENvbGxlY3Rpb24/XG5odHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2UjY29sbGVjdGlvblxuVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBjYXBpdGFsaXplZC5cblxuVGhpcyB3YXJuaW5nIHdpbGwgbm90IHNob3cgaW4gcHJvZHVjdGlvbi5gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgY29uc3Qgc2hvcnRlbmVkUGF0aCA9IHNob3J0ZW5QYXRoKHBhdGgpO1xuICBjb25zdCBnZXROYW1lID0gKG5hbWU6IHN0cmluZykgPT4gYCR7KHNjaGVtYSBhcyBhbnkpPy5uYW1lfS4ke25hbWV9YDtcbiAgLy8gdGhpcyBhY2NvdW50cyBmb3IgZGVyaXZhdGl2ZSBlbmRwb2ludHNcbiAgZnVuY3Rpb24gZXh0ZW5kTWVtYmVyKGV4dGVuZGVkOiBhbnksIGtleTogc3RyaW5nLCBvcHRpb25zOiBhbnkpIHtcbiAgICBleHRlbmRlZFtrZXldID0gZXh0ZW5kZWRba2V5XS5leHRlbmQob3B0aW9ucyk7XG4gIH1cblxuICBjb25zdCBleHRyYU11dGF0ZU9wdGlvbnMgPSB7IC4uLmV4dHJhT3B0aW9ucyB9O1xuICBjb25zdCBleHRyYVBhcnRpYWxPcHRpb25zID0geyAuLi5leHRyYU9wdGlvbnMgfTtcbiAgY29uc3QgZ2V0OiBHZXRFbmRwb2ludDx7IHBhdGg6IE9bJ3BhdGgnXTsgc2NoZW1hOiBPWydzY2hlbWEnXSB9PiA9XG4gICAgbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBuYW1lOiBnZXROYW1lKCdnZXQnKSxcbiAgICB9KSBhcyBhbnk7XG4gIGlmIChvcHRpbWlzdGljKSB7XG4gICAgKGV4dHJhTXV0YXRlT3B0aW9ucyBhcyBhbnkpLmdldE9wdGltaXN0aWNSZXNwb25zZSA9IG9wdGltaXN0aWNVcGRhdGU7XG4gICAgLy8gVE9ETzogQ2hlY2sgdGhhdCBzY2hlbWEgaXMgYSBxdWVyeWFibGUsIG90aGVyd2lzZSB0aGlzIGRvZXNuJ3QgbWFrZSBzZW5zZVxuICAgIChleHRyYVBhcnRpYWxPcHRpb25zIGFzIGFueSkuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW1pc3RpY1BhcnRpYWwoXG4gICAgICBzY2hlbWEgYXMgYW55LFxuICAgICk7XG4gIH1cbiAgY29uc3QgZ2V0TGlzdCA9IG5ldyBFbmRwb2ludCh7XG4gICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgIHBhZ2luYXRpb25GaWVsZDogcGFnaW5hdGlvbkZpZWxkIGFzIHN0cmluZyxcbiAgICBwYXRoOiBzaG9ydGVuZWRQYXRoLFxuICAgIHNjaGVtYTogbmV3IENvbGxlY3Rpb24oW3NjaGVtYSBhcyBhbnldKSxcbiAgICBuYW1lOiBnZXROYW1lKCdnZXRMaXN0JyksXG4gIH0pO1xuICBjb25zdCByZXQgPSB7XG4gICAgZ2V0LFxuICAgIGdldExpc3QsXG4gICAgLy8gVE9ETyhkZXByZWNhdGVkKTogcmVtb3ZlIHRoaXMgb25jZSB3ZSByZW1vdmUgY3JlYXRlc1xuICAgIGNyZWF0ZTogZ2V0TGlzdC5wdXNoLmV4dGVuZCh7IG5hbWU6IGdldE5hbWUoJ2NyZWF0ZScpIH0pLFxuICAgIHVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgndXBkYXRlJyksXG4gICAgfSksXG4gICAgcGFydGlhbFVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhUGFydGlhbE9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgncGFydGlhbFVwZGF0ZScpLFxuICAgIH0pLFxuICAgIGRlbGV0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWE6IChzY2hlbWEgYXMgYW55KS5wcm9jZXNzID8gbmV3IEludmFsaWRhdGUoc2NoZW1hIGFzIGFueSkgOiBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgnZGVsZXRlJyksXG4gICAgICBwcm9jZXNzKHJlczogYW55LCBwYXJhbXM6IGFueSkge1xuICAgICAgICByZXR1cm4gcmVzICYmIE9iamVjdC5rZXlzKHJlcykubGVuZ3RoID8gcmVzIDogcGFyYW1zO1xuICAgICAgfSxcbiAgICAgIGdldE9wdGltaXN0aWNSZXNwb25zZTogb3B0aW1pc3RpYyA/IChvcHRpbWlzdGljRGVsZXRlIGFzIGFueSkgOiB1bmRlZmluZWQsXG4gICAgfSksXG4gICAgZXh0ZW5kKFxuICAgICAgLi4uYXJnczpcbiAgICAgICAgfCBbc3RyaW5nLCBSZXN0RW5kcG9pbnRPcHRpb25zICYgUGFydGlhbFJlc3RHZW5lcmljc11cbiAgICAgICAgfCBbUmVzdEVuZHBvaW50T3B0aW9ucyAmIFBhcnRpYWxSZXN0R2VuZXJpY3NdXG4gICAgICAgIHwgW1xuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICBiYXNlUmVzb3VyY2U6IFJlc291cmNlSW50ZXJmYWNlLFxuICAgICAgICAgICAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBSZXN0SW5zdGFuY2VCYXNlPixcbiAgICAgICAgICBdXG4gICAgKSB7XG4gICAgICBpZiAodHlwZW9mIGFyZ3NbMF0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IFtrZXksIG9wdGlvbnNdID0gYXJncztcbiAgICAgICAgaWYgKGtleSBpbiB0aGlzKSB7XG4gICAgICAgICAgY29uc3QgZXh0ZW5kZWQgPSB7IC4uLnRoaXMgfTtcbiAgICAgICAgICBleHRlbmRNZW1iZXIoZXh0ZW5kZWQsIGtleSwgb3B0aW9ucyk7XG4gICAgICAgICAgcmV0dXJuIGV4dGVuZGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi50aGlzLFxuICAgICAgICAgICAgW2tleV06IHRoaXMuZ2V0LmV4dGVuZChvcHRpb25zKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmdzWzBdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGNvbnN0IGV4dGVuZGVkID0gYXJnc1swXSh0aGlzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50aGlzLFxuICAgICAgICAgIC4uLmV4dGVuZGVkLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgY29uc3Qgb3ZlcnJpZGVzID0gYXJnc1swXTtcbiAgICAgIGNvbnN0IGV4dGVuZGVkID0geyAuLi50aGlzIH07XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBvdmVycmlkZXMpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGV4dGVuZE1lbWJlcihleHRlbmRlZCwga2V5LCBvdmVycmlkZXNba2V5XSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXh0ZW5kZWQ7XG4gICAgfSxcbiAgfSBhcyBhbnk7XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIG9wdGltaXN0aWNVcGRhdGUoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5wYXJhbXMsXG4gICAgLi4uZW5zdXJlUG9qbyhib2R5KSxcbiAgfTtcbn1cbmZ1bmN0aW9uIG9wdGltaXN0aWNQYXJ0aWFsKHNjaGVtYTogUXVlcnlhYmxlKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgICBjb25zdCBkYXRhID0gc25hcC5nZXQoc2NoZW1hLCBwYXJhbXMpO1xuICAgIGlmICghZGF0YSkgdGhyb3cgc25hcC5hYm9ydDtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgLi4uZGF0YSxcbiAgICAgIC8vIGV2ZW4gdGhvIHdlIGRvbid0IGFsd2F5cyBoYXZlIHR3byBhcmd1bWVudHMsIHRoZSBleHRyYSBvbmUgd2lsbCBzaW1wbHkgYmUgdW5kZWZpbmVkIHdoaWNoIHNwcmVhZHMgZmluZVxuICAgICAgLi4uZW5zdXJlUG9qbyhib2R5KSxcbiAgICB9O1xuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY0RlbGV0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnkpIHtcbiAgcmV0dXJuIHBhcmFtcztcbn1cbmZ1bmN0aW9uIGVuc3VyZVBvam8oYm9keTogYW55KSB7XG4gIHJldHVybiBib2R5IGluc3RhbmNlb2YgRm9ybURhdGEgP1xuICAgICAgT2JqZWN0LmZyb21FbnRyaWVzKChib2R5IGFzIGFueSkuZW50cmllcygpKVxuICAgIDogYm9keTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsTUFBTSxRQUFRLHVCQUF1QjtBQVM5QyxPQUFPQyxZQUFZLE1BS1osbUJBQW1CO0FBQzFCLFNBQVNDLFdBQVcsUUFBUSxrQkFBa0I7QUFFOUMsTUFBTTtFQUFFQyxVQUFVO0VBQUVDLFVBQVUsRUFBRUM7QUFBZSxDQUFDLEdBQUdMLE1BQU07O0FBRXpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTTSxjQUFjQSxDQUE2QjtFQUNqRUMsSUFBSTtFQUNKUCxNQUFNO0VBQ05RLFFBQVEsR0FBR1As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
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ResourceGenerics, ResourceOptions, Resource } from './resourceTypes.js';
|
|
2
|
-
/** Creates collection of Endpoints for common operations on a given data/schema.
|
|
3
|
-
*
|
|
4
|
-
* @see https://dataclient.io/rest/api/createResource
|
|
5
|
-
*/
|
|
6
|
-
export default function createResource<O extends ResourceGenerics>({ path, schema, Endpoint, Collection, optimistic, paginationField, ...extraOptions }: Readonly<O> & ResourceOptions): Resource<O>;
|
|
7
|
-
//# sourceMappingURL=createResource.d.ts.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ResourceGenerics, ResourceOptions, Resource } from './resourceTypes.js';
|
|
2
|
-
/** Creates collection of Endpoints for common operations on a given data/schema.
|
|
3
|
-
*
|
|
4
|
-
* @see https://dataclient.io/rest/api/createResource
|
|
5
|
-
*/
|
|
6
|
-
export default function createResource<O extends ResourceGenerics>({ path, schema, Endpoint, Collection, optimistic, paginationField, ...extraOptions }: Readonly<O> & ResourceOptions): Resource<O>;
|
|
7
|
-
//# sourceMappingURL=createResource.d.ts.map
|