本文整理汇总了TypeScript中apollo-client.ApolloClient类的典型用法代码示例。如果您正苦于以下问题:TypeScript ApolloClient类的具体用法?TypeScript ApolloClient怎么用?TypeScript ApolloClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ApolloClient类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: it
it('simple query with both server and client fields', done => {
const query = gql`
query GetCount {
count @client
lastCount
}
`;
const cache = new InMemoryCache();
const local = withClientState({
cache,
defaults: {
count: 0,
},
resolvers: {},
});
const http = new ApolloLink(operation => {
expect(operation.operationName).toBe('GetCount');
return Observable.of({ data: { lastCount: 1 } });
});
const client = new ApolloClient({
cache,
link: local.concat(http),
});
client.watchQuery({ query }).subscribe({
next: ({ data }) => {
expect({ ...data }).toMatchObject({ count: 0, lastCount: 1 });
done();
},
});
});
开发者ID:petermichuncc,项目名称:scanner,代码行数:34,代码来源:advanced.ts
示例2: it
it('runs default resolvers for aliased fields tagged with @client', () => {
expect.assertions(1);
const query = gql`
{
fie: foo @client {
bar
}
}
`;
const cache = new InMemoryCache();
const client = new ApolloClient({
cache,
link: withClientState({
cache,
resolvers: {},
defaults: {
foo: {
bar: 'yo',
__typename: 'Foo',
},
},
}),
});
return client.query({ query }).then(({ data }) => {
expect({ ...data }).toMatchObject({
fie: { bar: 'yo', __typename: 'Foo' },
});
});
});
开发者ID:petermichuncc,项目名称:scanner,代码行数:32,代码来源:aliases.ts
示例3: it
it('supports subscriptions', done => {
const query = gql`
subscription {
field
}
`;
const link = new ApolloLink(() =>
Observable.of({ data: { field: 1 } }, { data: { field: 2 } }),
);
const local = withClientState();
const client = new ApolloClient({
cache: new InMemoryCache(),
link: local.concat(link),
});
let counter = 0;
expect.assertions(2);
return client.subscribe({ query }).forEach(item => {
expect(item).toMatchObject({ data: { field: ++counter } });
if (counter === 2) {
done();
}
});
});
开发者ID:petermichuncc,项目名称:scanner,代码行数:26,代码来源:client.ts
示例4: it
it(`doesn't overwrite __typename when writing to the cache with an id`, () => {
const query = gql`
{
obj @client {
field {
field2
}
id
}
}
`;
const mutation = gql`
mutation start {
start @client
}
`;
const local = withClientState({
resolvers: {
Mutation: {
start: (_, $, { cache }: { cache: ApolloCacheClient }) => {
cache.writeQuery({
query,
data: {
obj: {
field: { field2: 1, __typename: 'Field' },
id: 'uniqueId',
__typename: 'Object',
},
},
});
cache.writeData({
id: 'Object:uniqueId',
data: { field: { field2: 2, __typename: 'Field' } },
});
return { start: true };
},
},
},
});
const client = new ApolloClient({
cache: new InMemoryCache(),
link: local,
});
return client
.mutate({ mutation })
.then(() => client.query({ query }))
.then(({ data }: any) => {
expect(data.obj.__typename).toEqual('Object');
expect(data.obj.field.__typename).toEqual('Field');
})
.catch(e => console.log(e));
});
开发者ID:petermichuncc,项目名称:scanner,代码行数:56,代码来源:noQuery.ts
示例5: expect
next: ({ data }) => {
count++;
if (count === 1) {
try {
expect({ ...data }).toMatchObject({ count: 0, lastCount: 1 });
} catch (e) {
done.fail(e);
}
client.mutate({ mutation: increment, variables: { amount: 2 } });
}
if (count === 2) {
try {
expect({ ...data }).toMatchObject({ count: 2, lastCount: 1 });
} catch (e) {
done.fail(e);
}
client.mutate({ mutation: decrement, variables: { amount: 1 } });
}
if (count === 3) {
try {
expect({ ...data }).toMatchObject({ count: 1, lastCount: 1 });
} catch (e) {
done.fail(e);
}
done();
}
},
开发者ID:petermichuncc,项目名称:scanner,代码行数:28,代码来源:client.ts
示例6: expect
next: ({ data }) => {
if (watchCount === 0) {
expect(data.count).toEqual(0);
expect({ ...data.user }).toMatchObject({
__typename: 'User',
firstName: 'John',
});
watchCount += 1;
client.mutate({
mutation,
update: (proxy, { data: { updateUser } }) => {
proxy.writeQuery({
query: userQuery,
data: {
user: { ...updateUser },
},
});
},
});
} else {
expect(data.count).toEqual(1);
expect({ ...data.user }).toMatchObject({
__typename: 'User',
firstName: 'Harry',
});
done();
}
},
开发者ID:petermichuncc,项目名称:scanner,代码行数:28,代码来源:advanced.ts
注:本文中的apollo-client.ApolloClient类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论