UNPKG

jok

Version:

Bundle of utility functions for code generation related to nodejs and graphql

25 lines (24 loc) 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var rootType_1 = require("../../utils/rootType"); function default_1(_a) { var _b; var rootType = _a.rootType, methodName = _a.methodName, generateDefaultFragments = _a.generateDefaultFragments, hasProps = _a.hasProps, propsType = _a.propsType, renderContent = _a.renderContent, hasResultType = _a.hasResultType, returnClassFullname = _a.returnClassFullname; var omittedOptionsType = (_b = {}, _b[rootType_1.RootType.Query] = 'OmittedQueryOptions', _b.watchQuery = "OmittedWatchQueryOptions & SubscribeToMoreOptions<{ " + methodName + " : " + returnClassFullname + "}>", _b.cacheWriteQuery = 'OmittedQueryOptions', _b[rootType_1.RootType.Mutation] = 'OmittedMutationOptions', _b[rootType_1.RootType.Subscription] = 'OmittedSubscriptionOptions', _b)[rootType]; var isCacheWriteQueryMode = rootType === 'cacheWriteQuery'; var fragmentRequiredSymbol = generateDefaultFragments ? '?' : ''; var fragmentProp = hasResultType ? "fragment" + fragmentRequiredSymbol + ": string | DocumentNode," : ''; var fragmentType = hasResultType ? 'FragmentOptions' : ''; return "\n\t" + methodName + "(\n\t\t" + (hasProps ? "props: " + propsType + "," : "") + "\n\t\t" + (isCacheWriteQueryMode ? "data: any,\n\t\t\t" + fragmentProp : "\n\t\t\t" + fragmentProp + "\n\t\t\toptions?: GraphqlCallOptions " + (fragmentType ? "& " + fragmentType : '') + " & " + omittedOptionsType + ",") + "\n\t) {\n\t" + renderContent() + "\n\t}"; } exports.default = default_1;