@data-client/rest 0.7.5 → 0.8.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 +21 -79
- package/dist/index.umd.min.js +1 -1
- package/dist/next.js +0 -566
- package/legacy/NetworkError.js +2 -2
- package/legacy/RestEndpoint.js +16 -17
- package/legacy/RestEndpointTypes.js +1 -1
- package/legacy/createResource.js +5 -5
- package/legacy/hookifyResource.js +2 -2
- package/legacy/index.js +1 -2
- package/legacy/next/index.js +2 -4
- package/legacy/resourceTypes.js +1 -1
- package/lib/NetworkError.d.ts +1 -1
- package/lib/NetworkError.js +2 -2
- package/lib/RestEndpoint.d.ts +1 -1
- package/lib/RestEndpoint.js +16 -17
- package/lib/RestEndpointTypes.d.ts +15 -15
- package/lib/RestEndpointTypes.d.ts.map +1 -1
- package/lib/RestEndpointTypes.js +1 -1
- package/lib/createResource.d.ts +1 -1
- package/lib/createResource.js +5 -5
- package/lib/hookifyResource.d.ts +1 -1
- package/lib/hookifyResource.js +2 -2
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -2
- package/lib/next/index.d.ts +0 -5
- package/lib/next/index.d.ts.map +1 -1
- package/lib/next/index.js +2 -4
- package/lib/resourceTypes.d.ts +13 -13
- package/lib/resourceTypes.d.ts.map +1 -1
- package/lib/resourceTypes.js +1 -1
- package/package.json +2 -2
- package/src/NetworkError.ts +1 -1
- package/src/RestEndpoint.d.ts +1 -1
- package/src/RestEndpoint.js +14 -13
- package/src/RestEndpointTypes.ts +15 -15
- package/src/__tests__/Resource.test.ts +10 -8
- package/src/__tests__/RestEndpoint.ts +55 -13
- package/src/__tests__/__snapshots__/RestEndpoint.ts.snap +9 -1
- package/src/__tests__/createResource.test.ts +16 -16
- package/src/__tests__/hookifyResource.ts +9 -9
- package/src/createResource.ts +4 -4
- package/src/hookifyResource.ts +1 -1
- package/src/index.ts +6 -1
- package/src/next/index.ts +0 -5
- package/src/resourceTypes.ts +13 -13
- package/ts4.0/NetworkError.d.ts +1 -1
- package/ts4.0/RestEndpoint.d.ts +1 -1
- package/ts4.0/RestEndpointTypes.d.ts +15 -15
- package/ts4.0/createResource.d.ts +1 -1
- package/ts4.0/hookifyResource.d.ts +1 -1
- package/ts4.0/index.d.ts +1 -1
- package/ts4.0/next/index.d.ts +0 -5
- package/ts4.0/resourceTypes.d.ts +13 -13
- package/ts4.1/NetworkError.d.ts +1 -1
- package/ts4.1/RestEndpoint.d.ts +1 -1
- package/ts4.1/RestEndpointTypes.d.ts +15 -15
- package/ts4.1/createResource.d.ts +1 -1
- package/ts4.1/hookifyResource.d.ts +1 -1
- package/ts4.1/index.d.ts +1 -1
- package/ts4.1/next/index.d.ts +0 -5
- package/ts4.1/resourceTypes.d.ts +13 -13
- package/legacy/getArrayPath.js +0 -19
- package/legacy/paginationUpdate.js +0 -36
- package/lib/getArrayPath.d.ts +0 -3
- package/lib/getArrayPath.d.ts.map +0 -1
- package/lib/getArrayPath.js +0 -19
- package/lib/paginationUpdate.d.ts +0 -8
- package/lib/paginationUpdate.d.ts.map +0 -1
- package/lib/paginationUpdate.js +0 -40
- package/src/__tests__/getArrayPath.test.ts +0 -30
- package/src/getArrayPath.ts +0 -20
- package/src/paginationUpdate.ts +0 -49
- package/ts4.0/getArrayPath.d.ts +0 -3
- package/ts4.0/paginationUpdate.d.ts +0 -10
- package/ts4.1/getArrayPath.d.ts +0 -3
- package/ts4.1/paginationUpdate.d.ts +0 -10
package/lib/hookifyResource.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Turns a collection of Endpoints (Resource) into a collection of hooks.
|
|
2
2
|
* This is useful for Endpoints that need hooks to prepare their fetch requests.
|
|
3
3
|
*
|
|
4
|
-
* @see https://
|
|
4
|
+
* @see https://dataclient.io/rest/api/hookifyResource
|
|
5
5
|
*/
|
|
6
6
|
export default function hookifyResource(resource, useRequestInit) {
|
|
7
7
|
const usingResource = {};
|
|
@@ -21,4 +21,4 @@ export default function hookifyResource(resource, useRequestInit) {
|
|
|
21
21
|
function capitalizeFirstLetter(s) {
|
|
22
22
|
return s.charAt(0).toUpperCase() + s.slice(1);
|
|
23
23
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJob29raWZ5UmVzb3VyY2UiLCJyZXNvdXJjZSIsInVzZVJlcXVlc3RJbml0IiwidXNpbmdSZXNvdXJjZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiZW5kcG9pbnQiLCJleHRlbmQiLCJ1bmRlZmluZWQiLCJjYXBpdGFsaXplRmlyc3RMZXR0ZXIiLCJyZXF1ZXN0SW5pdCIsInMiLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIl0sInNvdXJjZXMiOlsiLi4vc3JjL2hvb2tpZnlSZXNvdXJjZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbmRwb2ludEludGVyZmFjZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSG9va2FibGVFbmRwb2ludEludGVyZmFjZSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlIHtcbiAgZXh0ZW5kKC4uLmFyZ3M6IGFueSk6IEhvb2thYmxlRW5kcG9pbnRJbnRlcmZhY2U7XG59XG5cbi8qKiBUdXJucyBhIGNvbGxlY3Rpb24gb2YgRW5kcG9pbnRzIChSZXNvdXJjZSkgaW50byBhIGNvbGxlY3Rpb24gb2YgaG9va3MuXG4gKiBUaGlzIGlzIHVzZWZ1bCBmb3IgRW5kcG9pbnRzIHRoYXQgbmVlZCBob29rcyB0byBwcmVwYXJlIHRoZWlyIGZldGNoIHJlcXVlc3RzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL2hvb2tpZnlSZXNvdXJjZVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBob29raWZ5UmVzb3VyY2U8UiBleHRlbmRzIHt9PihcbiAgcmVzb3VyY2U6IFIsXG4gIHVzZVJlcXVlc3RJbml0OiAoKSA9PiBSZXF1ZXN0SW5pdCxcbik6IEhvb2tSZXNvdXJjZTxSPiB7XG4gIGNvbnN0IHVzaW5nUmVzb3VyY2U6IFJlY29yZDxzdHJpbmcsICgpID0+IEhvb2thYmxlRW5kcG9pbnRJbnRlcmZhY2U+ID0ge307XG4gIE9iamVjdC5rZXlzKHJlc291cmNlKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgY29uc3QgZW5kcG9pbnQgPSAocmVzb3VyY2UgYXMgYW55KVtrZXldO1xuICAgIGlmIChlbmRwb2ludC5leHRlbmQgIT09IHVuZGVmaW5lZClcbiAgICAgIHVzaW5nUmVzb3VyY2VbYHVzZSR7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGtleSl9YF0gPSAoKSA9PiB7XG4gICAgICAgIC8vIHRoaXMgaXMgZmFsc2UgcG9zaXRpdmUgZHVlIHRvIHRoZSBkeW5hbWljIG5hdHVyZSBvZiBhc3NpZ25tZW50XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgICAgICBjb25zdCByZXF1ZXN0SW5pdCA9IHVzZVJlcXVlc3RJbml0KCk7XG4gICAgICAgIHJldHVybiBlbmRwb2ludC5leHRlbmQoeyByZXF1ZXN0SW5pdCB9KTtcbiAgICAgIH07XG4gIH0pO1xuICByZXR1cm4gdXNpbmdSZXNvdXJjZSBhcyBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIEhvb2tSZXNvdXJjZTxSIGV4dGVuZHMge30+ID0ge1xuICBbSyBpbiBFeHRyYWN0PGtleW9mIFIsIHN0cmluZz4gYXMgYHVzZSR7Q2FwaXRhbGl6ZTxLPn1gXTogKCkgPT4gUltLXTtcbn07XG5cbmZ1bmN0aW9uIGNhcGl0YWxpemVGaXJzdExldHRlcihzOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHMuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzLnNsaWNlKDEpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTQSxlQUFlQSxDQUNyQ0MsUUFBVyxFQUNYQyxjQUFpQyxFQUNoQjtFQUNqQixNQUFNQyxhQUE4RCxHQUFHLENBQUMsQ0FBQztFQUN6RUMsTUFBTSxDQUFDQyxJQUFJLENBQUNKLFFBQVEsQ0FBQyxDQUFDSyxPQUFPLENBQUNDLEdBQUcsSUFBSTtJQUNuQyxNQUFNQyxRQUFRLEdBQUlQLFFBQVEsQ0FBU00sR0FBRyxDQUFDO0lBQ3ZDLElBQUlDLFFBQVEsQ0FBQ0MsTUFBTSxLQUFLQyxTQUFTLEVBQy9CUCxhQUFhLENBQUUsTUFBS1EscUJBQXFCLENBQUNKLEdBQUcsQ0FBRSxFQUFDLENBQUMsR0FBRyxNQUFNO01BQ3hEO01BQ0E7TUFDQSxNQUFNSyxXQUFXLEdBQUdWLGNBQWMsQ0FBQyxDQUFDO01BQ3BDLE9BQU9NLFFBQVEsQ0FBQ0MsTUFBTSxDQUFDO1FBQUVHO01BQVksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7RUFDTCxDQUFDLENBQUM7RUFDRixPQUFPVCxhQUFhO0FBQ3RCO0FBTUEsU0FBU1EscUJBQXFCQSxDQUFDRSxDQUFTLEVBQUU7RUFDeEMsT0FBT0EsQ0FBQyxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUNDLFdBQVcsQ0FBQyxDQUFDLEdBQUdGLENBQUMsQ0FBQ0csS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMvQyJ9
|
package/lib/index.d.ts
CHANGED
|
@@ -3,10 +3,10 @@ export type { GetEndpoint, MutateEndpoint, Defaults, RestGenerics, FetchGet, Fet
|
|
|
3
3
|
export { default as createResource } from './createResource.js';
|
|
4
4
|
export type { Resource } from './resourceTypes.js';
|
|
5
5
|
export type { ResourceOptions, ResourceGenerics } from './resourceTypes.js';
|
|
6
|
+
export type { ResourceExtension, ResourceEndpointExtensions, CustomResource, ExtendedResource, } from './resourceExtensionTypes.js';
|
|
6
7
|
export { default as hookifyResource } from './hookifyResource.js';
|
|
7
8
|
export type { HookResource, HookableEndpointInterface, } from './hookifyResource.js';
|
|
8
9
|
export { default as NetworkError } from './NetworkError.js';
|
|
9
|
-
export { default as paginationUpdate } from './paginationUpdate.js';
|
|
10
10
|
export type { OptionsToFunction } from './OptionsToFunction.js';
|
|
11
11
|
export type { ShortenPath, PathArgs, PathKeys, KeysToArgs, PathArgsAndSearch, } from './pathTypes.js';
|
|
12
12
|
export * from '@data-client/endpoint';
|
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,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,8BAA8B,EAC9B,WAAW,EACX,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,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,
|
|
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,EACvB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,YAAY,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,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,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
|
@@ -5,7 +5,6 @@ export { default as RestEndpoint } from './RestEndpoint.js';
|
|
|
5
5
|
export { default as createResource } from './createResource.js';
|
|
6
6
|
export { default as hookifyResource } from './hookifyResource.js';
|
|
7
7
|
export { default as NetworkError } from './NetworkError.js';
|
|
8
|
-
export { default as paginationUpdate } from './paginationUpdate.js';
|
|
9
8
|
export * from '@data-client/endpoint';
|
|
10
9
|
export * from './RestEndpoint.js';
|
|
11
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlZmF1bHQiLCJSZXN0RW5kcG9pbnQiLCJjcmVhdGVSZXNvdXJjZSIsImhvb2tpZnlSZXNvdXJjZSIsIk5ldHdvcmtFcnJvciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJPYmplY3QuaGFzT3duID1cbiAgT2JqZWN0Lmhhc093biB8fFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBmdW5jdGlvbiBoYXNPd24oaXQsIGtleSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXQsIGtleSk7XG4gIH07XG5leHBvcnQgeyBkZWZhdWx0IGFzIFJlc3RFbmRwb2ludCB9IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgR2V0RW5kcG9pbnQsXG4gIE11dGF0ZUVuZHBvaW50LFxuICBEZWZhdWx0cyxcbiAgUmVzdEdlbmVyaWNzLFxuICBGZXRjaEdldCxcbiAgRmV0Y2hNdXRhdGUsXG4gIFJlc3RGZXRjaCxcbiAgUmVzdFR5cGUsXG4gIFJlc3RJbnN0YW5jZSxcbiAgS2V5b2ZSZXN0RW5kcG9pbnQsXG4gIFJlc3RFbmRwb2ludENvbnN0cnVjdG9yT3B0aW9ucyxcbiAgQWRkRW5kcG9pbnQsXG4gIFBhZ2luYXRpb25GaWVsZEVuZHBvaW50LFxuICBQYWdpbmF0aW9uRW5kcG9pbnQsXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY3JlYXRlUmVzb3VyY2UgfSBmcm9tICcuL2NyZWF0ZVJlc291cmNlLmpzJztcbmV4cG9ydCB0eXBlIHsgUmVzb3VyY2UgfSBmcm9tICcuL3Jlc291cmNlVHlwZXMuanMnO1xuZXhwb3J0IHR5cGUgeyBSZXNvdXJjZU9wdGlvbnMsIFJlc291cmNlR2VuZXJpY3MgfSBmcm9tICcuL3Jlc291cmNlVHlwZXMuanMnO1xuZXhwb3J0IHR5cGUge1xuICBSZXNvdXJjZUV4dGVuc2lvbixcbiAgUmVzb3VyY2VFbmRwb2ludEV4dGVuc2lvbnMsXG4gIEN1c3RvbVJlc291cmNlLFxuICBFeHRlbmRlZFJlc291cmNlLFxufSBmcm9tICcuL3Jlc291cmNlRXh0ZW5zaW9uVHlwZXMuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBob29raWZ5UmVzb3VyY2UgfSBmcm9tICcuL2hvb2tpZnlSZXNvdXJjZS5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEhvb2tSZXNvdXJjZSxcbiAgSG9va2FibGVFbmRwb2ludEludGVyZmFjZSxcbn0gZnJvbSAnLi9ob29raWZ5UmVzb3VyY2UuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBOZXR3b3JrRXJyb3IgfSBmcm9tICcuL05ldHdvcmtFcnJvci5qcyc7XG5leHBvcnQgdHlwZSB7IE9wdGlvbnNUb0Z1bmN0aW9uIH0gZnJvbSAnLi9PcHRpb25zVG9GdW5jdGlvbi5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIFNob3J0ZW5QYXRoLFxuICBQYXRoQXJncyxcbiAgUGF0aEtleXMsXG4gIEtleXNUb0FyZ3MsXG4gIFBhdGhBcmdzQW5kU2VhcmNoLFxufSBmcm9tICcuL3BhdGhUeXBlcy5qcyc7XG5cbmV4cG9ydCAqIGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG4iXSwibWFwcGluZ3MiOiJBQUFBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENBQUM7QUFDdEQsQ0FBQztBQUNILFNBQVNJLE9BQU8sSUFBSUMsWUFBWSxRQUFRLG1CQUFtQjtBQWlCM0QsU0FBU0QsT0FBTyxJQUFJRSxjQUFjLFFBQVEscUJBQXFCO0FBUy9ELFNBQVNGLE9BQU8sSUFBSUcsZUFBZSxRQUFRLHNCQUFzQjtBQUtqRSxTQUFTSCxPQUFPLElBQUlJLFlBQVksUUFBUSxtQkFBbUI7QUFVM0QsY0FBYyx1QkFBdUI7QUFDckMsY0FBYyxtQkFBbUIifQ==
|
package/lib/next/index.d.ts
CHANGED
|
@@ -1,6 +1 @@
|
|
|
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 '../resourceTypes.js';
|
|
5
|
-
export type { ResourceOptions, ResourceGenerics } from '../resourceTypes.js';
|
|
6
1
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":""}
|
package/lib/next/index.js
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
export { default as createResource } from '../createResource.js';
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0IiwiUmVzdEVuZHBvaW50IiwiY3JlYXRlUmVzb3VyY2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV4dC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuLi9SZXN0RW5kcG9pbnQuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZXN0RW5kcG9pbnQgfSBmcm9tICcuLi9SZXN0RW5kcG9pbnQuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjcmVhdGVSZXNvdXJjZSB9IGZyb20gJy4uL2NyZWF0ZVJlc291cmNlLmpzJztcbmV4cG9ydCB0eXBlIHsgUmVzb3VyY2UgfSBmcm9tICcuLi9yZXNvdXJjZVR5cGVzLmpzJztcbmV4cG9ydCB0eXBlIHsgUmVzb3VyY2VPcHRpb25zLCBSZXNvdXJjZUdlbmVyaWNzIH0gZnJvbSAnLi4vcmVzb3VyY2VUeXBlcy5qcyc7XG4iXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CO0FBQ2xDLFNBQVNBLE9BQU8sSUFBSUMsWUFBWSxRQUFRLG9CQUFvQjtBQUM1RCxTQUFTRCxPQUFPLElBQUlFLGNBQWMsUUFBUSxzQkFBc0IifQ==
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL25leHQvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiIl0sIm1hcHBpbmdzIjoiIn0=
|
package/lib/resourceTypes.d.ts
CHANGED
|
@@ -6,28 +6,28 @@ import { Extendable } from './resourceExtendable.js';
|
|
|
6
6
|
import RestEndpoint, { GetEndpoint, MutateEndpoint, RestInstanceBase, RestTypeNoBody } from './RestEndpoint.js';
|
|
7
7
|
/** The typed (generic) options for a Resource */
|
|
8
8
|
export interface ResourceGenerics {
|
|
9
|
-
/** @see https://
|
|
9
|
+
/** @see https://dataclient.io/rest/api/createResource#path */
|
|
10
10
|
readonly path: ResourcePath;
|
|
11
|
-
/** @see https://
|
|
11
|
+
/** @see https://dataclient.io/rest/api/createResource#schema */
|
|
12
12
|
readonly schema: Schema;
|
|
13
13
|
/** Only used for types */
|
|
14
14
|
/** @see https://dataclient.io/rest/api/createResource#body */
|
|
15
15
|
readonly body?: any;
|
|
16
16
|
/** Only used for types */
|
|
17
|
-
/** @see https://
|
|
17
|
+
/** @see https://dataclient.io/rest/api/createResource#searchParams */
|
|
18
18
|
readonly searchParams?: any;
|
|
19
|
-
/** @see https://
|
|
19
|
+
/** @see https://dataclient.io/rest/api/createResource#paginationfield */
|
|
20
20
|
readonly paginationField?: string;
|
|
21
21
|
}
|
|
22
22
|
/** The untyped options for createResource() */
|
|
23
23
|
export interface ResourceOptions {
|
|
24
|
-
/** @see https://
|
|
24
|
+
/** @see https://dataclient.io/rest/api/createResource#endpoint */
|
|
25
25
|
Endpoint?: typeof RestEndpoint;
|
|
26
26
|
/** @see https://dataclient.io/rest/api/createResource#collection */
|
|
27
27
|
Collection?: typeof Collection;
|
|
28
|
-
/** @see https://
|
|
28
|
+
/** @see https://dataclient.io/rest/api/createResource#optimistic */
|
|
29
29
|
optimistic?: boolean;
|
|
30
|
-
/** @see https://
|
|
30
|
+
/** @see https://dataclient.io/rest/api/createResource#urlprefix */
|
|
31
31
|
urlPrefix?: string;
|
|
32
32
|
requestInit?: RequestInit;
|
|
33
33
|
getHeaders?(headers: HeadersInit): Promise<HeadersInit> | HeadersInit;
|
|
@@ -46,7 +46,7 @@ export interface ResourceOptions {
|
|
|
46
46
|
errorPolicy?(error: any): 'hard' | 'soft' | undefined;
|
|
47
47
|
}
|
|
48
48
|
/** Resources are a collection of methods for a given data model.
|
|
49
|
-
* @see https://
|
|
49
|
+
* @see https://dataclient.io/rest/api/createResource
|
|
50
50
|
*/
|
|
51
51
|
export interface Resource<O extends ResourceGenerics = {
|
|
52
52
|
path: ResourcePath;
|
|
@@ -54,7 +54,7 @@ export interface Resource<O extends ResourceGenerics = {
|
|
|
54
54
|
}> extends Extendable<O> {
|
|
55
55
|
/** Get a singular item
|
|
56
56
|
*
|
|
57
|
-
* @see https://
|
|
57
|
+
* @see https://dataclient.io/rest/api/createResource#get
|
|
58
58
|
*/
|
|
59
59
|
get: GetEndpoint<{
|
|
60
60
|
path: O['path'];
|
|
@@ -62,7 +62,7 @@ export interface Resource<O extends ResourceGenerics = {
|
|
|
62
62
|
}>;
|
|
63
63
|
/** Get a list of item
|
|
64
64
|
*
|
|
65
|
-
* @see https://
|
|
65
|
+
* @see https://dataclient.io/rest/api/createResource#getlist
|
|
66
66
|
*/
|
|
67
67
|
getList: 'searchParams' extends keyof O ? GetEndpoint<{
|
|
68
68
|
path: ShortenPath<O['path']>;
|
|
@@ -91,7 +91,7 @@ export interface Resource<O extends ResourceGenerics = {
|
|
|
91
91
|
}>;
|
|
92
92
|
/** Update an item (PUT)
|
|
93
93
|
*
|
|
94
|
-
* @see https://
|
|
94
|
+
* @see https://dataclient.io/rest/api/createResource#update
|
|
95
95
|
*/
|
|
96
96
|
update: 'body' extends keyof O ? MutateEndpoint<{
|
|
97
97
|
path: O['path'];
|
|
@@ -104,7 +104,7 @@ export interface Resource<O extends ResourceGenerics = {
|
|
|
104
104
|
}>;
|
|
105
105
|
/** Update an item (PATCH)
|
|
106
106
|
*
|
|
107
|
-
* @see https://
|
|
107
|
+
* @see https://dataclient.io/rest/api/createResource#partialupdate
|
|
108
108
|
*/
|
|
109
109
|
partialUpdate: 'body' extends keyof O ? MutateEndpoint<{
|
|
110
110
|
path: O['path'];
|
|
@@ -117,7 +117,7 @@ export interface Resource<O extends ResourceGenerics = {
|
|
|
117
117
|
}>;
|
|
118
118
|
/** Delete an item (DELETE)
|
|
119
119
|
*
|
|
120
|
-
* @see https://
|
|
120
|
+
* @see https://dataclient.io/rest/api/createResource#delete
|
|
121
121
|
*/
|
|
122
122
|
delete: RestTypeNoBody<PathArgs<O['path']>, O['schema'] extends schema.EntityInterface & {
|
|
123
123
|
process: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resourceTypes.d.ts","sourceRoot":"","sources":["../src/resourceTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,YAAY,EAAE,EACnB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAC/B,
|
|
1
|
+
{"version":3,"file":"resourceTypes.d.ts","sourceRoot":"","sources":["../src/resourceTypes.ts"],"names":[],"mappings":"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"}
|
package/lib/resourceTypes.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL3Jlc291cmNlVHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uLCBzY2hlbWEgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHR5cGUgeyBTY2hlbWEgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHR5cGUgeyBEZW5vcm1hbGl6ZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5cbmltcG9ydCB0eXBlIHsgUGF0aEFyZ3MsIFJlc291cmNlUGF0aCwgU2hvcnRlblBhdGggfSBmcm9tICcuL3BhdGhUeXBlcy5qcyc7XG5pbXBvcnQgeyBFeHRlbmRhYmxlIH0gZnJvbSAnLi9yZXNvdXJjZUV4dGVuZGFibGUuanMnO1xuaW1wb3J0IFJlc3RFbmRwb2ludCwge1xuICBHZXRFbmRwb2ludCxcbiAgTXV0YXRlRW5kcG9pbnQsXG4gIFJlc3RJbnN0YW5jZUJhc2UsXG4gIFJlc3RUeXBlTm9Cb2R5LFxufSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5cbi8qKiBUaGUgdHlwZWQgKGdlbmVyaWMpIG9wdGlvbnMgZm9yIGEgUmVzb3VyY2UgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VHZW5lcmljcyB7XG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNwYXRoICovXG4gIHJlYWRvbmx5IHBhdGg6IFJlc291cmNlUGF0aDtcbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI3NjaGVtYSAqL1xuICByZWFkb25seSBzY2hlbWE6IFNjaGVtYTtcbiAgLyoqIE9ubHkgdXNlZCBmb3IgdHlwZXMgKi9cbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2JvZHkgKi9cbiAgcmVhZG9ubHkgYm9keT86IGFueTtcbiAgLyoqIE9ubHkgdXNlZCBmb3IgdHlwZXMgKi9cbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI3NlYXJjaFBhcmFtcyAqL1xuICByZWFkb25seSBzZWFyY2hQYXJhbXM/OiBhbnk7XG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNwYWdpbmF0aW9uZmllbGQgKi9cbiAgcmVhZG9ubHkgcGFnaW5hdGlvbkZpZWxkPzogc3RyaW5nO1xufVxuLyoqIFRoZSB1bnR5cGVkIG9wdGlvbnMgZm9yIGNyZWF0ZVJlc291cmNlKCkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VPcHRpb25zIHtcbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2VuZHBvaW50ICovXG4gIEVuZHBvaW50PzogdHlwZW9mIFJlc3RFbmRwb2ludDtcbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2NvbGxlY3Rpb24gKi9cbiAgQ29sbGVjdGlvbj86IHR5cGVvZiBDb2xsZWN0aW9uO1xuICAvKiogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2Ujb3B0aW1pc3RpYyAqL1xuICBvcHRpbWlzdGljPzogYm9vbGVhbjtcbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI3VybHByZWZpeCAqL1xuICB1cmxQcmVmaXg/OiBzdHJpbmc7XG4gIHJlcXVlc3RJbml0PzogUmVxdWVzdEluaXQ7XG4gIGdldEhlYWRlcnM/KGhlYWRlcnM6IEhlYWRlcnNJbml0KTogUHJvbWlzZTxIZWFkZXJzSW5pdD4gfCBIZWFkZXJzSW5pdDtcbiAgZ2V0UmVxdWVzdEluaXQ/KGJvZHk6IGFueSk6IFByb21pc2U8UmVxdWVzdEluaXQ+IHwgUmVxdWVzdEluaXQ7XG4gIGZldGNoUmVzcG9uc2U/KGlucHV0OiBSZXF1ZXN0SW5mbywgaW5pdDogUmVxdWVzdEluaXQpOiBQcm9taXNlPGFueT47XG4gIHBhcnNlUmVzcG9uc2U/KHJlc3BvbnNlOiBSZXNwb25zZSk6IFByb21pc2U8YW55PjtcbiAgLyoqIERlZmF1bHQgZGF0YSBleHBpcnkgbGVuZ3RoLCB3aWxsIGZhbGwgYmFjayB0byBOZXR3b3JrTWFuYWdlciBkZWZhdWx0IGlmIG5vdCBkZWZpbmVkICovXG4gIHJlYWRvbmx5IGRhdGFFeHBpcnlMZW5ndGg/OiBudW1iZXI7XG4gIC8qKiBEZWZhdWx0IGVycm9yIGV4cGlyeSBsZW5ndGgsIHdpbGwgZmFsbCBiYWNrIHRvIE5ldHdvcmtNYW5hZ2VyIGRlZmF1bHQgaWYgbm90IGRlZmluZWQgKi9cbiAgcmVhZG9ubHkgZXJyb3JFeHBpcnlMZW5ndGg/OiBudW1iZXI7XG4gIC8qKiBQb2xsIHdpdGggYXQgbGVhc3QgdGhpcyBmcmVxdWVuY3kgaW4gbWlsaXNlY29uZHMgKi9cbiAgcmVhZG9ubHkgcG9sbEZyZXF1ZW5jeT86IG51bWJlcjtcbiAgLyoqIE1hcmtzIGNhY2hlZCByZXNvdXJjZXMgYXMgaW52YWxpZCBpZiB0aGV5IGFyZSBzdGFsZSAqL1xuICByZWFkb25seSBpbnZhbGlkSWZTdGFsZT86IGJvb2xlYW47XG4gIC8qKiBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gdGhyb3cgb3IgZmFsbGJhY2sgdG8gKi9cbiAgZXJyb3JQb2xpY3k/KGVycm9yOiBhbnkpOiAnaGFyZCcgfCAnc29mdCcgfCB1bmRlZmluZWQ7XG59XG5cbi8qKiBSZXNvdXJjZXMgYXJlIGEgY29sbGVjdGlvbiBvZiBtZXRob2RzIGZvciBhIGdpdmVuIGRhdGEgbW9kZWwuXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlPFxuICBPIGV4dGVuZHMgUmVzb3VyY2VHZW5lcmljcyA9IHsgcGF0aDogUmVzb3VyY2VQYXRoOyBzY2hlbWE6IGFueSB9LFxuPiBleHRlbmRzIEV4dGVuZGFibGU8Tz4ge1xuICAvKiogR2V0IGEgc2luZ3VsYXIgaXRlbVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNnZXRcbiAgICovXG4gIGdldDogR2V0RW5kcG9pbnQ8eyBwYXRoOiBPWydwYXRoJ107IHNjaGVtYTogT1snc2NoZW1hJ10gfT47XG4gIC8qKiBHZXQgYSBsaXN0IG9mIGl0ZW1cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2UjZ2V0bGlzdFxuICAgKi9cbiAgZ2V0TGlzdDogJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gICAgPyBHZXRFbmRwb2ludDxcbiAgICAgICAge1xuICAgICAgICAgIHBhdGg6IFNob3J0ZW5QYXRoPE9bJ3BhdGgnXT47XG4gICAgICAgICAgc2NoZW1hOiBzY2hlbWEuQ29sbGVjdGlvbjxbT1snc2NoZW1hJ11dPjtcbiAgICAgICAgICBib2R5OiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgICAgICA/IE9bJ2JvZHknXVxuICAgICAgICAgICAgOiBQYXJ0aWFsPERlbm9ybWFsaXplPE9bJ3NjaGVtYSddPj47XG4gICAgICAgICAgc2VhcmNoUGFyYW1zOiBPWydzZWFyY2hQYXJhbXMnXTtcbiAgICAgICAgfSAmIFBpY2s8TywgJ3BhZ2luYXRpb25GaWVsZCc+XG4gICAgICA+XG4gICAgOiBHZXRFbmRwb2ludDxcbiAgICAgICAge1xuICAgICAgICAgIHBhdGg6IFNob3J0ZW5QYXRoPE9bJ3BhdGgnXT47XG4gICAgICAgICAgc2NoZW1hOiBzY2hlbWEuQ29sbGVjdGlvbjxbT1snc2NoZW1hJ11dPjtcbiAgICAgICAgICBib2R5OiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgICAgICA/IE9bJ2JvZHknXVxuICAgICAgICAgICAgOiBQYXJ0aWFsPERlbm9ybWFsaXplPE9bJ3NjaGVtYSddPj47XG4gICAgICAgICAgc2VhcmNoUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBzdHJpbmcgfCBib29sZWFuPiB8IHVuZGVmaW5lZDtcbiAgICAgICAgfSAmIFBpY2s8TywgJ3BhZ2luYXRpb25GaWVsZCc+XG4gICAgICA+O1xuICAvKiogQ3JlYXRlIGEgbmV3IGl0ZW0gKFBPU1QpXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBSZXNvdXJjZS5nZXRMaXN0LnB1c2ggaW5zdGVhZFxuICAgKi9cbiAgY3JlYXRlOiAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICA/IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogU2hvcnRlblBhdGg8T1sncGF0aCddPjtcbiAgICAgICAgc2NoZW1hOiBzY2hlbWEuQ29sbGVjdGlvbjxbT1snc2NoZW1hJ11dPlsncHVzaCddO1xuICAgICAgICBib2R5OiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgICAgPyBPWydib2R5J11cbiAgICAgICAgICA6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PjtcbiAgICAgICAgc2VhcmNoUGFyYW1zOiBPWydzZWFyY2hQYXJhbXMnXTtcbiAgICAgIH0+XG4gICAgOiBNdXRhdGVFbmRwb2ludDx7XG4gICAgICAgIHBhdGg6IFNob3J0ZW5QYXRoPE9bJ3BhdGgnXT47XG4gICAgICAgIHNjaGVtYTogc2NoZW1hLkNvbGxlY3Rpb248W09bJ3NjaGVtYSddXT5bJ3B1c2gnXTtcbiAgICAgICAgYm9keTogJ2JvZHknIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICAgID8gT1snYm9keSddXG4gICAgICAgICAgOiBQYXJ0aWFsPERlbm9ybWFsaXplPE9bJ3NjaGVtYSddPj47XG4gICAgICB9PjtcbiAgLyoqIFVwZGF0ZSBhbiBpdGVtIChQVVQpXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI3VwZGF0ZVxuICAgKi9cbiAgdXBkYXRlOiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPXG4gICAgPyBNdXRhdGVFbmRwb2ludDx7XG4gICAgICAgIHBhdGg6IE9bJ3BhdGgnXTtcbiAgICAgICAgYm9keTogT1snYm9keSddO1xuICAgICAgICBzY2hlbWE6IE9bJ3NjaGVtYSddO1xuICAgICAgfT5cbiAgICA6IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogT1sncGF0aCddO1xuICAgICAgICBib2R5OiBQYXJ0aWFsPERlbm9ybWFsaXplPE9bJ3NjaGVtYSddPj4gfCBGb3JtRGF0YTtcbiAgICAgICAgc2NoZW1hOiBPWydzY2hlbWEnXTtcbiAgICAgIH0+O1xuICAvKiogVXBkYXRlIGFuIGl0ZW0gKFBBVENIKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNwYXJ0aWFsdXBkYXRlXG4gICAqL1xuICBwYXJ0aWFsVXBkYXRlOiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPXG4gICAgPyBNdXRhdGVFbmRwb2ludDx7XG4gICAgICAgIHBhdGg6IE9bJ3BhdGgnXTtcbiAgICAgICAgYm9keTogUGFydGlhbDxPWydib2R5J10+O1xuICAgICAgICBzY2hlbWE6IE9bJ3NjaGVtYSddO1xuICAgICAgfT5cbiAgICA6IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogT1sncGF0aCddO1xuICAgICAgICBib2R5OiBQYXJ0aWFsPERlbm9ybWFsaXplPE9bJ3NjaGVtYSddPj4gfCBGb3JtRGF0YTtcbiAgICAgICAgc2NoZW1hOiBPWydzY2hlbWEnXTtcbiAgICAgIH0+O1xuICAvKiogRGVsZXRlIGFuIGl0ZW0gKERFTEVURSlcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2UjZGVsZXRlXG4gICAqL1xuICBkZWxldGU6IFJlc3RUeXBlTm9Cb2R5PFxuICAgIFBhdGhBcmdzPE9bJ3BhdGgnXT4sXG4gICAgT1snc2NoZW1hJ10gZXh0ZW5kcyBzY2hlbWEuRW50aXR5SW50ZXJmYWNlICYgeyBwcm9jZXNzOiBhbnkgfVxuICAgICAgPyBzY2hlbWEuSW52YWxpZGF0ZTxPWydzY2hlbWEnXT5cbiAgICAgIDogT1snc2NoZW1hJ10sXG4gICAgdW5kZWZpbmVkLFxuICAgIFBhcnRpYWw8UGF0aEFyZ3M8T1sncGF0aCddPj4sXG4gICAge1xuICAgICAgcGF0aDogT1sncGF0aCddO1xuICAgIH1cbiAgPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZUludGVyZmFjZSB7XG4gIGdldDogUmVzdEluc3RhbmNlQmFzZTtcbiAgZ2V0TGlzdDogUmVzdEluc3RhbmNlQmFzZTtcbiAgdXBkYXRlOiBSZXN0SW5zdGFuY2VCYXNlO1xuICBwYXJ0aWFsVXBkYXRlOiBSZXN0SW5zdGFuY2VCYXNlO1xuICBkZWxldGU6IFJlc3RJbnN0YW5jZUJhc2U7XG59XG4iXSwibWFwcGluZ3MiOiIifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@data-client/rest",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Endpoints for REST APIs",
|
|
5
5
|
"homepage": "https://dataclient.io/rest",
|
|
6
6
|
"repository": {
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
"license": "Apache-2.0",
|
|
125
125
|
"dependencies": {
|
|
126
126
|
"@babel/runtime": "^7.17.0",
|
|
127
|
-
"@data-client/endpoint": "
|
|
127
|
+
"@data-client/endpoint": "workspace:^",
|
|
128
128
|
"path-to-regexp": "^6.2.1"
|
|
129
129
|
},
|
|
130
130
|
"devDependencies": {
|
package/src/NetworkError.ts
CHANGED
package/src/RestEndpoint.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export * from './RestEndpointTypes.js';
|
|
|
4
4
|
|
|
5
5
|
/** Simplifies endpoint definitions that follow REST patterns
|
|
6
6
|
*
|
|
7
|
-
* @see https://
|
|
7
|
+
* @see https://dataclient.io/rest/api/RestEndpoint
|
|
8
8
|
*/
|
|
9
9
|
export declare let RestEndpoint: RestEndpointConstructor;
|
|
10
10
|
export default RestEndpoint;
|
package/src/RestEndpoint.js
CHANGED
|
@@ -5,13 +5,12 @@ import extractCollection from './extractCollection.js';
|
|
|
5
5
|
import mapCollection from './mapCollection.js';
|
|
6
6
|
import NetworkError from './NetworkError.js';
|
|
7
7
|
import { createPaginationSchema } from './paginatedCollections.js';
|
|
8
|
-
import paginationUpdate from './paginationUpdate.js';
|
|
9
8
|
import paramsToString from './paramsToString.js';
|
|
10
9
|
import { getUrlBase, getUrlTokens, isPojo } from './RestHelpers.js';
|
|
11
10
|
|
|
12
11
|
/** Simplifies endpoint definitions that follow REST patterns
|
|
13
12
|
*
|
|
14
|
-
* @see https://
|
|
13
|
+
* @see https://dataclient.io/rest/api/RestEndpoint
|
|
15
14
|
*/
|
|
16
15
|
export default class RestEndpoint extends Endpoint {
|
|
17
16
|
#hasBody;
|
|
@@ -158,7 +157,7 @@ export default class RestEndpoint extends Endpoint {
|
|
|
158
157
|
See https://www.rfc-editor.org/rfc/rfc4627 for information on JSON responses
|
|
159
158
|
|
|
160
159
|
Using parsed JSON.
|
|
161
|
-
If text content was expected see https://
|
|
160
|
+
If text content was expected see https://dataclient.io/rest/api/RestEndpoint#parseResponse`;
|
|
162
161
|
}
|
|
163
162
|
} else {
|
|
164
163
|
error.message = `Unexpected html response for schema ${this.schema}
|
|
@@ -223,18 +222,17 @@ Response (first 300 characters): ${text.substring(0, 300)}`;
|
|
|
223
222
|
return createPaginationSchema(removeCursor, collection);
|
|
224
223
|
};
|
|
225
224
|
const newSchema = mapCollection(this.schema, createPaginatedSchema);
|
|
226
|
-
if (found) {
|
|
227
|
-
const sup = this;
|
|
228
225
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
key(...args) {
|
|
232
|
-
return sup.key.call(this, ...removeCursor(...args));
|
|
233
|
-
},
|
|
234
|
-
});
|
|
235
|
-
}
|
|
226
|
+
if (!found) throw new Error('Missing Collection');
|
|
227
|
+
const sup = this;
|
|
236
228
|
|
|
237
|
-
return this.extend({
|
|
229
|
+
return this.extend({
|
|
230
|
+
schema: newSchema,
|
|
231
|
+
key(...args) {
|
|
232
|
+
return sup.key.call(this, ...removeCursor(...args));
|
|
233
|
+
},
|
|
234
|
+
name: this.name + '.getPage',
|
|
235
|
+
});
|
|
238
236
|
}
|
|
239
237
|
|
|
240
238
|
get getPage() {
|
|
@@ -245,6 +243,7 @@ Response (first 300 characters): ${text.substring(0, 300)}`;
|
|
|
245
243
|
return this.extend({
|
|
246
244
|
method: 'POST',
|
|
247
245
|
schema: extractCollection(this.schema, s => s.push),
|
|
246
|
+
name: this.name + '.create',
|
|
248
247
|
});
|
|
249
248
|
}
|
|
250
249
|
|
|
@@ -252,6 +251,7 @@ Response (first 300 characters): ${text.substring(0, 300)}`;
|
|
|
252
251
|
return this.extend({
|
|
253
252
|
method: 'POST',
|
|
254
253
|
schema: extractCollection(this.schema, s => s.unshift),
|
|
254
|
+
name: this.name + '.create',
|
|
255
255
|
});
|
|
256
256
|
}
|
|
257
257
|
|
|
@@ -259,6 +259,7 @@ Response (first 300 characters): ${text.substring(0, 300)}`;
|
|
|
259
259
|
return this.extend({
|
|
260
260
|
method: 'POST',
|
|
261
261
|
schema: extractCollection(this.schema, s => s.assign),
|
|
262
|
+
name: this.name + '.create',
|
|
262
263
|
});
|
|
263
264
|
}
|
|
264
265
|
}
|
package/src/RestEndpointTypes.ts
CHANGED
|
@@ -26,24 +26,24 @@ export interface RestInstanceBase<
|
|
|
26
26
|
method?: string;
|
|
27
27
|
} = { path: string },
|
|
28
28
|
> extends EndpointInstanceInterface<F, S, M> {
|
|
29
|
-
/** @see https://
|
|
29
|
+
/** @see https://dataclient.io/rest/api/RestEndpoint#body */
|
|
30
30
|
readonly body?: 'body' extends keyof O ? O['body'] : any;
|
|
31
|
-
/** @see https://
|
|
31
|
+
/** @see https://dataclient.io/rest/api/RestEndpoint#searchParams */
|
|
32
32
|
readonly searchParams?: 'searchParams' extends keyof O
|
|
33
33
|
? O['searchParams']
|
|
34
34
|
: // unknown is identity with '&' type operator
|
|
35
35
|
unknown;
|
|
36
36
|
|
|
37
37
|
/** Pattern to construct url based on Url Parameters
|
|
38
|
-
* @see https://
|
|
38
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#path
|
|
39
39
|
*/
|
|
40
40
|
readonly path: O['path'];
|
|
41
41
|
/** Prepended to all urls
|
|
42
|
-
* @see https://
|
|
42
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#urlPrefix
|
|
43
43
|
*/
|
|
44
44
|
readonly urlPrefix: string;
|
|
45
45
|
readonly requestInit: RequestInit;
|
|
46
|
-
/** @see https://
|
|
46
|
+
/** @see https://dataclient.io/rest/api/RestEndpoint#method */
|
|
47
47
|
readonly method: (O & { method: string })['method'];
|
|
48
48
|
readonly signal: AbortSignal | undefined;
|
|
49
49
|
readonly paginationField?: string;
|
|
@@ -51,23 +51,23 @@ export interface RestInstanceBase<
|
|
|
51
51
|
/* fetch lifecycles */
|
|
52
52
|
/* before-fetch */
|
|
53
53
|
url(...args: Parameters<F>): string;
|
|
54
|
-
/** @see https://
|
|
54
|
+
/** @see https://dataclient.io/rest/api/RestEndpoint#getRequestInit */
|
|
55
55
|
getRequestInit(
|
|
56
56
|
this: any,
|
|
57
57
|
body?: RequestInit['body'] | Record<string, unknown>,
|
|
58
58
|
): Promise<RequestInit> | RequestInit;
|
|
59
|
-
/** @see https://
|
|
59
|
+
/** @see https://dataclient.io/rest/api/RestEndpoint#getHeaders */
|
|
60
60
|
getHeaders(headers: HeadersInit): Promise<HeadersInit> | HeadersInit;
|
|
61
61
|
/* after-fetch */
|
|
62
|
-
/** @see https://
|
|
62
|
+
/** @see https://dataclient.io/rest/api/RestEndpoint#fetchResponse */
|
|
63
63
|
fetchResponse(input: RequestInfo, init: RequestInit): Promise<Response>;
|
|
64
|
-
/** @see https://
|
|
64
|
+
/** @see https://dataclient.io/rest/api/RestEndpoint#parseResponse */
|
|
65
65
|
parseResponse(response: Response): Promise<any>;
|
|
66
|
-
/** @see https://
|
|
66
|
+
/** @see https://dataclient.io/rest/api/RestEndpoint#process */
|
|
67
67
|
process(value: any, ...args: Parameters<F>): ResolveType<F>;
|
|
68
68
|
|
|
69
69
|
/* utilities */
|
|
70
|
-
/** @see https://
|
|
70
|
+
/** @see https://dataclient.io/rest/api/RestEndpoint#testKey */
|
|
71
71
|
testKey(key: string): boolean;
|
|
72
72
|
|
|
73
73
|
/* extenders */
|
|
@@ -304,11 +304,11 @@ export type RestExtendedEndpoint<
|
|
|
304
304
|
Omit<E, KeyofRestEndpoint | keyof O>;
|
|
305
305
|
|
|
306
306
|
export interface PartialRestGenerics {
|
|
307
|
-
/** @see https://
|
|
307
|
+
/** @see https://dataclient.io/rest/api/RestEndpoint#path */
|
|
308
308
|
readonly path?: string;
|
|
309
|
-
/** @see https://
|
|
309
|
+
/** @see https://dataclient.io/rest/api/RestEndpoint#schema */
|
|
310
310
|
readonly schema?: Schema | undefined;
|
|
311
|
-
/** @see https://
|
|
311
|
+
/** @see https://dataclient.io/rest/api/RestEndpoint#method */
|
|
312
312
|
readonly method?: string;
|
|
313
313
|
/** Only used for types */
|
|
314
314
|
/** @see https://dataclient.io/rest/api/RestEndpoint#body */
|
|
@@ -318,7 +318,7 @@ export interface PartialRestGenerics {
|
|
|
318
318
|
searchParams?: any;
|
|
319
319
|
/** @see https://dataclient.io/rest/api/RestEndpoint#paginationfield */
|
|
320
320
|
readonly paginationField?: string;
|
|
321
|
-
/** @see https://
|
|
321
|
+
/** @see https://dataclient.io/rest/api/RestEndpoint#process */
|
|
322
322
|
process?(value: any, ...args: any): any;
|
|
323
323
|
}
|
|
324
324
|
export interface RestGenerics extends PartialRestGenerics {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Entity, Schema } from '@data-client/endpoint';
|
|
1
|
+
import { schema, Entity, Schema } from '@data-client/endpoint';
|
|
2
2
|
import { useController } from '@data-client/react';
|
|
3
3
|
import { useSuspense } from '@data-client/react';
|
|
4
4
|
import { CacheProvider } from '@data-client/react';
|
|
5
5
|
import nock from 'nock';
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { makeRenderDataClient } from '../../../test';
|
|
8
8
|
import createResource from '../createResource';
|
|
9
9
|
import { ResourcePath } from '../pathTypes';
|
|
10
10
|
import RestEndpoint from '../RestEndpoint';
|
|
@@ -18,6 +18,8 @@ import {
|
|
|
18
18
|
paginatedSecondPage,
|
|
19
19
|
} from '../test-fixtures';
|
|
20
20
|
|
|
21
|
+
const { Collection } = schema;
|
|
22
|
+
|
|
21
23
|
export class User extends Entity {
|
|
22
24
|
readonly id: number | undefined = undefined;
|
|
23
25
|
readonly username: string = '';
|
|
@@ -61,7 +63,7 @@ function createPaginatableResource<U extends ResourcePath, S extends Schema>({
|
|
|
61
63
|
path: 'http\\://test.com/article-paginated',
|
|
62
64
|
schema: {
|
|
63
65
|
nextPage: '',
|
|
64
|
-
data: { results: [PaginatedArticle] },
|
|
66
|
+
data: { results: new Collection([PaginatedArticle]) },
|
|
65
67
|
},
|
|
66
68
|
});
|
|
67
69
|
const getNextPage = getList.paginated((v: { cursor: string | number }) => []);
|
|
@@ -81,8 +83,8 @@ export class UrlArticle extends PaginatedArticle {
|
|
|
81
83
|
}
|
|
82
84
|
|
|
83
85
|
describe('createResource()', () => {
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
+
const renderDataClient: ReturnType<typeof makeRenderDataClient> =
|
|
87
|
+
makeRenderDataClient(CacheProvider);
|
|
86
88
|
let mynock: nock.Scope;
|
|
87
89
|
|
|
88
90
|
beforeEach(() => {
|
|
@@ -202,7 +204,7 @@ describe('createResource()', () => {
|
|
|
202
204
|
mynock.get(`/article-paginated`).reply(200, paginatedFirstPage);
|
|
203
205
|
mynock.get(`/article-paginated?cursor=2`).reply(200, paginatedSecondPage);
|
|
204
206
|
|
|
205
|
-
const { result, waitForNextUpdate } =
|
|
207
|
+
const { result, waitForNextUpdate } = renderDataClient(() => {
|
|
206
208
|
const { fetch } = useController();
|
|
207
209
|
const {
|
|
208
210
|
data: { results: articles },
|
|
@@ -227,7 +229,7 @@ describe('createResource()', () => {
|
|
|
227
229
|
results: [nested[nested.length - 1], ...moreNested],
|
|
228
230
|
});
|
|
229
231
|
|
|
230
|
-
const { result, waitForNextUpdate } =
|
|
232
|
+
const { result, waitForNextUpdate } = renderDataClient(() => {
|
|
231
233
|
const { fetch } = useController();
|
|
232
234
|
const {
|
|
233
235
|
data: { results: articles },
|
|
@@ -273,7 +275,7 @@ describe('createResource()', () => {
|
|
|
273
275
|
};
|
|
274
276
|
mynock.get(`/complex-thing/5`).reply(200, firstResponse);
|
|
275
277
|
|
|
276
|
-
const { result, waitForNextUpdate } =
|
|
278
|
+
const { result, waitForNextUpdate } = renderDataClient(() => {
|
|
277
279
|
const { fetch } = useController();
|
|
278
280
|
const article = useSuspense(ComplexResource.get, { id: '5' });
|
|
279
281
|
return { article, fetch };
|