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