typedrest 0.3.2 → 0.3.5
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 +3 -3
- package/docs/assets/main.js +52 -0
- package/docs/assets/search.js +1 -0
- package/endpoints/Endpoint.js +3 -3
- package/endpoints/Endpoint.ts +2 -2
- package/endpoints/EntryEndpoint.js +4 -4
- package/endpoints/EntryEndpoint.ts +1 -1
- package/endpoints/_doc.js +7 -0
- package/endpoints/_doc.ts +5 -0
- package/endpoints/generic/CollectionEndpoint.js +5 -4
- package/endpoints/generic/CollectionEndpoint.test.ts +17 -3
- package/endpoints/generic/CollectionEndpoint.ts +2 -1
- package/endpoints/generic/ETagEndpointBase.js +1 -1
- package/endpoints/generic/ElementEndpoint.js +3 -3
- package/endpoints/generic/ElementEndpoint.ts +1 -1
- package/endpoints/generic/GenericCollectionEndpoint.js +19 -7
- package/endpoints/generic/GenericCollectionEndpoint.ts +19 -7
- package/endpoints/generic/_doc.js +6 -0
- package/endpoints/generic/_doc.ts +4 -0
- package/endpoints/generic/index.js +6 -2
- package/endpoints/index.js +6 -2
- package/endpoints/raw/_doc.js +6 -0
- package/endpoints/raw/_doc.ts +4 -0
- package/endpoints/raw/index.js +6 -2
- package/endpoints/rpc/ActionEndpoint.js +3 -3
- package/endpoints/rpc/ActionEndpoint.ts +1 -1
- package/endpoints/rpc/ConsumerEndpoint.js +3 -3
- package/endpoints/rpc/ConsumerEndpoint.ts +1 -1
- package/endpoints/rpc/FunctionEndpoint.js +3 -3
- package/endpoints/rpc/FunctionEndpoint.ts +1 -1
- package/endpoints/rpc/ProducerEndpoint.js +3 -3
- package/endpoints/rpc/ProducerEndpoint.ts +1 -1
- package/endpoints/rpc/_doc.js +6 -0
- package/endpoints/rpc/_doc.ts +4 -0
- package/endpoints/rpc/index.js +6 -2
- package/errors/DefaultErrorHandler.js +10 -10
- package/errors/DefaultErrorHandler.ts +2 -1
- package/errors/_doc.js +7 -0
- package/errors/_doc.ts +5 -0
- package/errors/index.js +6 -2
- package/http/FetchHttpClient.js +1 -1
- package/http/FetchHttpClient.ts +2 -1
- package/http/HttpClient.ts +1 -1
- package/http/ResponseCache.js +3 -3
- package/http/ResponseCache.ts +1 -1
- package/http/_doc.js +6 -0
- package/http/_doc.ts +4 -0
- package/http/index.js +6 -2
- package/index.js +6 -2
- package/links/AggregateLinkExtractor.js +1 -1
- package/links/AggregateLinkExtractor.ts +2 -1
- package/links/HalLinkExtractor.js +3 -3
- package/links/HalLinkExtractor.ts +2 -1
- package/links/HeaderLinkExtractor.js +3 -3
- package/links/HeaderLinkExtractor.ts +2 -1
- package/links/LinkExtractor.ts +1 -1
- package/links/_doc.js +7 -0
- package/links/_doc.ts +5 -0
- package/links/index.js +6 -2
- package/package.json +10 -9
- package/serializers/JsonSerializer.ts +1 -1
- package/serializers/_doc.js +6 -0
- package/serializers/_doc.ts +4 -0
- package/serializers/index.js +6 -2
|
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.EntryEndpoint = void 0;
|
|
13
|
-
const
|
|
13
|
+
const Endpoint_1 = require("./Endpoint");
|
|
14
14
|
const http_1 = require("../http");
|
|
15
15
|
const serializers_1 = require("../serializers");
|
|
16
16
|
const errors_1 = require("../errors");
|
|
@@ -18,7 +18,7 @@ const links_1 = require("../links");
|
|
|
18
18
|
/**
|
|
19
19
|
* Represent the top-level URI of an API. Derive from this class and add your own set of child-{@link Endpoint}s as properties.
|
|
20
20
|
*/
|
|
21
|
-
class EntryEndpoint extends
|
|
21
|
+
class EntryEndpoint extends Endpoint_1.Endpoint {
|
|
22
22
|
/**
|
|
23
23
|
* Creates a new entry endpoint.
|
|
24
24
|
* @param uri The base URI of the REST API.<br>Missing trailing slash will be appended automatically.
|
|
@@ -28,7 +28,7 @@ class EntryEndpoint extends _1.Endpoint {
|
|
|
28
28
|
* @param httpClient The HTTP client used to communicate with the REST API.<br>Defaults to {@link FetchHttpClient} if undefined.
|
|
29
29
|
*/
|
|
30
30
|
constructor(uri, serializer, errorHandler, linkExtractor, httpClient) {
|
|
31
|
-
super(undefined,
|
|
31
|
+
super(undefined, Endpoint_1.Endpoint.ensureTrailingSlash(uri), serializer !== null && serializer !== void 0 ? serializer : new serializers_1.JsonSerializer(), errorHandler !== null && errorHandler !== void 0 ? errorHandler : new errors_1.DefaultErrorHandler(), linkExtractor !== null && linkExtractor !== void 0 ? linkExtractor : new links_1.AggregateLinkExtractor(new links_1.HeaderLinkExtractor(), new links_1.HalLinkExtractor()), httpClient !== null && httpClient !== void 0 ? httpClient : new http_1.FetchHttpClient());
|
|
32
32
|
for (const mediaType of this.serializer.supportedMediaTypes) {
|
|
33
33
|
this.httpClient.defaultHeaders.append(http_1.HttpHeader.Accept, mediaType);
|
|
34
34
|
}
|
|
@@ -48,4 +48,4 @@ class EntryEndpoint extends _1.Endpoint {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
exports.EntryEndpoint = EntryEndpoint;
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW50cnlFbmRwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkVudHJ5RW5kcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseUNBQXNDO0FBQ3RDLGtDQUE4RTtBQUM5RSxnREFBNEQ7QUFDNUQsc0NBQThEO0FBQzlELG9DQUF3RztBQUV4Rzs7R0FFRztBQUNILE1BQWEsYUFBYyxTQUFRLG1CQUFRO0lBQ3ZDOzs7Ozs7O09BT0c7SUFDSCxZQUNJLEdBQWlCLEVBQ2pCLFVBQXVCLEVBQ3ZCLFlBQTJCLEVBQzNCLGFBQTZCLEVBQzdCLFVBQXVCO1FBQ3ZCLEtBQUssQ0FBQyxTQUFTLEVBQ1gsbUJBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsRUFDakMsVUFBVSxhQUFWLFVBQVUsY0FBVixVQUFVLEdBQUksSUFBSSw0QkFBYyxFQUFFLEVBQ2xDLFlBQVksYUFBWixZQUFZLGNBQVosWUFBWSxHQUFJLElBQUksNEJBQW1CLEVBQUUsRUFDekMsYUFBYSxhQUFiLGFBQWEsY0FBYixhQUFhLEdBQUksSUFBSSw4QkFBc0IsQ0FBQyxJQUFJLDJCQUFtQixFQUFFLEVBQUUsSUFBSSx3QkFBZ0IsRUFBRSxDQUFDLEVBQzlGLFVBQVUsYUFBVixVQUFVLGNBQVYsVUFBVSxHQUFJLElBQUksc0JBQWUsRUFBRSxDQUFDLENBQUM7UUFFekMsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFO1lBQ3pELElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxpQkFBVSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUN2RTtJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0csUUFBUSxDQUFDLE1BQW9COztZQUMvQixNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUMsQ0FBQztLQUFBO0NBQ0o7QUF0Q0Qsc0NBc0NDIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Endpoint } from "
|
|
1
|
+
import { Endpoint } from "./Endpoint";
|
|
2
2
|
import { HttpMethod, HttpClient, FetchHttpClient, HttpHeader } from "../http";
|
|
3
3
|
import { Serializer, JsonSerializer } from "../serializers";
|
|
4
4
|
import { ErrorHandler, DefaultErrorHandler } from "../errors";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Endpoints represent URIs that provides methods for operating on specific resources.
|
|
4
|
+
* See [documentation](https://typedrest.net/endpoints/).
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2RvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIl9kb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0dBSUcifQ==
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CollectionEndpoint = void 0;
|
|
4
|
-
const
|
|
4
|
+
const GenericCollectionEndpoint_1 = require("./GenericCollectionEndpoint");
|
|
5
|
+
const ElementEndpoint_1 = require("./ElementEndpoint");
|
|
5
6
|
/**
|
|
6
7
|
* Endpoint for a collection of `TEntity`s addressable as `ElementEndpoint<TEntity>`s.<br>
|
|
7
8
|
* Use {@link GenericCollectionEndpoint} instead if you wish to customize the element endpoint type.
|
|
8
9
|
* @typeParam TEntity The type of individual elements in the collection.
|
|
9
10
|
*/
|
|
10
|
-
class CollectionEndpoint extends
|
|
11
|
+
class CollectionEndpoint extends GenericCollectionEndpoint_1.GenericCollectionEndpoint {
|
|
11
12
|
/**
|
|
12
13
|
* Creates a new collection endpoint.
|
|
13
14
|
* @param referrer The endpoint used to navigate to this one.
|
|
14
15
|
* @param relativeUri The URI of this endpoint relative to the `referrer`'s. Add a `./` prefix here to imply a trailing slash in the `referrer`'s URI.
|
|
15
16
|
*/
|
|
16
17
|
constructor(referrer, relativeUri) {
|
|
17
|
-
super(referrer, relativeUri,
|
|
18
|
+
super(referrer, relativeUri, ElementEndpoint_1.ElementEndpoint);
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
exports.CollectionEndpoint = CollectionEndpoint;
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sbGVjdGlvbkVuZHBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQ29sbGVjdGlvbkVuZHBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJFQUF3RTtBQUN4RSx1REFBb0Q7QUFHcEQ7Ozs7R0FJRztBQUNILE1BQWEsa0JBQTRCLFNBQVEscURBQTREO0lBQ3pHOzs7O09BSUc7SUFDSCxZQUFZLFFBQWtCLEVBQUUsV0FBeUI7UUFDckQsS0FBSyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsaUNBQWUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDSjtBQVRELGdEQVNDIn0=
|
|
@@ -129,8 +129,8 @@ test('create', async () => {
|
|
|
129
129
|
}
|
|
130
130
|
);
|
|
131
131
|
|
|
132
|
-
const element = await endpoint.create(new MockEntity(0, 'test'))
|
|
133
|
-
expect(element
|
|
132
|
+
const element = (await endpoint.create(new MockEntity(0, 'test')))!;
|
|
133
|
+
expect(element!.response).toEqual(new MockEntity(5, 'test'));
|
|
134
134
|
expect(element.uri).toEqual(new URL('http://localhost/endpoint/5'));
|
|
135
135
|
});
|
|
136
136
|
|
|
@@ -149,11 +149,25 @@ test('createLocation', async () => {
|
|
|
149
149
|
}
|
|
150
150
|
);
|
|
151
151
|
|
|
152
|
-
const element = await endpoint.create(new MockEntity(0, 'test'))
|
|
152
|
+
const element = (await endpoint.create(new MockEntity(0, 'test')))!;
|
|
153
153
|
expect(element.response).toEqual(new MockEntity(5, 'test'));
|
|
154
154
|
expect(element.uri).toEqual(new URL('http://localhost/endpoint/new'));
|
|
155
155
|
});
|
|
156
156
|
|
|
157
|
+
test('createUndefined', async () => {
|
|
158
|
+
fetchMock.mockOnceIf(
|
|
159
|
+
req => req.method === HttpMethod.Post && req.url === 'http://localhost/endpoint',
|
|
160
|
+
async req => {
|
|
161
|
+
expect(req.headers.get(HttpHeader.ContentType)).toBe('application/json');
|
|
162
|
+
expect(await req.text()).toBe('{"id":0,"name":"test"}');
|
|
163
|
+
return { status: HttpStatusCode.Accepted };
|
|
164
|
+
}
|
|
165
|
+
);
|
|
166
|
+
|
|
167
|
+
const element = (await endpoint.create(new MockEntity(0, 'test')));
|
|
168
|
+
expect(element).toBeUndefined();
|
|
169
|
+
});
|
|
170
|
+
|
|
157
171
|
test('createAll', async () => {
|
|
158
172
|
fetchMock.mockOnceIf(
|
|
159
173
|
req => req.method === HttpMethod.Patch && req.url === 'http://localhost/endpoint',
|
|
@@ -90,4 +90,4 @@ class ETagEndpointBase extends Endpoint_1.Endpoint {
|
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
exports.ETagEndpointBase = ETagEndpointBase;
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRVRhZ0VuZHBvaW50QmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkVUYWdFbmRwb2ludEJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXVDO0FBRXZDLHFDQUFtRjtBQUVuRjs7R0FFRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsbUJBQVE7SUFDMUM7Ozs7T0FJRztJQUNILFlBQVksUUFBa0IsRUFBRSxXQUF5QjtRQUNyRCxLQUFLLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFPRDs7Ozs7Ozs7T0FRRztJQUNhLFVBQVUsQ0FBQyxNQUFvQjs7O1lBQzNDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7WUFDOUIsSUFBSSxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLElBQUk7Z0JBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxpQkFBVSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTlGLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxpQkFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNwRyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUsscUJBQWMsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsT0FBTyxDQUFBLEVBQUU7Z0JBQ2hGLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLG9CQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzNEO1lBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQzs7S0FDckM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDYSxVQUFVLENBQUMsT0FBWSxFQUFFLE1BQW9COzs7WUFDekQsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM5QixPQUFPLENBQUMsTUFBTSxDQUFDLGlCQUFVLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM5RSxJQUFJLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsSUFBSTtnQkFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLGlCQUFVLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFMUYsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7WUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzs7S0FDekY7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDYSxhQUFhLENBQUMsTUFBb0I7OztZQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzlCLElBQUksTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxJQUFJO2dCQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsaUJBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUUxRixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztZQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDOztLQUN4RDtDQUNKO0FBekVELDRDQXlFQyJ9
|
|
@@ -10,14 +10,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.ElementEndpoint = void 0;
|
|
13
|
-
const
|
|
13
|
+
const ETagEndpointBase_1 = require("./ETagEndpointBase");
|
|
14
14
|
const http_1 = require("../../http");
|
|
15
15
|
const errors_1 = require("../../errors");
|
|
16
16
|
/**
|
|
17
17
|
* Endpoint for an individual resource.
|
|
18
18
|
* @typeParam TEntity The type of entity the endpoint represents.
|
|
19
19
|
*/
|
|
20
|
-
class ElementEndpoint extends
|
|
20
|
+
class ElementEndpoint extends ETagEndpointBase_1.ETagEndpointBase {
|
|
21
21
|
/**
|
|
22
22
|
* Creates a new element endpoint.
|
|
23
23
|
* @param referrer The endpoint used to navigate to this one.
|
|
@@ -173,4 +173,4 @@ class ElementEndpoint extends _1.ETagEndpointBase {
|
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
175
|
exports.ElementEndpoint = ElementEndpoint;
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWxlbWVudEVuZHBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRWxlbWVudEVuZHBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHlEQUFzRDtBQUV0RCxxQ0FBb0U7QUFDcEUseUNBQWdEO0FBRWhEOzs7R0FHRztBQUNILE1BQWEsZUFBeUIsU0FBUSxtQ0FBZ0I7SUFDMUQ7Ozs7T0FJRztJQUNILFlBQVksUUFBa0IsRUFBRSxXQUF5QjtRQUNyRCxLQUFLLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLGFBQWE7WUFDckIsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFVLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO1lBQ2xFLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDRyxJQUFJLENBQUMsTUFBb0I7O1lBQzNCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQVUsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDL0UsQ0FBQztLQUFBO0lBRUQ7Ozs7OztPQU1HO0lBQ0csTUFBTSxDQUFDLE1BQW9COztZQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsaUJBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDL0UsSUFBSSxRQUFRLENBQUMsRUFBRTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUM3QixJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUsscUJBQWMsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxxQkFBYyxDQUFDLElBQUk7Z0JBQUUsT0FBTyxLQUFL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
|
|
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.GenericCollectionEndpoint = void 0;
|
|
13
|
-
const
|
|
13
|
+
const ETagEndpointBase_1 = require("./ETagEndpointBase");
|
|
14
14
|
const http_1 = require("../../http");
|
|
15
15
|
/**
|
|
16
16
|
* Endpoint for a collection of `TEntity`s addressable as `TElementEndpoint`s.<br>
|
|
@@ -18,7 +18,7 @@ const http_1 = require("../../http");
|
|
|
18
18
|
* @typeParam TEntity The type of individual elements in the collection.
|
|
19
19
|
* @typeParam TElementEndpoint The type of {@link ElementEndpoint} to provide for individual `TEntity`s.
|
|
20
20
|
*/
|
|
21
|
-
class GenericCollectionEndpoint extends
|
|
21
|
+
class GenericCollectionEndpoint extends ETagEndpointBase_1.ETagEndpointBase {
|
|
22
22
|
/**
|
|
23
23
|
* Creates a new collection endpoint.
|
|
24
24
|
* @param referrer The endpoint used to navigate to this one.
|
|
@@ -79,7 +79,7 @@ class GenericCollectionEndpoint extends _1.ETagEndpointBase {
|
|
|
79
79
|
* Adds a `TEntity` as a new element to the collection.
|
|
80
80
|
* @param entity The new `TEntity`.
|
|
81
81
|
* @param signal Used to cancel the request.
|
|
82
|
-
* @returns
|
|
82
|
+
* @returns An endpoint for the newly created entity; `undefined` if the server returned neither a "Location" header nor an entity with an ID in the response body.
|
|
83
83
|
* @throws {@link BadRequestError}: {@link HttpStatusCode.BadRequest}
|
|
84
84
|
* @throws {@link AuthenticationError}: {@link HttpStatusCode.Unauthorized}
|
|
85
85
|
* @throws {@link AuthorizationError}: {@link HttpStatusCode.Forbidden}
|
|
@@ -92,9 +92,21 @@ class GenericCollectionEndpoint extends _1.ETagEndpointBase {
|
|
|
92
92
|
[http_1.HttpHeader.ContentType]: this.serializer.supportedMediaTypes[0]
|
|
93
93
|
}, this.serializer.serialize(entity));
|
|
94
94
|
const location = response.headers.get(http_1.HttpHeader.Location);
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
let elementEndpoint;
|
|
96
|
+
if (location) {
|
|
97
|
+
// Explicit element endpoint URL from "Location" header
|
|
98
|
+
elementEndpoint = new this.elementEndpoint(this, this.join(location));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
try {
|
|
102
|
+
// Infer URL from entity ID in response body
|
|
103
|
+
elementEndpoint = this.get(this.serializer.deserialize(yield response.clone().text()));
|
|
104
|
+
}
|
|
105
|
+
catch (_a) {
|
|
106
|
+
// No element endpoint
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
98
110
|
elementEndpoint.responseCache = yield http_1.ResponseCache.from(response);
|
|
99
111
|
return elementEndpoint;
|
|
100
112
|
});
|
|
@@ -181,4 +193,4 @@ class GenericCollectionEndpoint extends _1.ETagEndpointBase {
|
|
|
181
193
|
delete(element) { return this.get(element).delete(); }
|
|
182
194
|
}
|
|
183
195
|
exports.GenericCollectionEndpoint = GenericCollectionEndpoint;
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2VuZXJpY0NvbGxlY3Rpb25FbmRwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkdlbmVyaWNDb2xsZWN0aW9uRW5kcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseURBQXNEO0FBSXRELHFDQUFtRTtBQUVuRTs7Ozs7R0FLRztBQUNILE1BQWEseUJBQXNGLFNBQVEsbUNBQWdCO0lBQ3ZIOzs7OztPQUtHO0lBQ0gsWUFBWSxRQUFrQixFQUFFLFdBQXlCLEVBQW1CLGVBQXVFO1FBQy9JLEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFEMkMsb0JBQWUsR0FBZixlQUFlLENBQXdEO1FBRS9JLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEdBQUcsQ0FBQyxPQUEyQjtRQUMzQixJQUFJLE9BQU8sSUFBSSxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBRWpGLElBQUksRUFBVSxDQUFDO1FBQ2YsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDN0IsRUFBRSxHQUFHLE9BQU8sQ0FBQztTQUNoQjthQUFNO1lBQ0gsRUFBRSxHQUFJLE9BQWUsQ0FBQyxFQUFFLENBQUM7WUFDekIsSUFBSSxFQUFFLEtBQUssU0FBUztnQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsT0FBTyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQzdGO1FBQ0QsSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBRTlFLE9BQU8sSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENB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
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ETagEndpointBase
|
|
1
|
+
import { ETagEndpointBase } from "./ETagEndpointBase";
|
|
2
|
+
import { ElementEndpoint } from "./ElementEndpoint";
|
|
2
3
|
import { Endpoint } from "../Endpoint";
|
|
3
4
|
import { CachingEndpoint } from "../CachingEndpoint";
|
|
4
5
|
import { HttpMethod, HttpHeader, ResponseCache } from "../../http";
|
|
@@ -70,22 +71,33 @@ export class GenericCollectionEndpoint<TEntity, TElementEndpoint extends Element
|
|
|
70
71
|
* Adds a `TEntity` as a new element to the collection.
|
|
71
72
|
* @param entity The new `TEntity`.
|
|
72
73
|
* @param signal Used to cancel the request.
|
|
73
|
-
* @returns
|
|
74
|
+
* @returns An endpoint for the newly created entity; `undefined` if the server returned neither a "Location" header nor an entity with an ID in the response body.
|
|
74
75
|
* @throws {@link BadRequestError}: {@link HttpStatusCode.BadRequest}
|
|
75
76
|
* @throws {@link AuthenticationError}: {@link HttpStatusCode.Unauthorized}
|
|
76
77
|
* @throws {@link AuthorizationError}: {@link HttpStatusCode.Forbidden}
|
|
77
78
|
* @throws {@link ConflictError}: {@link HttpStatusCode.Conflict}
|
|
78
79
|
* @throws {@link HttpError}: Other non-success status code
|
|
79
80
|
*/
|
|
80
|
-
async create(entity: TEntity, signal?: AbortSignal): Promise<TElementEndpoint> {
|
|
81
|
+
async create(entity: TEntity, signal?: AbortSignal): Promise<TElementEndpoint | undefined> {
|
|
81
82
|
const response = await this.send(HttpMethod.Post, signal, {
|
|
82
83
|
[HttpHeader.ContentType]: this.serializer.supportedMediaTypes[0]
|
|
83
84
|
}, this.serializer.serialize(entity));
|
|
84
|
-
|
|
85
85
|
const location = response.headers.get(HttpHeader.Location);
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
|
|
87
|
+
let elementEndpoint: TElementEndpoint;
|
|
88
|
+
if (location) {
|
|
89
|
+
// Explicit element endpoint URL from "Location" header
|
|
90
|
+
elementEndpoint = new this.elementEndpoint(this, this.join(location));
|
|
91
|
+
} else {
|
|
92
|
+
try {
|
|
93
|
+
// Infer URL from entity ID in response body
|
|
94
|
+
elementEndpoint = this.get(this.serializer.deserialize(await response.clone().text()));
|
|
95
|
+
} catch {
|
|
96
|
+
// No element endpoint
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
89
101
|
(elementEndpoint as CachingEndpoint).responseCache = await ResponseCache.from(response);
|
|
90
102
|
return elementEndpoint;
|
|
91
103
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Generic endpoints allow you to model collections and elements.
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2RvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIl9kb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRyJ9
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -15,4 +19,4 @@ __exportStar(require("./ETagEndpointBase"), exports);
|
|
|
15
19
|
__exportStar(require("./GenericCollectionEndpoint"), exports);
|
|
16
20
|
__exportStar(require("./CollectionEndpoint"), exports);
|
|
17
21
|
__exportStar(require("./ElementEndpoint"), exports);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQWtDO0FBQ2xDLHFEQUFtQztBQUNuQyw4REFBNEM7QUFDNUMsdURBQXFDO0FBQ3JDLG9EQUFrQyJ9
|
package/endpoints/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -29,4 +33,4 @@ exports.raw = __importStar(require("./raw"));
|
|
|
29
33
|
__exportStar(require("./Endpoint"), exports);
|
|
30
34
|
__exportStar(require("./EntryEndpoint"), exports);
|
|
31
35
|
__exportStar(require("./CachingEndpoint"), exports);
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFxQztBQUNyQyw2Q0FBNkI7QUFDN0IsNkNBQTZCO0FBRTdCLDZDQUEyQjtBQUMzQixrREFBZ0M7QUFDaEMsb0RBQWtDIn0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Raw endpoints allow you to transmit binary data rather than serialized objects.
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2RvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIl9kb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRyJ9
|
package/endpoints/raw/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -12,4 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
17
|
__exportStar(require("./BlobEndpoint"), exports);
|
|
14
18
|
__exportStar(require("./UploadEndpoint"), exports);
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQStCO0FBQy9CLG1EQUFpQyJ9
|
|
@@ -10,12 +10,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.ActionEndpoint = void 0;
|
|
13
|
-
const
|
|
13
|
+
const RpcEndpointBase_1 = require("./RpcEndpointBase");
|
|
14
14
|
const http_1 = require("../../http");
|
|
15
15
|
/**
|
|
16
16
|
* RPC endpoint that is invoked with no input or output.
|
|
17
17
|
*/
|
|
18
|
-
class ActionEndpoint extends
|
|
18
|
+
class ActionEndpoint extends RpcEndpointBase_1.RpcEndpointBase {
|
|
19
19
|
/**
|
|
20
20
|
* Creates a new action endpoint.
|
|
21
21
|
* @param referrer The endpoint used to navigate to this one.
|
|
@@ -39,4 +39,4 @@ class ActionEndpoint extends _1.RpcEndpointBase {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
exports.ActionEndpoint = ActionEndpoint;
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWN0aW9uRW5kcG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJBY3Rpb25FbmRwb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx1REFBb0Q7QUFFcEQscUNBQXdDO0FBRXhDOztHQUVHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsaUNBQWU7SUFDL0M7Ozs7T0FJRztJQUNILFlBQVksUUFBa0IsRUFBRSxXQUF5QjtRQUNyRCxLQUFLLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0csTUFBTSxDQUFDLE1BQW9COztZQUM3QixNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0MsQ0FBQztLQUFBO0NBQ0o7QUFyQkQsd0NBcUJDIn0=
|
|
@@ -10,13 +10,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.ConsumerEndpoint = void 0;
|
|
13
|
-
const
|
|
13
|
+
const RpcEndpointBase_1 = require("./RpcEndpointBase");
|
|
14
14
|
const http_1 = require("../../http");
|
|
15
15
|
/**
|
|
16
16
|
* RPC endpoint that takes `TEntity` as input when invoked.
|
|
17
17
|
* @typeParam TEntity The type of entity the endpoint takes as input.
|
|
18
18
|
*/
|
|
19
|
-
class ConsumerEndpoint extends
|
|
19
|
+
class ConsumerEndpoint extends RpcEndpointBase_1.RpcEndpointBase {
|
|
20
20
|
/**
|
|
21
21
|
* Creates a new consumer endpoint.
|
|
22
22
|
* @param referrer The endpoint used to navigate to this one.
|
|
@@ -43,4 +43,4 @@ class ConsumerEndpoint extends _1.RpcEndpointBase {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
exports.ConsumerEndpoint = ConsumerEndpoint;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc3VtZXJFbmRwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkNvbnN1bWVyRW5kcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsdURBQW9EO0FBRXBELHFDQUFvRDtBQUVwRDs7O0dBR0c7QUFDSCxNQUFhLGdCQUEwQixTQUFRLGlDQUFlO0lBQzFEOzs7O09BSUc7SUFDSCxZQUFZLFFBQWtCLEVBQUUsV0FBeUI7UUFDckQsS0FBSyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDRyxNQUFNLENBQUMsTUFBZSxFQUFFLE1BQW9COztZQUM5QyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO2dCQUNyQyxDQUFDLGlCQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7YUFDbkUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUM7S0FBQTtDQUNKO0FBeEJELDRDQXdCQyJ9
|
|
@@ -10,14 +10,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.FunctionEndpoint = void 0;
|
|
13
|
-
const
|
|
13
|
+
const RpcEndpointBase_1 = require("./RpcEndpointBase");
|
|
14
14
|
const http_1 = require("../../http");
|
|
15
15
|
/**
|
|
16
16
|
* RPC endpoint that takes `TEntity` as input and returns `TResult` as output when invoked.
|
|
17
17
|
* @typeParam TEntity The type of entity the endpoint takes as input.
|
|
18
18
|
* @typeParam TResult The type of entity the endpoint returns as output.
|
|
19
19
|
*/
|
|
20
|
-
class FunctionEndpoint extends
|
|
20
|
+
class FunctionEndpoint extends RpcEndpointBase_1.RpcEndpointBase {
|
|
21
21
|
/**
|
|
22
22
|
* Creates a new function endpoint.
|
|
23
23
|
* @param referrer The endpoint used to navigate to this one.
|
|
@@ -46,4 +46,4 @@ class FunctionEndpoint extends _1.RpcEndpointBase {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
exports.FunctionEndpoint = FunctionEndpoint;
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnVuY3Rpb25FbmRwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkZ1bmN0aW9uRW5kcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsdURBQW9EO0FBRXBELHFDQUFvRDtBQUVwRDs7OztHQUlHO0FBQ0gsTUFBYSxnQkFBbUMsU0FBUSxpQ0FBZTtJQUNuRTs7OztPQUlHO0lBQ0gsWUFBWSxRQUFrQixFQUFFLFdBQXlCO1FBQ3JELEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNHLE1BQU0sQ0FBQyxNQUFlLEVBQUUsTUFBb0I7O1lBQzlDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBVSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQ3RELENBQUMsaUJBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQzthQUNuRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFFdEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBVSxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7S0FBQTtDQUNKO0FBM0JELDRDQTJCQyJ9
|
|
@@ -10,13 +10,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.ProducerEndpoint = void 0;
|
|
13
|
-
const
|
|
13
|
+
const RpcEndpointBase_1 = require("./RpcEndpointBase");
|
|
14
14
|
const http_1 = require("../../http");
|
|
15
15
|
/**
|
|
16
16
|
* RPC endpoint that returns `TResult` as output when invoked.
|
|
17
17
|
* @typeParam TResult The type of entity the endpoint returns as output.
|
|
18
18
|
*/
|
|
19
|
-
class ProducerEndpoint extends
|
|
19
|
+
class ProducerEndpoint extends RpcEndpointBase_1.RpcEndpointBase {
|
|
20
20
|
/**
|
|
21
21
|
* Creates a new producer endpoint.
|
|
22
22
|
* @param referrer The endpoint used to navigate to this one.
|
|
@@ -42,4 +42,4 @@ class ProducerEndpoint extends _1.RpcEndpointBase {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
exports.ProducerEndpoint = ProducerEndpoint;
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvZHVjZXJFbmRwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlByb2R1Y2VyRW5kcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsdURBQW9EO0FBRXBELHFDQUF3QztBQUV4Qzs7O0dBR0c7QUFDSCxNQUFhLGdCQUEwQixTQUFRLGlDQUFlO0lBQzFEOzs7O09BSUc7SUFDSCxZQUFZLFFBQWtCLEVBQUUsV0FBeUI7UUFDckQsS0FBSyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDRyxNQUFNLENBQUMsTUFBb0I7O1lBQzdCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBVSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMxRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFVLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQztLQUFBO0NBQ0o7QUF2QkQsNENBdUJDIn0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* RPC endpoints allow you to interact with non-RESTful resources that act like callable functions.
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2RvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIl9kb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRyJ9
|
package/endpoints/rpc/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -15,4 +19,4 @@ __exportStar(require("./ActionEndpoint"), exports);
|
|
|
15
19
|
__exportStar(require("./ConsumerEndpoint"), exports);
|
|
16
20
|
__exportStar(require("./ProducerEndpoint"), exports);
|
|
17
21
|
__exportStar(require("./FunctionEndpoint"), exports);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQWtDO0FBQ2xDLG1EQUFpQztBQUNqQyxxREFBbUM7QUFDbkMscURBQW1DO0FBQ25DLHFEQUFtQyJ9
|