@bitblit/ratchet-graphql 6.1.197-alpha → 6.1.199-alpha

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.
@@ -0,0 +1,10 @@
1
+ import { GraphqlRatchetEndpointProvider } from './provider/graphql-ratchet-endpoint-provider.js';
2
+ import { GraphqlRatchetJwtTokenProvider } from './provider/graphql-ratchet-jwt-token-provider.js';
3
+ import { GraphqlRatchetQueryProvider } from './provider/graphql-ratchet-query-provider.js';
4
+ import { GraphqlRatchetErrorHandler } from './provider/graphql-ratchet-error-handler.js';
5
+ export interface GraphqlRatchetOptions {
6
+ queryProvider: GraphqlRatchetQueryProvider;
7
+ endpointProvider: GraphqlRatchetEndpointProvider;
8
+ jwtTokenProvider?: GraphqlRatchetJwtTokenProvider;
9
+ errorHandler?: GraphqlRatchetErrorHandler;
10
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=graphql-ratchet-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-ratchet-options.js","sourceRoot":"","sources":["../../src/graphql/graphql-ratchet-options.ts"],"names":[],"mappings":""}
@@ -1,17 +1,11 @@
1
- import { GraphqlRatchetEndpointProvider } from './provider/graphql-ratchet-endpoint-provider.js';
2
- import { GraphqlRatchetJwtTokenProvider } from './provider/graphql-ratchet-jwt-token-provider.js';
3
- import { GraphqlRatchetQueryProvider } from './provider/graphql-ratchet-query-provider.js';
4
- import { GraphqlRatchetErrorHandler } from './provider/graphql-ratchet-error-handler.js';
5
- import { AuthorizationStyle } from './authorization-style.js';
1
+ import { AuthorizationStyle } from "./authorization-style.js";
2
+ import { GraphqlRatchetOptions } from "./graphql-ratchet-options.ts";
6
3
  export declare class GraphqlRatchet {
7
- private queryProvider;
8
- private endpointProvider;
9
- private jwtTokenProvider?;
10
- private errorHandler;
11
4
  private clientCache;
12
5
  private noAuthClient;
13
6
  private cachedEndpoint;
14
- constructor(queryProvider: GraphqlRatchetQueryProvider, endpointProvider: GraphqlRatchetEndpointProvider, jwtTokenProvider?: GraphqlRatchetJwtTokenProvider, errorHandler?: GraphqlRatchetErrorHandler);
7
+ private ops;
8
+ constructor(opsIn: GraphqlRatchetOptions);
15
9
  currentAuthToken(): string;
16
10
  fetchQueryText(qry: string): Promise<string>;
17
11
  private createAnonymousApi;
@@ -1,33 +1,28 @@
1
- import { DefaultGraphqlRatchetErrorHandler } from './provider/default-graphql-ratchet-error-handler.js';
2
- import { RequireRatchet } from '@bitblit/ratchet-common/lang/require-ratchet';
3
- import { Logger } from '@bitblit/ratchet-common/logger/logger';
4
- import { ErrorRatchet } from '@bitblit/ratchet-common/lang/error-ratchet';
5
- import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
6
- import { GraphQLClient } from 'graphql-request';
7
- import { AuthorizationStyle } from './authorization-style.js';
1
+ import { DefaultGraphqlRatchetErrorHandler } from "./provider/default-graphql-ratchet-error-handler.js";
2
+ import { RequireRatchet } from "@bitblit/ratchet-common/lang/require-ratchet";
3
+ import { Logger } from "@bitblit/ratchet-common/logger/logger";
4
+ import { ErrorRatchet } from "@bitblit/ratchet-common/lang/error-ratchet";
5
+ import { StringRatchet } from "@bitblit/ratchet-common/lang/string-ratchet";
6
+ import { GraphQLClient } from "graphql-request";
7
+ import { AuthorizationStyle } from "./authorization-style.js";
8
8
  export class GraphqlRatchet {
9
- queryProvider;
10
- endpointProvider;
11
- jwtTokenProvider;
12
- errorHandler;
13
9
  clientCache = new Map();
14
10
  noAuthClient;
15
11
  cachedEndpoint;
16
- constructor(queryProvider, endpointProvider, jwtTokenProvider, errorHandler = new DefaultGraphqlRatchetErrorHandler()) {
17
- this.queryProvider = queryProvider;
18
- this.endpointProvider = endpointProvider;
19
- this.jwtTokenProvider = jwtTokenProvider;
20
- this.errorHandler = errorHandler;
21
- RequireRatchet.notNullOrUndefined(queryProvider, 'queryProvider');
22
- RequireRatchet.notNullOrUndefined(endpointProvider, 'endpointProvider');
23
- RequireRatchet.notNullOrUndefined(errorHandler, 'errorHandler');
24
- this.cachedEndpoint = this.endpointProvider.fetchGraphqlEndpoint();
12
+ ops;
13
+ constructor(opsIn) {
14
+ RequireRatchet.notNullOrUndefined(opsIn, 'opsIn');
15
+ RequireRatchet.notNullOrUndefined(opsIn.queryProvider, 'queryProvider');
16
+ RequireRatchet.notNullOrUndefined(opsIn.endpointProvider, 'endpointProvider');
17
+ RequireRatchet.notNullOrUndefined(opsIn.errorHandler, 'errorHandler');
18
+ this.ops = Object.assign({ errorHandler: new DefaultGraphqlRatchetErrorHandler() }, opsIn);
19
+ this.cachedEndpoint = this.ops.endpointProvider.fetchGraphqlEndpoint();
25
20
  }
26
21
  currentAuthToken() {
27
- return this?.jwtTokenProvider?.fetchJwtToken();
22
+ return this?.ops?.jwtTokenProvider?.fetchJwtToken();
28
23
  }
29
24
  async fetchQueryText(qry) {
30
- const text = await this.queryProvider.fetchQueryText(qry);
25
+ const text = await this.ops.queryProvider.fetchQueryText(qry);
31
26
  if (!text) {
32
27
  Logger.warn('Could not find requested query : %s', qry);
33
28
  }
@@ -39,8 +34,8 @@ export class GraphqlRatchet {
39
34
  return rval;
40
35
  }
41
36
  fetchApi(authStyle) {
42
- let rval = null;
43
- const jwtToken = authStyle === AuthorizationStyle.AlwaysAnonymous ? null : StringRatchet.trimToNull(this?.jwtTokenProvider?.fetchJwtToken());
37
+ let rval;
38
+ const jwtToken = authStyle === AuthorizationStyle.AlwaysAnonymous ? null : StringRatchet.trimToNull(this.ops.jwtTokenProvider?.fetchJwtToken());
44
39
  if (authStyle === AuthorizationStyle.TokenRequired && !jwtToken) {
45
40
  throw ErrorRatchet.fErr('No token provided, auth style is TokenRequired');
46
41
  }
@@ -82,7 +77,7 @@ export class GraphqlRatchet {
82
77
  return rval;
83
78
  }
84
79
  checkIfEndpointChanged() {
85
- const check = this.endpointProvider.fetchGraphqlEndpoint();
80
+ const check = this.ops.endpointProvider.fetchGraphqlEndpoint();
86
81
  if (check !== this.cachedEndpoint) {
87
82
  Logger.info('Endpoint changed from %s to %s - clearing apollo caches');
88
83
  this.clientCache = new Map();
@@ -128,7 +123,7 @@ export class GraphqlRatchet {
128
123
  }
129
124
  catch (err) {
130
125
  Logger.silly('Exception caught in executeQuery : %s %s %j %s', err, queryName, variables, authStyle, err);
131
- this.errorHandler.handleError(err, queryName, variables, authStyle);
126
+ this.ops.errorHandler.handleError(err, queryName, variables, authStyle);
132
127
  }
133
128
  return rval;
134
129
  }
@@ -149,7 +144,7 @@ export class GraphqlRatchet {
149
144
  }
150
145
  }
151
146
  catch (err) {
152
- this.errorHandler.handleError(err, queryName, variables, authStyle);
147
+ this.ops.errorHandler.handleError(err, queryName, variables, authStyle);
153
148
  }
154
149
  return rval;
155
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-ratchet.js","sourceRoot":"","sources":["../../src/graphql/graphql-ratchet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql-ratchet.js","sourceRoot":"","sources":["../../src/graphql/graphql-ratchet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,qDAAqD,CAAC;AAExG,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAO9D,MAAM,OAAO,cAAc;IACjB,WAAW,GAA+B,IAAI,GAAG,EAAyB,CAAC;IAC3E,YAAY,CAAgB;IAE5B,cAAc,CAAS;IACvB,GAAG,CAAwB;IAEnC,YACE,KAA4B;QAE5B,cAAc,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClD,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACxE,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QAE9E,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAC,YAAY,EAAE,IAAI,iCAAiC,EAAE,EAAC,EAAE,KAAK,CAAC,CAAC;QACzF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,CAAC;IACzE,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,EAAE,GAAG,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,GAAW;QACrC,MAAM,IAAI,GAAW,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,kBAAkB;QACxB,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAChD,MAAM,IAAI,GAAkB,IAAI,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,MAAM,EAAG,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,QAAQ,CAAC,SAA6B;QAC5C,IAAI,IAAmB,CAAC;QACxB,MAAM,QAAQ,GACZ,SAAS,KAAK,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,EAAE,CAAC,CAAC;QACjI,IAAI,SAAS,KAAK,kBAAkB,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChE,MAAM,YAAY,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtG,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAkB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC7D,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,QAAQ,CAAC,CAAC;gBAC7D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,QAAgB;QACpC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxH,cAAc,CAAC,sCAAsC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrF,MAAM,IAAI,GAAkB,IAAI,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE;YACjE,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,QAAQ,EAAE,EAAE;SACjD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sBAAsB;QAC5B,MAAM,KAAK,GAAW,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,CAAC;QACvE,IAAI,KAAK,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACvE,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;YACpD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC;IACH,CAAC;IAEM,WAAW;QAChB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,8BAA8B,CAAI,IAAS;QACvD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,YAAY,CAAC,IAAI,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,IAAI,GAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,YAAY,CAAC,iBAAiB,CAAC,qCAAqC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,IAAI,GAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,SAAiB,EACjB,SAA8B,EAC9B,YAAgC,kBAAkB,CAAC,aAAa;QAEhE,IAAI,IAAI,GAAM,IAAI,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,GAAkB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,SAAS,CAAC,CAAC;gBAC5D,MAAM,GAAG,GAAW,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBACzD,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAChF,MAAM,SAAS,GAAQ,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACzD,IAAI,GAAG,cAAc,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;gBAChE,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAC1G,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,SAAiB,EACjB,SAAc,EACd,YAAgC,kBAAkB,CAAC,aAAa;QAEhE,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACtD,IAAI,IAAI,GAAM,IAAI,CAAC;QACnB,MAAM,GAAG,GAAkB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,GAAG,GAAW,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBACzD,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAChF,MAAM,SAAS,GAAQ,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACzD,IAAI,GAAG,cAAc,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;gBAChE,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitblit/ratchet-graphql",
3
- "version": "6.1.197-alpha",
3
+ "version": "6.1.199-alpha",
4
4
  "description": "Ratchet tools to simplify use of graphql",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -47,12 +47,12 @@
47
47
  },
48
48
  "license": "Apache-2.0",
49
49
  "dependencies": {
50
- "@bitblit/ratchet-common": "6.1.197-alpha",
50
+ "@bitblit/ratchet-common": "6.1.199-alpha",
51
51
  "graphql": "16.12.0",
52
52
  "graphql-request": "7.4.0"
53
53
  },
54
54
  "peerDependencies": {
55
- "@bitblit/ratchet-common": "6.1.197-alpha",
55
+ "@bitblit/ratchet-common": "6.1.199-alpha",
56
56
  "graphql": "^16.12.0",
57
57
  "graphql-request": "^7.4.0"
58
58
  },
@@ -61,6 +61,10 @@
61
61
  "test": "vitest run",
62
62
  "test-coverage": "vitest run --coverage",
63
63
  "custom-publish": "pnpm publish --access public --provenance --tag $GITHUB_REF_NAME --no-git-checks",
64
- "clean": "shx rm -Rf lib"
64
+ "clean": "shx rm -Rf lib",
65
+ "pretty": "prettier src --write",
66
+ "lint": "eslint -c ../../eslint.config.mjs src/**/*.ts",
67
+ "lint-fix": "pnpm pretty && eslint --fix -c ../../eslint.config.mjs src/**/*.ts",
68
+ "generate-docs": "typedoc"
65
69
  }
66
70
  }
@@ -0,0 +1,12 @@
1
+ import { GraphqlRatchetEndpointProvider } from './provider/graphql-ratchet-endpoint-provider.js';
2
+ import { GraphqlRatchetJwtTokenProvider } from './provider/graphql-ratchet-jwt-token-provider.js';
3
+ import { GraphqlRatchetQueryProvider } from './provider/graphql-ratchet-query-provider.js';
4
+ import { GraphqlRatchetErrorHandler } from './provider/graphql-ratchet-error-handler.js';
5
+
6
+ export interface GraphqlRatchetOptions {
7
+ queryProvider: GraphqlRatchetQueryProvider;
8
+ endpointProvider: GraphqlRatchetEndpointProvider;
9
+ jwtTokenProvider?: GraphqlRatchetJwtTokenProvider;
10
+ errorHandler?: GraphqlRatchetErrorHandler;
11
+ }
12
+
@@ -1,7 +1,8 @@
1
- import { describe, expect, test } from 'vitest';
2
- import { GraphqlRatchet } from './graphql-ratchet';
3
- import { StringRecordQueryProvider } from './provider/string-record-query-provider';
4
- import { DefaultGraphqlRatchetEndpointProvider } from './provider/default-graphql-ratchet-endpoint-provider';
1
+ import { describe, expect, test } from "vitest";
2
+ import { GraphqlRatchet } from "./graphql-ratchet";
3
+ import { StringRecordQueryProvider } from "./provider/string-record-query-provider";
4
+ import { DefaultGraphqlRatchetEndpointProvider } from "./provider/default-graphql-ratchet-endpoint-provider";
5
+ import { AuthorizationStyle } from "./authorization-style";
5
6
 
6
7
  describe('#runTest', function () {
7
8
  test.skip('should pull defaults', async () => {
@@ -35,8 +36,8 @@ describe('#runTest', function () {
35
36
  );
36
37
 
37
38
  // Since this'll be self-signed
38
- process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
39
- const out: any = await gr.executeQuery<any>('q', {}, true);
39
+ // process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
40
+ const out: any = await gr.executeQuery<any>('q', {}, AuthorizationStyle.AnonymousIfNoTokenAvailable);
40
41
  expect(out).toBeTruthy();
41
42
  });
42
43
  });
@@ -1,15 +1,12 @@
1
- import { GraphqlRatchetEndpointProvider } from './provider/graphql-ratchet-endpoint-provider.js';
2
- import { GraphqlRatchetJwtTokenProvider } from './provider/graphql-ratchet-jwt-token-provider.js';
3
- import { GraphqlRatchetQueryProvider } from './provider/graphql-ratchet-query-provider.js';
4
- import { GraphqlRatchetErrorHandler } from './provider/graphql-ratchet-error-handler.js';
5
- import { DefaultGraphqlRatchetErrorHandler } from './provider/default-graphql-ratchet-error-handler.js';
6
-
7
- import { RequireRatchet } from '@bitblit/ratchet-common/lang/require-ratchet';
8
- import { Logger } from '@bitblit/ratchet-common/logger/logger';
9
- import { ErrorRatchet } from '@bitblit/ratchet-common/lang/error-ratchet';
10
- import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
11
- import { GraphQLClient } from 'graphql-request';
12
- import { AuthorizationStyle } from './authorization-style.js';
1
+ import { DefaultGraphqlRatchetErrorHandler } from "./provider/default-graphql-ratchet-error-handler.js";
2
+
3
+ import { RequireRatchet } from "@bitblit/ratchet-common/lang/require-ratchet";
4
+ import { Logger } from "@bitblit/ratchet-common/logger/logger";
5
+ import { ErrorRatchet } from "@bitblit/ratchet-common/lang/error-ratchet";
6
+ import { StringRatchet } from "@bitblit/ratchet-common/lang/string-ratchet";
7
+ import { GraphQLClient } from "graphql-request";
8
+ import { AuthorizationStyle } from "./authorization-style.js";
9
+ import { GraphqlRatchetOptions } from "./graphql-ratchet-options.ts";
13
10
 
14
11
  /**
15
12
  * This is a very simplistic client for non-cache use cases, etc. For more
@@ -20,26 +17,26 @@ export class GraphqlRatchet {
20
17
  private noAuthClient: GraphQLClient;
21
18
 
22
19
  private cachedEndpoint: string;
20
+ private ops: GraphqlRatchetOptions;
23
21
 
24
22
  constructor(
25
- private queryProvider: GraphqlRatchetQueryProvider,
26
- private endpointProvider: GraphqlRatchetEndpointProvider,
27
- private jwtTokenProvider?: GraphqlRatchetJwtTokenProvider,
28
- private errorHandler: GraphqlRatchetErrorHandler = new DefaultGraphqlRatchetErrorHandler(),
23
+ opsIn: GraphqlRatchetOptions
29
24
  ) {
30
- RequireRatchet.notNullOrUndefined(queryProvider, 'queryProvider');
31
- RequireRatchet.notNullOrUndefined(endpointProvider, 'endpointProvider');
25
+ RequireRatchet.notNullOrUndefined(opsIn, 'opsIn');
26
+ RequireRatchet.notNullOrUndefined(opsIn.queryProvider, 'queryProvider');
27
+ RequireRatchet.notNullOrUndefined(opsIn.endpointProvider, 'endpointProvider');
32
28
  //RequireRatchet.notNullOrUndefined(jwtTokenProvider, 'jwtTokenProvider');
33
- RequireRatchet.notNullOrUndefined(errorHandler, 'errorHandler');
34
- this.cachedEndpoint = this.endpointProvider.fetchGraphqlEndpoint();
29
+ RequireRatchet.notNullOrUndefined(opsIn.errorHandler, 'errorHandler');
30
+ this.ops = Object.assign({errorHandler: new DefaultGraphqlRatchetErrorHandler()}, opsIn);
31
+ this.cachedEndpoint = this.ops.endpointProvider.fetchGraphqlEndpoint();
35
32
  }
36
33
 
37
34
  public currentAuthToken(): string {
38
- return this?.jwtTokenProvider?.fetchJwtToken();
35
+ return this?.ops?.jwtTokenProvider?.fetchJwtToken();
39
36
  }
40
37
 
41
38
  public async fetchQueryText(qry: string): Promise<string> {
42
- const text: string = await this.queryProvider.fetchQueryText(qry);
39
+ const text: string = await this.ops.queryProvider.fetchQueryText(qry);
43
40
  if (!text) {
44
41
  Logger.warn('Could not find requested query : %s', qry);
45
42
  }
@@ -48,14 +45,14 @@ export class GraphqlRatchet {
48
45
 
49
46
  private createAnonymousApi(): GraphQLClient {
50
47
  Logger.info('Creating anonymous GraphQLClient');
51
- const rval: GraphQLClient = new GraphQLClient(this.cachedEndpoint, { errorPolicy: 'none' });
48
+ const rval: GraphQLClient = new GraphQLClient(this.cachedEndpoint, { errorPolicy: 'none' });
52
49
  return rval;
53
50
  }
54
51
 
55
52
  private fetchApi(authStyle: AuthorizationStyle): GraphQLClient {
56
- let rval: GraphQLClient = null;
53
+ let rval: GraphQLClient;
57
54
  const jwtToken: string =
58
- authStyle === AuthorizationStyle.AlwaysAnonymous ? null : StringRatchet.trimToNull(this?.jwtTokenProvider?.fetchJwtToken());
55
+ authStyle === AuthorizationStyle.AlwaysAnonymous ? null : StringRatchet.trimToNull(this.ops.jwtTokenProvider?.fetchJwtToken());
59
56
  if (authStyle === AuthorizationStyle.TokenRequired && !jwtToken) {
60
57
  throw ErrorRatchet.fErr('No token provided, auth style is TokenRequired');
61
58
  }
@@ -98,7 +95,7 @@ export class GraphqlRatchet {
98
95
  }
99
96
 
100
97
  private checkIfEndpointChanged(): void {
101
- const check: string = this.endpointProvider.fetchGraphqlEndpoint();
98
+ const check: string = this.ops.endpointProvider.fetchGraphqlEndpoint();
102
99
  if (check !== this.cachedEndpoint) {
103
100
  Logger.info('Endpoint changed from %s to %s - clearing apollo caches');
104
101
  this.clientCache = new Map<string, GraphQLClient>();
@@ -148,7 +145,7 @@ export class GraphqlRatchet {
148
145
  }
149
146
  } catch (err) {
150
147
  Logger.silly('Exception caught in executeQuery : %s %s %j %s', err, queryName, variables, authStyle, err);
151
- this.errorHandler.handleError(err, queryName, variables, authStyle);
148
+ this.ops.errorHandler.handleError(err, queryName, variables, authStyle);
152
149
  }
153
150
  return rval;
154
151
  }
@@ -172,7 +169,7 @@ export class GraphqlRatchet {
172
169
  ErrorRatchet.throwFormattedErr('Cannot run - no api fetched');
173
170
  }
174
171
  } catch (err) {
175
- this.errorHandler.handleError(err, queryName, variables, authStyle);
172
+ this.ops.errorHandler.handleError(err, queryName, variables, authStyle);
176
173
  }
177
174
 
178
175
  return rval;