@deltares/fews-web-oc-utils 0.1.11 → 0.2.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/lib/cjs/index.js +6 -0
  2. package/lib/cjs/index.js.map +1 -0
  3. package/lib/cjs/parser/defaultParser.js +10 -0
  4. package/lib/cjs/parser/defaultParser.js.map +1 -0
  5. package/lib/cjs/parser/index.js +6 -0
  6. package/lib/cjs/parser/index.js.map +1 -0
  7. package/lib/cjs/parser/responseParser.js +3 -0
  8. package/{dist/lib → lib/cjs}/parser/responseParser.js.map +0 -0
  9. package/lib/cjs/restservice/dataRequestResult.js +3 -0
  10. package/{dist/lib → lib/cjs}/restservice/dataRequestResult.js.map +0 -0
  11. package/lib/cjs/restservice/index.js +7 -0
  12. package/lib/cjs/restservice/index.js.map +1 -0
  13. package/lib/cjs/restservice/piRestService.js +57 -0
  14. package/lib/cjs/restservice/piRestService.js.map +1 -0
  15. package/lib/cjs/restservice/requestOptions.js +21 -0
  16. package/lib/cjs/restservice/requestOptions.js.map +1 -0
  17. package/lib/esm/index.js +3 -0
  18. package/lib/esm/index.js.map +1 -0
  19. package/{dist/lib → lib/esm}/parser/defaultParser.js +0 -0
  20. package/{dist/lib → lib/esm}/parser/defaultParser.js.map +0 -0
  21. package/lib/esm/parser/index.js +3 -0
  22. package/lib/esm/parser/index.js.map +1 -0
  23. package/{dist/lib → lib/esm}/parser/responseParser.js +0 -0
  24. package/lib/esm/parser/responseParser.js.map +1 -0
  25. package/{dist/lib → lib/esm}/restservice/dataRequestResult.js +0 -0
  26. package/lib/esm/restservice/dataRequestResult.js.map +1 -0
  27. package/lib/esm/restservice/index.js +4 -0
  28. package/{dist/lib → lib/esm}/restservice/index.js.map +1 -1
  29. package/{dist/lib → lib/esm}/restservice/piRestService.js +2 -2
  30. package/lib/esm/restservice/piRestService.js.map +1 -0
  31. package/{dist/lib → lib/esm}/restservice/requestOptions.js +0 -0
  32. package/{dist/lib → lib/esm}/restservice/requestOptions.js.map +0 -0
  33. package/lib/types/index.d.ts +2 -0
  34. package/{dist → lib}/types/parser/defaultParser.d.ts +1 -1
  35. package/lib/types/parser/index.d.ts +2 -0
  36. package/{dist → lib}/types/parser/responseParser.d.ts +0 -0
  37. package/{dist → lib}/types/restservice/dataRequestResult.d.ts +0 -0
  38. package/lib/types/restservice/index.d.ts +3 -0
  39. package/{dist → lib}/types/restservice/piRestService.d.ts +3 -3
  40. package/{dist → lib}/types/restservice/requestOptions.d.ts +0 -0
  41. package/package.json +14 -6
  42. package/dist/lib/index.js +0 -3
  43. package/dist/lib/index.js.map +0 -1
  44. package/dist/lib/parser/index.js +0 -3
  45. package/dist/lib/parser/index.js.map +0 -1
  46. package/dist/lib/restservice/index.js +0 -4
  47. package/dist/lib/restservice/piRestService.js.map +0 -1
  48. package/dist/types/index.d.ts +0 -2
  49. package/dist/types/parser/index.d.ts +0 -2
  50. package/dist/types/restservice/index.d.ts +0 -3
  51. package/src/index.ts +0 -2
  52. package/src/parser/defaultParser.ts +0 -7
  53. package/src/parser/index.ts +0 -2
  54. package/src/parser/responseParser.ts +0 -3
  55. package/src/restservice/dataRequestResult.ts +0 -6
  56. package/src/restservice/index.ts +0 -3
  57. package/src/restservice/piRestService.ts +0 -60
  58. package/src/restservice/requestOptions.ts +0 -22
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./restservice/index.js"), exports);
5
+ tslib_1.__exportStar(require("./parser/index.js"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,iEAAsC;AACtC,4DAAiC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultParser = void 0;
4
+ class DefaultParser {
5
+ async parse(response) {
6
+ return await response.json();
7
+ }
8
+ }
9
+ exports.DefaultParser = DefaultParser;
10
+ //# sourceMappingURL=defaultParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultParser.js","sourceRoot":"","sources":["../../../src/parser/defaultParser.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IACtB,KAAK,CAAC,KAAK,CAAC,QAAkB;QAC1B,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAChC,CAAC;CACJ;AAJD,sCAIC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./defaultParser.js"), exports);
5
+ tslib_1.__exportStar(require("./responseParser.js"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parser/index.ts"],"names":[],"mappings":";;;AAAA,6DAAkC;AAClC,8DAAmC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=responseParser.js.map
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dataRequestResult.js.map
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./dataRequestResult.js"), exports);
5
+ tslib_1.__exportStar(require("./piRestService.js"), exports);
6
+ tslib_1.__exportStar(require("./requestOptions.js"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/restservice/index.ts"],"names":[],"mappings":";;;AAAA,iEAAsC;AACtC,6DAAkC;AAClC,8DAAmC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PiRestService = void 0;
4
+ const defaultParser_js_1 = require("../parser/defaultParser.js");
5
+ const requestOptions_js_1 = require("./requestOptions.js");
6
+ class PiRestService {
7
+ webserviceUrl;
8
+ _oauth2Token = undefined;
9
+ set oauth2Token(value) {
10
+ this._oauth2Token = value;
11
+ }
12
+ constructor(webserviceUrl) {
13
+ this.webserviceUrl = webserviceUrl;
14
+ }
15
+ async getDataWithParser(url, requestOption, parser) {
16
+ const requestUrl = requestOption.relativeUrl ? this.webserviceUrl + url : url;
17
+ const dataRequestResult = {};
18
+ const requestParameters = {};
19
+ requestParameters.method = "GET";
20
+ if (this._oauth2Token !== undefined) {
21
+ requestParameters.headers = { "Authorization": "Bearer " + this._oauth2Token };
22
+ }
23
+ const res = await fetch(requestUrl, requestParameters);
24
+ return await this.processResponse(dataRequestResult, res, requestUrl, parser);
25
+ }
26
+ async getData(url) {
27
+ const requestOption = new requestOptions_js_1.RequestOptions();
28
+ requestOption.relativeUrl = !url.startsWith("http");
29
+ return this.getDataWithParser(url, requestOption, new defaultParser_js_1.DefaultParser());
30
+ }
31
+ async processResponse(dataRequestResult, res, url, parser) {
32
+ dataRequestResult.responseCode = res.status;
33
+ if (res.status != 200) {
34
+ dataRequestResult.errorMessage = res.statusText;
35
+ return dataRequestResult;
36
+ }
37
+ try {
38
+ dataRequestResult.data = await parser.parse(res);
39
+ }
40
+ catch (e) {
41
+ e.message += `\n When loading ${url}.`;
42
+ throw e;
43
+ }
44
+ return dataRequestResult;
45
+ }
46
+ async getDataWithRequestInit(url, requestInit) {
47
+ const dataRequestResult = {};
48
+ if (this._oauth2Token !== undefined) {
49
+ const authorizationHeader = { "Authorization": "Bearer " + this._oauth2Token };
50
+ requestInit.headers = { ...authorizationHeader, ...requestInit.headers };
51
+ }
52
+ const res = await fetch(url, requestInit);
53
+ return await this.processResponse(dataRequestResult, res, url, new defaultParser_js_1.DefaultParser());
54
+ }
55
+ }
56
+ exports.PiRestService = PiRestService;
57
+ //# sourceMappingURL=piRestService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"piRestService.js","sourceRoot":"","sources":["../../../src/restservice/piRestService.ts"],"names":[],"mappings":";;;AAEA,iEAAyD;AACzD,2DAAmD;AAEnD,MAAa,aAAa;IACL,aAAa,CAAS;IAC/B,YAAY,GAAuB,SAAS,CAAC;IAErD,IAAI,WAAW,CAAC,KAAa;QACzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,YAAY,aAAqB;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAI,GAAW,EAAE,aAA6B,EAAE,MAAyB;QACnG,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9E,MAAM,iBAAiB,GAAG,EAA0B,CAAC;QACrD,MAAM,iBAAiB,GAAG,EAAiB,CAAC;QAC5C,iBAAiB,CAAC,MAAM,GAAG,KAAK,CAAC;QACjC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;YACjC,iBAAiB,CAAC,OAAO,GAAG,EAAC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,YAAY,EAAC,CAAA;SAC/E;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QACvD,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAEM,KAAK,CAAC,OAAO,CAAI,GAAW;QAC/B,MAAM,aAAa,GAAG,IAAI,kCAAc,EAAE,CAAA;QAC1C,aAAa,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACnD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,gCAAa,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEO,KAAK,CAAC,eAAe,CAAI,iBAAuC,EAAE,GAAa,EAAE,GAAW,EAAE,MAAyB;QAC3H,iBAAiB,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC;QAC5C,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;YACnB,iBAAiB,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC;YAChD,OAAO,iBAAiB,CAAC;SAC5B;QACD,IAAI;YACA,iBAAiB,CAAC,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpD;QAAC,OAAO,CAAM,EAAE;YACb,CAAC,CAAC,OAAO,IAAI,mBAAmB,GAAG,GAAG,CAAA;YACtC,MAAM,CAAC,CAAC;SACX;QACD,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAI,GAAW,EAAE,WAAwB;QACxE,MAAM,iBAAiB,GAAG,EAA0B,CAAC;QACrD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;YACjC,MAAM,mBAAmB,GAAG,EAAC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,YAAY,EAAC,CAAC;YAC7E,WAAW,CAAC,OAAO,GAAG,EAAC,GAAG,mBAAmB,EAAE,GAAG,WAAW,CAAC,OAAO,EAAC,CAAC;SAC1E;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC1C,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,gCAAa,EAAE,CAAC,CAAC;IACxF,CAAC;CACJ;AAtDD,sCAsDC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestOptions = void 0;
4
+ class RequestOptions {
5
+ _mode = "cors";
6
+ _relativeUrl = true;
7
+ get relativeUrl() {
8
+ return this._relativeUrl;
9
+ }
10
+ set relativeUrl(value) {
11
+ this._relativeUrl = value;
12
+ }
13
+ get mode() {
14
+ return this._mode;
15
+ }
16
+ set mode(value) {
17
+ this._mode = value;
18
+ }
19
+ }
20
+ exports.RequestOptions = RequestOptions;
21
+ //# sourceMappingURL=requestOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestOptions.js","sourceRoot":"","sources":["../../../src/restservice/requestOptions.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IACf,KAAK,GAAG,MAAM,CAAC;IACf,YAAY,GAAG,IAAI,CAAC;IAG5B,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW,CAAC,KAAK;QACjB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CAEJ;AArBD,wCAqBC"}
@@ -0,0 +1,3 @@
1
+ export * from './restservice/index.js';
2
+ export * from './parser/index.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA"}
File without changes
@@ -0,0 +1,3 @@
1
+ export * from './defaultParser.js';
2
+ export * from './responseParser.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parser/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseParser.js","sourceRoot":"","sources":["../../../src/parser/responseParser.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataRequestResult.js","sourceRoot":"","sources":["../../../src/restservice/dataRequestResult.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './dataRequestResult.js';
2
+ export * from './piRestService.js';
3
+ export * from './requestOptions.js';
4
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/restservice/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/restservice/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
@@ -1,5 +1,5 @@
1
- import { DefaultParser } from "../parser";
2
- import { RequestOptions } from "./requestOptions";
1
+ import { DefaultParser } from "../parser/defaultParser.js";
2
+ import { RequestOptions } from "./requestOptions.js";
3
3
  export class PiRestService {
4
4
  webserviceUrl;
5
5
  _oauth2Token = undefined;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"piRestService.js","sourceRoot":"","sources":["../../../src/restservice/piRestService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAEnD,MAAM,OAAO,aAAa;IACL,aAAa,CAAS;IAC/B,YAAY,GAAuB,SAAS,CAAC;IAErD,IAAI,WAAW,CAAC,KAAa;QACzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,YAAY,aAAqB;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAI,GAAW,EAAE,aAA6B,EAAE,MAAyB;QACnG,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9E,MAAM,iBAAiB,GAAG,EAA0B,CAAC;QACrD,MAAM,iBAAiB,GAAG,EAAiB,CAAC;QAC5C,iBAAiB,CAAC,MAAM,GAAG,KAAK,CAAC;QACjC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;YACjC,iBAAiB,CAAC,OAAO,GAAG,EAAC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,YAAY,EAAC,CAAA;SAC/E;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QACvD,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAEM,KAAK,CAAC,OAAO,CAAI,GAAW;QAC/B,MAAM,aAAa,GAAG,IAAI,cAAc,EAAE,CAAA;QAC1C,aAAa,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACnD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,aAAa,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEO,KAAK,CAAC,eAAe,CAAI,iBAAuC,EAAE,GAAa,EAAE,GAAW,EAAE,MAAyB;QAC3H,iBAAiB,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC;QAC5C,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;YACnB,iBAAiB,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC;YAChD,OAAO,iBAAiB,CAAC;SAC5B;QACD,IAAI;YACA,iBAAiB,CAAC,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpD;QAAC,OAAO,CAAM,EAAE;YACb,CAAC,CAAC,OAAO,IAAI,mBAAmB,GAAG,GAAG,CAAA;YACtC,MAAM,CAAC,CAAC;SACX;QACD,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAI,GAAW,EAAE,WAAwB;QACxE,MAAM,iBAAiB,GAAG,EAA0B,CAAC;QACrD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;YACjC,MAAM,mBAAmB,GAAG,EAAC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,YAAY,EAAC,CAAC;YAC7E,WAAW,CAAC,OAAO,GAAG,EAAC,GAAG,mBAAmB,EAAE,GAAG,WAAW,CAAC,OAAO,EAAC,CAAC;SAC1E;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC1C,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,aAAa,EAAE,CAAC,CAAC;IACxF,CAAC;CACJ"}
@@ -0,0 +1,2 @@
1
+ export * from './restservice/index.js';
2
+ export * from './parser/index.js';
@@ -1,4 +1,4 @@
1
- import { ResponseParser } from "../parser/responseParser";
1
+ import { ResponseParser } from "../parser/responseParser.js";
2
2
  export declare class DefaultParser<T> implements ResponseParser<T> {
3
3
  parse(response: Response): Promise<T>;
4
4
  }
@@ -0,0 +1,2 @@
1
+ export * from './defaultParser.js';
2
+ export * from './responseParser.js';
File without changes
@@ -0,0 +1,3 @@
1
+ export * from './dataRequestResult.js';
2
+ export * from './piRestService.js';
3
+ export * from './requestOptions.js';
@@ -1,6 +1,6 @@
1
- import DataRequestResult from "./dataRequestResult";
2
- import { ResponseParser } from "../parser/responseParser";
3
- import { RequestOptions } from "./requestOptions";
1
+ import DataRequestResult from "./dataRequestResult.js";
2
+ import { ResponseParser } from "../parser/responseParser.js";
3
+ import { RequestOptions } from "./requestOptions.js";
4
4
  export declare class PiRestService {
5
5
  private readonly webserviceUrl;
6
6
  private _oauth2Token;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deltares/fews-web-oc-utils",
3
- "version": "0.1.11",
3
+ "version": "0.2.0",
4
4
  "description": "Util Library for common Web OC functionality",
5
5
  "author": {
6
6
  "name": "Werner Kramer",
@@ -13,12 +13,20 @@
13
13
  "Web OC"
14
14
  ],
15
15
  "license": "MIT",
16
- "main": "./dist/fews-web-oc-utils.umd.js",
17
- "typings": "./dist/types/index.d.ts",
16
+ "type": "module",
17
+ "exports": {
18
+ "import": "./lib/esm/index.js",
19
+ "require": "./lib/cjs/index.js"
20
+ },
21
+ "main": "./lib/cjs/index.js",
22
+ "module": "./lib/esm/index.js",
23
+ "typings": "./lib/types/index.d.ts",
18
24
  "private": false,
19
25
  "scripts": {
20
- "build": "npm run clean && tsc && webpack",
21
- "clean": "shx rm -rf dist",
26
+ "build": "npm run clean && npm run build:esm && npm run build:cjs && webpack",
27
+ "build:esm": "tsc",
28
+ "build:cjs": "tsc --module commonjs --outDir lib/cjs",
29
+ "clean": "shx rm -rf lib dist",
22
30
  "doc": "typedoc --out doc src",
23
31
  "lint": "eslint src/**.ts",
24
32
  "lint:fix": "eslint src/**.ts --fix",
@@ -57,7 +65,7 @@
57
65
  },
58
66
  "files": [
59
67
  "dist/*",
60
- "src/*"
68
+ "lib/*"
61
69
  ],
62
70
  "repository": {
63
71
  "type": "git",
package/dist/lib/index.js DELETED
@@ -1,3 +0,0 @@
1
- export * from './restservice';
2
- export * from './parser';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA"}
@@ -1,3 +0,0 @@
1
- export * from './defaultParser';
2
- export * from './responseParser';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parser/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
@@ -1,4 +0,0 @@
1
- export * from './dataRequestResult';
2
- export * from './piRestService';
3
- export * from './requestOptions';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"piRestService.js","sourceRoot":"","sources":["../../../src/restservice/piRestService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AACxC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,MAAM,OAAO,aAAa;IACL,aAAa,CAAS;IAC/B,YAAY,GAAuB,SAAS,CAAC;IAErD,IAAI,WAAW,CAAC,KAAa;QACzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,YAAY,aAAqB;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAI,GAAW,EAAE,aAA6B,EAAE,MAAyB;QACnG,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9E,MAAM,iBAAiB,GAAG,EAA0B,CAAC;QACrD,MAAM,iBAAiB,GAAG,EAAiB,CAAC;QAC5C,iBAAiB,CAAC,MAAM,GAAG,KAAK,CAAC;QACjC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;YACjC,iBAAiB,CAAC,OAAO,GAAG,EAAC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,YAAY,EAAC,CAAA;SAC/E;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QACvD,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAEM,KAAK,CAAC,OAAO,CAAI,GAAW;QAC/B,MAAM,aAAa,GAAG,IAAI,cAAc,EAAE,CAAA;QAC1C,aAAa,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACnD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,aAAa,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEO,KAAK,CAAC,eAAe,CAAI,iBAAuC,EAAE,GAAa,EAAE,GAAW,EAAE,MAAyB;QAC3H,iBAAiB,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC;QAC5C,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;YACnB,iBAAiB,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC;YAChD,OAAO,iBAAiB,CAAC;SAC5B;QACD,IAAI;YACA,iBAAiB,CAAC,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpD;QAAC,OAAO,CAAM,EAAE;YACb,CAAC,CAAC,OAAO,IAAI,mBAAmB,GAAG,GAAG,CAAA;YACtC,MAAM,CAAC,CAAC;SACX;QACD,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAI,GAAW,EAAE,WAAwB;QACxE,MAAM,iBAAiB,GAAG,EAA0B,CAAC;QACrD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;YACjC,MAAM,mBAAmB,GAAG,EAAC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,YAAY,EAAC,CAAC;YAC7E,WAAW,CAAC,OAAO,GAAG,EAAC,GAAG,mBAAmB,EAAE,GAAG,WAAW,CAAC,OAAO,EAAC,CAAC;SAC1E;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC1C,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,aAAa,EAAE,CAAC,CAAC;IACxF,CAAC;CACJ"}
@@ -1,2 +0,0 @@
1
- export * from './restservice';
2
- export * from './parser';
@@ -1,2 +0,0 @@
1
- export * from './defaultParser';
2
- export * from './responseParser';
@@ -1,3 +0,0 @@
1
- export * from './dataRequestResult';
2
- export * from './piRestService';
3
- export * from './requestOptions';
package/src/index.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from './restservice'
2
- export * from './parser'
@@ -1,7 +0,0 @@
1
- import {ResponseParser} from "../parser/responseParser";
2
-
3
- export class DefaultParser<T> implements ResponseParser<T> {
4
- async parse(response: Response): Promise<T> {
5
- return await response.json()
6
- }
7
- }
@@ -1,2 +0,0 @@
1
- export * from './defaultParser'
2
- export * from './responseParser'
@@ -1,3 +0,0 @@
1
- export interface ResponseParser<T> {
2
- parse(response: Response): Promise<T>;
3
- }
@@ -1,6 +0,0 @@
1
- export default interface DataRequestResult<T> {
2
- responseCode: number;
3
- errorMessage: string;
4
- data: T;
5
-
6
- }
@@ -1,3 +0,0 @@
1
- export * from './dataRequestResult'
2
- export * from './piRestService'
3
- export * from './requestOptions'
@@ -1,60 +0,0 @@
1
- import DataRequestResult from "./dataRequestResult";
2
- import {ResponseParser} from "../parser/responseParser";
3
- import {DefaultParser} from "../parser";
4
- import {RequestOptions} from "./requestOptions";
5
-
6
- export class PiRestService {
7
- private readonly webserviceUrl: string;
8
- private _oauth2Token: string | undefined = undefined;
9
-
10
- set oauth2Token(value: string) {
11
- this._oauth2Token = value;
12
- }
13
-
14
- constructor(webserviceUrl: string) {
15
- this.webserviceUrl = webserviceUrl;
16
- }
17
-
18
- public async getDataWithParser<T>(url: string, requestOption: RequestOptions, parser: ResponseParser<T>): Promise<DataRequestResult<T>> {
19
- const requestUrl = requestOption.relativeUrl ? this.webserviceUrl + url : url;
20
- const dataRequestResult = {} as DataRequestResult<T>;
21
- const requestParameters = {} as RequestInit;
22
- requestParameters.method = "GET";
23
- if (this._oauth2Token !== undefined) {
24
- requestParameters.headers = {"Authorization": "Bearer " + this._oauth2Token}
25
- }
26
- const res = await fetch(requestUrl, requestParameters);
27
- return await this.processResponse(dataRequestResult, res, requestUrl, parser);
28
- }
29
-
30
- public async getData<T>(url: string): Promise<DataRequestResult<T>> {
31
- const requestOption = new RequestOptions()
32
- requestOption.relativeUrl = !url.startsWith("http")
33
- return this.getDataWithParser(url, requestOption, new DefaultParser());
34
- }
35
-
36
- private async processResponse<T>(dataRequestResult: DataRequestResult<T>, res: Response, url: string, parser: ResponseParser<T>): Promise<DataRequestResult<T>> {
37
- dataRequestResult.responseCode = res.status;
38
- if (res.status != 200) {
39
- dataRequestResult.errorMessage = res.statusText;
40
- return dataRequestResult;
41
- }
42
- try {
43
- dataRequestResult.data = await parser.parse(res);
44
- } catch (e: any) {
45
- e.message += `\n When loading ${url}.`
46
- throw e;
47
- }
48
- return dataRequestResult;
49
- }
50
-
51
- public async getDataWithRequestInit<T>(url: string, requestInit: RequestInit): Promise<DataRequestResult<T>> {
52
- const dataRequestResult = {} as DataRequestResult<T>;
53
- if (this._oauth2Token !== undefined) {
54
- const authorizationHeader = {"Authorization": "Bearer " + this._oauth2Token};
55
- requestInit.headers = {...authorizationHeader, ...requestInit.headers};
56
- }
57
- const res = await fetch(url, requestInit);
58
- return await this.processResponse(dataRequestResult, res, url, new DefaultParser());
59
- }
60
- }
@@ -1,22 +0,0 @@
1
- export class RequestOptions {
2
- private _mode = "cors";
3
- private _relativeUrl = true;
4
-
5
-
6
- get relativeUrl(): boolean {
7
- return this._relativeUrl;
8
- }
9
-
10
- set relativeUrl(value) {
11
- this._relativeUrl = value;
12
- }
13
-
14
- get mode(): string {
15
- return this._mode;
16
- }
17
-
18
- set mode(value: string) {
19
- this._mode = value;
20
- }
21
-
22
- }