@faststore/core 3.0.37 → 3.0.39

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 (70) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1gneedd +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/server-production/0.pack +0 -0
  9. package/.next/cache/webpack/server-production/index.pack +0 -0
  10. package/.next/next-minimal-server.js.nft.json +1 -1
  11. package/.next/next-server.js.nft.json +1 -1
  12. package/.next/prerender-manifest.js +1 -1
  13. package/.next/prerender-manifest.json +1 -1
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/242.js +1 -1
  16. package/.next/server/chunks/404.js +1 -0
  17. package/.next/server/chunks/498.js +1 -1
  18. package/.next/server/chunks/57.js +1 -0
  19. package/.next/server/chunks/997.js +1 -1
  20. package/.next/server/middleware-build-manifest.js +1 -1
  21. package/.next/server/pages/404.js.nft.json +1 -1
  22. package/.next/server/pages/500.js.nft.json +1 -1
  23. package/.next/server/pages/[...slug].js +1 -1
  24. package/.next/server/pages/[...slug].js.nft.json +1 -1
  25. package/.next/server/pages/[slug]/p.js +1 -1
  26. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  27. package/.next/server/pages/_app.js.nft.json +1 -1
  28. package/.next/server/pages/_document.js.nft.json +1 -1
  29. package/.next/server/pages/_error.js.nft.json +1 -1
  30. package/.next/server/pages/account.js.nft.json +1 -1
  31. package/.next/server/pages/api/graphql.js +1 -1
  32. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  33. package/.next/server/pages/api/health/live.js.nft.json +1 -1
  34. package/.next/server/pages/api/health/ready.js.nft.json +1 -1
  35. package/.next/server/pages/api/preview.js.nft.json +1 -1
  36. package/.next/server/pages/checkout.js.nft.json +1 -1
  37. package/.next/server/pages/en-US/404.html +2 -2
  38. package/.next/server/pages/en-US/404.json +1 -1
  39. package/.next/server/pages/en-US/500.html +2 -2
  40. package/.next/server/pages/en-US/500.json +1 -1
  41. package/.next/server/pages/en-US/account.html +2 -2
  42. package/.next/server/pages/en-US/account.json +1 -1
  43. package/.next/server/pages/en-US/checkout.html +2 -2
  44. package/.next/server/pages/en-US/checkout.json +1 -1
  45. package/.next/server/pages/en-US/login.html +2 -2
  46. package/.next/server/pages/en-US/login.json +1 -1
  47. package/.next/server/pages/en-US/s.html +2 -2
  48. package/.next/server/pages/en-US/s.json +1 -1
  49. package/.next/server/pages/en-US.html +2 -2
  50. package/.next/server/pages/en-US.json +1 -1
  51. package/.next/server/pages/index.js.nft.json +1 -1
  52. package/.next/server/pages/login.js.nft.json +1 -1
  53. package/.next/server/pages/s.js.nft.json +1 -1
  54. package/.next/server/pages-manifest.json +1 -1
  55. package/.next/static/chunks/pages/{_app-4df2b21628950d8a.js → _app-ec0d2e833bd9cea0.js} +1 -1
  56. package/.next/trace +91 -91
  57. package/.turbo/turbo-build.log +7 -7
  58. package/.turbo/turbo-test.log +9 -9
  59. package/faststore.config.default.js +2 -1
  60. package/package.json +9 -13
  61. package/src/components/auth/ProfileChallenge/ProfileChallenge.tsx +17 -0
  62. package/src/components/auth/ProfileChallenge/index.ts +1 -0
  63. package/src/experimental/index.ts +2 -0
  64. package/src/sdk/auth/index.ts +19 -0
  65. package/tsconfig.json +1 -1
  66. package/.next/server/chunks/257.js +0 -6
  67. package/.next/server/chunks/981.js +0 -6
  68. package/src/components/search/searchMock.ts +0 -48
  69. /package/.next/static/{5t60whP1owjFekL_BC-jV → ynVKyS-l-nXEqvPtRj6Vi}/_buildManifest.js +0 -0
  70. /package/.next/static/{5t60whP1owjFekL_BC-jV → ynVKyS-l-nXEqvPtRj6Vi}/_ssgManifest.js +0 -0
@@ -1,7 +1,7 @@
1
1
  $ yarn partytown & yarn generate && next build
2
2
  $ partytown copylib ./public/~partytown
3
- Partytown lib copied to: /home/runner/work/faststore/faststore/packages/core/public/~partytown
4
3
  $ faststore generate-graphql -c
4
+ Partytown lib copied to: /home/runner/work/faststore/faststore/packages/core/public/~partytown
5
5
  success - GraphQL schema, types, and optimizations successfully generated 🎉
6
6
  ⚠ No build cache found. Please configure build caching for faster rebuilds. Read more: https://nextjs.org/docs/messages/no-cache
7
7
  Attention: Next.js now collects completely anonymous telemetry regarding usage.
@@ -35,7 +35,7 @@ Browserslist: caniuse-lite is outdated. Please run:
35
35
  Route (pages) Size First Load JS
36
36
  ┌ ● / 3.36 kB 143 kB
37
37
  ├ └ css/d586715f4f707df4.css 6.56 kB
38
- ├ /_app 0 B 93.4 kB
38
+ ├ /_app 0 B 93.5 kB
39
39
  ├ ● /[...slug] 4.47 kB 156 kB
40
40
  ├ └ css/4c4d90eb8cb1d2b7.css 7 kB
41
41
  ├ ● /[slug]/p 11.1 kB 151 kB
@@ -43,17 +43,17 @@ Route (pages) Size First Load JS
43
43
  ├ ○ /404 1.47 kB 127 kB
44
44
  ├ ● /500 1.47 kB 127 kB
45
45
  ├ ● /account 676 B 126 kB
46
- ├ λ /api/graphql 0 B 93.4 kB
47
- ├ λ /api/health/live 0 B 93.4 kB
48
- ├ λ /api/health/ready 0 B 93.4 kB
49
- ├ λ /api/preview 0 B 93.4 kB
46
+ ├ λ /api/graphql 0 B 93.5 kB
47
+ ├ λ /api/health/live 0 B 93.5 kB
48
+ ├ λ /api/health/ready 0 B 93.5 kB
49
+ ├ λ /api/preview 0 B 93.5 kB
50
50
  ├ ● /checkout 662 B 126 kB
51
51
  ├ ● /login 1.58 kB 127 kB
52
52
  └ ● /s 4.66 kB 141 kB
53
53
  + First Load JS shared by all 96.5 kB
54
54
  ├ chunks/framework-8e279965036b6169.js 45.4 kB
55
55
  ├ chunks/main-6f63f6746cc029db.js 33.1 kB
56
- ├ chunks/pages/_app-4df2b21628950d8a.js 12.6 kB
56
+ ├ chunks/pages/_app-ec0d2e833bd9cea0.js 12.6 kB
57
57
  ├ chunks/webpack-b4a2fdf4ef127bb7.js 2.45 kB
58
58
  └ css/5d1f64b61ea581f4.css 3.05 kB
59
59
 
@@ -1,23 +1,23 @@
1
1
  $ jest
2
- PASS test/server/index.test.ts (23.645 s)
2
+ PASS test/server/index.test.ts (26.714 s)
3
3
  FastStore GraphQL Layer
4
4
  @faststore/api
5
- ✓ should return a valid GraphQL schema (6 ms)
6
- ✓ should return a valid GraphQL schema contain all expected types (5 ms)
5
+ ✓ should return a valid GraphQL schema (15 ms)
6
+ ✓ should return a valid GraphQL schema contain all expected types (22 ms)
7
7
  ✓ should return a valid GraphQL schema contain all expected queries (2 ms)
8
- ✓ should return a valid GraphQL schema contain all expected mutations (1 ms)
8
+ ✓ should return a valid GraphQL schema contain all expected mutations
9
9
  VTEX API Extension
10
- ✓ getTypeDefsFromFolder function should return an Array (10 ms)
10
+ ✓ getTypeDefsFromFolder function should return an Array (25 ms)
11
11
  Third Party API Extension
12
- ✓ getTypeDefsFromFolder function should return an Array (14 ms)
12
+ ✓ getTypeDefsFromFolder function should return an Array (9 ms)
13
13
  Final Schema after merging
14
- ✓ should return a valid merged GraphQL schema (44 ms)
14
+ ✓ should return a valid merged GraphQL schema (90 ms)
15
15
  Envelop
16
16
  ✓ should exist with its plugins (42 ms)
17
- ✓ should handle options and execute (190 ms)
17
+ ✓ should handle options and execute (598 ms)
18
18
 
19
19
  Test Suites: 1 passed, 1 total
20
20
  Tests: 9 passed, 9 total
21
21
  Snapshots: 0 total
22
- Time: 23.738 s
22
+ Time: 26.82 s
23
23
  Ran all test suites.
@@ -29,7 +29,8 @@ module.exports = {
29
29
  symbol: '$',
30
30
  },
31
31
  locale: 'en-US',
32
- channel: '{"salesChannel":"1","regionId":""}',
32
+ channel:
33
+ '{"salesChannel":"1","regionId":"","hasOnlyDefaultSalesChannel":"true"}',
33
34
  country: 'USA',
34
35
  deliveryMode: null,
35
36
  addressType: null,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "3.0.37",
3
+ "version": "3.0.39",
4
4
  "license": "MIT",
5
5
  "repository": "vtex/faststore",
6
6
  "browserslist": "supports es6-module and not dead",
@@ -39,11 +39,11 @@
39
39
  "@envelop/graphql-jit": "^1.1.1",
40
40
  "@envelop/parser-cache": "^2.2.0",
41
41
  "@envelop/validation-cache": "^2.2.0",
42
- "@faststore/api": "^3.0.37",
43
- "@faststore/components": "^3.0.24",
44
- "@faststore/graphql-utils": "^3.0.24",
45
- "@faststore/sdk": "^3.0.34",
46
- "@faststore/ui": "^3.0.24",
42
+ "@faststore/api": "^3.0.39",
43
+ "@faststore/components": "^3.0.39",
44
+ "@faststore/graphql-utils": "^3.0.39",
45
+ "@faststore/sdk": "^3.0.39",
46
+ "@faststore/ui": "^3.0.39",
47
47
  "@graphql-codegen/cli": "^3.3.1",
48
48
  "@graphql-codegen/client-preset": "^4.1.0",
49
49
  "@graphql-codegen/typescript": "^3.0.4",
@@ -63,7 +63,6 @@
63
63
  "draftjs-to-html": "^0.9.1",
64
64
  "graphql": "^15.0.0",
65
65
  "include-media": "^1.4.10",
66
- "msw": "^0.43.1",
67
66
  "next": "^13.5.6",
68
67
  "next-seo": "^6.4.0",
69
68
  "nextjs-progressbar": "^0.0.14",
@@ -83,8 +82,8 @@
83
82
  "devDependencies": {
84
83
  "@cypress/code-coverage": "^3.12.1",
85
84
  "@envelop/testing": "^6.0.0",
86
- "@faststore/cli": "^3.0.35",
87
- "@faststore/eslint-config": "^3.0.24",
85
+ "@faststore/cli": "^3.0.39",
86
+ "@faststore/eslint-config": "^3.0.39",
88
87
  "@faststore/lighthouse": "^1.12.32",
89
88
  "@lhci/cli": "^0.9.0",
90
89
  "@testing-library/cypress": "^10.0.1",
@@ -121,12 +120,9 @@
121
120
  "stylelint --fix"
122
121
  ]
123
122
  },
124
- "msw": {
125
- "workerDirectory": "public"
126
- },
127
123
  "volta": {
128
124
  "node": "18.19.0",
129
125
  "yarn": "1.19.1"
130
126
  },
131
- "gitHead": "371b07bd85482f3b77629cef773f4167ba5a5b72"
127
+ "gitHead": "164257d98e270785aaefc2c174a02f39c1c545d4"
132
128
  }
@@ -0,0 +1,17 @@
1
+ import { PropsWithChildren, ReactNode } from 'react'
2
+ import { useAuth } from 'src/sdk/auth'
3
+
4
+ export type ProfileChallengeProps = {
5
+ fallback?: ReactNode
6
+ }
7
+
8
+ const ProfileChallenge = ({
9
+ fallback = null,
10
+ children,
11
+ }: PropsWithChildren<ProfileChallengeProps>) => {
12
+ const { isAutenticated } = useAuth()
13
+
14
+ return <>{isAutenticated ? children : fallback}</>
15
+ }
16
+
17
+ export default ProfileChallenge
@@ -0,0 +1 @@
1
+ export { default as ProfileChallenge } from './ProfileChallenge'
@@ -4,6 +4,7 @@ export {
4
4
  sessionStore as sessionStore_unstable,
5
5
  validateSession as validateSession_unstable,
6
6
  } from '../../src/sdk/session'
7
+ export { useAuth as useAuth_unstable } from '../../src/sdk/auth'
7
8
  export {
8
9
  useCart as useCart_unstable,
9
10
  cartStore as cartStore_unstable,
@@ -34,3 +35,4 @@ export { useShippingSimulation as useShippingSimulation_unstable } from '../../s
34
35
 
35
36
  // Components
36
37
  export { Image as Image_unstable } from '../../src/components/ui/Image'
38
+ export { ProfileChallenge as ProfileChallenge_unstable } from '../../src/components/auth/ProfileChallenge'
@@ -0,0 +1,19 @@
1
+ import { useSession } from '../session'
2
+
3
+ export const useAuth = () => {
4
+ const { person, isValidating, channel: channelJson } = useSession()
5
+
6
+ const channel = JSON.parse(channelJson) as {
7
+ salesChannel: number
8
+ regionId: string
9
+ hasOnlyDefaultSalesChannel?: boolean
10
+ }
11
+
12
+ const hasSalesChannel =
13
+ Boolean(channel.salesChannel) &&
14
+ channel.hasOnlyDefaultSalesChannel === false
15
+
16
+ const isAutenticated = hasSalesChannel && person
17
+
18
+ return { isAutenticated, profile: person, channel, isValidating }
19
+ }
package/tsconfig.json CHANGED
@@ -28,5 +28,5 @@
28
28
  "esModuleInterop": true
29
29
  },
30
30
  "include": ["*.d.ts", "src/**/*.ts", "src/**/*.tsx", "@generated/**/*.ts"],
31
- "exclude": ["node_modules", "public", "src/components/search/searchMock.ts"]
31
+ "exclude": ["node_modules", "public"]
32
32
  }
@@ -1,6 +0,0 @@
1
- "use strict";exports.id=257,exports.ids=[257],exports.modules={3421:(e,t)=>{function decode(e){return -1!==e.indexOf("%")?decodeURIComponent(e):e}/*!
2
- * cookie
3
- * Copyright(c) 2012-2014 Roman Shtylman
4
- * Copyright(c) 2015 Douglas Christopher Wilson
5
- * MIT Licensed
6
- */t.Q=function(e,t){if("string"!=typeof e)throw TypeError("argument str must be a string");for(var r={},n=(t||{}).decode||decode,a=0;a<e.length;){var c=e.indexOf("=",a);if(-1===c)break;var i=e.indexOf(";",a);if(-1===i)i=e.length;else if(i<c){a=e.lastIndexOf(";",c-1)+1;continue}var o=e.slice(a,c).trim();if(void 0===r[o]){var s=e.slice(c+1,i).trim();34===s.charCodeAt(0)&&(s=s.slice(1,-1)),r[o]=function(e,t){try{return t(e)}catch(t){return e}}(s,n)}a=i+1}return r},Object.prototype.toString},3404:e=>{var t,r=function(){function DataLoader(e,t){if("function"!=typeof e)throw TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: "+e+".");this._batchLoadFn=e,this._maxBatchSize=function(e){if(!(!e||!1!==e.batch))return 1;var t=e&&e.maxBatchSize;if(void 0===t)return 1/0;if("number"!=typeof t||t<1)throw TypeError("maxBatchSize must be a positive number: "+t);return t}(t),this._batchScheduleFn=function(e){var t=e&&e.batchScheduleFn;if(void 0===t)return n;if("function"!=typeof t)throw TypeError("batchScheduleFn must be a function: "+t);return t}(t),this._cacheKeyFn=function(e){var t=e&&e.cacheKeyFn;if(void 0===t)return function(e){return e};if("function"!=typeof t)throw TypeError("cacheKeyFn must be a function: "+t);return t}(t),this._cacheMap=function(e){if(!(!e||!1!==e.cache))return null;var t=e&&e.cacheMap;if(void 0===t)return new Map;if(null!==t){var r=["get","set","delete","clear"].filter(function(e){return t&&"function"!=typeof t[e]});if(0!==r.length)throw TypeError("Custom cacheMap missing methods: "+r.join(", "))}return t}(t),this._batch=null}var e=DataLoader.prototype;return e.load=function(e){if(null==e)throw TypeError("The loader.load() function must be called with a value, but got: "+String(e)+".");var t=function(e){var t=e._batch;if(null!==t&&!t.hasDispatched&&t.keys.length<e._maxBatchSize&&(!t.cacheHits||t.cacheHits.length<e._maxBatchSize))return t;var r={hasDispatched:!1,keys:[],callbacks:[]};return e._batch=r,e._batchScheduleFn(function(){(function(e,t){if(t.hasDispatched=!0,0===t.keys.length){resolveCacheHits(t);return}var r=e._batchLoadFn(t.keys);if(!r||"function"!=typeof r.then)return failedDispatch(e,t,TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: "+String(r)+"."));r.then(function(e){if(!isArrayLike(e))throw TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: "+String(e)+".");if(e.length!==t.keys.length)throw TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.\n\nKeys:\n"+String(t.keys)+"\n\nValues:\n"+String(e));resolveCacheHits(t);for(var r=0;r<t.callbacks.length;r++){var n=e[r];n instanceof Error?t.callbacks[r].reject(n):t.callbacks[r].resolve(n)}}).catch(function(r){failedDispatch(e,t,r)})})(e,r)}),r}(this),r=this._cacheMap,n=this._cacheKeyFn(e);if(r){var a=r.get(n);if(a){var c=t.cacheHits||(t.cacheHits=[]);return new Promise(function(e){c.push(function(){e(a)})})}}t.keys.push(e);var i=new Promise(function(e,r){t.callbacks.push({resolve:e,reject:r})});return r&&r.set(n,i),i},e.loadMany=function(e){if(!isArrayLike(e))throw TypeError("The loader.loadMany() function must be called with Array<key> but got: "+e+".");for(var t=[],r=0;r<e.length;r++)t.push(this.load(e[r]).catch(function(e){return e}));return Promise.all(t)},e.clear=function(e){var t=this._cacheMap;if(t){var r=this._cacheKeyFn(e);t.delete(r)}return this},e.clearAll=function(){var e=this._cacheMap;return e&&e.clear(),this},e.prime=function(e,t){var r=this._cacheMap;if(r){var n,a=this._cacheKeyFn(e);void 0===r.get(a)&&(t instanceof Error?(n=Promise.reject(t)).catch(function(){}):n=Promise.resolve(t),r.set(a,n))}return this},DataLoader}(),n="object"==typeof process&&"function"==typeof process.nextTick?function(e){t||(t=Promise.resolve()),t.then(function(){process.nextTick(e)})}:"function"==typeof setImmediate?function(e){setImmediate(e)}:function(e){setTimeout(e)};function failedDispatch(e,t,r){resolveCacheHits(t);for(var n=0;n<t.keys.length;n++)e.clear(t.keys[n]),t.callbacks[n].reject(r)}function resolveCacheHits(e){if(e.cacheHits)for(var t=0;t<e.cacheHits.length;t++)e.cacheHits[t]()}function isArrayLike(e){return"object"==typeof e&&null!==e&&"number"==typeof e.length&&(0===e.length||e.length>0&&Object.prototype.hasOwnProperty.call(e,e.length-1))}e.exports=r}};
@@ -1,6 +0,0 @@
1
- "use strict";exports.id=981,exports.ids=[981],exports.modules={7679:(e,t)=>{function decode(e){return -1!==e.indexOf("%")?decodeURIComponent(e):e}/*!
2
- * cookie
3
- * Copyright(c) 2012-2014 Roman Shtylman
4
- * Copyright(c) 2015 Douglas Christopher Wilson
5
- * MIT Licensed
6
- */t.Q=function(e,t){if("string"!=typeof e)throw TypeError("argument str must be a string");for(var r={},n=(t||{}).decode||decode,a=0;a<e.length;){var c=e.indexOf("=",a);if(-1===c)break;var i=e.indexOf(";",a);if(-1===i)i=e.length;else if(i<c){a=e.lastIndexOf(";",c-1)+1;continue}var o=e.slice(a,c).trim();if(void 0===r[o]){var s=e.slice(c+1,i).trim();34===s.charCodeAt(0)&&(s=s.slice(1,-1)),r[o]=function(e,t){try{return t(e)}catch(t){return e}}(s,n)}a=i+1}return r},Object.prototype.toString},3057:e=>{var t,r=function(){function DataLoader(e,t){if("function"!=typeof e)throw TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: "+e+".");this._batchLoadFn=e,this._maxBatchSize=function(e){if(!(!e||!1!==e.batch))return 1;var t=e&&e.maxBatchSize;if(void 0===t)return 1/0;if("number"!=typeof t||t<1)throw TypeError("maxBatchSize must be a positive number: "+t);return t}(t),this._batchScheduleFn=function(e){var t=e&&e.batchScheduleFn;if(void 0===t)return n;if("function"!=typeof t)throw TypeError("batchScheduleFn must be a function: "+t);return t}(t),this._cacheKeyFn=function(e){var t=e&&e.cacheKeyFn;if(void 0===t)return function(e){return e};if("function"!=typeof t)throw TypeError("cacheKeyFn must be a function: "+t);return t}(t),this._cacheMap=function(e){if(!(!e||!1!==e.cache))return null;var t=e&&e.cacheMap;if(void 0===t)return new Map;if(null!==t){var r=["get","set","delete","clear"].filter(function(e){return t&&"function"!=typeof t[e]});if(0!==r.length)throw TypeError("Custom cacheMap missing methods: "+r.join(", "))}return t}(t),this._batch=null}var e=DataLoader.prototype;return e.load=function(e){if(null==e)throw TypeError("The loader.load() function must be called with a value, but got: "+String(e)+".");var t=function(e){var t=e._batch;if(null!==t&&!t.hasDispatched&&t.keys.length<e._maxBatchSize&&(!t.cacheHits||t.cacheHits.length<e._maxBatchSize))return t;var r={hasDispatched:!1,keys:[],callbacks:[]};return e._batch=r,e._batchScheduleFn(function(){(function(e,t){if(t.hasDispatched=!0,0===t.keys.length){resolveCacheHits(t);return}var r=e._batchLoadFn(t.keys);if(!r||"function"!=typeof r.then)return failedDispatch(e,t,TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: "+String(r)+"."));r.then(function(e){if(!isArrayLike(e))throw TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: "+String(e)+".");if(e.length!==t.keys.length)throw TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.\n\nKeys:\n"+String(t.keys)+"\n\nValues:\n"+String(e));resolveCacheHits(t);for(var r=0;r<t.callbacks.length;r++){var n=e[r];n instanceof Error?t.callbacks[r].reject(n):t.callbacks[r].resolve(n)}}).catch(function(r){failedDispatch(e,t,r)})})(e,r)}),r}(this),r=this._cacheMap,n=this._cacheKeyFn(e);if(r){var a=r.get(n);if(a){var c=t.cacheHits||(t.cacheHits=[]);return new Promise(function(e){c.push(function(){e(a)})})}}t.keys.push(e);var i=new Promise(function(e,r){t.callbacks.push({resolve:e,reject:r})});return r&&r.set(n,i),i},e.loadMany=function(e){if(!isArrayLike(e))throw TypeError("The loader.loadMany() function must be called with Array<key> but got: "+e+".");for(var t=[],r=0;r<e.length;r++)t.push(this.load(e[r]).catch(function(e){return e}));return Promise.all(t)},e.clear=function(e){var t=this._cacheMap;if(t){var r=this._cacheKeyFn(e);t.delete(r)}return this},e.clearAll=function(){var e=this._cacheMap;return e&&e.clear(),this},e.prime=function(e,t){var r=this._cacheMap;if(r){var n,a=this._cacheKeyFn(e);void 0===r.get(a)&&(t instanceof Error?(n=Promise.reject(t)).catch(function(){}):n=Promise.resolve(t),r.set(a,n))}return this},DataLoader}(),n="object"==typeof process&&"function"==typeof process.nextTick?function(e){t||(t=Promise.resolve()),t.then(function(){process.nextTick(e)})}:"function"==typeof setImmediate?function(e){setImmediate(e)}:function(e){setTimeout(e)};function failedDispatch(e,t,r){resolveCacheHits(t);for(var n=0;n<t.keys.length;n++)e.clear(t.keys[n]),t.callbacks[n].reject(r)}function resolveCacheHits(e){if(e.cacheHits)for(var t=0;t<e.cacheHits.length;t++)e.cacheHits[t]()}function isArrayLike(e){return"object"==typeof e&&null!==e&&"number"==typeof e.length&&(0===e.length||e.length>0&&Object.prototype.hasOwnProperty.call(e,e.length-1))}e.exports=r}};
@@ -1,48 +0,0 @@
1
- import { rest } from 'msw'
2
-
3
- import { productGridItems, searchTerms } from 'src/../.storybook/mocks'
4
-
5
- export const products = productGridItems.map((item) => item.node)
6
-
7
- export const msw = {
8
- handlers: [
9
- rest.get('/api/graphql', (req, res, ctx) => {
10
- const {
11
- url: { searchParams },
12
- } = req
13
-
14
- const operationName = searchParams.get('operationName')
15
-
16
- if (operationName === 'TopSearchSuggestionsQuery') {
17
- return res(
18
- ctx.json({
19
- data: {
20
- search: {
21
- suggestions: {
22
- terms: searchTerms,
23
- },
24
- },
25
- },
26
- })
27
- )
28
- }
29
-
30
- if (operationName === 'SearchSuggestionsQuery') {
31
- return res(
32
- ctx.json({
33
- data: {
34
- search: {
35
- suggestions: {
36
- terms: searchTerms,
37
- products,
38
- },
39
- },
40
- },
41
- })
42
- )
43
- }
44
-
45
- return res(ctx.status(400))
46
- }),
47
- ],
48
- }