mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
37 lines
836 B
JavaScript
37 lines
836 B
JavaScript
|
import {
|
||
|
RelayNetworkLayer,
|
||
|
cacheMiddleware,
|
||
|
urlMiddleware
|
||
|
} from 'react-relay-network-modern/node8'
|
||
|
import RelaySSR from 'react-relay-network-modern-ssr/node8/client'
|
||
|
import { Environment, RecordSource, Store } from 'relay-runtime'
|
||
|
|
||
|
const source = new RecordSource()
|
||
|
const store = new Store(source)
|
||
|
|
||
|
let storeEnvironment = null
|
||
|
|
||
|
export default {
|
||
|
createEnvironment: relayData => {
|
||
|
if (storeEnvironment) return storeEnvironment
|
||
|
|
||
|
storeEnvironment = new Environment({
|
||
|
store,
|
||
|
network: new RelayNetworkLayer([
|
||
|
cacheMiddleware({
|
||
|
size: 100,
|
||
|
ttl: 60 * 1000
|
||
|
}),
|
||
|
new RelaySSR(relayData).getMiddleware({
|
||
|
lookup: false
|
||
|
}),
|
||
|
urlMiddleware({
|
||
|
url: req => process.env.RELAY_ENDPOINT
|
||
|
})
|
||
|
])
|
||
|
})
|
||
|
|
||
|
return storeEnvironment
|
||
|
}
|
||
|
}
|