react-ui-basics 0.0.183 → 0.0.184

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/HttpTools.d.ts ADDED
@@ -0,0 +1,35 @@
1
+ export declare const toRequestParams: (params: any) => string;
2
+ export declare type Method = 'GET' | 'DELETE' | 'POST' | 'PUT';
3
+ export declare class FetchOptions {
4
+ method?: Method;
5
+ headers?: ({
6
+ [name: string]: string;
7
+ });
8
+ params?: ({
9
+ [name: string]: any;
10
+ }) | FormData | Blob;
11
+ multipart?: boolean;
12
+ async?: boolean;
13
+ withCredentials?: boolean;
14
+ timeout?: number;
15
+ onTimeout?: ((ev: ProgressEvent) => any);
16
+ onSuccess?: ((t: any) => void);
17
+ onError?: ((e: any, status: number) => void);
18
+ onProgress?: ((ev: ProgressEvent) => any);
19
+ provideCancel?: ((cancelFunction: () => void) => void);
20
+ }
21
+ export declare const fetch: <T>(url: any, options?: FetchOptions) => Promise<T>;
22
+ export declare type Params = {
23
+ [id: string]: any;
24
+ };
25
+ export declare type UrlRenderer = (params: Params) => string;
26
+ export declare const createUrlRenderer: (template: string, deleteVars?: boolean) => UrlRenderer;
27
+ export declare const setBaseUrl: (url: any) => any;
28
+ export declare const createGET: <R>(template: string) => (params?: Params) => Promise<R>;
29
+ export declare const createPOST: <R, P extends Params>(template: string) => (params?: P) => Promise<R>;
30
+ export declare const createDELETE: <R>(template: string) => (params?: Params) => Promise<R>;
31
+ export interface MultipartOptions {
32
+ onProgress?: ((ev: ProgressEvent) => any);
33
+ provideCancel?: ((cancelFunction: () => void) => void);
34
+ }
35
+ export declare const createMultipart: <R>(template: string) => (params: any, options?: MultipartOptions) => Promise<R>;
package/HttpTools.js ADDED
@@ -0,0 +1,222 @@
1
+ import ReactConstants from "./ReactConstants";
2
+ import {clientHeight as __clientHeight, clientWidth as __clientWidth, createAccessor as __createAccessor, data as __data, height as __height, left as __left, length as __length, pageX as __pageX, pageY as __pageY, props as __props, scrollLeft as __scrollLeft, scrollTop as __scrollTop, state as __state, style as __style, target as __target, top as __top, value as __value, width as __width} from "./CommonFields";
3
+
4
+ import { orNoop } from './Tools.js';
5
+
6
+ var CONTENT_TYPE_APPLICATION_JSON = 'application/json';
7
+ var toKeyValue = function (key, value) { return key && (encodeURIComponent(key) + '=' + encodeURIComponent(value !== null && typeof value === 'object' ? JSON.stringify(value) : value)); };
8
+ var toRequestParams = function (params) { return (params && Object.keys(params).map(function (key) {
9
+ var value = params[key];
10
+ if (Array.isArray(value))
11
+ return value.map(function (it) { return toKeyValue(key, it); }).join('&');
12
+ else
13
+ return toKeyValue(key, value);
14
+ }).join('&')) || ''; };
15
+ var FetchOptions = /** @class */ (function () {
16
+ function FetchOptions() {
17
+ this.method = 'GET';
18
+ this.multipart = false;
19
+ this.async = true;
20
+ this.withCredentials = true;
21
+ }
22
+ return FetchOptions;
23
+ }());
24
+ var DEFAULT_OPTIONS = new FetchOptions();
25
+ var fetch = function (url, options) {
26
+ if (options === void 0) { options = DEFAULT_OPTIONS; }
27
+ var method = options.method || 'GET';
28
+ var params = options.params || {};
29
+ if (method === 'GET' || method === 'DELETE') {
30
+ var serializedData = toRequestParams(params);
31
+ if (serializedData)
32
+ url = url + "?" + serializedData;
33
+ }
34
+ var headers = __extends({ 'Accept': CONTENT_TYPE_APPLICATION_JSON }, (options.headers || {}));
35
+ var body;
36
+ if (method === 'POST' || method === 'PUT') {
37
+ if (options.multipart) {
38
+ var formData_1;
39
+ if (params instanceof FormData) {
40
+ formData_1 = params;
41
+ }
42
+ else {
43
+ formData_1 = new FormData();
44
+ Object.keys(params).forEach(function (name) {
45
+ var value = params[name];
46
+ if (Array.isArray(value)) {
47
+ value.forEach(function (it) { return formData_1.append(name, it); });
48
+ }
49
+ else if (value != null)
50
+ formData_1.append(name, value);
51
+ });
52
+ }
53
+ body = formData_1;
54
+ }
55
+ else if (params instanceof Blob || params instanceof FormData) {
56
+ body = params;
57
+ }
58
+ else {
59
+ headers['Content-Type'] = CONTENT_TYPE_APPLICATION_JSON;
60
+ body = JSON.stringify(params || {}, function (key, value) {
61
+ if (value !== null)
62
+ return value;
63
+ });
64
+ }
65
+ }
66
+ var makeRequest = function (success, error) {
67
+ var request = new XMLHttpRequest();
68
+ var data = body;
69
+ if (!!(options.withCredentials === void 0 ? true : options.withCredentials))
70
+ request.withCredentials = true;
71
+ var async = !!(options.async === void 0 ? true : options.async);
72
+ request.open(method, url, async);
73
+ Object.keys(headers).forEach(function (key) {
74
+ return request.setRequestHeader(key, headers[key]);
75
+ });
76
+ var onError = orNoop(error);
77
+ if (options.timeout && async) {
78
+ request.timeout = options.timeout;
79
+ request.ontimeout = function (e) { return (options.onTimeout || onError)(e); };
80
+ }
81
+ var onProgress = options.onProgress;
82
+ if (onProgress) {
83
+ request.upload.onprogress = function (e) {
84
+ if (e.lengthComputable)
85
+ onProgress(e);
86
+ };
87
+ request.onprogress = onProgress;
88
+ }
89
+ request.onload = function () {
90
+ var responseText = request.responseText;
91
+ var status = request.status;
92
+ if (status >= 200 && status < 400) {
93
+ try {
94
+ orNoop(success)(JSON.parse(responseText || "{}"));
95
+ }
96
+ catch (e) {
97
+ var message = "Unexpected exception while processing response for ".concat(method, " ").concat(url, ", status: ").concat(status, ", response: '").concat(responseText, "', exception:");
98
+ console.log(message, e);
99
+ onError(new FetchError(message, status, responseText));
100
+ }
101
+ }
102
+ else {
103
+ var message = "Not ok response for ".concat(method, " ").concat(url, ", status: ").concat(status, ", response: '").concat(responseText, "'");
104
+ console.log(message);
105
+ onError(new FetchError(message, status, responseText));
106
+ }
107
+ };
108
+ request.onerror = onError;
109
+ try {
110
+ if (method === 'POST') {
111
+ if (typeof data === 'string' || data instanceof Blob || data instanceof FormData)
112
+ request.send(data);
113
+ else
114
+ request.send(toRequestParams(data));
115
+ }
116
+ else
117
+ request.send();
118
+ }
119
+ catch (e) {
120
+ onError(e);
121
+ }
122
+ if (options.provideCancel) {
123
+ options.provideCancel(function () { return request.abort(); });
124
+ }
125
+ return request;
126
+ };
127
+ // if (!window.Promise)
128
+ // return makeRequest(options.onSuccess, options.onError);
129
+ return new Promise(function (resolve, reject) {
130
+ var success = function (data) { return (options.onSuccess || resolve)(data); };
131
+ var error = function (e, status) { return (options.onError || reject)(e, status); };
132
+ makeRequest(success, error);
133
+ });
134
+ };
135
+ var FetchError = /** @class */ (function (_super) {
136
+ __inherits(FetchError, _super);
137
+ function FetchError(message, status, responseText) {
138
+ var _this = _super.call(this, message) || this;
139
+ _this.status = status;
140
+ _this.responseText = responseText;
141
+ return _this;
142
+ }
143
+ return FetchError;
144
+ }(Error));
145
+ var variablePatter = /\{(\w+)\}/g;
146
+ var createUrlRenderer = function (template, deleteVars) {
147
+ if (deleteVars === void 0) { deleteVars = false; }
148
+ var parts = [];
149
+ var variables = [];
150
+ var find;
151
+ var prevIndex = 0;
152
+ while ((find = variablePatter.exec(template)) !== null) {
153
+ variables.push(find[1]);
154
+ parts.push(template.substring(prevIndex, find.index));
155
+ prevIndex = find.index + __length(find[0]);
156
+ }
157
+ if (prevIndex === 0)
158
+ return function () { return template; };
159
+ parts.push(template.substring(prevIndex, __length(template)));
160
+ var m = parts;
161
+ var v = variables;
162
+ return function (params) {
163
+ var length = Math.max(__length(m), __length(v));
164
+ var s = '';
165
+ for (var i = 0; i < length; i++) {
166
+ if (m[i] !== null)
167
+ s += m[i];
168
+ var param = params[v[i]];
169
+ if (params && v[i] !== null && param != null) {
170
+ s += encodeURIComponent(param);
171
+ if (deleteVars)
172
+ delete params[v[i]];
173
+ }
174
+ }
175
+ return s;
176
+ };
177
+ };
178
+ var lazy = function (f) {
179
+ var args = [];
180
+ for (var _i = 1; _i < __length(arguments); _i++) {
181
+ args[_i - 1] = arguments[_i];
182
+ }
183
+ var result;
184
+ return function () {
185
+ if (!result)
186
+ result = f.apply(null, args);
187
+ return result.apply(null, arguments);
188
+ };
189
+ };
190
+ var baseurl = window.location.origin;
191
+ var setBaseUrl = function (url) { return baseurl = url; };
192
+ var createGET = function (template) {
193
+ var urlMaker = lazy(createUrlRenderer, template, true);
194
+ return function (params) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
195
+ return [2 /*return*/, fetch("".concat(baseurl).concat(urlMaker(params)), { params: params })];
196
+ }); }); };
197
+ };
198
+ var createPOST = function (template) {
199
+ var urlMaker = lazy(createUrlRenderer, template);
200
+ return function (params) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
201
+ return [2 /*return*/, fetch("".concat(baseurl).concat(urlMaker(params)), { params: params, method: "POST" })];
202
+ }); }); };
203
+ };
204
+ var createDELETE = function (template) {
205
+ var urlMaker = lazy(createUrlRenderer, template, true);
206
+ return function (params) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
207
+ return [2 /*return*/, fetch("".concat(baseurl).concat(urlMaker(params)), { params: params, method: "DELETE" })];
208
+ }); }); };
209
+ };
210
+ var createMultipart = function (template) {
211
+ var urlMaker = lazy(createUrlRenderer, template);
212
+ return function (params, options) { return __awaiter(void 0, void 0, void 0, function () {
213
+ var url;
214
+ return __generator(this, function (_a) {
215
+ url = "".concat(baseurl).concat(urlMaker(params));
216
+ return [2 /*return*/, fetch(url, __extends({ params: params, method: "POST", multipart: true }, options))];
217
+ });
218
+ }); };
219
+ };
220
+
221
+ export { FetchOptions, createDELETE, createGET, createMultipart, createPOST, createUrlRenderer, fetch, setBaseUrl, toRequestParams };
222
+ //# sourceMappingURL=HttpTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpTools.js","sources":["./src/HttpTools.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}