本文整理汇总了TypeScript中apollo-link-state.withClientState函数的典型用法代码示例。如果您正苦于以下问题:TypeScript withClientState函数的具体用法?TypeScript withClientState怎么用?TypeScript withClientState使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了withClientState函数的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: createLinkWithCache
const stateLink = createLinkWithCache((cache: any) =>
withClientState({
defaults: defaultState,
resolvers: { ...mutationResolvers },
typeDefs,
cache
})
开发者ID:hanming2033,项目名称:React-Starter-AWS-AppSync,代码行数:7,代码来源:AWSApolloClient.ts
示例2: compose
export function compose(): AppFrontendLibs {
const cache = new InMemoryCache({
dataIdFromObject: () => null,
fragmentMatcher: new IntrospectionFragmentMatcher({
introspectionQueryResultData,
}),
});
const observableApi = new AppKibanaObservableApiAdapter({
basePath: chrome.getBasePath(),
xsrfToken: chrome.getXsrfToken(),
});
const graphQLOptions = {
connectToDevTools: process.env.NODE_ENV !== 'production',
cache,
link: ApolloLink.from([
errorLink,
withClientState({
cache,
resolvers: {},
}),
new HttpLink({
credentials: 'same-origin',
headers: {
'kbn-xsrf': chrome.getXsrfToken(),
},
uri: `${chrome.getBasePath()}/api/siem/graphql`,
}),
]),
};
const apolloClient = new ApolloClient(graphQLOptions);
const appModule = uiModules.get('app/siem');
const framework = new AppKibanaFrameworkAdapter(appModule, uiRoutes, timezoneProvider);
const libs: AppFrontendLibs = {
apolloClient,
framework,
observableApi,
};
return libs;
}
开发者ID:,项目名称:,代码行数:45,代码来源:
示例3: compose
export function compose(): InfraFrontendLibs {
const cache = new InMemoryCache({
addTypename: false,
fragmentMatcher: new IntrospectionFragmentMatcher({
introspectionQueryResultData,
}),
});
const observableApi = new InfraKibanaObservableApiAdapter({
basePath: chrome.getBasePath(),
xsrfToken: chrome.getXsrfToken(),
});
const graphQLOptions = {
cache,
link: ApolloLink.from([
withClientState({
cache,
resolvers: {},
}),
new HttpLink({
credentials: 'same-origin',
headers: {
'kbn-xsrf': chrome.getXsrfToken(),
},
uri: `${chrome.getBasePath()}/api/infra/graphql`,
}),
]),
};
const apolloClient = new ApolloClient(graphQLOptions);
const infraModule = uiModules.get('app/infa');
const framework = new InfraKibanaFrameworkAdapter(infraModule, uiRoutes, timezoneProvider);
const libs: InfraFrontendLibs = {
apolloClient,
framework,
observableApi,
};
return libs;
}
开发者ID:elastic,项目名称:kibana,代码行数:43,代码来源:kibana_compose.ts
示例4: withClientState
const localStateLink = withClientState({
cache,
defaults: {
auth: {
__typename: "Auth",
isLoggedIn: Boolean(localStorage.getItem("jwt"))
}
},
resolvers: {
Mutation: {
logUserIn: (_, { token }, { cache: appCache }) => {
localStorage.setItem("jwt", token);
appCache.writeData({
data: {
auth: {
__typename: "Auth",
isLoggedIn: true
}
}
});
return null;
},
logUserOut: (_, __, { cache: appCache }) => {
localStorage.removeItem("jwt");
appCache.writeData({
data: {
auth: {
__typename: "Auth",
isLoggedIn: false
}
}
});
return null;
}
}
}
});
开发者ID:piann,项目名称:weber-client,代码行数:37,代码来源:apollo.ts
示例5: constructor
constructor(config: PresetConfig) {
const cache =
config && config.cacheRedirects
? new InMemoryCache({ cacheRedirects: config.cacheRedirects })
: new InMemoryCache();
const stateLink =
config && config.clientState
? withClientState({ ...config.clientState, cache })
: false;
const errorLink =
config && config.onError
? onError(config.onError)
: onError(({ graphQLErrors, networkError }) => {
if (graphQLErrors)
graphQLErrors.map(({ message, locations, path }) =>
console.log(
`[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`,
),
);
if (networkError) console.log(`[Network error]: ${networkError}`);
});
const requestHandler =
config && config.request
? new ApolloLink((operation, forward) =>
new Observable(observer => {
let handle: any;
Promise.resolve(operation)
.then(oper => config.request(oper))
.then(() => {
handle = forward(operation).subscribe({
next: observer.next.bind(observer),
error: observer.error.bind(observer),
complete: observer.complete.bind(observer),
});
})
.catch(observer.error.bind(observer));
return () => {
if (handle) handle.unsubscribe;
};
})
)
: false;
const httpLink = new HttpLink({
uri: (config && config.uri) || '/graphql',
fetchOptions: (config && config.fetchOptions) || {},
credentials: 'same-origin',
});
const link = ApolloLink.from([
errorLink,
requestHandler,
stateLink,
httpLink,
].filter(x => !!x) as ApolloLink[]);
// super hacky, we will fix the types eventually
super({ cache, link } as any);
}
开发者ID:NewSpring,项目名称:apollo-client,代码行数:63,代码来源:index.ts
示例6: constructor
constructor(config: PresetConfig = {}) {
if (config) {
const diff = Object.keys(config).filter(
key => PRESET_CONFIG_KEYS.indexOf(key) === -1,
);
if (diff.length > 0) {
console.warn(
'ApolloBoost was initialized with unsupported options: ' +
`${diff.join(' ')}`,
);
}
}
const {
request,
uri,
credentials,
headers,
fetch,
fetchOptions,
clientState,
cacheRedirects,
onError: errorCallback,
} = config;
let { cache } = config;
if (cache && cacheRedirects) {
throw new Error(
'Incompatible cache configuration. If providing `cache` then ' +
'configure the provided instance with `cacheRedirects` instead.',
);
}
if (!cache) {
cache = cacheRedirects
? new InMemoryCache({ cacheRedirects })
: new InMemoryCache();
}
const stateLink = clientState
? withClientState({ ...clientState, cache })
: false;
const errorLink = errorCallback
? onError(errorCallback)
: onError(({ graphQLErrors, networkError }) => {
if (graphQLErrors) {
graphQLErrors.map(({ message, locations, path }) =>
// tslint:disable-next-line
console.log(
`[GraphQL error]: Message: ${message}, Location: ` +
`${locations}, Path: ${path}`,
),
);
}
if (networkError) {
// tslint:disable-next-line
console.log(`[Network error]: ${networkError}`);
}
});
const requestHandler = request
? new ApolloLink(
(operation, forward) =>
new Observable(observer => {
let handle: any;
Promise.resolve(operation)
.then(oper => request(oper))
.then(() => {
handle = forward(operation).subscribe({
next: observer.next.bind(observer),
error: observer.error.bind(observer),
complete: observer.complete.bind(observer),
});
})
.catch(observer.error.bind(observer));
return () => {
if (handle) {
handle.unsubscribe();
}
};
}),
)
: false;
const httpLink = new HttpLink({
uri: uri || '/graphql',
fetch,
fetchOptions: fetchOptions || {},
credentials: credentials || 'same-origin',
headers: headers || {},
});
const link = ApolloLink.from([
errorLink,
requestHandler,
stateLink,
//.........这里部分代码省略.........
开发者ID:petermichuncc,项目名称:scanner,代码行数:101,代码来源:index.ts
注:本文中的apollo-link-state.withClientState函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论