本文整理匯總了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');
});