@opra/client 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/cjs/client-request.js +48 -0
  2. package/cjs/client.js +111 -68
  3. package/cjs/index.js +13 -3
  4. package/cjs/requests/batch-request.js +136 -0
  5. package/cjs/requests/collection-create-request.js +28 -15
  6. package/cjs/requests/collection-delete-many-request.js +21 -7
  7. package/cjs/requests/collection-delete-request.js +29 -0
  8. package/cjs/requests/collection-get-request.js +28 -15
  9. package/cjs/requests/collection-search-request.js +38 -40
  10. package/cjs/requests/collection-update-many-request.js +24 -7
  11. package/cjs/requests/collection-update-request.js +31 -15
  12. package/cjs/requests/singleton-get-request.js +25 -15
  13. package/cjs/services/collection-node.js +42 -0
  14. package/cjs/services/singleton-node.js +18 -0
  15. package/cjs/types.js +0 -9
  16. package/esm/client-request.d.ts +17 -0
  17. package/esm/client-request.js +44 -0
  18. package/esm/client.d.ts +27 -18
  19. package/esm/client.js +112 -69
  20. package/esm/index.d.ts +13 -3
  21. package/esm/index.js +13 -3
  22. package/esm/requests/batch-request.d.ts +19 -0
  23. package/esm/requests/batch-request.js +131 -0
  24. package/esm/requests/collection-create-request.d.ts +12 -7
  25. package/esm/requests/collection-create-request.js +28 -15
  26. package/esm/requests/collection-delete-many-request.d.ts +11 -6
  27. package/esm/requests/collection-delete-many-request.js +21 -7
  28. package/esm/requests/collection-delete-request.d.ts +13 -0
  29. package/esm/requests/collection-delete-request.js +25 -0
  30. package/esm/requests/collection-get-request.d.ts +12 -7
  31. package/esm/requests/collection-get-request.js +28 -15
  32. package/esm/requests/collection-search-request.d.ts +11 -14
  33. package/esm/requests/collection-search-request.js +38 -40
  34. package/esm/requests/collection-update-many-request.d.ts +12 -6
  35. package/esm/requests/collection-update-many-request.js +24 -7
  36. package/esm/requests/collection-update-request.d.ts +13 -7
  37. package/esm/requests/collection-update-request.js +31 -15
  38. package/esm/requests/singleton-get-request.d.ts +11 -7
  39. package/esm/requests/singleton-get-request.js +25 -15
  40. package/esm/services/collection-node.d.ts +24 -0
  41. package/esm/services/collection-node.js +38 -0
  42. package/esm/services/singleton-node.d.ts +12 -0
  43. package/esm/services/singleton-node.js +14 -0
  44. package/esm/types.d.ts +33 -6
  45. package/esm/types.js +0 -9
  46. package/package.json +13 -6
  47. package/cjs/observable-promise.js +0 -10
  48. package/cjs/response.js +0 -2
  49. package/cjs/services/collection-service.js +0 -192
  50. package/cjs/services/singleton-service.js +0 -43
  51. package/esm/observable-promise.d.ts +0 -2
  52. package/esm/observable-promise.js +0 -6
  53. package/esm/response.d.ts +0 -9
  54. package/esm/response.js +0 -1
  55. package/esm/services/collection-service.d.ts +0 -31
  56. package/esm/services/collection-service.js +0 -188
  57. package/esm/services/singleton-service.d.ts +0 -14
  58. package/esm/services/singleton-service.js +0 -39
@@ -1,188 +0,0 @@
1
- import { OpraURL } from '@opra/url';
2
- import { observablePromise } from '../observable-promise.js';
3
- import { CollectionCreateRequest } from '../requests/collection-create-request.js';
4
- import { CollectionDeleteManyRequest } from '../requests/collection-delete-many-request.js';
5
- import { CollectionGetRequest } from '../requests/collection-get-request.js';
6
- import { CollectionSearchRequest } from '../requests/collection-search-request.js';
7
- import { CollectionUpdateManyRequest } from '../requests/collection-update-many-request.js';
8
- import { CollectionUpdateRequest } from '../requests/collection-update-request.js';
9
- export class CollectionService {
10
- _serviceUrl;
11
- _document;
12
- _handler;
13
- _resource;
14
- constructor(_serviceUrl, _document, _handler, _resource) {
15
- this._serviceUrl = _serviceUrl;
16
- this._document = _document;
17
- this._handler = _handler;
18
- this._resource = _resource;
19
- }
20
- create(data, options) {
21
- const requestOptions = options && typeof options === 'object' ? options : {};
22
- const requestWrapper = new CollectionCreateRequest(requestOptions);
23
- if (typeof options === 'function')
24
- options(requestWrapper);
25
- const req = this._prepareCreateRequest(data, requestOptions);
26
- const promise = this._handler(req);
27
- return observablePromise(promise);
28
- }
29
- delete(keyValue) {
30
- const req = this._prepareDeleteRequest(keyValue);
31
- const promise = this._handler(req);
32
- return observablePromise(promise);
33
- }
34
- deleteMany(options) {
35
- const requestOptions = options && typeof options === 'object' ? options : {};
36
- const requestWrapper = new CollectionDeleteManyRequest(requestOptions);
37
- if (typeof options === 'function')
38
- options(requestWrapper);
39
- const req = this._prepareDeleteManyRequest(requestOptions);
40
- const promise = this._handler(req);
41
- return observablePromise(promise);
42
- }
43
- get(keyValue, options) {
44
- const requestOptions = options && typeof options === 'object' ? options : {};
45
- const requestWrapper = new CollectionGetRequest(requestOptions);
46
- if (typeof options === 'function')
47
- options(requestWrapper);
48
- const req = this._prepareGetRequest(keyValue, requestOptions);
49
- const promise = this._handler(req);
50
- return observablePromise(promise);
51
- }
52
- search(options) {
53
- const requestOptions = options && typeof options === 'object' ? options : {};
54
- const requestWrapper = new CollectionSearchRequest(requestOptions);
55
- if (typeof options === 'function')
56
- options(requestWrapper);
57
- const req = this._prepareSearchRequest(requestOptions);
58
- const promise = this._handler(req);
59
- return observablePromise(promise);
60
- }
61
- update(keyValue, data, options) {
62
- const requestOptions = options && typeof options === 'object' ? options : {};
63
- const requestWrapper = new CollectionUpdateRequest(requestOptions);
64
- if (typeof options === 'function')
65
- options(requestWrapper);
66
- const req = this._prepareUpdateRequest(keyValue, data, requestOptions);
67
- const promise = this._handler(req);
68
- return observablePromise(promise);
69
- }
70
- updateMany(data, options) {
71
- const requestOptions = options && typeof options === 'object' ? options : {};
72
- const requestWrapper = new CollectionUpdateManyRequest(requestOptions);
73
- if (typeof options === 'function')
74
- options(requestWrapper);
75
- const req = this._prepareUpdateManyRequest(data, requestOptions);
76
- const promise = this._handler(req);
77
- return observablePromise(promise);
78
- }
79
- _prepareCreateRequest(data, options) {
80
- const url = new OpraURL(this._serviceUrl);
81
- url.path.join(this._resource.name);
82
- if (options.include)
83
- url.searchParams.set('$include', options.include);
84
- if (options.pick)
85
- url.searchParams.set('$pick', options.pick);
86
- if (options.omit)
87
- url.searchParams.set('$omit', options.omit);
88
- return {
89
- method: 'POST',
90
- url: url.address,
91
- data,
92
- params: url.searchParams
93
- };
94
- }
95
- _prepareDeleteRequest(keyValue) {
96
- const url = new OpraURL(this._serviceUrl);
97
- url.path.join(this._resource.name);
98
- url.path.get(url.path.size - 1).key = keyValue;
99
- return {
100
- method: 'DELETE',
101
- url: url.address,
102
- params: url.searchParams
103
- };
104
- }
105
- _prepareDeleteManyRequest(options) {
106
- const url = new OpraURL(this._serviceUrl);
107
- url.path.join(this._resource.name);
108
- if (options.filter)
109
- url.searchParams.set('$filter', options.filter);
110
- return {
111
- method: 'DELETE',
112
- url: url.address,
113
- params: url.searchParams
114
- };
115
- }
116
- _prepareGetRequest(keyValue, options) {
117
- const url = new OpraURL(this._serviceUrl);
118
- url.path.join(this._resource.name);
119
- url.path.get(url.path.size - 1).key = keyValue;
120
- if (options.include)
121
- url.searchParams.set('$include', options.include);
122
- if (options.pick)
123
- url.searchParams.set('$pick', options.pick);
124
- if (options.omit)
125
- url.searchParams.set('$omit', options.omit);
126
- return {
127
- method: 'GET',
128
- url: url.address,
129
- params: url.searchParams
130
- };
131
- }
132
- _prepareSearchRequest(options) {
133
- const url = new OpraURL(this._serviceUrl);
134
- url.path.join(this._resource.name);
135
- if (options.include)
136
- url.searchParams.set('$include', options.include);
137
- if (options.pick)
138
- url.searchParams.set('$pick', options.pick);
139
- if (options.omit)
140
- url.searchParams.set('$omit', options.omit);
141
- if (options.sort)
142
- url.searchParams.set('$sort', options.sort);
143
- if (options.filter)
144
- url.searchParams.set('$filter', options.filter);
145
- if (options.limit != null)
146
- url.searchParams.set('$limit', options.limit);
147
- if (options.skip != null)
148
- url.searchParams.set('$skip', options.skip);
149
- if (options.count != null)
150
- url.searchParams.set('$count', options.count);
151
- if (options.distinct != null)
152
- url.searchParams.set('$distinct', options.distinct);
153
- return {
154
- method: 'GET',
155
- url: url.address,
156
- params: url.searchParams
157
- };
158
- }
159
- _prepareUpdateRequest(keyValue, data, options) {
160
- const url = new OpraURL(this._serviceUrl);
161
- url.path.join(this._resource.name);
162
- url.path.get(url.path.size - 1).key = keyValue;
163
- if (options.include)
164
- url.searchParams.set('$include', options.include);
165
- if (options.pick)
166
- url.searchParams.set('$pick', options.pick);
167
- if (options.omit)
168
- url.searchParams.set('$omit', options.omit);
169
- return {
170
- method: 'PATCH',
171
- url: url.address,
172
- data,
173
- params: url.searchParams
174
- };
175
- }
176
- _prepareUpdateManyRequest(data, options) {
177
- const url = new OpraURL(this._serviceUrl);
178
- url.path.join(this._resource.name);
179
- if (options.filter)
180
- url.searchParams.set('$filter', options.filter);
181
- return {
182
- method: 'PATCH',
183
- url: url.address,
184
- data,
185
- params: url.searchParams
186
- };
187
- }
188
- }
@@ -1,14 +0,0 @@
1
- import { AxiosRequestConfig } from 'axios';
2
- import { OpraDocument, SingletonGetQueryOptions, SingletonResourceInfo } from '@opra/schema';
3
- import { SingletonGetRequest } from '../requests/singleton-get-request.js';
4
- import { OpraResponse } from '../response.js';
5
- import { ObservablePromiseLike, RequestConfig } from '../types.js';
6
- export declare class SingletonService<T, TResponse extends OpraResponse<T> = OpraResponse<T>> {
7
- protected _serviceUrl: string;
8
- protected _document: OpraDocument;
9
- protected _handler: (req: AxiosRequestConfig) => Promise<any>;
10
- protected _resource: SingletonResourceInfo;
11
- constructor(_serviceUrl: string, _document: OpraDocument, _handler: (req: AxiosRequestConfig) => Promise<any>, _resource: SingletonResourceInfo);
12
- get(options?: SingletonGetQueryOptions | ((req: SingletonGetRequest) => void)): ObservablePromiseLike<TResponse>;
13
- protected _prepareGetRequest(options: SingletonGetQueryOptions): RequestConfig;
14
- }
@@ -1,39 +0,0 @@
1
- import { OpraURL } from '@opra/url';
2
- import { observablePromise } from '../observable-promise.js';
3
- import { SingletonGetRequest } from '../requests/singleton-get-request.js';
4
- export class SingletonService {
5
- _serviceUrl;
6
- _document;
7
- _handler;
8
- _resource;
9
- constructor(_serviceUrl, _document, _handler, _resource) {
10
- this._serviceUrl = _serviceUrl;
11
- this._document = _document;
12
- this._handler = _handler;
13
- this._resource = _resource;
14
- }
15
- get(options) {
16
- const requestOptions = options && typeof options === 'object' ? options : {};
17
- const requestWrapper = new SingletonGetRequest(requestOptions);
18
- if (typeof options === 'function')
19
- options(requestWrapper);
20
- const req = this._prepareGetRequest(requestOptions);
21
- const promise = this._handler(req);
22
- return observablePromise(promise);
23
- }
24
- _prepareGetRequest(options) {
25
- const url = new OpraURL(this._serviceUrl);
26
- url.path.join(this._resource.name);
27
- if (options.include)
28
- url.searchParams.set('$include', options.include);
29
- if (options.pick)
30
- url.searchParams.set('$pick', options.pick);
31
- if (options.omit)
32
- url.searchParams.set('$omit', options.omit);
33
- return {
34
- method: 'GET',
35
- url: url.address,
36
- params: url.searchParams
37
- };
38
- }
39
- }