hunk.code_window:   }
     useEffect(() => {
       return () => {
         const unsubscribe = cacheHandle ? cacheHandle[2] : UNDEFINED
         isFunction(unsubscribe) && unsubscribe()
       }
     }, [])
     return createElement(
       SWRConfigContext.Provider,
       { value: extendedConfig },
       children
  
hunk.labels: keep keep replace replace replace replace replace replace keep keep keep keep keep
hunk.after_edit:   // Unsubscribe events.
     useIsomorphicLayoutEffect(
       () => (cacheContext ? cacheContext[2] : UNDEFINED),
       []
     )
  
hunk.file_path: src/utils/config-context.ts
hunk.type: replace
file: const projects = [
    'facebook/flipper',
    'vuejs/vuepress',
    'rust-lang/rust',
    'zeit/next.js'
  ]
  
  export default function api(req, res) {
    if (req.query.id) {
      // a slow endpoint for getting repo data
      fetch(`https://api.github.com/repos/${req.query.id}`)
        .then(resp => resp.json())
        .then(data => {
          setTimeout(() => {
            res.json(data)
          }, 2000)
        })
  
      return
    }
    setTimeout(() => {
      res.json(projects)
    }, 2000)
  }
  