UNPKG

3.31 kBSource Map (JSON)View Raw
1{"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../src/modules/coverage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAiD;AACjD,gDAAkE;AAClE,2CAA8B;AAQjB,QAAA,QAAQ,GAAG,qBAAG,8oBAAA,2kBAgC1B,KAAC;AAEF,IAAM,KAAK,GAA6B;IAChC,QAAQ,YAAC,CAAC,EAAE,IAAI;;;;;4BACL,qBAAM,iBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAA;;wBAAtC,MAAM,GAAG,SAA6B;wBAC1B,qBAAM,oBAAa,CAAC,IAAI,CAAC,SAAS,CAAC,EAAA;;wBAA/C,SAAS,GAAG,SAAmC;wBAErD,sBAAO,eAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,EAAC;;;;KACpC;CACF,CAAC;AAEF,IAAM,cAAc,GAAsC;IACxD,KAAK,YAAC,cAAc;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,YACnD,IAAI,MAAA,IACD,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAC7B,EAHmD,CAGnD,CAAC,CAAC;IACN,CAAC;CACF,CAAC;AAEF,IAAM,YAAY,GAAoC;IACpD,QAAQ,YAAC,YAAY;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,YACpD,IAAI,MAAA,IACD,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC9B,EAHoD,CAGpD,CAAC,CAAC;IACN,CAAC;CACF,CAAC;AAEF,IAAM,iBAAiB,GAAyC;IAC9D,SAAS,YAAC,iBAAiB;QACzB,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC;YAC3D,IAAI,MAAA;YACJ,SAAS,EAAE,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC;SAC7C,CAAC,EAH0D,CAG1D,CAAC,CAAC;IACN,CAAC;CACF,CAAC;AAEW,QAAA,SAAS,GAAG;IACvB,KAAK,OAAA;IACL,cAAc,gBAAA;IACd,YAAY,cAAA;IACZ,iBAAiB,mBAAA;CAClB,CAAC","sourcesContent":["import {coverage} from '@graphql-inspector/core';\nimport {loadSchema, loadDocuments} from '@graphql-inspector/load';\nimport gql from 'graphql-tag';\nimport {\n QueryResolvers,\n SchemaCoverageResolvers,\n TypeCoverageResolvers,\n TypeChildCoverageResolvers,\n} from '../generated/graphql';\n\nexport const typeDefs = gql`\n type Location {\n start: Int!\n end: Int!\n }\n\n type DocumentLocation {\n name: String!\n locations: [Location!]\n }\n\n type TypeChildCoverage {\n name: String!\n hits: Int!\n locations: [DocumentLocation!]\n }\n\n type TypeCoverage {\n name: String!\n hits: Int!\n # type: GraphQLNamedType; TODO: define that\n children: [TypeChildCoverage!]\n }\n\n type SchemaCoverage {\n sources: [DocumentSource!]\n types: [TypeCoverage!]\n }\n\n extend type Query {\n coverage(schema: String!, documents: String!): SchemaCoverage!\n }\n`;\n\nconst Query: QueryResolvers.Resolvers = {\n async coverage(_, args) {\n const schema = await loadSchema(args.schema);\n const documents = await loadDocuments(args.documents);\n\n return coverage(schema, documents);\n },\n};\n\nconst SchemaCoverage: SchemaCoverageResolvers.Resolvers = {\n types(schemaCoverage) {\n return Object.keys(schemaCoverage.types).map(name => ({\n name,\n ...schemaCoverage.types[name],\n }));\n },\n};\n\nconst TypeCoverage: TypeCoverageResolvers.Resolvers = {\n children(typeCoverage) {\n return Object.keys(typeCoverage.children).map(name => ({\n name,\n ...typeCoverage.children[name],\n }));\n },\n};\n\nconst TypeChildCoverage: TypeChildCoverageResolvers.Resolvers = {\n locations(typeChildCoverage) {\n return Object.keys(typeChildCoverage.locations).map(name => ({\n name,\n locations: typeChildCoverage.locations[name],\n }));\n },\n};\n\nexport const resolvers = {\n Query,\n SchemaCoverage,\n TypeCoverage,\n TypeChildCoverage,\n};\n"]}
\No newline at end of file