当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript apollo-link.createOperation函数代码示例

本文整理汇总了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,
    );
  });
开发者ID:SET001,项目名称:apollo-link,代码行数:58,代码来源:batchLink.ts

示例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);
 });
开发者ID:vvakame,项目名称:til,代码行数:31,代码来源:documentModifier.test.ts

示例3: it

 it('includeQuery allows the query to be ignored', () => {
   const { options, body } = selectHttpOptionsAndBody(
     createOperation({}, { query }),
     { http: { includeQuery: false } },
   );
   expect(body).not.toHaveProperty('query');
 });
开发者ID:SET001,项目名称:apollo-link,代码行数:7,代码来源:index.ts


注:本文中的apollo-link.createOperation函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。