remult 0.14.6 → 0.14.7
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/assign.js +5 -1
- package/classType.js +2 -1
- package/graphql.js +146 -84
- package/index.js +73 -25
- package/inputTypes.js +16 -9
- package/package.json +1 -2
- package/postgres/index.js +4 -1
- package/postgres/postgres-data-provider.d.ts +4 -1
- package/postgres/postgres-data-provider.js +364 -165
- package/postgres/postgresColumnSyntax.d.ts +1 -1
- package/postgres/postgresColumnSyntax.js +8 -4
- package/remult-express.js +10 -6
- package/remult-knex/index.d.ts +5 -2
- package/remult-knex/index.js +720 -300
- package/remult-middleware.js +29 -24
- package/remult-mongo.js +406 -172
- package/server/JsonEntityFileStorage.js +15 -10
- package/server/expressBridge.d.ts +4 -2
- package/server/expressBridge.js +570 -383
- package/server/index.js +11 -4
- package/server/register-actions-on-server.js +38 -12
- package/server/register-entities-on-server.js +13 -9
- package/src/__EntityValueProvider.js +2 -1
- package/src/__RowsOfDataForTesting.js +2 -1
- package/src/backend-tests/backend-database-test-setup.backend-spec.js +190 -72
- package/src/backend-tests/my-test.backend-spec.js +114 -45
- package/src/column-interfaces.js +6 -2
- package/src/column.js +113 -71
- package/src/context.js +330 -174
- package/src/data-api.js +326 -162
- package/src/data-interfaces.js +11 -7
- package/src/data-providers/array-entity-data-provider.js +286 -171
- package/src/data-providers/in-memory-database.js +27 -12
- package/src/data-providers/json-data-provider.js +77 -41
- package/src/data-providers/rest-data-provider.js +189 -102
- package/src/data-providers/sql-database.js +403 -223
- package/src/data-providers/web-sql-data-provider.js +139 -78
- package/src/entity.js +2 -1
- package/src/filter/filter-consumer-bridge-to-sql-request.d.ts +1 -1
- package/src/filter/filter-consumer-bridge-to-sql-request.js +248 -106
- package/src/filter/filter-consumer-bridge-to-url-builder.js +2 -1
- package/src/filter/filter-interfaces.js +440 -277
- package/src/id-entity.js +17 -8
- package/src/remult3/RepositoryImplementation.js +2367 -1191
- package/src/remult3/index.js +5 -2
- package/src/remult3/remult3.js +2 -1
- package/src/server-action.js +528 -294
- package/src/shared-tests/db-tests-setup.js +153 -49
- package/src/shared-tests/db-tests.db-tests.js +1566 -660
- package/src/shared-tests/deleteAll.js +20 -3
- package/src/shared-tests/entityWithValidations.js +79 -52
- package/src/shared-tests/index.js +6 -4
- package/src/shared-tests/test-custom-id-column.spec.js +85 -37
- package/src/shared-tests/test-special-value.spec.js +104 -64
- package/src/shared-tests/test-update-with-null.spec.js +49 -28
- package/src/sort.js +95 -38
- package/src/sql-command.js +2 -1
- package/src/tests/Done.js +13 -7
- package/src/tests/TestDataApiResponse.js +22 -15
- package/src/tests/c.js +27 -21
- package/src/tests/createData.js +48 -20
- package/src/tests/d.js +27 -19
- package/src/tests/dWithPrefilter.js +44 -31
- package/src/tests/entityForCustomFilter.js +66 -42
- package/src/tests/entityWithValidationsOnColumn.js +29 -21
- package/src/tests/frontend-database-tests-setup.spec.js +98 -35
- package/src/tests/h.js +44 -35
- package/src/tests/remult-3-entities.js +80 -71
- package/src/tests/tasks.js +29 -23
- package/src/tests/testHelper.spec.js +322 -170
- package/src/tests/testModel/models.js +33 -25
- package/src/validators.js +59 -32
- package/urlBuilder.js +14 -8
- package/valueConverters.js +160 -161
|
@@ -1,52 +1,88 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsonDataProvider = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var array_entity_data_provider_1 = require("./array-entity-data-provider");
|
|
6
|
+
var JsonDataProvider = /** @class */ (function () {
|
|
7
|
+
function JsonDataProvider(storage) {
|
|
4
8
|
this.storage = storage;
|
|
5
9
|
}
|
|
6
|
-
getEntityDataProvider(entity) {
|
|
10
|
+
JsonDataProvider.prototype.getEntityDataProvider = function (entity) {
|
|
7
11
|
return new JsonEntityDataProvider(entity, this.storage);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
};
|
|
13
|
+
JsonDataProvider.prototype.transaction = function (action) {
|
|
14
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
15
|
+
return tslib_1.__generator(this, function (_a) {
|
|
16
|
+
switch (_a.label) {
|
|
17
|
+
case 0: return [4 /*yield*/, action(this)];
|
|
18
|
+
case 1:
|
|
19
|
+
_a.sent();
|
|
20
|
+
return [2 /*return*/];
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
return JsonDataProvider;
|
|
26
|
+
}());
|
|
27
|
+
exports.JsonDataProvider = JsonDataProvider;
|
|
28
|
+
var JsonEntityDataProvider = /** @class */ (function () {
|
|
29
|
+
function JsonEntityDataProvider(entity, helper) {
|
|
15
30
|
this.entity = entity;
|
|
16
31
|
this.helper = helper;
|
|
17
32
|
this.p = Promise.resolve();
|
|
18
33
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
JsonEntityDataProvider.prototype.loadEntityData = function (what) {
|
|
35
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
36
|
+
var data, dbName, s, dp;
|
|
37
|
+
var _this = this;
|
|
38
|
+
return tslib_1.__generator(this, function (_a) {
|
|
39
|
+
switch (_a.label) {
|
|
40
|
+
case 0:
|
|
41
|
+
data = [];
|
|
42
|
+
return [4 /*yield*/, this.entity.getDbName()];
|
|
43
|
+
case 1:
|
|
44
|
+
dbName = _a.sent();
|
|
45
|
+
s = this.helper.getItem(dbName);
|
|
46
|
+
if (s)
|
|
47
|
+
data = JSON.parse(s);
|
|
48
|
+
dp = new array_entity_data_provider_1.ArrayEntityDataProvider(this.entity, data);
|
|
49
|
+
return [2 /*return*/, what(dp, function () { return _this.helper.setItem(dbName, JSON.stringify(data, undefined, 2)); })];
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
JsonEntityDataProvider.prototype.find = function (options) {
|
|
55
|
+
var _this = this;
|
|
56
|
+
return this.p = this.p.then(function () { return _this.loadEntityData(function (dp, save) { return dp.find(options); }); });
|
|
57
|
+
};
|
|
58
|
+
JsonEntityDataProvider.prototype.count = function (where) {
|
|
59
|
+
var _this = this;
|
|
60
|
+
return this.p = this.p.then(function () { return _this.loadEntityData(function (dp, save) { return dp.count(where); }); });
|
|
61
|
+
};
|
|
62
|
+
JsonEntityDataProvider.prototype.update = function (id, data) {
|
|
63
|
+
var _this = this;
|
|
64
|
+
return this.p = this.p.then(function () { return _this.loadEntityData(function (dp, save) { return dp.update(id, data).then(function (x) {
|
|
36
65
|
save();
|
|
37
66
|
return x;
|
|
38
|
-
})));
|
|
39
|
-
}
|
|
40
|
-
delete(id) {
|
|
41
|
-
|
|
67
|
+
}); }); });
|
|
68
|
+
};
|
|
69
|
+
JsonEntityDataProvider.prototype.delete = function (id) {
|
|
70
|
+
var _this = this;
|
|
71
|
+
return this.p = this.p.then(function () { return _this.loadEntityData(function (dp, save) { return dp.delete(id).then(function (x) {
|
|
42
72
|
save();
|
|
43
73
|
return x;
|
|
44
|
-
})));
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
return this
|
|
48
|
-
|
|
49
|
-
return
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
74
|
+
}); }); });
|
|
75
|
+
};
|
|
76
|
+
JsonEntityDataProvider.prototype.insert = function (data) {
|
|
77
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
78
|
+
var _this = this;
|
|
79
|
+
return tslib_1.__generator(this, function (_a) {
|
|
80
|
+
return [2 /*return*/, this.p = this.p.then(function () { return _this.loadEntityData(function (dp, save) { return dp.insert(data).then(function (x) {
|
|
81
|
+
save();
|
|
82
|
+
return x;
|
|
83
|
+
}); }); })];
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
return JsonEntityDataProvider;
|
|
88
|
+
}());
|
|
@@ -1,56 +1,94 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addFilterToUrlAndReturnTrueIfSuccessful = exports.RestDataProviderHttpProviderUsingFetch = exports.RestEntityDataProvider = exports.RestDataProvider = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var urlBuilder_1 = require("../../urlBuilder");
|
|
6
|
+
var filter_interfaces_1 = require("../filter/filter-interfaces");
|
|
7
|
+
var context_1 = require("../context");
|
|
8
|
+
var RestDataProvider = /** @class */ (function () {
|
|
9
|
+
function RestDataProvider(url, http) {
|
|
6
10
|
this.url = url;
|
|
7
11
|
this.http = http;
|
|
8
12
|
this.supportsCustomFilter = true;
|
|
9
13
|
}
|
|
10
|
-
getEntityDataProvider(entity) {
|
|
14
|
+
RestDataProvider.prototype.getEntityDataProvider = function (entity) {
|
|
11
15
|
return new RestEntityDataProvider(this.url + '/' + entity.key, this.http, entity);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
};
|
|
17
|
+
RestDataProvider.prototype.transaction = function (action) {
|
|
18
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
19
|
+
return tslib_1.__generator(this, function (_a) {
|
|
20
|
+
throw new Error("Method not implemented.");
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
return RestDataProvider;
|
|
25
|
+
}());
|
|
26
|
+
exports.RestDataProvider = RestDataProvider;
|
|
27
|
+
var RestEntityDataProvider = /** @class */ (function () {
|
|
28
|
+
function RestEntityDataProvider(url, http, entity) {
|
|
19
29
|
this.url = url;
|
|
20
30
|
this.http = http;
|
|
21
31
|
this.entity = entity;
|
|
22
32
|
}
|
|
23
|
-
translateFromJson(row) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
33
|
+
RestEntityDataProvider.prototype.translateFromJson = function (row) {
|
|
34
|
+
var e_1, _a;
|
|
35
|
+
var result = {};
|
|
36
|
+
try {
|
|
37
|
+
for (var _b = tslib_1.__values(this.entity.fields), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
38
|
+
var col = _c.value;
|
|
39
|
+
result[col.key] = col.valueConverter.fromJson(row[col.key]);
|
|
40
|
+
}
|
|
27
41
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
42
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
43
|
+
finally {
|
|
44
|
+
try {
|
|
45
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
46
|
+
}
|
|
47
|
+
finally { if (e_1) throw e_1.error; }
|
|
34
48
|
}
|
|
35
49
|
return result;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
50
|
+
};
|
|
51
|
+
RestEntityDataProvider.prototype.translateToJson = function (row) {
|
|
52
|
+
var e_2, _a;
|
|
53
|
+
var result = {};
|
|
54
|
+
try {
|
|
55
|
+
for (var _b = tslib_1.__values(this.entity.fields), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
56
|
+
var col = _c.value;
|
|
57
|
+
result[col.key] = col.valueConverter.toJson(row[col.key]);
|
|
58
|
+
}
|
|
45
59
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
60
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
61
|
+
finally {
|
|
62
|
+
try {
|
|
63
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
64
|
+
}
|
|
65
|
+
finally { if (e_2) throw e_2.error; }
|
|
66
|
+
}
|
|
67
|
+
return result;
|
|
68
|
+
};
|
|
69
|
+
RestEntityDataProvider.prototype.count = function (where) {
|
|
70
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
71
|
+
var url, filterObject;
|
|
72
|
+
return tslib_1.__generator(this, function (_a) {
|
|
73
|
+
url = new urlBuilder_1.UrlBuilder(this.url);
|
|
74
|
+
url.add("__action", "count");
|
|
75
|
+
if (where) {
|
|
76
|
+
filterObject = where.toJson();
|
|
77
|
+
if (addFilterToUrlAndReturnTrueIfSuccessful(filterObject, url))
|
|
78
|
+
filterObject = undefined;
|
|
79
|
+
}
|
|
80
|
+
if (filterObject)
|
|
81
|
+
return [2 /*return*/, this.http.post(url.url, filterObject).then(function (r) { return +(r.count); })];
|
|
82
|
+
else
|
|
83
|
+
return [2 /*return*/, this.http.get(url.url).then(function (r) { return +(r.count); })];
|
|
84
|
+
return [2 /*return*/];
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
RestEntityDataProvider.prototype.find = function (options) {
|
|
89
|
+
var _this = this;
|
|
90
|
+
var url = new urlBuilder_1.UrlBuilder(this.url);
|
|
91
|
+
var filterObject;
|
|
54
92
|
if (options) {
|
|
55
93
|
if (options.where) {
|
|
56
94
|
filterObject = options.where.toJson(); // options.where.__applyToConsumer(new FilterConsumnerBridgeToUrlBuilder(url));
|
|
@@ -58,18 +96,18 @@ export class RestEntityDataProvider {
|
|
|
58
96
|
filterObject = undefined;
|
|
59
97
|
}
|
|
60
98
|
if (options.orderBy && options.orderBy.Segments) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
options.orderBy.Segments.forEach(c
|
|
64
|
-
if (
|
|
65
|
-
|
|
66
|
-
|
|
99
|
+
var sort_1 = '';
|
|
100
|
+
var order_1 = '';
|
|
101
|
+
options.orderBy.Segments.forEach(function (c) {
|
|
102
|
+
if (sort_1.length > 0) {
|
|
103
|
+
sort_1 += ",";
|
|
104
|
+
order_1 += ",";
|
|
67
105
|
}
|
|
68
|
-
|
|
69
|
-
|
|
106
|
+
sort_1 += c.field.key;
|
|
107
|
+
order_1 += c.isDescending ? "desc" : "asc";
|
|
70
108
|
});
|
|
71
|
-
url.add('_sort',
|
|
72
|
-
url.add('_order',
|
|
109
|
+
url.add('_sort', sort_1);
|
|
110
|
+
url.add('_order', order_1);
|
|
73
111
|
}
|
|
74
112
|
if (options.limit)
|
|
75
113
|
url.add('_limit', options.limit);
|
|
@@ -78,53 +116,89 @@ export class RestEntityDataProvider {
|
|
|
78
116
|
}
|
|
79
117
|
if (filterObject) {
|
|
80
118
|
url.add("__action", "get");
|
|
81
|
-
return this.http.post(url.url, filterObject).then(x
|
|
119
|
+
return this.http.post(url.url, filterObject).then(function (x) { return x.map(function (y) { return _this.translateFromJson(y); }); });
|
|
82
120
|
}
|
|
83
121
|
else
|
|
84
|
-
return this.http.get(url.url).then(x
|
|
122
|
+
return this.http.get(url.url).then(function (x) { return x.map(function (y) { return _this.translateFromJson(y); }); });
|
|
85
123
|
;
|
|
86
|
-
}
|
|
87
|
-
update(id, data) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
124
|
+
};
|
|
125
|
+
RestEntityDataProvider.prototype.update = function (id, data) {
|
|
126
|
+
var e_3, _a;
|
|
127
|
+
var _this = this;
|
|
128
|
+
var result = {};
|
|
129
|
+
var keys = Object.keys(data);
|
|
130
|
+
try {
|
|
131
|
+
for (var _b = tslib_1.__values(this.entity.fields), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
132
|
+
var col = _c.value;
|
|
133
|
+
if (keys.includes(col.key))
|
|
134
|
+
result[col.key] = col.valueConverter.toJson(data[col.key]);
|
|
135
|
+
}
|
|
93
136
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
137
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
138
|
+
finally {
|
|
139
|
+
try {
|
|
140
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
141
|
+
}
|
|
142
|
+
finally { if (e_3) throw e_3.error; }
|
|
143
|
+
}
|
|
144
|
+
return this.http.put(this.url + '/' + encodeURIComponent(id), result).then(function (y) { return _this.translateFromJson(y); });
|
|
145
|
+
};
|
|
146
|
+
RestEntityDataProvider.prototype.delete = function (id) {
|
|
97
147
|
return this.http.delete(this.url + '/' + encodeURIComponent(id));
|
|
98
|
-
}
|
|
99
|
-
insert(data) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
|
|
148
|
+
};
|
|
149
|
+
RestEntityDataProvider.prototype.insert = function (data) {
|
|
150
|
+
var _this = this;
|
|
151
|
+
return this.http.post(this.url, this.translateToJson(data)).then(function (y) { return _this.translateFromJson(y); });
|
|
152
|
+
};
|
|
153
|
+
return RestEntityDataProvider;
|
|
154
|
+
}());
|
|
155
|
+
exports.RestEntityDataProvider = RestEntityDataProvider;
|
|
156
|
+
var RestDataProviderHttpProviderUsingFetch = /** @class */ (function () {
|
|
157
|
+
function RestDataProviderHttpProviderUsingFetch(fetch) {
|
|
105
158
|
this.fetch = fetch;
|
|
106
159
|
}
|
|
107
|
-
|
|
108
|
-
return
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
160
|
+
RestDataProviderHttpProviderUsingFetch.prototype.get = function (url) {
|
|
161
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
162
|
+
var _this = this;
|
|
163
|
+
return tslib_1.__generator(this, function (_a) {
|
|
164
|
+
switch (_a.label) {
|
|
165
|
+
case 0: return [4 /*yield*/, context_1.retry(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
166
|
+
return tslib_1.__generator(this, function (_a) {
|
|
167
|
+
return [2 /*return*/, this.myFetch(url).then(function (r) {
|
|
168
|
+
return r;
|
|
169
|
+
})];
|
|
170
|
+
});
|
|
171
|
+
}); })];
|
|
172
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
};
|
|
177
|
+
RestDataProviderHttpProviderUsingFetch.prototype.put = function (url, data) {
|
|
113
178
|
return this.myFetch(url, {
|
|
114
179
|
method: 'put',
|
|
115
180
|
body: JSON.stringify(data)
|
|
116
181
|
});
|
|
117
|
-
}
|
|
118
|
-
delete(url) {
|
|
182
|
+
};
|
|
183
|
+
RestDataProviderHttpProviderUsingFetch.prototype.delete = function (url) {
|
|
119
184
|
return this.myFetch(url, { method: 'delete', credentials: 'include' });
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
return
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
185
|
+
};
|
|
186
|
+
RestDataProviderHttpProviderUsingFetch.prototype.post = function (url, data) {
|
|
187
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
188
|
+
var _this = this;
|
|
189
|
+
return tslib_1.__generator(this, function (_a) {
|
|
190
|
+
switch (_a.label) {
|
|
191
|
+
case 0: return [4 /*yield*/, context_1.retry(function () { return _this.myFetch(url, {
|
|
192
|
+
method: 'post',
|
|
193
|
+
body: JSON.stringify(data)
|
|
194
|
+
}); })];
|
|
195
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
};
|
|
200
|
+
RestDataProviderHttpProviderUsingFetch.prototype.myFetch = function (url, init) {
|
|
201
|
+
var _this = this;
|
|
128
202
|
if (!init)
|
|
129
203
|
init = {};
|
|
130
204
|
if (!init.headers)
|
|
@@ -132,23 +206,32 @@ export class RestDataProviderHttpProviderUsingFetch {
|
|
|
132
206
|
var h = init.headers;
|
|
133
207
|
h.append('Content-type', "application/json");
|
|
134
208
|
init.credentials = 'include';
|
|
135
|
-
return (this.fetch || fetch)(url, init).then(response
|
|
209
|
+
return (this.fetch || fetch)(url, init).then(function (response) {
|
|
136
210
|
return onSuccess(response);
|
|
137
|
-
}).catch(
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
211
|
+
}).catch(function (error) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
212
|
+
var r;
|
|
213
|
+
return tslib_1.__generator(this, function (_a) {
|
|
214
|
+
switch (_a.label) {
|
|
215
|
+
case 0: return [4 /*yield*/, error];
|
|
216
|
+
case 1:
|
|
217
|
+
r = _a.sent();
|
|
218
|
+
throw r;
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
}); });
|
|
222
|
+
};
|
|
223
|
+
return RestDataProviderHttpProviderUsingFetch;
|
|
224
|
+
}());
|
|
225
|
+
exports.RestDataProviderHttpProviderUsingFetch = RestDataProviderHttpProviderUsingFetch;
|
|
143
226
|
function onSuccess(response) {
|
|
144
227
|
if (response.status == 204)
|
|
145
228
|
return;
|
|
146
229
|
if (response.status >= 200 && response.status < 300)
|
|
147
230
|
return response.json();
|
|
148
231
|
else {
|
|
149
|
-
throw response.json().then(x
|
|
150
|
-
return {
|
|
151
|
-
}).catch(()
|
|
232
|
+
throw response.json().then(function (x) {
|
|
233
|
+
return tslib_1.__assign(tslib_1.__assign({}, x), { message: x.message || response.statusText, url: response.url, status: response.status });
|
|
234
|
+
}).catch(function () {
|
|
152
235
|
throw {
|
|
153
236
|
message: response.statusText,
|
|
154
237
|
url: response.url,
|
|
@@ -157,10 +240,10 @@ function onSuccess(response) {
|
|
|
157
240
|
});
|
|
158
241
|
}
|
|
159
242
|
}
|
|
160
|
-
|
|
161
|
-
for (
|
|
243
|
+
function addFilterToUrlAndReturnTrueIfSuccessful(filter, url) {
|
|
244
|
+
for (var key in filter) {
|
|
162
245
|
if (Object.prototype.hasOwnProperty.call(filter, key)) {
|
|
163
|
-
|
|
246
|
+
var element = filter[key];
|
|
164
247
|
if (Array.isArray(element)) {
|
|
165
248
|
if (element.length > 0 && typeof element[0] === 'object')
|
|
166
249
|
return false;
|
|
@@ -169,20 +252,24 @@ export function addFilterToUrlAndReturnTrueIfSuccessful(filter, url) {
|
|
|
169
252
|
}
|
|
170
253
|
}
|
|
171
254
|
}
|
|
172
|
-
|
|
255
|
+
var _loop_1 = function (key) {
|
|
173
256
|
if (Object.prototype.hasOwnProperty.call(filter, key)) {
|
|
174
|
-
|
|
257
|
+
var element = filter[key];
|
|
175
258
|
if (Array.isArray(element)) {
|
|
176
259
|
if (key.endsWith("_in"))
|
|
177
260
|
url.add(key, JSON.stringify(element));
|
|
178
261
|
else
|
|
179
|
-
element.forEach(e
|
|
262
|
+
element.forEach(function (e) { return url.add(key, e); });
|
|
180
263
|
}
|
|
181
|
-
else if (key.startsWith(customUrlToken))
|
|
264
|
+
else if (key.startsWith(filter_interfaces_1.customUrlToken))
|
|
182
265
|
url.add(key, JSON.stringify(element));
|
|
183
266
|
else
|
|
184
267
|
url.add(key, element);
|
|
185
268
|
}
|
|
269
|
+
};
|
|
270
|
+
for (var key in filter) {
|
|
271
|
+
_loop_1(key);
|
|
186
272
|
}
|
|
187
273
|
return true;
|
|
188
274
|
}
|
|
275
|
+
exports.addFilterToUrlAndReturnTrueIfSuccessful = addFilterToUrlAndReturnTrueIfSuccessful;
|