@qoretechnologies/reqraft 0.8.3 → 0.8.4

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.
@@ -21,6 +21,8 @@ export interface IReqraftQueryConfig {
21
21
  cache?: boolean;
22
22
  queryClient?: QueryClient;
23
23
  noApiPrefix?: boolean;
24
+ /** Override the global instance URL for this single call (e.g. to target a different port). */
25
+ instance?: string;
24
26
  }
25
- export declare function query<T>({ url, method, body, cache, queryClient, noApiPrefix, }: IReqraftQueryConfig): Promise<IReqraftFetchResponse<T>>;
27
+ export declare function query<T>({ url, method, body, cache, queryClient, noApiPrefix, instance, }: IReqraftQueryConfig): Promise<IReqraftFetchResponse<T>>;
26
28
  //# sourceMappingURL=fetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC;CACjE;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC;IACR,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,EAAE,mBAIzB,CAAC;AAIF,eAAO,MAAM,UAAU,6EAKpB,mBAAmB,SAQrB,CAAC;AA+BF,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,KAAK,CAAC,CAAC,EAAE,EAC7B,GAAG,EACH,MAAc,EACd,IAAI,EACJ,KAAY,EACZ,WAAgC,EAChC,WAAmB,GACpB,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAmDzD"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC;CACjE;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC;IACR,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,EAAE,mBAIzB,CAAC;AAIF,eAAO,MAAM,UAAU,6EAKpB,mBAAmB,SAQrB,CAAC;AAgCF,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,KAAK,CAAC,CAAC,EAAE,EAC7B,GAAG,EACH,MAAc,EACd,IAAI,EACJ,KAAY,EACZ,WAAgC,EAChC,WAAmB,EACnB,QAAQ,GACT,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAmDzD"}
@@ -55,10 +55,11 @@ var setupFetch = function (_a) {
55
55
  };
56
56
  exports.setupFetch = setupFetch;
57
57
  function doFetchData(url_1) {
58
- return __awaiter(this, arguments, void 0, function (url, method, body, noApiPrefix) {
58
+ return __awaiter(this, arguments, void 0, function (url, method, body, noApiPrefix, instance) {
59
59
  var headers;
60
60
  if (method === void 0) { method = 'GET'; }
61
61
  if (noApiPrefix === void 0) { noApiPrefix = false; }
62
+ if (instance === void 0) { instance = exports.fetchConfig.instance; }
62
63
  return __generator(this, function (_a) {
63
64
  headers = {
64
65
  'Content-Type': 'application/json',
@@ -66,7 +67,7 @@ function doFetchData(url_1) {
66
67
  if (exports.fetchConfig.instanceToken && !exports.fetchConfig.instanceRbacDisabled) {
67
68
  headers['Authorization'] = "Bearer ".concat(exports.fetchConfig.instanceToken);
68
69
  }
69
- return [2 /*return*/, fetch("".concat(exports.fetchConfig.instance).concat(noApiPrefix ? '' : 'api/latest/').concat(url), {
70
+ return [2 /*return*/, fetch("".concat(instance).concat(noApiPrefix ? '' : 'api/latest/').concat(url), {
70
71
  method: method,
71
72
  headers: headers,
72
73
  body: JSON.stringify(body),
@@ -84,7 +85,7 @@ function query(_a) {
84
85
  return __awaiter(this, arguments, void 0, function (_b) {
85
86
  var shouldCache, cacheKey, requestData;
86
87
  var _this = this;
87
- var url = _b.url, _c = _b.method, method = _c === void 0 ? 'GET' : _c, body = _b.body, _d = _b.cache, cache = _d === void 0 ? true : _d, _e = _b.queryClient, queryClient = _e === void 0 ? ReqraftProvider_1.ReqraftQueryClient : _e, _f = _b.noApiPrefix, noApiPrefix = _f === void 0 ? false : _f;
88
+ var url = _b.url, _c = _b.method, method = _c === void 0 ? 'GET' : _c, body = _b.body, _d = _b.cache, cache = _d === void 0 ? true : _d, _e = _b.queryClient, queryClient = _e === void 0 ? ReqraftProvider_1.ReqraftQueryClient : _e, _f = _b.noApiPrefix, noApiPrefix = _f === void 0 ? false : _f, instance = _b.instance;
88
89
  return __generator(this, function (_g) {
89
90
  switch (_g.label) {
90
91
  case 0:
@@ -96,7 +97,7 @@ function query(_a) {
96
97
  var response, clone, data, error_1;
97
98
  return __generator(this, function (_a) {
98
99
  switch (_a.label) {
99
- case 0: return [4 /*yield*/, doFetchData(url, method, body, noApiPrefix)];
100
+ case 0: return [4 /*yield*/, doFetchData(url, method, body, noApiPrefix, instance)];
100
101
  case 1:
101
102
  response = _a.sent();
102
103
  if (response.status === 401 && exports.fetchConfig.unauthorizedRedirect) {
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gEAAkE;AAiBrD,QAAA,WAAW,GAAwB;IAC9C,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG;IACtC,aAAa,EAAE,EAAE;IACjB,oBAAoB,EAAE,UAAC,QAA4B,IAAK,OAAA,iBAAU,QAAQ,CAAC,QAAQ,CAAE,EAA7B,CAA6B;CACtF,CAAC;AAEF,IAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAElD,IAAM,UAAU,GAAG,UAAC,EAKL;QAJpB,QAAQ,cAAA,EACR,aAAa,mBAAA,EACb,oBAAoB,0BAAA,EACpB,oBAAoB,0BAAA;IAEpB,mBAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAChC,mBAAW,CAAC,aAAa,GAAG,aAAa,CAAC;IAC1C,mBAAW,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IAExD,IAAI,oBAAoB,EAAE,CAAC;QACzB,mBAAW,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAbW,QAAA,UAAU,cAarB;AAEF,SAAe,WAAW;wDACxB,GAAW,EACX,MAAc,EACd,IAA6B,EAC7B,WAAmB,EACnB,QAA+B;;QAH/B,uBAAA,EAAA,cAAc;QAEd,4BAAA,EAAA,mBAAmB;QACnB,yBAAA,EAAA,WAAW,mBAAW,CAAC,QAAQ;;YAIzB,OAAO,GAAG;gBACd,cAAc,EAAE,kBAAkB;aACnC,CAAC;YAEF,IAAI,mBAAW,CAAC,aAAa,IAAI,CAAC,mBAAW,CAAC,oBAAoB,EAAE,CAAC;gBACnE,OAAO,CAAC,eAAe,CAAC,GAAG,iBAAU,mBAAW,CAAC,aAAa,CAAE,CAAC;YACnE,CAAC;YAED,sBAAO,KAAK,CAAC,UAAG,QAAQ,SAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,SAAG,GAAG,CAAE,EAAE;oBACnE,MAAM,QAAA;oBACN,OAAO,SAAA;oBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC1B,WAAW,EAAE,SAAS;iBACvB,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;oBACb,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;wBACtC,MAAM,EAAE,GAAG;wBACX,UAAU,EAAE,yBAAkB,KAAK,CAAC,OAAO,CAAE;qBAC9C,CAAC,CAAC;gBACL,CAAC,CAAC,EAAC;;;CACJ;AAaD,SAAsB,KAAK;wDAAI,EAQT;;;YAPpB,GAAG,SAAA,EACH,cAAc,EAAd,MAAM,mBAAG,KAAK,KAAA,EACd,IAAI,UAAA,EACJ,aAAY,EAAZ,KAAK,mBAAG,IAAI,KAAA,EACZ,mBAAgC,EAAhC,WAAW,mBAAG,oCAAkB,KAAA,EAChC,mBAAmB,EAAnB,WAAW,mBAAG,KAAK,KAAA,EACnB,QAAQ,cAAA;;;;oBAEF,WAAW,GAAG,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;oBACvE,QAAQ,GAAG,UAAG,GAAG,cAAI,MAAM,cAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAE,CAAC;oBAE9C,qBAAM,WAAW,CAAC,UAAU,CAAC;4BAC/C,QAAQ,EAAE,CAAC,QAAQ,CAAC;4BACpB,OAAO,EAAE;;;;gDACU,qBAAM,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAA;;4CAAtE,QAAQ,GAAG,SAA2D;4CAE5E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,mBAAW,CAAC,oBAAoB,EAAE,CAAC;gDAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,mBAAW,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;4CAC3E,CAAC;4CAEK,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;;;;4CAItB,qBAAM,KAAK,CAAC,IAAI,EAAE,EAAA;;4CAAzB,IAAI,GAAG,SAAkB,CAAC;;;;4CAE1B,IAAI,GAAG,EAAE,CAAC;;gDAGZ,sBAAO;gDACL,IAAI,MAAA;gDACJ,EAAE,EAAE,QAAQ,CAAC,EAAE;gDACf,MAAM,EAAE,QAAQ,CAAC,MAAM;gDACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;gDAC/B,QAAQ,UAAA;6CACT,EAAC;;;iCACH;4BACD,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;yBACnD,CAAC,EAAA;;oBA3BI,WAAW,GAAG,SA2BlB;oBAEF,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;wBACpB,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAExD,sBAAO;gCACL,IAAI,EAAE,WAAW,CAAC,IAAI;gCACtB,EAAE,EAAE,KAAK;gCACT,IAAI,EAAE,WAAW,CAAC,MAAM;gCACxB,KAAK,EAAE,WAAW,CAAC,UAAU;gCAC7B,QAAQ,EAAE,WAAW,CAAC,QAAQ;6BAC/B,EAAC;oBACJ,CAAC;oBAED,sBAAO;4BACL,IAAI,EAAE,WAAW,CAAC,IAAI;4BACtB,EAAE,EAAE,IAAI;4BACR,IAAI,EAAE,WAAW,CAAC,MAAM;4BACxB,QAAQ,EAAE,WAAW,CAAC,QAAQ;yBAC/B,EAAC;;;;CACH;AA3DD,sBA2DC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qoretechnologies/reqraft",
3
- "version": "0.8.3",
3
+ "version": "0.8.4",
4
4
  "description": "ReQraft is a collection of React components and hooks that are used across Qore Technologies' products made using the ReQore component library from Qore.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -43,7 +43,8 @@ async function doFetchData(
43
43
  url: string,
44
44
  method = 'GET',
45
45
  body?: { [key: string]: any },
46
- noApiPrefix = false
46
+ noApiPrefix = false,
47
+ instance = fetchConfig.instance
47
48
  ): Promise<Response> {
48
49
  // We do not check for token because Qorus now handles auth automatically via cookies
49
50
  // token is only supplied in a dev environment
@@ -55,7 +56,7 @@ async function doFetchData(
55
56
  headers['Authorization'] = `Bearer ${fetchConfig.instanceToken}`;
56
57
  }
57
58
 
58
- return fetch(`${fetchConfig.instance}${noApiPrefix ? '' : 'api/latest/'}${url}`, {
59
+ return fetch(`${instance}${noApiPrefix ? '' : 'api/latest/'}${url}`, {
59
60
  method,
60
61
  headers,
61
62
  body: JSON.stringify(body),
@@ -75,6 +76,8 @@ export interface IReqraftQueryConfig {
75
76
  cache?: boolean;
76
77
  queryClient?: QueryClient;
77
78
  noApiPrefix?: boolean;
79
+ /** Override the global instance URL for this single call (e.g. to target a different port). */
80
+ instance?: string;
78
81
  }
79
82
 
80
83
  export async function query<T>({
@@ -84,6 +87,7 @@ export async function query<T>({
84
87
  cache = true,
85
88
  queryClient = ReqraftQueryClient,
86
89
  noApiPrefix = false,
90
+ instance,
87
91
  }: IReqraftQueryConfig): Promise<IReqraftFetchResponse<T>> {
88
92
  const shouldCache = method === 'DELETE' || method === 'POST' ? false : cache;
89
93
  const cacheKey = `${url}:${method}:${JSON.stringify(body || {})}`;
@@ -91,7 +95,7 @@ export async function query<T>({
91
95
  const requestData = await queryClient.fetchQuery({
92
96
  queryKey: [cacheKey],
93
97
  queryFn: async () => {
94
- const response = await doFetchData(url, method, body, noApiPrefix);
98
+ const response = await doFetchData(url, method, body, noApiPrefix, instance);
95
99
 
96
100
  if (response.status === 401 && fetchConfig.unauthorizedRedirect) {
97
101
  window.location.href = fetchConfig.unauthorizedRedirect(window.location);