@jetshop/core 6.3.7 → 6.3.8-alpha-6

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 (94) hide show
  1. package/ChannelHandler/channelUtils.js +1 -1
  2. package/ChannelHandler/channelUtils.js.map +1 -1
  3. package/boot/apollo.js +3 -39
  4. package/boot/apollo.js.map +1 -1
  5. package/boot/client/startClient.js +1 -16
  6. package/boot/client/startClient.js.map +1 -1
  7. package/boot/server/createApolloServer.js +0 -6
  8. package/boot/server/createApolloServer.js.map +1 -1
  9. package/boot/server/createRenderer.d.ts +2 -2
  10. package/boot/server/createRenderer.js +12 -25
  11. package/boot/server/createRenderer.js.map +1 -1
  12. package/boot/server/createServer.js +0 -11
  13. package/boot/server/createServer.js.map +1 -1
  14. package/boot/server/index.d.ts +0 -2
  15. package/boot/server/index.js +4 -16
  16. package/boot/server/index.js.map +1 -1
  17. package/boot/worker/createApolloServerWorker.d.ts +18 -0
  18. package/boot/worker/createApolloServerWorker.js +119 -0
  19. package/boot/worker/createApolloServerWorker.js.map +1 -0
  20. package/boot/worker/createRenderer.d.ts +23 -0
  21. package/boot/worker/createRenderer.js +242 -0
  22. package/boot/worker/createRenderer.js.map +1 -0
  23. package/boot/worker/getPrefetchFiles.d.ts +10 -0
  24. package/boot/worker/getPrefetchFiles.js +20 -0
  25. package/boot/worker/getPrefetchFiles.js.map +1 -0
  26. package/boot/worker/getPreloadAssets.d.ts +10 -0
  27. package/boot/worker/getPreloadAssets.js +18 -0
  28. package/boot/worker/getPreloadAssets.js.map +1 -0
  29. package/boot/worker/index.d.ts +6 -0
  30. package/boot/worker/index.js +98 -0
  31. package/boot/worker/index.js.map +1 -0
  32. package/components/Auth/formFieldsFromSettings.d.ts +1 -1
  33. package/components/ConfigProvider.d.ts +3 -15
  34. package/components/ConfigProvider.js.map +1 -1
  35. package/components/DynamicRoute/GenericError.js +0 -4
  36. package/components/DynamicRoute/GenericError.js.map +1 -1
  37. package/components/Pagination/PaginationProvider.d.ts +0 -2
  38. package/components/Pagination/PaginationProvider.js +1 -10
  39. package/components/Pagination/PaginationProvider.js.map +1 -1
  40. package/global.d.ts +0 -1
  41. package/hooks/usePreconnectLinks.js +1 -5
  42. package/hooks/usePreconnectLinks.js.map +1 -1
  43. package/hooks/usePreconnectLinks.test.js +0 -4
  44. package/package.json +5 -6
  45. package/analytics/integrations/gtm/README.md +0 -3
  46. package/boot/server/IntervalQuery.d.ts +0 -32
  47. package/boot/server/IntervalQuery.js +0 -95
  48. package/boot/server/IntervalQuery.js.map +0 -1
  49. package/boot/server/IntervalQuery.test.js +0 -276
  50. package/boot/server/PersistedApolloClient.d.ts +0 -20
  51. package/boot/server/PersistedApolloClient.js +0 -40
  52. package/boot/server/PersistedApolloClient.js.map +0 -1
  53. package/boot/server/PersistedApolloClient.test.js +0 -234
  54. package/boot/server/createApolloServer.test.js +0 -114
  55. package/boot/server/getPreloadAssets.test.js +0 -133
  56. package/boot/server/persistedQueries/PersistedClient.d.ts +0 -22
  57. package/boot/server/persistedQueries/PersistedClient.js +0 -58
  58. package/boot/server/persistedQueries/PersistedClient.js.map +0 -1
  59. package/boot/server/persistedQueries/__tests__/getPersistedQueriesForRequest.test.js +0 -201
  60. package/boot/server/persistedQueries/__tests__/mockQuery.gql +0 -6
  61. package/boot/server/persistedQueries/getPersistedQueriesForRequest.d.ts +0 -3
  62. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js +0 -27
  63. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js.map +0 -1
  64. package/boot/server/saleSource.test.js +0 -39
  65. package/boot/server/salesSource.d.ts +0 -8
  66. package/boot/server/salesSource.js +0 -16
  67. package/boot/server/salesSource.js.map +0 -1
  68. package/errorReporting.browser.d.ts +0 -3
  69. package/errorReporting.browser.js +0 -17
  70. package/errorReporting.browser.js.map +0 -1
  71. package/errorReporting.d.ts +0 -4
  72. package/errorReporting.js +0 -24
  73. package/errorReporting.js.map +0 -1
  74. package/errorReporting.server.d.ts +0 -3
  75. package/errorReporting.server.js +0 -12
  76. package/errorReporting.server.js.map +0 -1
  77. package/errorReporting.shared.d.ts +0 -5
  78. package/errorReporting.shared.js +0 -17
  79. package/errorReporting.shared.js.map +0 -1
  80. package/polyfills.d.ts +0 -1
  81. package/polyfills.js +0 -58
  82. package/polyfills.js.map +0 -1
  83. package/sentry/client.d.ts +0 -1
  84. package/sentry/client.js +0 -30
  85. package/sentry/client.js.map +0 -1
  86. package/sentry/common.d.ts +0 -1
  87. package/sentry/common.js +0 -5
  88. package/sentry/common.js.map +0 -1
  89. package/sentry/server.d.ts +0 -1
  90. package/sentry/server.js +0 -20
  91. package/sentry/server.js.map +0 -1
  92. package/sentry/utils.d.ts +0 -1
  93. package/sentry/utils.js +0 -2
  94. package/sentry/utils.js.map +0 -1
@@ -1,234 +0,0 @@
1
- // TODO
2
- // File reverted from TypeScript, should be reverted when pipeline supports it
3
- // https://gitlab.jetshop.se/jetshop/flight/merge_requests/409/diffs?commit_id=d30490f833ec2d2eec94e5a75ed99de71e666377
4
- // https://gitlab.jetshop.se/jetshop/flight/blob/94b6108017f6205e7d31f6bedb19c14f278d227a/packages/core/boot/server/PersistedApolloClient.test.ts
5
-
6
- import {
7
- ApolloClient,
8
- ApolloError,
9
- InMemoryCache,
10
- HttpLink
11
- } from '@apollo/client';
12
- import { PersistedApolloClient } from './PersistedApolloClient';
13
- import nock from 'nock';
14
- import channelsQuery from '../ChannelsQuery.gql';
15
-
16
- global.__IN_SERVER__ = true;
17
- jest.useFakeTimers();
18
- beforeEach(() => {
19
- nock.disableNetConnect();
20
- });
21
- afterEach(() => {
22
- jest.restoreAllMocks();
23
- jest.clearAllTimers();
24
- nock.enableNetConnect();
25
- nock.cleanAll();
26
- });
27
- const apolloConfig = {
28
- shopid: '...',
29
- graphQLURI: 'http://localhost/graphql',
30
- token: '...',
31
- enableGateway: false,
32
- channelsQuery
33
- };
34
- function getPendingResponse(persitedClient) {
35
- const channelsIntervalQuery = persitedClient.channelsIntervalQuery;
36
- return channelsIntervalQuery.getPendingResponse();
37
- }
38
- /**
39
- * Mocks response for `/graphql`
40
- * Only for **one** request, it resets on each call.
41
- */
42
- function mockResponse({ channels = null, statusCode = 200, errors }) {
43
- const data = {
44
- errors,
45
- data: {
46
- channels: Array.isArray(channels)
47
- ? channels.map((channel) =>
48
- Object.assign(
49
- {
50
- __typename: 'Channel',
51
- requiresAuth: false,
52
- countries: null,
53
- currencies: null,
54
- defaultCurrency: null,
55
- defaultLanguage: null,
56
- displayName: null,
57
- groupName: null,
58
- isDefault: null,
59
- languages: null,
60
- settings: null,
61
- name: null,
62
- url: null,
63
- imageUrl: null
64
- },
65
- channel
66
- )
67
- )
68
- : null
69
- }
70
- };
71
- const res = jest.fn(() => data);
72
- nock('http://localhost').post('/graphql').reply(statusCode, res);
73
- return res;
74
- }
75
- test('does request on init', async () => {
76
- const firstCall = mockResponse({
77
- channels: [
78
- {
79
- id: 1,
80
- name: 'test'
81
- }
82
- ]
83
- });
84
- const persistedClient = new PersistedApolloClient({
85
- createClientOpts: { apolloConfig }
86
- });
87
- await getPendingResponse(persistedClient);
88
- expect(firstCall).toHaveBeenCalled();
89
- const channels = await persistedClient.getChannels();
90
- expect(channels).toHaveLength(1);
91
- expect(channels[0].id).toBe(1);
92
- });
93
- test('does request on intervals', async () => {
94
- mockResponse({
95
- channels: [
96
- {
97
- id: 1,
98
- name: 'test1'
99
- }
100
- ]
101
- });
102
- const channelsPollInterval = 60e3;
103
- const persistedClient = new PersistedApolloClient({
104
- createClientOpts: { apolloConfig },
105
- channelsPollInterval
106
- });
107
- {
108
- const channels = await persistedClient.getChannels();
109
- expect(channels[0].name).toBe('test1');
110
- }
111
- {
112
- mockResponse({
113
- channels: [
114
- {
115
- id: 2,
116
- name: 'test2'
117
- }
118
- ]
119
- });
120
- jest.advanceTimersByTime(channelsPollInterval + 1);
121
- await getPendingResponse(persistedClient);
122
- const channels = await persistedClient.getChannels();
123
- expect(channels[0].name).toBe('test2');
124
- }
125
- {
126
- mockResponse({
127
- channels: [
128
- {
129
- id: 3,
130
- name: 'test3'
131
- }
132
- ]
133
- });
134
- jest.advanceTimersByTime(channelsPollInterval);
135
- await getPendingResponse(persistedClient);
136
- const channels = await persistedClient.getChannels();
137
- expect(channels[0].name).toBe('test3');
138
- }
139
- });
140
- test('propagates bad statusCodes', async () => {
141
- mockResponse({ statusCode: 500 });
142
- const persistedClient = new PersistedApolloClient({
143
- createClientOpts: { apolloConfig }
144
- });
145
- expect.assertions(1);
146
- try {
147
- await getPendingResponse(persistedClient);
148
- } catch (err) {
149
- expect(err.networkError.statusCode).toBe(500);
150
- }
151
- });
152
- test('propagates when response contains GraphQL-errors', async () => {
153
- const errorMessage = 'Something went wrong';
154
- mockResponse({
155
- errors: [
156
- {
157
- message: errorMessage,
158
- locations: null
159
- }
160
- ]
161
- });
162
- const persistedClient = new PersistedApolloClient({
163
- createClientOpts: { apolloConfig }
164
- });
165
- expect.assertions(2);
166
- try {
167
- await getPendingResponse(persistedClient);
168
- } catch (_err) {
169
- const err = _err;
170
- expect(err).toBeInstanceOf(ApolloError);
171
- expect(err.message).toBe(`GraphQL error: ${errorMessage}`);
172
- }
173
- });
174
- test('extracting and using cache in new client', async () => {
175
- mockResponse({
176
- channels: [
177
- {
178
- id: 1,
179
- name: 'test1'
180
- }
181
- ]
182
- });
183
- const pollInterval = 60e3;
184
- const channelsPollInterval = 60e3;
185
- const persistedClient = new PersistedApolloClient({
186
- createClientOpts: { apolloConfig },
187
- channelsPollInterval
188
- });
189
- await getPendingResponse(persistedClient);
190
- {
191
- const cache = persistedClient.extractCache();
192
- expect(cache).toHaveProperty('Channel:1');
193
- expect(cache['Channel:1'].name).toBe('test1');
194
- const newClient = new ApolloClient({
195
- link: new HttpLink(),
196
- cache: new InMemoryCache().restore(cache)
197
- });
198
- const res = newClient.readQuery({
199
- query: channelsQuery
200
- });
201
- expect(res.channels).toHaveLength(1);
202
- expect(res.channels[0].name).toBe('test1');
203
- }
204
- // update data in new request
205
- {
206
- const mock = mockResponse({
207
- channels: [
208
- {
209
- id: 1,
210
- name: 'test1--updated'
211
- },
212
- {
213
- id: 2,
214
- name: 'test2'
215
- }
216
- ]
217
- });
218
- jest.advanceTimersByTime(pollInterval);
219
- await getPendingResponse(persistedClient);
220
- expect(mock).toHaveBeenCalled();
221
- const cache = persistedClient.extractCache();
222
- const newClient = new ApolloClient({
223
- link: new HttpLink(),
224
- cache: new InMemoryCache().restore(cache)
225
- });
226
- const res = newClient.readQuery({
227
- query: channelsQuery
228
- });
229
- expect(res.channels).toHaveLength(2);
230
- expect(res.channels[0].name).toBe('test1--updated');
231
- expect(res.channels[1].name).toBe('test2');
232
- }
233
- });
234
- //# sourceMappingURL=PersistedApolloClient.test.js.map
@@ -1,114 +0,0 @@
1
- import express from 'express';
2
- import { ApolloServer, gql } from 'apollo-server-express';
3
- import listen from './listen';
4
- import createApolloServer from './createApolloServer';
5
- import fetch from 'node-fetch';
6
- import { GraphQLError } from 'graphql';
7
-
8
- function createGraphqlClient(port) {
9
- const url = `http://localhost:${port}/graphql`;
10
-
11
- return async function request({ query, variables }) {
12
- const body = { query, variables };
13
-
14
- const resBody = await fetch(url, {
15
- method: 'post',
16
- body: JSON.stringify(body),
17
- headers: { 'Content-Type': 'application/json' }
18
- }).then(r => r.json());
19
-
20
- return resBody;
21
- };
22
- }
23
-
24
- async function createTargetServer() {
25
- const typeDefs = gql`
26
- type Query {
27
- hello(name: String!): String!
28
- }
29
- `;
30
-
31
- const resolvers = {
32
- Query: {
33
- hello: async (_source, { name }) => {
34
- if (name === '') {
35
- throw new GraphQLError(`Name can't be empty`);
36
- }
37
-
38
- return `Hello ${name}`;
39
- }
40
- }
41
- };
42
-
43
- const apolloServer = new ApolloServer({
44
- typeDefs,
45
- resolvers
46
- });
47
-
48
- const app = express();
49
-
50
- apolloServer.applyMiddleware({ app });
51
-
52
- const { port, close } = await listen({ app, port: 0 });
53
- const query = createGraphqlClient(port);
54
-
55
- return { port, close, query };
56
- }
57
- async function createLocalServer({ targetPort }) {
58
- const { apolloServer } = await createApolloServer({
59
- apolloConfig: {
60
- graphQLURI: `http://localhost:${targetPort}/graphql`
61
- }
62
- });
63
-
64
- const app = express();
65
- apolloServer.applyMiddleware({ app });
66
-
67
- const { port, close } = await listen({ app, port: 0 });
68
- const query = createGraphqlClient(port);
69
-
70
- return { port, close, query };
71
- }
72
-
73
- let targetServer;
74
- let localServer;
75
-
76
- afterEach(async () => {
77
- if (localServer) {
78
- await localServer.close();
79
- }
80
- if (targetServer) {
81
- await targetServer.close();
82
- }
83
- localServer = null;
84
- targetServer = null;
85
- });
86
-
87
- test('forwarding queries', async () => {
88
- targetServer = await createTargetServer();
89
- localServer = await createLocalServer({ targetPort: targetServer.port });
90
-
91
- const { data } = await localServer.query({
92
- query: '{ hello(name: "World") }'
93
- });
94
-
95
- expect(data.hello).toBe('Hello World');
96
- });
97
-
98
- test('propagating errors', async () => {
99
- targetServer = await createTargetServer();
100
- localServer = await createLocalServer({ targetPort: targetServer.port });
101
-
102
- const query = '{ hello(name: "") }'; // should trigger "Name can't be empty"
103
-
104
- const { errors: expectedErrors } = await targetServer.query({ query });
105
- const { errors: actualErrors } = await localServer.query({ query });
106
-
107
- expect(expectedErrors).toHaveLength(1);
108
- expect(actualErrors).toHaveLength(1);
109
-
110
- expect(expectedErrors[0].message).toBe(`Name can't be empty`);
111
-
112
- expect(actualErrors[0].message).toBe(expectedErrors[0].message);
113
- expect(actualErrors[0].path).toEqual(expectedErrors[0].path);
114
- });
@@ -1,133 +0,0 @@
1
- import { getPreloadLinkHeaderString } from './getPreloadAssets';
2
-
3
- const preloadAssets = [
4
- {
5
- filename: 'static/js/bundle.js',
6
- scriptType: 'script',
7
- chunk: 'client',
8
- url: 'http://localhost:3001/static/js/bundle.js',
9
- path:
10
- '/Users/rsingh/Projects/hyperlab/jetshop-flight/packages/template-trend/build/client/static/js/bundle.js',
11
- type: 'mainAsset',
12
- linkType: 'preload'
13
- },
14
- {
15
- filename:
16
- 'static/js/vendors~Auth-ForgotPassword~Auth-LogInPage~Auth-ResetPassword~Auth-Signup-SignUpPage~MyPages-MyPages~2700bb12.chunk.js',
17
- scriptType: 'script',
18
- chunk: 'ProductPage-ProductPage',
19
- url:
20
- 'http://localhost:3001/static/js/vendors~Auth-ForgotPassword~Auth-LogInPage~Auth-ResetPassword~Auth-Signup-SignUpPage~MyPages-MyPages~2700bb12.chunk.js',
21
- path:
22
- '/Users/rsingh/Projects/hyperlab/jetshop-flight/packages/template-trend/build/client/static/js/vendors~Auth-ForgotPassword~Auth-LogInPage~Auth-ResetPassword~Auth-Signup-SignUpPage~MyPages-MyPages~2700bb12.chunk.js',
23
- type: 'mainAsset',
24
- linkType: 'preload'
25
- },
26
- {
27
- filename:
28
- 'static/js/vendors~ProductPage-ProductPage~SearchPage-SearchPage~StandardCategoryPage~WindowedCategoryPage.chunk.js',
29
- scriptType: 'script',
30
- chunk: 'ProductPage-ProductPage',
31
- url:
32
- 'http://localhost:3001/static/js/vendors~ProductPage-ProductPage~SearchPage-SearchPage~StandardCategoryPage~WindowedCategoryPage.chunk.js',
33
- path:
34
- '/Users/rsingh/Projects/hyperlab/jetshop-flight/packages/template-trend/build/client/static/js/vendors~ProductPage-ProductPage~SearchPage-SearchPage~StandardCategoryPage~WindowedCategoryPage.chunk.js',
35
- type: 'mainAsset',
36
- linkType: 'preload'
37
- },
38
- {
39
- filename: 'static/css/vendors~ProductPage-ProductPage.chunk.css',
40
- scriptType: 'style',
41
- chunk: 'ProductPage-ProductPage',
42
- url:
43
- 'http://localhost:3001/static/css/vendors~ProductPage-ProductPage.chunk.css',
44
- path:
45
- '/Users/rsingh/Projects/hyperlab/jetshop-flight/packages/template-trend/build/client/static/css/vendors~ProductPage-ProductPage.chunk.css',
46
- type: 'mainAsset',
47
- linkType: 'preload'
48
- },
49
- {
50
- filename: 'static/js/vendors~ProductPage-ProductPage.chunk.js',
51
- scriptType: 'script',
52
- chunk: 'ProductPage-ProductPage',
53
- url:
54
- 'http://localhost:3001/static/js/vendors~ProductPage-ProductPage.chunk.js',
55
- path:
56
- '/Users/rsingh/Projects/hyperlab/jetshop-flight/packages/template-trend/build/client/static/js/vendors~ProductPage-ProductPage.chunk.js',
57
- type: 'mainAsset',
58
- linkType: 'preload'
59
- },
60
- {
61
- filename:
62
- 'static/js/Auth-ForgotPassword~Auth-LogInPage~Auth-ResetPassword~Auth-Signup-SignUpPage~MyPages-MyPages~Product~4afdd4cd.chunk.js',
63
- scriptType: 'script',
64
- chunk: 'ProductPage-ProductPage',
65
- url:
66
- 'http://localhost:3001/static/js/Auth-ForgotPassword~Auth-LogInPage~Auth-ResetPassword~Auth-Signup-SignUpPage~MyPages-MyPages~Product~4afdd4cd.chunk.js',
67
- path:
68
- '/Users/rsingh/Projects/hyperlab/jetshop-flight/packages/template-trend/build/client/static/js/Auth-ForgotPassword~Auth-LogInPage~Auth-ResetPassword~Auth-Signup-SignUpPage~MyPages-MyPages~Product~4afdd4cd.chunk.js',
69
- type: 'mainAsset',
70
- linkType: 'preload'
71
- },
72
- {
73
- filename:
74
- 'static/js/ProductPage-ProductPage~SearchPage-SearchPage~StandardCategoryPage~StartPage-StartPage~WindowedCategoryPage.chunk.js',
75
- scriptType: 'script',
76
- chunk: 'ProductPage-ProductPage',
77
- url:
78
- 'http://localhost:3001/static/js/ProductPage-ProductPage~SearchPage-SearchPage~StandardCategoryPage~StartPage-StartPage~WindowedCategoryPage.chunk.js',
79
- path:
80
- '/Users/rsingh/Projects/hyperlab/jetshop-flight/packages/template-trend/build/client/static/js/ProductPage-ProductPage~SearchPage-SearchPage~StandardCategoryPage~StartPage-StartPage~WindowedCategoryPage.chunk.js',
81
- type: 'mainAsset',
82
- linkType: 'preload'
83
- },
84
- {
85
- filename:
86
- 'static/js/ProductPage-ProductPage~SearchPage-SearchPage~StandardCategoryPage~WindowedCategoryPage.chunk.js',
87
- scriptType: 'script',
88
- chunk: 'ProductPage-ProductPage',
89
- url:
90
- 'http://localhost:3001/static/js/ProductPage-ProductPage~SearchPage-SearchPage~StandardCategoryPage~WindowedCategoryPage.chunk.js',
91
- path:
92
- '/Users/rsingh/Projects/hyperlab/jetshop-flight/packages/template-trend/build/client/static/js/ProductPage-ProductPage~SearchPage-SearchPage~StandardCategoryPage~WindowedCategoryPage.chunk.js',
93
- type: 'mainAsset',
94
- linkType: 'preload'
95
- },
96
- {
97
- filename:
98
- 'static/js/MyPages-MyPages~ProductPage-ProductPage~StandardCategoryPage~WindowedCategoryPage.chunk.js',
99
- scriptType: 'script',
100
- chunk: 'ProductPage-ProductPage',
101
- url:
102
- 'http://localhost:3001/static/js/MyPages-MyPages~ProductPage-ProductPage~StandardCategoryPage~WindowedCategoryPage.chunk.js',
103
- path:
104
- '/Users/rsingh/Projects/hyperlab/jetshop-flight/packages/template-trend/build/client/static/js/MyPages-MyPages~ProductPage-ProductPage~StandardCategoryPage~WindowedCategoryPage.chunk.js',
105
- type: 'mainAsset',
106
- linkType: 'preload'
107
- },
108
- {
109
- filename: 'static/js/ProductPage-ProductPage.chunk.js',
110
- scriptType: 'script',
111
- chunk: 'ProductPage-ProductPage',
112
- url: 'http://localhost:3001/static/js/ProductPage-ProductPage.chunk.js',
113
- path:
114
- '/Users/rsingh/Projects/hyperlab/jetshop-flight/packages/template-trend/build/client/static/js/ProductPage-ProductPage.chunk.js',
115
- type: 'mainAsset',
116
- linkType: 'preload'
117
- }
118
- ];
119
-
120
- describe('Get Preload Assets', () => {
121
- it('Will generate a Link header string with a set of preload assets including css and js', () => {
122
- expect(getPreloadLinkHeaderString(preloadAssets)).toMatchSnapshot();
123
- });
124
-
125
- it('Will return an empty string if there are no preload assets', () => {
126
- expect(getPreloadLinkHeaderString([])).toEqual('');
127
- });
128
-
129
- it('Will return an empty string if preload assets are undefined or null', () => {
130
- expect(getPreloadLinkHeaderString(undefined)).toEqual('');
131
- expect(getPreloadLinkHeaderString(null)).toEqual('');
132
- });
133
- });
@@ -1,22 +0,0 @@
1
- import { ApolloConfig } from '../../../components/ConfigProvider';
2
- import { CreateClientOpts } from '../../apollo';
3
- export type PersistedQueries = ApolloConfig['persistedQueries'];
4
- export type PersistedQuery = ApolloConfig['persistedQueries'][0];
5
- export type ChannelHeaders = {
6
- currency: string;
7
- channelid: number;
8
- culture: string;
9
- country: string;
10
- name: string;
11
- } | {};
12
- export declare class PersistedClient {
13
- private intervalQueries;
14
- private opts;
15
- constructor(opts: CreateClientOpts & {
16
- headers?: ChannelHeaders;
17
- });
18
- private watch;
19
- private getPendingResponse;
20
- private combineCaches;
21
- extractCache(): Promise<any>;
22
- }
@@ -1,58 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __rest = (this && this.__rest) || function (s, e) {
11
- var t = {};
12
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
- t[p] = s[p];
14
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
- t[p[i]] = s[p[i]];
18
- }
19
- return t;
20
- };
21
- import merge from 'lodash.merge';
22
- import { IntervalQuery } from '../IntervalQuery';
23
- export class PersistedClient {
24
- constructor(opts) {
25
- this.intervalQueries = [];
26
- this.opts = opts;
27
- this.watch(this.opts.apolloConfig.persistedQueries);
28
- }
29
- watch(queries = []) {
30
- const _a = this.opts, { headers } = _a, createClientOpts = __rest(_a, ["headers"]);
31
- const intervalQueries = queries.map(({ query, variables }) => {
32
- return new IntervalQuery({
33
- query,
34
- variables,
35
- createClientOpts,
36
- headers,
37
- pollInterval: 30000
38
- });
39
- });
40
- this.intervalQueries = intervalQueries;
41
- }
42
- getPendingResponse() {
43
- return this.intervalQueries.map(iq => iq.getPendingResponse());
44
- }
45
- combineCaches() {
46
- const extractedCaches = this.intervalQueries.map(iq => iq.extractCache());
47
- return extractedCaches.reduce((prev, curr) => {
48
- return merge(prev, curr);
49
- }, {});
50
- }
51
- extractCache() {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- yield Promise.all(this.getPendingResponse());
54
- return this.combineCaches();
55
- });
56
- }
57
- }
58
- //# sourceMappingURL=PersistedClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PersistedClient.js","sourceRoot":"","sources":["PersistedClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAejD,MAAM,OAAO,eAAe;IAI1B,YAAY,IAAqD;QAHzD,oBAAe,GAAyB,EAAE,CAAC;QAIjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC;IACO,KAAK,CAAC,UAA4B,EAAE;QAC1C,MAAM,KAAmC,IAAI,CAAC,IAAI,EAA5C,EAAE,OAAO,OAAmC,EAA9B,gBAAgB,cAA9B,WAAgC,CAAY,CAAC;QAEnD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;YAC3D,OAAO,IAAI,aAAa,CAAC;gBACvB,KAAK;gBACL,SAAS;gBACT,gBAAgB;gBAChB,OAAO;gBACP,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IACO,kBAAkB;QACxB,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACjE,CAAC;IACO,aAAa;QACnB,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;QAE1E,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YAC3C,OAAO,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IACY,YAAY;;YACvB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAE7C,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9B,CAAC;KAAA;CACF"}