1 | Object.defineProperty(exports, "__esModule", { value: true });
|
2 | function applySchemaTransforms(originalSchema, transforms) {
|
3 | return transforms.reduce(function (schema, transform) {
|
4 | return transform.transformSchema ? transform.transformSchema(schema) : schema;
|
5 | }, originalSchema);
|
6 | }
|
7 | exports.applySchemaTransforms = applySchemaTransforms;
|
8 | function applyRequestTransforms(originalRequest, transforms) {
|
9 | return transforms.reduce(function (request, transform) {
|
10 | return transform.transformRequest
|
11 | ? transform.transformRequest(request)
|
12 | : request;
|
13 | }, originalRequest);
|
14 | }
|
15 | exports.applyRequestTransforms = applyRequestTransforms;
|
16 | function applyResultTransforms(originalResult, transforms) {
|
17 | return transforms.reduce(function (result, transform) {
|
18 | return transform.transformResult ? transform.transformResult(result) : result;
|
19 | }, originalResult);
|
20 | }
|
21 | exports.applyResultTransforms = applyResultTransforms;
|
22 | function composeTransforms() {
|
23 | var transforms = [];
|
24 | for (var _i = 0; _i < arguments.length; _i++) {
|
25 | transforms[_i] = arguments[_i];
|
26 | }
|
27 | var reverseTransforms = transforms.slice().reverse();
|
28 | return {
|
29 | transformSchema: function (originalSchema) {
|
30 | return applySchemaTransforms(originalSchema, transforms);
|
31 | },
|
32 | transformRequest: function (originalRequest) {
|
33 | return applyRequestTransforms(originalRequest, reverseTransforms);
|
34 | },
|
35 | transformResult: function (result) {
|
36 | return applyResultTransforms(result, reverseTransforms);
|
37 | },
|
38 | };
|
39 | }
|
40 | exports.composeTransforms = composeTransforms;
|
41 |
|
\ | No newline at end of file |