當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript printer.print函數代碼示例

本文整理匯總了TypeScript中graphql/language/printer.print函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript print函數的具體用法?TypeScript print怎麽用?TypeScript print使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了print函數的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: it

  it('should get the correct mutation definition out of a mutation with multiple fragments', () => {
    const mutationWithFragments = gql`
      mutation {
        createAuthor(firstName: "John", lastName: "Smith") {
          ...authorDetails
        }
      }

      fragment authorDetails on Author {
        firstName
        lastName
      }
    `;
    const expectedDoc = gql`
      mutation {
        createAuthor(firstName: "John", lastName: "Smith") {
          ...authorDetails
        }
      }
    `;
    const expectedResult: OperationDefinitionNode = expectedDoc
      .definitions[0] as OperationDefinitionNode;
    const actualResult = getMutationDefinition(mutationWithFragments);
    assert.equal(print(actualResult), print(expectedResult));
  });
開發者ID:hammadj,項目名稱:apollo-client,代碼行數:25,代碼來源:getFromAST.ts

示例2: it

  it('should modify all definitions in a document', () => {
    const testQuery = gql`
    query withFragments {
      user(id: 4) {
        friends(first: 10) {
          ...friendFields
        }
      }
    }
    fragment friendFields on User {
      firstName
      lastName
    }`;

    const newQueryDoc = addTypenameToDocument(testQuery);

    const expectedQuery = gql`
    query withFragments {
      user(id: 4) {
        friends(first: 10) {
          ...friendFields
          __typename
        }
        __typename
      }
    }
    fragment friendFields on User {
      firstName
      lastName
      __typename
    }`;

    assert.equal(print(expectedQuery), print(newQueryDoc));
  });
開發者ID:bruce,項目名稱:apollo-client,代碼行數:34,代碼來源:queryTransform.ts

示例3: it

 it('should not screw up on a FragmentSpread within the query AST', () => {
   const testQuery = gql`
     query withFragments {
       user(id: 4) {
         friends(first: 10) {
           ...friendFields
         }
       }
     }
   `;
   const expectedQuery = getQueryDefinition(gql`
     query withFragments {
       user(id: 4) {
         friends(first: 10) {
           ...friendFields
           __typename
         }
         __typename
       }
     }
   `);
   const modifiedQuery = addTypenameToDocument(testQuery);
   assert.equal(
     print(expectedQuery),
     print(getQueryDefinition(modifiedQuery)),
   );
 });
開發者ID:hammadj,項目名稱:apollo-client,代碼行數:27,代碼來源:queryTransform.ts

示例4: it

  it('should correctly add typenames', () => {
    let testQuery = gql`
      query {
        author {
          name {
            firstName
            lastName
          }
        }
      }
`;
    const queryDef = getQueryDefinition(testQuery);
    const queryRes = addTypenameToSelectionSet(queryDef.selectionSet);

    // GraphQL print the parsed, updated query and replace the trailing
    // newlines.
    const modifiedQueryStr = print(queryRes);
    const expectedQuery = getQueryDefinition(gql`
      query {
        author {
          name {
            firstName
            lastName
            __typename
          }
          __typename
        }
        __typename}`);
    const expectedQueryStr = print(expectedQuery);

    assert.equal(expectedQueryStr, modifiedQueryStr);
  });
開發者ID:davidwoody,項目名稱:apollo-client,代碼行數:32,代碼來源:queryTransform.ts

示例5: it

  it('should get query with client fields in fragment with nested fields', function() {
    const query = gql`
      query Simple {
        ...fragmentSpread
      }

      fragment fragmentSpread on Thing {
        user {
          firstName @client
          lastName
        }
      }
    `;
    const expected = gql`
      query Simple {
        ...fragmentSpread
      }

      fragment fragmentSpread on Thing {
        user {
          firstName @client
        }
      }
    `;
    const doc = getDirectivesFromDocument([{ name: 'client' }], query);
    expect(print(doc)).toBe(print(expected));
  });
開發者ID:apollostack,項目名稱:apollo-client,代碼行數:27,代碼來源:transform.ts


注:本文中的graphql/language/printer.print函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。