本文整理汇总了TypeScript中apollo-link.createOperation函数的典型用法代码示例。如果您正苦于以下问题:TypeScript createOperation函数的具体用法?TypeScript createOperation怎么用?TypeScript createOperation使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了createOperation函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: it
it('should correctly batch multiple queries', done => {
const data = {
lastName: 'Ever',
firstName: 'Greatest',
};
const data2 = {
lastName: 'Hauser',
firstName: 'Evans',
};
const batcher = new OperationBatcher({
batchInterval: 10,
batchHandler: () =>
new Observable(observer => {
observer.next([{ data }, { data: data2 }, { data }]);
setTimeout(observer.complete.bind(observer));
}),
});
const query = gql`
query {
author {
firstName
lastName
}
}
`;
const operation: Operation = createOperation({}, { query });
const operation2: Operation = createOperation({}, { query });
const operation3: Operation = createOperation({}, { query });
batcher.enqueueRequest({ operation }).subscribe({});
batcher.enqueueRequest({ operation: operation2 }).subscribe({});
try {
expect(batcher.queuedRequests.get('').length).toBe(2);
} catch (e) {
done.fail(e);
}
setTimeout(() => {
// The batch shouldn't be fired yet, so we can add one more request.
batcher.enqueueRequest({ operation: operation3 }).subscribe({});
try {
expect(batcher.queuedRequests.get('').length).toBe(3);
} catch (e) {
done.fail(e);
}
}, 5);
setTimeout(
terminatingCheck(done, () => {
// The batch should've been fired by now.
expect(operation.getContext()).toEqual({ response: { data } });
expect(operation2.getContext()).toEqual({ response: { data: data2 } });
expect(operation3.getContext()).toEqual({ response: { data } });
expect(batcher.queuedRequests.get('')).toBeUndefined();
}),
20,
);
});
示例2: test
test("simple case", () => {
const operation = createOperation({}, {
query: gql`
subscription Foo {
commentAdded {
id
text
}
}
`,
});
operation.operationName = "Foo";
const result = subscriptionToQuery(introspectionResult, operation);
expect(result).toBeDefined();
const query = result!["commentAdded"];
expect(query).toBeDefined();
const expected = gql`
query Resolve_Foo_commentAdded ($id: ID!) {
commentAdded: node(id: $id) {
... on Comment {
id
text
}
}
}
`;
delete (query as any).loc;
delete expected.loc;
expect(print(query)).toEqual(print(expected));
expect(query).toEqual(expected);
});
示例3: it
it('includeQuery allows the query to be ignored', () => {
const { options, body } = selectHttpOptionsAndBody(
createOperation({}, { query }),
{ http: { includeQuery: false } },
);
expect(body).not.toHaveProperty('query');
});