@deltares/fews-web-oc-utils 0.1.11 → 0.2.1-alpha.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 (60) hide show
  1. package/dist/fews-web-oc-utils.umd.js +1 -1
  2. package/lib/cjs/index.js +6 -0
  3. package/lib/cjs/index.js.map +1 -0
  4. package/lib/cjs/parser/defaultParser.js +10 -0
  5. package/lib/cjs/parser/defaultParser.js.map +1 -0
  6. package/lib/cjs/parser/index.js +6 -0
  7. package/lib/cjs/parser/index.js.map +1 -0
  8. package/lib/cjs/parser/responseParser.js +3 -0
  9. package/lib/cjs/restservice/dataRequestResult.js +3 -0
  10. package/lib/cjs/restservice/index.js +7 -0
  11. package/lib/cjs/restservice/index.js.map +1 -0
  12. package/lib/cjs/restservice/piRestService.js +52 -0
  13. package/lib/cjs/restservice/piRestService.js.map +1 -0
  14. package/lib/cjs/restservice/requestOptions.js +21 -0
  15. package/lib/cjs/restservice/requestOptions.js.map +1 -0
  16. package/lib/esm/index.js +3 -0
  17. package/lib/esm/index.js.map +1 -0
  18. package/lib/esm/parser/index.js +3 -0
  19. package/lib/esm/parser/index.js.map +1 -0
  20. package/lib/esm/parser/responseParser.js.map +1 -0
  21. package/lib/esm/restservice/dataRequestResult.js.map +1 -0
  22. package/lib/esm/restservice/index.js +4 -0
  23. package/{dist/lib → lib/esm}/restservice/index.js.map +1 -1
  24. package/{dist/lib → lib/esm}/restservice/piRestService.js +15 -20
  25. package/lib/esm/restservice/piRestService.js.map +1 -0
  26. package/lib/types/index.d.ts +2 -0
  27. package/{dist → lib}/types/parser/defaultParser.d.ts +1 -1
  28. package/lib/types/parser/index.d.ts +2 -0
  29. package/lib/types/restservice/index.d.ts +3 -0
  30. package/lib/types/restservice/piRestService.d.ts +14 -0
  31. package/package.json +14 -6
  32. package/dist/lib/index.js +0 -3
  33. package/dist/lib/index.js.map +0 -1
  34. package/dist/lib/parser/index.js +0 -3
  35. package/dist/lib/parser/index.js.map +0 -1
  36. package/dist/lib/restservice/index.js +0 -4
  37. package/dist/lib/restservice/piRestService.js.map +0 -1
  38. package/dist/types/index.d.ts +0 -2
  39. package/dist/types/parser/index.d.ts +0 -2
  40. package/dist/types/restservice/index.d.ts +0 -3
  41. package/dist/types/restservice/piRestService.d.ts +0 -13
  42. package/src/index.ts +0 -2
  43. package/src/parser/defaultParser.ts +0 -7
  44. package/src/parser/index.ts +0 -2
  45. package/src/parser/responseParser.ts +0 -3
  46. package/src/restservice/dataRequestResult.ts +0 -6
  47. package/src/restservice/index.ts +0 -3
  48. package/src/restservice/piRestService.ts +0 -60
  49. package/src/restservice/requestOptions.ts +0 -22
  50. /package/{dist/lib → lib/cjs}/parser/responseParser.js.map +0 -0
  51. /package/{dist/lib → lib/cjs}/restservice/dataRequestResult.js.map +0 -0
  52. /package/{dist/lib → lib/esm}/parser/defaultParser.js +0 -0
  53. /package/{dist/lib → lib/esm}/parser/defaultParser.js.map +0 -0
  54. /package/{dist/lib → lib/esm}/parser/responseParser.js +0 -0
  55. /package/{dist/lib → lib/esm}/restservice/dataRequestResult.js +0 -0
  56. /package/{dist/lib → lib/esm}/restservice/requestOptions.js +0 -0
  57. /package/{dist/lib → lib/esm}/restservice/requestOptions.js.map +0 -0
  58. /package/{dist → lib}/types/parser/responseParser.d.ts +0 -0
  59. /package/{dist → lib}/types/restservice/dataRequestResult.d.ts +0 -0
  60. /package/{dist → lib}/types/restservice/requestOptions.d.ts +0 -0
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["fews-web-oc-utils"]=t():e["fews-web-oc-utils"]=t()}(self,(function(){return(()=>{"use strict";var e={d:(t,r)=>{for(var s in r)e.o(r,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:r[s]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{DefaultParser:()=>r,PiRestService:()=>o,RequestOptions:()=>s});class r{async parse(e){return await e.json()}}class s{_mode="cors";_relativeUrl=!0;get relativeUrl(){return this._relativeUrl}set relativeUrl(e){this._relativeUrl=e}get mode(){return this._mode}set mode(e){this._mode=e}}class o{webserviceUrl;_oauth2Token=void 0;set oauth2Token(e){this._oauth2Token=e}constructor(e){this.webserviceUrl=e}async getDataWithParser(e,t,r){const s=t.relativeUrl?this.webserviceUrl+e:e,o={method:"GET"};void 0!==this._oauth2Token&&(o.headers={Authorization:"Bearer "+this._oauth2Token});const a=await fetch(s,o);return await this.processResponse({},a,s,r)}async getData(e){const t=new s;return t.relativeUrl=!e.startsWith("http"),this.getDataWithParser(e,t,new r)}async processResponse(e,t,r,s){if(e.responseCode=t.status,200!=t.status)return e.errorMessage=t.statusText,e;try{e.data=await s.parse(t)}catch(e){throw e.message+=`\n When loading ${r}.`,e}return e}async getDataWithRequestInit(e,t){if(void 0!==this._oauth2Token){const e={Authorization:"Bearer "+this._oauth2Token};t.headers={...e,...t.headers}}const s=await fetch(e,t);return await this.processResponse({},s,e,new r)}}return t})()}));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["fews-web-oc-utils"]=t():e["fews-web-oc-utils"]=t()}(self,(function(){return(()=>{"use strict";var e={d:(t,r)=>{for(var s in r)e.o(r,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:r[s]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{DefaultParser:()=>r,PiRestService:()=>o,RequestOptions:()=>s});class r{async parse(e){return await e.json()}}class s{_mode="cors";_relativeUrl=!0;get relativeUrl(){return this._relativeUrl}set relativeUrl(e){this._relativeUrl=e}get mode(){return this._mode}set mode(e){this._mode=e}}class o{webserviceUrl;transformRequest;constructor(e,t){if(this.webserviceUrl=e,void 0!==t)this.transformRequest=t;else{async function r(e){return e}this.transformRequest=r}}async getDataWithParser(e,t,r){const s=t.relativeUrl?this.webserviceUrl+e:e,o=new Request(s,{method:"GET"}),a=await fetch(await this.transformRequest(o));return await this.processResponse({},a,s,r)}async getData(e){const t=new s;return t.relativeUrl=!e.startsWith("http"),this.getDataWithParser(e,t,new r)}async processResponse(e,t,r,s){if(e.responseCode=t.status,200!=t.status)return e.errorMessage=t.statusText,e;try{e.data=await s.parse(t)}catch(e){throw e.message+=`\n When loading ${r}.`,e}return e}}return t})()}));
@@ -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,52 @@
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
+ transformRequest;
9
+ constructor(webserviceUrl, transformRequestFn) {
10
+ this.webserviceUrl = webserviceUrl;
11
+ if (transformRequestFn !== undefined) {
12
+ this.transformRequest = transformRequestFn;
13
+ }
14
+ else {
15
+ async function transformRequestFn(request) {
16
+ return request;
17
+ }
18
+ this.transformRequest = transformRequestFn;
19
+ }
20
+ }
21
+ async getDataWithParser(url, requestOption, parser) {
22
+ const requestUrl = requestOption.relativeUrl ? this.webserviceUrl + url : url;
23
+ const dataRequestResult = {};
24
+ const requestParameters = {};
25
+ requestParameters.method = "GET";
26
+ const request = new Request(requestUrl, requestParameters);
27
+ const res = await fetch(await this.transformRequest(request));
28
+ return await this.processResponse(dataRequestResult, res, requestUrl, parser);
29
+ }
30
+ async getData(url) {
31
+ const requestOption = new requestOptions_js_1.RequestOptions();
32
+ requestOption.relativeUrl = !url.startsWith("http");
33
+ return this.getDataWithParser(url, requestOption, new defaultParser_js_1.DefaultParser());
34
+ }
35
+ async processResponse(dataRequestResult, res, url, parser) {
36
+ dataRequestResult.responseCode = res.status;
37
+ if (res.status != 200) {
38
+ dataRequestResult.errorMessage = res.statusText;
39
+ return dataRequestResult;
40
+ }
41
+ try {
42
+ dataRequestResult.data = await parser.parse(res);
43
+ }
44
+ catch (e) {
45
+ e.message += `\n When loading ${url}.`;
46
+ throw e;
47
+ }
48
+ return dataRequestResult;
49
+ }
50
+ }
51
+ exports.PiRestService = PiRestService;
52
+ //# 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;AAMnD,MAAa,aAAa;IACL,aAAa,CAAS;IAC/B,gBAAgB,CAA2B;IAEnD,YAAY,aAAqB,EAAE,kBAA6C;QAC5E,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,kBAAkB,KAAK,SAAS,EAAE;YAClC,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAA;SAC7C;aAAM;YACH,KAAK,UAAU,kBAAkB,CAAC,OAAgB;gBAC9C,OAAO,OAAO,CAAA;YAClB,CAAC;YACD,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAA;SAC7C;IACL,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,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,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;CACJ;AA9CD,sCA8CC"}
@@ -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"}
@@ -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"}
@@ -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,23 +1,27 @@
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
- _oauth2Token = undefined;
6
- set oauth2Token(value) {
7
- this._oauth2Token = value;
8
- }
9
- constructor(webserviceUrl) {
5
+ transformRequest;
6
+ constructor(webserviceUrl, transformRequestFn) {
10
7
  this.webserviceUrl = webserviceUrl;
8
+ if (transformRequestFn !== undefined) {
9
+ this.transformRequest = transformRequestFn;
10
+ }
11
+ else {
12
+ async function transformRequestFn(request) {
13
+ return request;
14
+ }
15
+ this.transformRequest = transformRequestFn;
16
+ }
11
17
  }
12
18
  async getDataWithParser(url, requestOption, parser) {
13
19
  const requestUrl = requestOption.relativeUrl ? this.webserviceUrl + url : url;
14
20
  const dataRequestResult = {};
15
21
  const requestParameters = {};
16
22
  requestParameters.method = "GET";
17
- if (this._oauth2Token !== undefined) {
18
- requestParameters.headers = { "Authorization": "Bearer " + this._oauth2Token };
19
- }
20
- const res = await fetch(requestUrl, requestParameters);
23
+ const request = new Request(requestUrl, requestParameters);
24
+ const res = await fetch(await this.transformRequest(request));
21
25
  return await this.processResponse(dataRequestResult, res, requestUrl, parser);
22
26
  }
23
27
  async getData(url) {
@@ -40,14 +44,5 @@ export class PiRestService {
40
44
  }
41
45
  return dataRequestResult;
42
46
  }
43
- async getDataWithRequestInit(url, requestInit) {
44
- const dataRequestResult = {};
45
- if (this._oauth2Token !== undefined) {
46
- const authorizationHeader = { "Authorization": "Bearer " + this._oauth2Token };
47
- requestInit.headers = { ...authorizationHeader, ...requestInit.headers };
48
- }
49
- const res = await fetch(url, requestInit);
50
- return await this.processResponse(dataRequestResult, res, url, new DefaultParser());
51
- }
52
47
  }
53
48
  //# sourceMappingURL=piRestService.js.map
@@ -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;AAMnD,MAAM,OAAO,aAAa;IACL,aAAa,CAAS;IAC/B,gBAAgB,CAA2B;IAEnD,YAAY,aAAqB,EAAE,kBAA6C;QAC5E,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,kBAAkB,KAAK,SAAS,EAAE;YAClC,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAA;SAC7C;aAAM;YACH,KAAK,UAAU,kBAAkB,CAAC,OAAgB;gBAC9C,OAAO,OAAO,CAAA;YAClB,CAAC;YACD,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAA;SAC7C;IACL,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,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,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;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';
@@ -0,0 +1,3 @@
1
+ export * from './dataRequestResult.js';
2
+ export * from './piRestService.js';
3
+ export * from './requestOptions.js';
@@ -0,0 +1,14 @@
1
+ import DataRequestResult from "./dataRequestResult.js";
2
+ import { ResponseParser } from "../parser/responseParser.js";
3
+ import { RequestOptions } from "./requestOptions.js";
4
+ export interface TransformRequestFunction {
5
+ (request: Request): Promise<Request>;
6
+ }
7
+ export declare class PiRestService {
8
+ private readonly webserviceUrl;
9
+ private transformRequest;
10
+ constructor(webserviceUrl: string, transformRequestFn?: TransformRequestFunction);
11
+ getDataWithParser<T>(url: string, requestOption: RequestOptions, parser: ResponseParser<T>): Promise<DataRequestResult<T>>;
12
+ getData<T>(url: string): Promise<DataRequestResult<T>>;
13
+ private processResponse;
14
+ }
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.1-alpha.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';
@@ -1,13 +0,0 @@
1
- import DataRequestResult from "./dataRequestResult";
2
- import { ResponseParser } from "../parser/responseParser";
3
- import { RequestOptions } from "./requestOptions";
4
- export declare class PiRestService {
5
- private readonly webserviceUrl;
6
- private _oauth2Token;
7
- set oauth2Token(value: string);
8
- constructor(webserviceUrl: string);
9
- getDataWithParser<T>(url: string, requestOption: RequestOptions, parser: ResponseParser<T>): Promise<DataRequestResult<T>>;
10
- getData<T>(url: string): Promise<DataRequestResult<T>>;
11
- private processResponse;
12
- getDataWithRequestInit<T>(url: string, requestInit: RequestInit): Promise<DataRequestResult<T>>;
13
- }
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
- }
File without changes
File without changes
File without changes