@data-client/rest 0.4.0 → 0.4.1
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 +1 -1
- package/legacy/OptionsToFunction.js +1 -1
- package/legacy/index.js +1 -1
- package/lib/OptionsToFunction.d.ts +1 -1
- package/lib/OptionsToFunction.d.ts.map +1 -1
- package/lib/OptionsToFunction.js +1 -1
- package/lib/RestEndpoint.d.ts +32 -15
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/package.json +1 -1
- package/src/OptionsToFunction.ts +1 -1
- package/src/RestEndpoint.d.ts +32 -15
- package/src/index.ts +1 -0
- package/ts4.0/RestEndpoint.d.ts +24 -6
- package/ts4.0/index.d.ts +1 -1
- package/ts4.1/OptionsToFunction.d.ts +1 -1
- package/ts4.1/RestEndpoint.d.ts +24 -6
- package/ts4.1/index.d.ts +1 -1
package/README.md
CHANGED
|
@@ -69,7 +69,7 @@ const ctrl = useController();
|
|
|
69
69
|
const updateArticle = data => ctrl.fetch(ArticleResource.update, { id }, data);
|
|
70
70
|
const partialUpdateArticle = data =>
|
|
71
71
|
ctrl.fetch(ArticleResource.partialUpdate, { id }, data);
|
|
72
|
-
const createArticle = data => ctrl.fetch(ArticleResource.
|
|
72
|
+
const createArticle = data => ctrl.fetch(ArticleResource.getList.push, data);
|
|
73
73
|
const deleteArticle = data => ctrl.fetch(ArticleResource.delete, { id });
|
|
74
74
|
```
|
|
75
75
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL09wdGlvbnNUb0Z1bmN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmV0Y2hGdW5jdGlvbiwgUmVzb2x2ZVR5cGUgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQgeyBQYXRoQXJncyB9IGZyb20gJy4vcGF0aFR5cGVzLmpzJztcbmltcG9ydCB7IFBhcnRpYWxSZXN0R2VuZXJpY3MsIFJlc3RGZXRjaCB9IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcblxuZXhwb3J0IHR5cGUgT3B0aW9uc1RvRnVuY3Rpb248XG4gIE8gZXh0ZW5kcyBQYXJ0aWFsUmVzdEdlbmVyaWNzLFxuICBFIGV4dGVuZHMgeyBib2R5PzogYW55OyBwYXRoPzogc3RyaW5nOyBtZXRob2Q/OiBzdHJpbmcgfSxcbiAgRiBleHRlbmRzIEZldGNoRnVuY3Rpb24sXG4+ID0gJ3BhdGgnIGV4dGVuZHMga2V5b2YgT1xuICA/IFJlc3RGZXRjaDxcbiAgICAgICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICA/IE9bJ3NlYXJjaFBhcmFtcyddICYgUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+XG4gICAgICAgIDogUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+LFxuICAgICAgT3B0aW9uc1RvQm9keUFyZ3VtZW50PFxuICAgICAgICAnYm9keScgZXh0ZW5kcyBrZXlvZiBPID8gTyA6IEUsXG4gICAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ21ldGhvZCddIDogRVsnbWV0aG9kJ11cbiAgICAgID4sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+XG4gICAgPlxuICA6ICdib2R5JyBleHRlbmRzIGtleW9mIE9cbiAgPyBSZXN0RmV0Y2g8XG4gICAgICAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgPyBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PlxuICAgICAgICA6IFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PixcbiAgICAgIE9wdGlvbnNUb0JvZHlBcmd1bWVudDxcbiAgICAgICAgTyxcbiAgICAgICAgJ21ldGhvZCcgZXh0ZW5kcyBrZXlvZiBPID8gT1snbWV0aG9kJ10gOiBFWydtZXRob2QnXVxuICAgICAgPixcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+XG4gIDogJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gID8gUmVzdEZldGNoPFxuICAgICAgT1snc2VhcmNoUGFyYW1zJ10gJiBQYXRoQXJnczxFeGNsdWRlPEVbJ3BhdGgnXSwgdW5kZWZpbmVkPj4sXG4gICAgICBPcHRpb25zVG9Cb2R5QXJndW1lbnQ8XG4gICAgICAgIEUsXG4gICAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ21ldGhvZCddIDogRVsnbWV0aG9kJ11cbiAgICAgID4sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+XG4gICAgPlxuICA6IChcbiAgICAgIHRoaXM6IFRoaXNQYXJhbWV0ZXJUeXBlPEY+LFxuICAgICAgLi4uYXJnczogUGFyYW1ldGVyczxGPlxuICAgICkgPT4gUHJvbWlzZTxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+O1xuXG5leHBvcnQgdHlwZSBPcHRpb25zVG9Cb2R5QXJndW1lbnQ8XG4gIE8gZXh0ZW5kcyB7IGJvZHk/
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL09wdGlvbnNUb0Z1bmN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmV0Y2hGdW5jdGlvbiwgUmVzb2x2ZVR5cGUgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQgeyBQYXRoQXJncyB9IGZyb20gJy4vcGF0aFR5cGVzLmpzJztcbmltcG9ydCB7IFBhcnRpYWxSZXN0R2VuZXJpY3MsIFJlc3RGZXRjaCB9IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcblxuZXhwb3J0IHR5cGUgT3B0aW9uc1RvRnVuY3Rpb248XG4gIE8gZXh0ZW5kcyBQYXJ0aWFsUmVzdEdlbmVyaWNzLFxuICBFIGV4dGVuZHMgeyBib2R5PzogYW55OyBwYXRoPzogc3RyaW5nOyBtZXRob2Q/OiBzdHJpbmcgfSxcbiAgRiBleHRlbmRzIEZldGNoRnVuY3Rpb24sXG4+ID0gJ3BhdGgnIGV4dGVuZHMga2V5b2YgT1xuICA/IFJlc3RGZXRjaDxcbiAgICAgICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICA/IE9bJ3NlYXJjaFBhcmFtcyddICYgUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+XG4gICAgICAgIDogUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+LFxuICAgICAgT3B0aW9uc1RvQm9keUFyZ3VtZW50PFxuICAgICAgICAnYm9keScgZXh0ZW5kcyBrZXlvZiBPID8gTyA6IEUsXG4gICAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ21ldGhvZCddIDogRVsnbWV0aG9kJ11cbiAgICAgID4sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+XG4gICAgPlxuICA6ICdib2R5JyBleHRlbmRzIGtleW9mIE9cbiAgPyBSZXN0RmV0Y2g8XG4gICAgICAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgPyBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PlxuICAgICAgICA6IFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PixcbiAgICAgIE9wdGlvbnNUb0JvZHlBcmd1bWVudDxcbiAgICAgICAgTyxcbiAgICAgICAgJ21ldGhvZCcgZXh0ZW5kcyBrZXlvZiBPID8gT1snbWV0aG9kJ10gOiBFWydtZXRob2QnXVxuICAgICAgPixcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+XG4gIDogJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gID8gUmVzdEZldGNoPFxuICAgICAgT1snc2VhcmNoUGFyYW1zJ10gJiBQYXRoQXJnczxFeGNsdWRlPEVbJ3BhdGgnXSwgdW5kZWZpbmVkPj4sXG4gICAgICBPcHRpb25zVG9Cb2R5QXJndW1lbnQ8XG4gICAgICAgIEUsXG4gICAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ21ldGhvZCddIDogRVsnbWV0aG9kJ11cbiAgICAgID4sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+XG4gICAgPlxuICA6IChcbiAgICAgIHRoaXM6IFRoaXNQYXJhbWV0ZXJUeXBlPEY+LFxuICAgICAgLi4uYXJnczogUGFyYW1ldGVyczxGPlxuICAgICkgPT4gUHJvbWlzZTxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+O1xuXG5leHBvcnQgdHlwZSBPcHRpb25zVG9Cb2R5QXJndW1lbnQ8XG4gIE8gZXh0ZW5kcyB7IGJvZHk/OiBhbnkgfSxcbiAgTWV0aG9kIGV4dGVuZHMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuPiA9IE1ldGhvZCBleHRlbmRzICdQT1NUJyB8ICdQVVQnIHwgJ1BBVENIJyB8ICdERUxFVEUnXG4gID8gJ2JvZHknIGV4dGVuZHMga2V5b2YgT1xuICAgID8gT1snYm9keSddXG4gICAgOiBhbnlcbiAgOiB1bmRlZmluZWQ7XG4iXSwibWFwcGluZ3MiOiIifQ==
|
package/legacy/index.js
CHANGED
|
@@ -8,4 +8,4 @@ export { default as NetworkError } from './NetworkError.js';
|
|
|
8
8
|
export { default as paginationUpdate } from './paginationUpdate.js';
|
|
9
9
|
export * from '@data-client/endpoint';
|
|
10
10
|
export * from './RestEndpoint.js';
|
|
11
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlZmF1bHQiLCJSZXN0RW5kcG9pbnQiLCJjcmVhdGVSZXNvdXJjZSIsImhvb2tpZnlSZXNvdXJjZSIsIk5ldHdvcmtFcnJvciIsInBhZ2luYXRpb25VcGRhdGUiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiT2JqZWN0Lmhhc093biA9XG4gIE9iamVjdC5oYXNPd24gfHxcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gZnVuY3Rpb24gaGFzT3duKGl0LCBrZXkpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xuICB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZXN0RW5kcG9pbnQgfSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEdldEVuZHBvaW50LFxuICBNdXRhdGVFbmRwb2ludCxcbiAgRGVmYXVsdHMsXG4gIFJlc3RHZW5lcmljcyxcbiAgRmV0Y2hHZXQsXG4gIEZldGNoTXV0YXRlLFxuICBSZXN0RmV0Y2gsXG4gIFJlc3RUeXBlLFxuICBSZXN0SW5zdGFuY2UsXG4gIEtleW9mUmVzdEVuZHBvaW50LFxuICBSZXN0RW5kcG9pbnRDb25zdHJ1Y3Rvck9wdGlvbnMsXG4gIEFkZEVuZHBvaW50LFxuICBQYWdpbmF0aW9uRmllbGRFbmRwb2ludCxcbiAgUGFnaW5hdGlvbkVuZHBvaW50LFxufSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGNyZWF0ZVJlc291cmNlIH0gZnJvbSAnLi9jcmVhdGVSZXNvdXJjZS5qcyc7XG5leHBvcnQgdHlwZSB7IFJlc291cmNlIH0gZnJvbSAnLi9jcmVhdGVSZXNvdXJjZS5qcyc7XG5leHBvcnQgdHlwZSB7IFJlc291cmNlT3B0aW9ucywgUmVzb3VyY2VHZW5lcmljcyB9IGZyb20gJy4vcmVzb3VyY2VUeXBlcy5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGhvb2tpZnlSZXNvdXJjZSB9IGZyb20gJy4vaG9va2lmeVJlc291cmNlLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgSG9va1Jlc291cmNlLFxuICBIb29rYWJsZUVuZHBvaW50SW50ZXJmYWNlLFxufSBmcm9tICcuL2hvb2tpZnlSZXNvdXJjZS5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5ldHdvcmtFcnJvciB9IGZyb20gJy4vTmV0d29ya0Vycm9yLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcGFnaW5hdGlvblVwZGF0ZSB9IGZyb20gJy4vcGFnaW5hdGlvblVwZGF0ZS5qcyc7XG5leHBvcnQgdHlwZSB7IE9wdGlvbnNUb0Z1bmN0aW9uIH0gZnJvbSAnLi9PcHRpb25zVG9GdW5jdGlvbi5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIFNob3J0ZW5QYXRoLFxuICBQYXRoQXJncyxcbiAgUGF0aEtleXMsXG4gIEtleXNUb0FyZ3MsXG4gIFBhdGhBcmdzQW5kU2VhcmNoLFxufSBmcm9tICcuL3BhdGhUeXBlcy5qcyc7XG5cbmV4cG9ydCAqIGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG4iXSwibWFwcGluZ3MiOiJBQUFBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENBQUM7QUFDdEQsQ0FBQztBQUNILFNBQVNJLE9BQU8sSUFBSUMsWUFBWSxRQUFRLG1CQUFtQjtBQWlCM0QsU0FBU0QsT0FBTyxJQUFJRSxjQUFjLFFBQVEscUJBQXFCO0FBRy9ELFNBQVNGLE9BQU8sSUFBSUcsZUFBZSxRQUFRLHNCQUFzQjtBQUtqRSxTQUFTSCxPQUFPLElBQUlJLFlBQVksUUFBUSxtQkFBbUI7QUFDM0QsU0FBU0osT0FBTyxJQUFJSyxnQkFBZ0IsUUFBUSx1QkFBdUI7QUFVbkUsY0FBYyx1QkFBdUI7QUFDckMsY0FBYyxtQkFBbUIifQ==
|
|
@@ -8,5 +8,5 @@ export type OptionsToFunction<O extends PartialRestGenerics, E extends {
|
|
|
8
8
|
}, F extends FetchFunction> = 'path' extends keyof O ? RestFetch<'searchParams' extends keyof O ? O['searchParams'] & PathArgs<Exclude<O['path'], undefined>> : PathArgs<Exclude<O['path'], undefined>>, OptionsToBodyArgument<'body' extends keyof O ? O : E, 'method' extends keyof O ? O['method'] : E['method']>, 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>>, OptionsToBodyArgument<O, 'method' extends keyof O ? O['method'] : E['method']>, O['process'] extends {} ? ReturnType<O['process']> : ResolveType<F>> : 'searchParams' extends keyof O ? RestFetch<O['searchParams'] & PathArgs<Exclude<E['path'], undefined>>, OptionsToBodyArgument<E, 'method' extends keyof O ? O['method'] : E['method']>, O['process'] extends {} ? ReturnType<O['process']> : ResolveType<F>> : (this: ThisParameterType<F>, ...args: Parameters<F>) => Promise<O['process'] extends {} ? ReturnType<O['process']> : ResolveType<F>>;
|
|
9
9
|
export type OptionsToBodyArgument<O extends {
|
|
10
10
|
body?: any;
|
|
11
|
-
}, Method extends string | undefined> = Method extends 'POST' | 'PUT' | 'PATCH' ? 'body' extends keyof O ? O['body'] : any : undefined;
|
|
11
|
+
}, Method extends string | undefined> = Method extends 'POST' | 'PUT' | 'PATCH' | 'DELETE' ? 'body' extends keyof O ? O['body'] : any : undefined;
|
|
12
12
|
//# sourceMappingURL=OptionsToFunction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionsToFunction.d.ts","sourceRoot":"","sources":["../src/OptionsToFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,mBAAmB,EAC7B,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EACxD,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,qBAAqB,CACnB,MAAM,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAC9B,QAAQ,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CACrD,EACD,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,qBAAqB,CACnB,CAAC,EACD,QAAQ,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CACrD,EACD,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,qBAAqB,CACnB,CAAC,EACD,QAAQ,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CACrD,EACD,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;AAEN,MAAM,MAAM,qBAAqB,CAC/B,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,EACxB,MAAM,SAAS,MAAM,GAAG,SAAS,IAC/B,MAAM,SAAS,MAAM,GAAG,KAAK,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"OptionsToFunction.d.ts","sourceRoot":"","sources":["../src/OptionsToFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,mBAAmB,EAC7B,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EACxD,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,qBAAqB,CACnB,MAAM,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAC9B,QAAQ,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CACrD,EACD,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,qBAAqB,CACnB,CAAC,EACD,QAAQ,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CACrD,EACD,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,qBAAqB,CACnB,CAAC,EACD,QAAQ,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CACrD,EACD,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;AAEN,MAAM,MAAM,qBAAqB,CAC/B,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,EACxB,MAAM,SAAS,MAAM,GAAG,SAAS,IAC/B,MAAM,SAAS,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAClD,MAAM,SAAS,MAAM,CAAC,GACpB,CAAC,CAAC,MAAM,CAAC,GACT,GAAG,GACL,SAAS,CAAC"}
|
package/lib/OptionsToFunction.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL09wdGlvbnNUb0Z1bmN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmV0Y2hGdW5jdGlvbiwgUmVzb2x2ZVR5cGUgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQgeyBQYXRoQXJncyB9IGZyb20gJy4vcGF0aFR5cGVzLmpzJztcbmltcG9ydCB7IFBhcnRpYWxSZXN0R2VuZXJpY3MsIFJlc3RGZXRjaCB9IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcblxuZXhwb3J0IHR5cGUgT3B0aW9uc1RvRnVuY3Rpb248XG4gIE8gZXh0ZW5kcyBQYXJ0aWFsUmVzdEdlbmVyaWNzLFxuICBFIGV4dGVuZHMgeyBib2R5PzogYW55OyBwYXRoPzogc3RyaW5nOyBtZXRob2Q/OiBzdHJpbmcgfSxcbiAgRiBleHRlbmRzIEZldGNoRnVuY3Rpb24sXG4+ID0gJ3BhdGgnIGV4dGVuZHMga2V5b2YgT1xuICA/IFJlc3RGZXRjaDxcbiAgICAgICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICA/IE9bJ3NlYXJjaFBhcmFtcyddICYgUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+XG4gICAgICAgIDogUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+LFxuICAgICAgT3B0aW9uc1RvQm9keUFyZ3VtZW50PFxuICAgICAgICAnYm9keScgZXh0ZW5kcyBrZXlvZiBPID8gTyA6IEUsXG4gICAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ21ldGhvZCddIDogRVsnbWV0aG9kJ11cbiAgICAgID4sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+XG4gICAgPlxuICA6ICdib2R5JyBleHRlbmRzIGtleW9mIE9cbiAgPyBSZXN0RmV0Y2g8XG4gICAgICAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgPyBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PlxuICAgICAgICA6IFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PixcbiAgICAgIE9wdGlvbnNUb0JvZHlBcmd1bWVudDxcbiAgICAgICAgTyxcbiAgICAgICAgJ21ldGhvZCcgZXh0ZW5kcyBrZXlvZiBPID8gT1snbWV0aG9kJ10gOiBFWydtZXRob2QnXVxuICAgICAgPixcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+XG4gIDogJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gID8gUmVzdEZldGNoPFxuICAgICAgT1snc2VhcmNoUGFyYW1zJ10gJiBQYXRoQXJnczxFeGNsdWRlPEVbJ3BhdGgnXSwgdW5kZWZpbmVkPj4sXG4gICAgICBPcHRpb25zVG9Cb2R5QXJndW1lbnQ8XG4gICAgICAgIEUsXG4gICAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ21ldGhvZCddIDogRVsnbWV0aG9kJ11cbiAgICAgID4sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+XG4gICAgPlxuICA6IChcbiAgICAgIHRoaXM6IFRoaXNQYXJhbWV0ZXJUeXBlPEY+LFxuICAgICAgLi4uYXJnczogUGFyYW1ldGVyczxGPlxuICAgICkgPT4gUHJvbWlzZTxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+O1xuXG5leHBvcnQgdHlwZSBPcHRpb25zVG9Cb2R5QXJndW1lbnQ8XG4gIE8gZXh0ZW5kcyB7IGJvZHk/
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL09wdGlvbnNUb0Z1bmN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmV0Y2hGdW5jdGlvbiwgUmVzb2x2ZVR5cGUgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQgeyBQYXRoQXJncyB9IGZyb20gJy4vcGF0aFR5cGVzLmpzJztcbmltcG9ydCB7IFBhcnRpYWxSZXN0R2VuZXJpY3MsIFJlc3RGZXRjaCB9IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcblxuZXhwb3J0IHR5cGUgT3B0aW9uc1RvRnVuY3Rpb248XG4gIE8gZXh0ZW5kcyBQYXJ0aWFsUmVzdEdlbmVyaWNzLFxuICBFIGV4dGVuZHMgeyBib2R5PzogYW55OyBwYXRoPzogc3RyaW5nOyBtZXRob2Q/OiBzdHJpbmcgfSxcbiAgRiBleHRlbmRzIEZldGNoRnVuY3Rpb24sXG4+ID0gJ3BhdGgnIGV4dGVuZHMga2V5b2YgT1xuICA/IFJlc3RGZXRjaDxcbiAgICAgICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICA/IE9bJ3NlYXJjaFBhcmFtcyddICYgUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+XG4gICAgICAgIDogUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+LFxuICAgICAgT3B0aW9uc1RvQm9keUFyZ3VtZW50PFxuICAgICAgICAnYm9keScgZXh0ZW5kcyBrZXlvZiBPID8gTyA6IEUsXG4gICAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ21ldGhvZCddIDogRVsnbWV0aG9kJ11cbiAgICAgID4sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+XG4gICAgPlxuICA6ICdib2R5JyBleHRlbmRzIGtleW9mIE9cbiAgPyBSZXN0RmV0Y2g8XG4gICAgICAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgPyBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PlxuICAgICAgICA6IFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PixcbiAgICAgIE9wdGlvbnNUb0JvZHlBcmd1bWVudDxcbiAgICAgICAgTyxcbiAgICAgICAgJ21ldGhvZCcgZXh0ZW5kcyBrZXlvZiBPID8gT1snbWV0aG9kJ10gOiBFWydtZXRob2QnXVxuICAgICAgPixcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+XG4gIDogJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gID8gUmVzdEZldGNoPFxuICAgICAgT1snc2VhcmNoUGFyYW1zJ10gJiBQYXRoQXJnczxFeGNsdWRlPEVbJ3BhdGgnXSwgdW5kZWZpbmVkPj4sXG4gICAgICBPcHRpb25zVG9Cb2R5QXJndW1lbnQ8XG4gICAgICAgIEUsXG4gICAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ21ldGhvZCddIDogRVsnbWV0aG9kJ11cbiAgICAgID4sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+XG4gICAgPlxuICA6IChcbiAgICAgIHRoaXM6IFRoaXNQYXJhbWV0ZXJUeXBlPEY+LFxuICAgICAgLi4uYXJnczogUGFyYW1ldGVyczxGPlxuICAgICkgPT4gUHJvbWlzZTxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+O1xuXG5leHBvcnQgdHlwZSBPcHRpb25zVG9Cb2R5QXJndW1lbnQ8XG4gIE8gZXh0ZW5kcyB7IGJvZHk/OiBhbnkgfSxcbiAgTWV0aG9kIGV4dGVuZHMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuPiA9IE1ldGhvZCBleHRlbmRzICdQT1NUJyB8ICdQVVQnIHwgJ1BBVENIJyB8ICdERUxFVEUnXG4gID8gJ2JvZHknIGV4dGVuZHMga2V5b2YgT1xuICAgID8gT1snYm9keSddXG4gICAgOiBhbnlcbiAgOiB1bmRlZmluZWQ7XG4iXSwibWFwcGluZ3MiOiIifQ==
|
package/lib/RestEndpoint.d.ts
CHANGED
|
@@ -5,7 +5,6 @@ import type {
|
|
|
5
5
|
Schema,
|
|
6
6
|
FetchFunction,
|
|
7
7
|
ResolveType,
|
|
8
|
-
schema,
|
|
9
8
|
} from '@data-client/endpoint';
|
|
10
9
|
|
|
11
10
|
import type { ExtractCollection } from './extractCollection.js';
|
|
@@ -27,7 +26,9 @@ export interface RestInstanceBase<
|
|
|
27
26
|
method?: string;
|
|
28
27
|
} = { path: string },
|
|
29
28
|
> extends EndpointInstanceInterface<F, S, M> {
|
|
29
|
+
/** @see https://resthooks.io/rest/api/RestEndpoint#body */
|
|
30
30
|
readonly body?: 'body' extends keyof O ? O['body'] : any;
|
|
31
|
+
/** @see https://resthooks.io/rest/api/RestEndpoint#searchParams */
|
|
31
32
|
readonly searchParams?: 'searchParams' extends keyof O
|
|
32
33
|
? O['searchParams']
|
|
33
34
|
: // unknown is identity with '&' type operator
|
|
@@ -42,6 +43,7 @@ export interface RestInstanceBase<
|
|
|
42
43
|
*/
|
|
43
44
|
readonly urlPrefix: string;
|
|
44
45
|
readonly requestInit: RequestInit;
|
|
46
|
+
/** @see https://resthooks.io/rest/api/RestEndpoint#method */
|
|
45
47
|
readonly method: (O & { method: string })['method'];
|
|
46
48
|
readonly signal: AbortSignal | undefined;
|
|
47
49
|
|
|
@@ -72,10 +74,29 @@ export interface RestInstanceBase<
|
|
|
72
74
|
// this is just a hack to handle when no members of PartialRestGenerics are present
|
|
73
75
|
// Note: Using overloading (like paginated did) struggles because typescript does not have a clear way of distinguishing one
|
|
74
76
|
// should be used from the other (due to same problem with every member being partial)
|
|
77
|
+
/** Creates a child endpoint that inherits from this while overriding provided `options`.
|
|
78
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#extend
|
|
79
|
+
*/
|
|
75
80
|
extend<E extends RestInstanceBase, O extends PartialRestGenerics | {}>(
|
|
76
81
|
this: E,
|
|
77
82
|
options: Readonly<RestEndpointExtendOptions<O, E, F> & O>,
|
|
78
83
|
): RestExtendedEndpoint<O, E>;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export interface RestInstance<
|
|
87
|
+
F extends FetchFunction = FetchFunction,
|
|
88
|
+
S extends Schema | undefined = any,
|
|
89
|
+
M extends true | undefined = true | undefined,
|
|
90
|
+
O extends {
|
|
91
|
+
path: string;
|
|
92
|
+
body?: any;
|
|
93
|
+
searchParams?: any;
|
|
94
|
+
method?: string;
|
|
95
|
+
} = { path: string },
|
|
96
|
+
> extends RestInstanceBase<F, S, M, O> {
|
|
97
|
+
/** Endpoint to append the next page extending a list for pagination
|
|
98
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#paginated
|
|
99
|
+
*/
|
|
79
100
|
paginated<
|
|
80
101
|
E extends RestInstanceBase<FetchFunction, any, undefined>,
|
|
81
102
|
A extends any[],
|
|
@@ -90,19 +111,9 @@ export interface RestInstanceBase<
|
|
|
90
111
|
this: E,
|
|
91
112
|
cursorField: C,
|
|
92
113
|
): PaginationFieldEndpoint<E, C>;
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
F extends FetchFunction = FetchFunction,
|
|
97
|
-
S extends Schema | undefined = any,
|
|
98
|
-
M extends true | undefined = true | undefined,
|
|
99
|
-
O extends {
|
|
100
|
-
path: string;
|
|
101
|
-
body?: any;
|
|
102
|
-
searchParams?: any;
|
|
103
|
-
method?: string;
|
|
104
|
-
} = { path: string },
|
|
105
|
-
> extends RestInstanceBase<F, S, M, O> {
|
|
114
|
+
/** Endpoint that pushes (place at end) a newly created entity to this Collection
|
|
115
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#push
|
|
116
|
+
*/
|
|
106
117
|
push: AddEndpoint<
|
|
107
118
|
F,
|
|
108
119
|
ExtractCollection<S>['push'],
|
|
@@ -113,6 +124,9 @@ export interface RestInstance<
|
|
|
113
124
|
| FormData;
|
|
114
125
|
}
|
|
115
126
|
>;
|
|
127
|
+
/** Endpoint that unshifts (place at start) a newly created entity to this Collection
|
|
128
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#unshift
|
|
129
|
+
*/
|
|
116
130
|
unshift: AddEndpoint<
|
|
117
131
|
F,
|
|
118
132
|
ExtractCollection<S>['unshift'],
|
|
@@ -123,6 +137,9 @@ export interface RestInstance<
|
|
|
123
137
|
| FormData;
|
|
124
138
|
}
|
|
125
139
|
>;
|
|
140
|
+
/** Endpoint that assigns newly created entities to their respective keys in this Collection
|
|
141
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#assign
|
|
142
|
+
*/
|
|
126
143
|
assign: AddEndpoint<
|
|
127
144
|
F,
|
|
128
145
|
ExtractCollection<S>,
|
|
@@ -598,5 +615,5 @@ export type MutateEndpoint<
|
|
|
598
615
|
true,
|
|
599
616
|
O['body'],
|
|
600
617
|
any,
|
|
601
|
-
O & { body: any; method: 'POST' | 'PUT' | 'PATCH' }
|
|
618
|
+
O & { body: any; method: 'POST' | 'PUT' | 'PATCH' | 'DELETE' }
|
|
602
619
|
>;
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { default as RestEndpoint } from './RestEndpoint.js';
|
|
2
|
-
export type { GetEndpoint, MutateEndpoint, Defaults, RestGenerics, FetchGet, FetchMutate, RestFetch, RestType, RestInstance, KeyofRestEndpoint, RestEndpointConstructorOptions, AddEndpoint, PaginationFieldEndpoint, } from './RestEndpoint.js';
|
|
2
|
+
export type { GetEndpoint, MutateEndpoint, Defaults, RestGenerics, FetchGet, FetchMutate, RestFetch, RestType, RestInstance, KeyofRestEndpoint, RestEndpointConstructorOptions, AddEndpoint, PaginationFieldEndpoint, PaginationEndpoint, } from './RestEndpoint.js';
|
|
3
3
|
export { default as createResource } from './createResource.js';
|
|
4
4
|
export type { Resource } from './createResource.js';
|
|
5
5
|
export type { ResourceOptions, ResourceGenerics } from './resourceTypes.js';
|
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,
|
|
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,qBAAqB,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,YAAY,EACV,YAAY,EACZ,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -8,4 +8,4 @@ export { default as NetworkError } from './NetworkError.js';
|
|
|
8
8
|
export { default as paginationUpdate } from './paginationUpdate.js';
|
|
9
9
|
export * from '@data-client/endpoint';
|
|
10
10
|
export * from './RestEndpoint.js';
|
|
11
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlZmF1bHQiLCJSZXN0RW5kcG9pbnQiLCJjcmVhdGVSZXNvdXJjZSIsImhvb2tpZnlSZXNvdXJjZSIsIk5ldHdvcmtFcnJvciIsInBhZ2luYXRpb25VcGRhdGUiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiT2JqZWN0Lmhhc093biA9XG4gIE9iamVjdC5oYXNPd24gfHxcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gZnVuY3Rpb24gaGFzT3duKGl0LCBrZXkpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xuICB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZXN0RW5kcG9pbnQgfSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEdldEVuZHBvaW50LFxuICBNdXRhdGVFbmRwb2ludCxcbiAgRGVmYXVsdHMsXG4gIFJlc3RHZW5lcmljcyxcbiAgRmV0Y2hHZXQsXG4gIEZldGNoTXV0YXRlLFxuICBSZXN0RmV0Y2gsXG4gIFJlc3RUeXBlLFxuICBSZXN0SW5zdGFuY2UsXG4gIEtleW9mUmVzdEVuZHBvaW50LFxuICBSZXN0RW5kcG9pbnRDb25zdHJ1Y3Rvck9wdGlvbnMsXG4gIEFkZEVuZHBvaW50LFxuICBQYWdpbmF0aW9uRmllbGRFbmRwb2ludCxcbiAgUGFnaW5hdGlvbkVuZHBvaW50LFxufSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGNyZWF0ZVJlc291cmNlIH0gZnJvbSAnLi9jcmVhdGVSZXNvdXJjZS5qcyc7XG5leHBvcnQgdHlwZSB7IFJlc291cmNlIH0gZnJvbSAnLi9jcmVhdGVSZXNvdXJjZS5qcyc7XG5leHBvcnQgdHlwZSB7IFJlc291cmNlT3B0aW9ucywgUmVzb3VyY2VHZW5lcmljcyB9IGZyb20gJy4vcmVzb3VyY2VUeXBlcy5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGhvb2tpZnlSZXNvdXJjZSB9IGZyb20gJy4vaG9va2lmeVJlc291cmNlLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgSG9va1Jlc291cmNlLFxuICBIb29rYWJsZUVuZHBvaW50SW50ZXJmYWNlLFxufSBmcm9tICcuL2hvb2tpZnlSZXNvdXJjZS5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5ldHdvcmtFcnJvciB9IGZyb20gJy4vTmV0d29ya0Vycm9yLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcGFnaW5hdGlvblVwZGF0ZSB9IGZyb20gJy4vcGFnaW5hdGlvblVwZGF0ZS5qcyc7XG5leHBvcnQgdHlwZSB7IE9wdGlvbnNUb0Z1bmN0aW9uIH0gZnJvbSAnLi9PcHRpb25zVG9GdW5jdGlvbi5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIFNob3J0ZW5QYXRoLFxuICBQYXRoQXJncyxcbiAgUGF0aEtleXMsXG4gIEtleXNUb0FyZ3MsXG4gIFBhdGhBcmdzQW5kU2VhcmNoLFxufSBmcm9tICcuL3BhdGhUeXBlcy5qcyc7XG5cbmV4cG9ydCAqIGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG4iXSwibWFwcGluZ3MiOiJBQUFBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENBQUM7QUFDdEQsQ0FBQztBQUNILFNBQVNJLE9BQU8sSUFBSUMsWUFBWSxRQUFRLG1CQUFtQjtBQWlCM0QsU0FBU0QsT0FBTyxJQUFJRSxjQUFjLFFBQVEscUJBQXFCO0FBRy9ELFNBQVNGLE9BQU8sSUFBSUcsZUFBZSxRQUFRLHNCQUFzQjtBQUtqRSxTQUFTSCxPQUFPLElBQUlJLFlBQVksUUFBUSxtQkFBbUI7QUFDM0QsU0FBU0osT0FBTyxJQUFJSyxnQkFBZ0IsUUFBUSx1QkFBdUI7QUFVbkUsY0FBYyx1QkFBdUI7QUFDckMsY0FBYyxtQkFBbUIifQ==
|
package/package.json
CHANGED
package/src/OptionsToFunction.ts
CHANGED
|
@@ -48,7 +48,7 @@ export type OptionsToFunction<
|
|
|
48
48
|
export type OptionsToBodyArgument<
|
|
49
49
|
O extends { body?: any },
|
|
50
50
|
Method extends string | undefined,
|
|
51
|
-
> = Method extends 'POST' | 'PUT' | 'PATCH'
|
|
51
|
+
> = Method extends 'POST' | 'PUT' | 'PATCH' | 'DELETE'
|
|
52
52
|
? 'body' extends keyof O
|
|
53
53
|
? O['body']
|
|
54
54
|
: any
|
package/src/RestEndpoint.d.ts
CHANGED
|
@@ -5,7 +5,6 @@ import type {
|
|
|
5
5
|
Schema,
|
|
6
6
|
FetchFunction,
|
|
7
7
|
ResolveType,
|
|
8
|
-
schema,
|
|
9
8
|
} from '@data-client/endpoint';
|
|
10
9
|
|
|
11
10
|
import type { ExtractCollection } from './extractCollection.js';
|
|
@@ -27,7 +26,9 @@ export interface RestInstanceBase<
|
|
|
27
26
|
method?: string;
|
|
28
27
|
} = { path: string },
|
|
29
28
|
> extends EndpointInstanceInterface<F, S, M> {
|
|
29
|
+
/** @see https://resthooks.io/rest/api/RestEndpoint#body */
|
|
30
30
|
readonly body?: 'body' extends keyof O ? O['body'] : any;
|
|
31
|
+
/** @see https://resthooks.io/rest/api/RestEndpoint#searchParams */
|
|
31
32
|
readonly searchParams?: 'searchParams' extends keyof O
|
|
32
33
|
? O['searchParams']
|
|
33
34
|
: // unknown is identity with '&' type operator
|
|
@@ -42,6 +43,7 @@ export interface RestInstanceBase<
|
|
|
42
43
|
*/
|
|
43
44
|
readonly urlPrefix: string;
|
|
44
45
|
readonly requestInit: RequestInit;
|
|
46
|
+
/** @see https://resthooks.io/rest/api/RestEndpoint#method */
|
|
45
47
|
readonly method: (O & { method: string })['method'];
|
|
46
48
|
readonly signal: AbortSignal | undefined;
|
|
47
49
|
|
|
@@ -72,10 +74,29 @@ export interface RestInstanceBase<
|
|
|
72
74
|
// this is just a hack to handle when no members of PartialRestGenerics are present
|
|
73
75
|
// Note: Using overloading (like paginated did) struggles because typescript does not have a clear way of distinguishing one
|
|
74
76
|
// should be used from the other (due to same problem with every member being partial)
|
|
77
|
+
/** Creates a child endpoint that inherits from this while overriding provided `options`.
|
|
78
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#extend
|
|
79
|
+
*/
|
|
75
80
|
extend<E extends RestInstanceBase, O extends PartialRestGenerics | {}>(
|
|
76
81
|
this: E,
|
|
77
82
|
options: Readonly<RestEndpointExtendOptions<O, E, F> & O>,
|
|
78
83
|
): RestExtendedEndpoint<O, E>;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export interface RestInstance<
|
|
87
|
+
F extends FetchFunction = FetchFunction,
|
|
88
|
+
S extends Schema | undefined = any,
|
|
89
|
+
M extends true | undefined = true | undefined,
|
|
90
|
+
O extends {
|
|
91
|
+
path: string;
|
|
92
|
+
body?: any;
|
|
93
|
+
searchParams?: any;
|
|
94
|
+
method?: string;
|
|
95
|
+
} = { path: string },
|
|
96
|
+
> extends RestInstanceBase<F, S, M, O> {
|
|
97
|
+
/** Endpoint to append the next page extending a list for pagination
|
|
98
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#paginated
|
|
99
|
+
*/
|
|
79
100
|
paginated<
|
|
80
101
|
E extends RestInstanceBase<FetchFunction, any, undefined>,
|
|
81
102
|
A extends any[],
|
|
@@ -90,19 +111,9 @@ export interface RestInstanceBase<
|
|
|
90
111
|
this: E,
|
|
91
112
|
cursorField: C,
|
|
92
113
|
): PaginationFieldEndpoint<E, C>;
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
F extends FetchFunction = FetchFunction,
|
|
97
|
-
S extends Schema | undefined = any,
|
|
98
|
-
M extends true | undefined = true | undefined,
|
|
99
|
-
O extends {
|
|
100
|
-
path: string;
|
|
101
|
-
body?: any;
|
|
102
|
-
searchParams?: any;
|
|
103
|
-
method?: string;
|
|
104
|
-
} = { path: string },
|
|
105
|
-
> extends RestInstanceBase<F, S, M, O> {
|
|
114
|
+
/** Endpoint that pushes (place at end) a newly created entity to this Collection
|
|
115
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#push
|
|
116
|
+
*/
|
|
106
117
|
push: AddEndpoint<
|
|
107
118
|
F,
|
|
108
119
|
ExtractCollection<S>['push'],
|
|
@@ -113,6 +124,9 @@ export interface RestInstance<
|
|
|
113
124
|
| FormData;
|
|
114
125
|
}
|
|
115
126
|
>;
|
|
127
|
+
/** Endpoint that unshifts (place at start) a newly created entity to this Collection
|
|
128
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#unshift
|
|
129
|
+
*/
|
|
116
130
|
unshift: AddEndpoint<
|
|
117
131
|
F,
|
|
118
132
|
ExtractCollection<S>['unshift'],
|
|
@@ -123,6 +137,9 @@ export interface RestInstance<
|
|
|
123
137
|
| FormData;
|
|
124
138
|
}
|
|
125
139
|
>;
|
|
140
|
+
/** Endpoint that assigns newly created entities to their respective keys in this Collection
|
|
141
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#assign
|
|
142
|
+
*/
|
|
126
143
|
assign: AddEndpoint<
|
|
127
144
|
F,
|
|
128
145
|
ExtractCollection<S>,
|
|
@@ -598,5 +615,5 @@ export type MutateEndpoint<
|
|
|
598
615
|
true,
|
|
599
616
|
O['body'],
|
|
600
617
|
any,
|
|
601
|
-
O & { body: any; method: 'POST' | 'PUT' | 'PATCH' }
|
|
618
|
+
O & { body: any; method: 'POST' | 'PUT' | 'PATCH' | 'DELETE' }
|
|
602
619
|
>;
|
package/src/index.ts
CHANGED
|
@@ -18,6 +18,7 @@ export type {
|
|
|
18
18
|
RestEndpointConstructorOptions,
|
|
19
19
|
AddEndpoint,
|
|
20
20
|
PaginationFieldEndpoint,
|
|
21
|
+
PaginationEndpoint,
|
|
21
22
|
} from './RestEndpoint.js';
|
|
22
23
|
export { default as createResource } from './createResource.js';
|
|
23
24
|
export type { Resource } from './createResource.js';
|
package/ts4.0/RestEndpoint.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
2
|
-
import type { EndpointExtraOptions, EndpointInstanceInterface, Schema, FetchFunction, ResolveType,
|
|
2
|
+
import type { EndpointExtraOptions, EndpointInstanceInterface, Schema, FetchFunction, ResolveType, } from '@data-client/endpoint';
|
|
3
3
|
import type { ExtractCollection } from './extractCollection.js';
|
|
4
4
|
import { OptionsToBodyArgument, OptionsToFunction, } from './OptionsToFunction.js';
|
|
5
5
|
import { PathArgs } from './pathTypes.js';
|
|
@@ -12,7 +12,9 @@ export interface RestInstanceBase<F extends FetchFunction = FetchFunction, S ext
|
|
|
12
12
|
} = {
|
|
13
13
|
path: string;
|
|
14
14
|
}> extends EndpointInstanceInterface<F, S, M> {
|
|
15
|
+
/** @see https://resthooks.io/rest/api/RestEndpoint#body */
|
|
15
16
|
readonly body?: 'body' extends keyof O ? O['body'] : any;
|
|
17
|
+
/** @see https://resthooks.io/rest/api/RestEndpoint#searchParams */
|
|
16
18
|
readonly searchParams?: 'searchParams' extends keyof O ? O['searchParams'] : unknown;
|
|
17
19
|
/** Pattern to construct url based on Url Parameters
|
|
18
20
|
* @see https://resthooks.io/rest/api/RestEndpoint#path
|
|
@@ -23,6 +25,7 @@ export interface RestInstanceBase<F extends FetchFunction = FetchFunction, S ext
|
|
|
23
25
|
*/
|
|
24
26
|
readonly urlPrefix: string;
|
|
25
27
|
readonly requestInit: RequestInit;
|
|
28
|
+
/** @see https://resthooks.io/rest/api/RestEndpoint#method */
|
|
26
29
|
readonly method: (O & {
|
|
27
30
|
method: string;
|
|
28
31
|
})['method'];
|
|
@@ -49,11 +52,10 @@ export interface RestInstanceBase<F extends FetchFunction = FetchFunction, S ext
|
|
|
49
52
|
// this is just a hack to handle when no members of PartialRestGenerics are present
|
|
50
53
|
// Note: Using overloading (like paginated did) struggles because typescript does not have a clear way of distinguishing one
|
|
51
54
|
// should be used from the other (due to same problem with every member being partial)
|
|
55
|
+
/** Creates a child endpoint that inherits from this while overriding provided `options`.
|
|
56
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#extend
|
|
57
|
+
*/
|
|
52
58
|
extend<E extends RestInstanceBase, O extends PartialRestGenerics | {}>(this: E, options: Readonly<RestEndpointExtendOptions<O, E, F> & O>): RestExtendedEndpoint<O, E>;
|
|
53
|
-
paginated<E extends RestInstanceBase<FetchFunction, any, undefined>, A extends any[]>(this: E, removeCursor: (...args: A) => readonly [
|
|
54
|
-
...Parameters<E>
|
|
55
|
-
]): PaginationEndpoint<E, A>;
|
|
56
|
-
paginated<E extends RestInstanceBase<FetchFunction, any, undefined>, C extends string>(this: E, cursorField: C): PaginationFieldEndpoint<E, C>;
|
|
57
59
|
}
|
|
58
60
|
export interface RestInstance<F extends FetchFunction = FetchFunction, S extends Schema | undefined = any, M extends true | undefined = true | undefined, O extends {
|
|
59
61
|
path: string;
|
|
@@ -63,12 +65,28 @@ export interface RestInstance<F extends FetchFunction = FetchFunction, S extends
|
|
|
63
65
|
} = {
|
|
64
66
|
path: string;
|
|
65
67
|
}> extends RestInstanceBase<F, S, M, O> {
|
|
68
|
+
/** Endpoint to append the next page extending a list for pagination
|
|
69
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#paginated
|
|
70
|
+
*/
|
|
71
|
+
paginated<E extends RestInstanceBase<FetchFunction, any, undefined>, A extends any[]>(this: E, removeCursor: (...args: A) => readonly [
|
|
72
|
+
...Parameters<E>
|
|
73
|
+
]): PaginationEndpoint<E, A>;
|
|
74
|
+
paginated<E extends RestInstanceBase<FetchFunction, any, undefined>, C extends string>(this: E, cursorField: C): PaginationFieldEndpoint<E, C>;
|
|
75
|
+
/** Endpoint that pushes (place at end) a newly created entity to this Collection
|
|
76
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#push
|
|
77
|
+
*/
|
|
66
78
|
push: AddEndpoint<F, ExtractCollection<S>['push'], Exclude<O, 'body' | 'method'> & {
|
|
67
79
|
body: OptionsToAdderBodyArgument<O> | OptionsToAdderBodyArgument<O>[] | FormData;
|
|
68
80
|
}>;
|
|
81
|
+
/** Endpoint that unshifts (place at start) a newly created entity to this Collection
|
|
82
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#unshift
|
|
83
|
+
*/
|
|
69
84
|
unshift: AddEndpoint<F, ExtractCollection<S>['unshift'], Exclude<O, 'body' | 'method'> & {
|
|
70
85
|
body: OptionsToAdderBodyArgument<O> | OptionsToAdderBodyArgument<O>[] | FormData;
|
|
71
86
|
}>;
|
|
87
|
+
/** Endpoint that assigns newly created entities to their respective keys in this Collection
|
|
88
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#assign
|
|
89
|
+
*/
|
|
72
90
|
assign: AddEndpoint<F, ExtractCollection<S>, Exclude<O, 'body' | 'method'> & {
|
|
73
91
|
body: Record<string, OptionsToAdderBodyArgument<O>> | FormData;
|
|
74
92
|
}>;
|
|
@@ -259,5 +277,5 @@ export type MutateEndpoint<O extends {
|
|
|
259
277
|
schema: Schema;
|
|
260
278
|
}> = RestTypeWithBody<'searchParams' extends keyof O ? O['searchParams'] extends undefined ? PathArgs<O['path']> : O['searchParams'] & PathArgs<O['path']> : PathArgs<O['path']>, O['schema'], true, O['body'], any, O & {
|
|
261
279
|
body: any;
|
|
262
|
-
method: 'POST' | 'PUT' | 'PATCH';
|
|
280
|
+
method: 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
263
281
|
}>;
|
package/ts4.0/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { default as RestEndpoint } from './RestEndpoint.js';
|
|
2
|
-
export type { GetEndpoint, MutateEndpoint, Defaults, RestGenerics, FetchGet, FetchMutate, RestFetch, RestType, RestInstance, KeyofRestEndpoint, RestEndpointConstructorOptions, AddEndpoint, PaginationFieldEndpoint, } from './RestEndpoint.js';
|
|
2
|
+
export type { GetEndpoint, MutateEndpoint, Defaults, RestGenerics, FetchGet, FetchMutate, RestFetch, RestType, RestInstance, KeyofRestEndpoint, RestEndpointConstructorOptions, AddEndpoint, PaginationFieldEndpoint, PaginationEndpoint, } from './RestEndpoint.js';
|
|
3
3
|
export { default as createResource } from './createResource.js';
|
|
4
4
|
export type { Resource } from './createResource.js';
|
|
5
5
|
export type { ResourceOptions, ResourceGenerics } from './resourceTypes.js';
|
|
@@ -8,5 +8,5 @@ export type OptionsToFunction<O extends PartialRestGenerics, E extends {
|
|
|
8
8
|
}, F extends FetchFunction> = 'path' extends keyof O ? RestFetch<'searchParams' extends keyof O ? O['searchParams'] & PathArgs<Exclude<O['path'], undefined>> : PathArgs<Exclude<O['path'], undefined>>, OptionsToBodyArgument<'body' extends keyof O ? O : E, 'method' extends keyof O ? O['method'] : E['method']>, 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>>, OptionsToBodyArgument<O, 'method' extends keyof O ? O['method'] : E['method']>, O['process'] extends {} ? ReturnType<O['process']> : ResolveType<F>> : 'searchParams' extends keyof O ? RestFetch<O['searchParams'] & PathArgs<Exclude<E['path'], undefined>>, OptionsToBodyArgument<E, 'method' extends keyof O ? O['method'] : E['method']>, O['process'] extends {} ? ReturnType<O['process']> : ResolveType<F>> : (this: ThisParameterType<F>, ...args: Parameters<F>) => Promise<O['process'] extends {} ? ReturnType<O['process']> : ResolveType<F>>;
|
|
9
9
|
export type OptionsToBodyArgument<O extends {
|
|
10
10
|
body?: any;
|
|
11
|
-
}, Method extends string | undefined> = Method extends 'POST' | 'PUT' | 'PATCH' ? 'body' extends keyof O ? O['body'] : any : undefined;
|
|
11
|
+
}, Method extends string | undefined> = Method extends 'POST' | 'PUT' | 'PATCH' | 'DELETE' ? 'body' extends keyof O ? O['body'] : any : undefined;
|
|
12
12
|
//# sourceMappingURL=OptionsToFunction.d.ts.map
|
package/ts4.1/RestEndpoint.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
2
|
-
import type { EndpointExtraOptions, EndpointInstanceInterface, Schema, FetchFunction, ResolveType,
|
|
2
|
+
import type { EndpointExtraOptions, EndpointInstanceInterface, Schema, FetchFunction, ResolveType, } from '@data-client/endpoint';
|
|
3
3
|
import type { ExtractCollection } from './extractCollection.js';
|
|
4
4
|
import { OptionsToBodyArgument, OptionsToFunction, } from './OptionsToFunction.js';
|
|
5
5
|
import { PathArgs } from './pathTypes.js';
|
|
@@ -12,7 +12,9 @@ export interface RestInstanceBase<F extends FetchFunction = FetchFunction, S ext
|
|
|
12
12
|
} = {
|
|
13
13
|
path: string;
|
|
14
14
|
}> extends EndpointInstanceInterface<F, S, M> {
|
|
15
|
+
/** @see https://resthooks.io/rest/api/RestEndpoint#body */
|
|
15
16
|
readonly body?: 'body' extends keyof O ? O['body'] : any;
|
|
17
|
+
/** @see https://resthooks.io/rest/api/RestEndpoint#searchParams */
|
|
16
18
|
readonly searchParams?: 'searchParams' extends keyof O ? O['searchParams'] : unknown;
|
|
17
19
|
/** Pattern to construct url based on Url Parameters
|
|
18
20
|
* @see https://resthooks.io/rest/api/RestEndpoint#path
|
|
@@ -23,6 +25,7 @@ export interface RestInstanceBase<F extends FetchFunction = FetchFunction, S ext
|
|
|
23
25
|
*/
|
|
24
26
|
readonly urlPrefix: string;
|
|
25
27
|
readonly requestInit: RequestInit;
|
|
28
|
+
/** @see https://resthooks.io/rest/api/RestEndpoint#method */
|
|
26
29
|
readonly method: (O & {
|
|
27
30
|
method: string;
|
|
28
31
|
})['method'];
|
|
@@ -49,11 +52,10 @@ export interface RestInstanceBase<F extends FetchFunction = FetchFunction, S ext
|
|
|
49
52
|
// this is just a hack to handle when no members of PartialRestGenerics are present
|
|
50
53
|
// Note: Using overloading (like paginated did) struggles because typescript does not have a clear way of distinguishing one
|
|
51
54
|
// should be used from the other (due to same problem with every member being partial)
|
|
55
|
+
/** Creates a child endpoint that inherits from this while overriding provided `options`.
|
|
56
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#extend
|
|
57
|
+
*/
|
|
52
58
|
extend<E extends RestInstanceBase, O extends PartialRestGenerics | {}>(this: E, options: Readonly<RestEndpointExtendOptions<O, E, F> & O>): RestExtendedEndpoint<O, E>;
|
|
53
|
-
paginated<E extends RestInstanceBase<FetchFunction, any, undefined>, A extends any[]>(this: E, removeCursor: (...args: A) => readonly [
|
|
54
|
-
...Parameters<E>
|
|
55
|
-
]): PaginationEndpoint<E, A>;
|
|
56
|
-
paginated<E extends RestInstanceBase<FetchFunction, any, undefined>, C extends string>(this: E, cursorField: C): PaginationFieldEndpoint<E, C>;
|
|
57
59
|
}
|
|
58
60
|
export interface RestInstance<F extends FetchFunction = FetchFunction, S extends Schema | undefined = any, M extends true | undefined = true | undefined, O extends {
|
|
59
61
|
path: string;
|
|
@@ -63,12 +65,28 @@ export interface RestInstance<F extends FetchFunction = FetchFunction, S extends
|
|
|
63
65
|
} = {
|
|
64
66
|
path: string;
|
|
65
67
|
}> extends RestInstanceBase<F, S, M, O> {
|
|
68
|
+
/** Endpoint to append the next page extending a list for pagination
|
|
69
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#paginated
|
|
70
|
+
*/
|
|
71
|
+
paginated<E extends RestInstanceBase<FetchFunction, any, undefined>, A extends any[]>(this: E, removeCursor: (...args: A) => readonly [
|
|
72
|
+
...Parameters<E>
|
|
73
|
+
]): PaginationEndpoint<E, A>;
|
|
74
|
+
paginated<E extends RestInstanceBase<FetchFunction, any, undefined>, C extends string>(this: E, cursorField: C): PaginationFieldEndpoint<E, C>;
|
|
75
|
+
/** Endpoint that pushes (place at end) a newly created entity to this Collection
|
|
76
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#push
|
|
77
|
+
*/
|
|
66
78
|
push: AddEndpoint<F, ExtractCollection<S>['push'], Exclude<O, 'body' | 'method'> & {
|
|
67
79
|
body: OptionsToAdderBodyArgument<O> | OptionsToAdderBodyArgument<O>[] | FormData;
|
|
68
80
|
}>;
|
|
81
|
+
/** Endpoint that unshifts (place at start) a newly created entity to this Collection
|
|
82
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#unshift
|
|
83
|
+
*/
|
|
69
84
|
unshift: AddEndpoint<F, ExtractCollection<S>['unshift'], Exclude<O, 'body' | 'method'> & {
|
|
70
85
|
body: OptionsToAdderBodyArgument<O> | OptionsToAdderBodyArgument<O>[] | FormData;
|
|
71
86
|
}>;
|
|
87
|
+
/** Endpoint that assigns newly created entities to their respective keys in this Collection
|
|
88
|
+
* @see https://dataclient.io/rest/api/RestEndpoint#assign
|
|
89
|
+
*/
|
|
72
90
|
assign: AddEndpoint<F, ExtractCollection<S>, Exclude<O, 'body' | 'method'> & {
|
|
73
91
|
body: Record<string, OptionsToAdderBodyArgument<O>> | FormData;
|
|
74
92
|
}>;
|
|
@@ -259,5 +277,5 @@ export type MutateEndpoint<O extends {
|
|
|
259
277
|
schema: Schema;
|
|
260
278
|
}> = RestTypeWithBody<'searchParams' extends keyof O ? O['searchParams'] extends undefined ? PathArgs<O['path']> : O['searchParams'] & PathArgs<O['path']> : PathArgs<O['path']>, O['schema'], true, O['body'], any, O & {
|
|
261
279
|
body: any;
|
|
262
|
-
method: 'POST' | 'PUT' | 'PATCH';
|
|
280
|
+
method: 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
263
281
|
}>;
|
package/ts4.1/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { default as RestEndpoint } from './RestEndpoint.js';
|
|
2
|
-
export type { GetEndpoint, MutateEndpoint, Defaults, RestGenerics, FetchGet, FetchMutate, RestFetch, RestType, RestInstance, KeyofRestEndpoint, RestEndpointConstructorOptions, AddEndpoint, PaginationFieldEndpoint, } from './RestEndpoint.js';
|
|
2
|
+
export type { GetEndpoint, MutateEndpoint, Defaults, RestGenerics, FetchGet, FetchMutate, RestFetch, RestType, RestInstance, KeyofRestEndpoint, RestEndpointConstructorOptions, AddEndpoint, PaginationFieldEndpoint, PaginationEndpoint, } from './RestEndpoint.js';
|
|
3
3
|
export { default as createResource } from './createResource.js';
|
|
4
4
|
export type { Resource } from './createResource.js';
|
|
5
5
|
export type { ResourceOptions, ResourceGenerics } from './resourceTypes.js';
|