From de743a4319e000af1d94f3f36bec26bfd989934f Mon Sep 17 00:00:00 2001 From: shmck Date: Sat, 16 Nov 2019 11:52:13 -0800 Subject: [PATCH] update typings for supported languages --- .vscode/settings.json | 10 +- src/editor/languageMap.ts | 20 +- typings/graphql.d.ts | 870 +++++++++++++++++++------------------- typings/index.d.ts | 125 +++--- typings/lib.d.ts | 22 +- 5 files changed, 526 insertions(+), 521 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 7d44df88..7992cb51 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,12 +2,6 @@ "editor.formatOnSave": true, "eslint.autoFixOnSave": true, "eslint.validate": ["javascript", { "language": "typescript", "autoFix": true }], - "[javascript]": { - "editor.formatOnSave": false - }, - "[typescript]": { - "editor.formatOnSave": false - }, // Turn off tsc task auto detection since we have the necessary tasks as npm scripts "files.exclude": { "build": false // set this to true to hide the "out" folder with the compiled JS files @@ -21,7 +15,5 @@ "titleBar.activeBackground": "#000000", "titleBar.activeForeground": "#FFFFFF" }, - "cSpell.ignoreWords": [ - "camelcase" - ] + "cSpell.ignoreWords": ["camelcase"] } diff --git a/src/editor/languageMap.ts b/src/editor/languageMap.ts index 40100b97..1760e37c 100644 --- a/src/editor/languageMap.ts +++ b/src/editor/languageMap.ts @@ -3,21 +3,21 @@ import * as G from 'typings/graphql' const languageMap: { [lang: string]: G.FileFormat } = { - // go: 'GO', + go: 'GO', javascript: 'JS', javascriptreact: 'JSX', json: 'JSON', - // less: 'LESS', - // lua: 'LUA', - // php: 'PHP', - // python: 'PY', - // ruby: 'RB', - // sass: 'SASS', - // scss: 'SCSS', - // sql: 'SQL', + less: 'LESS', + lua: 'LUA', + php: 'PHP', + python: 'PY', + ruby: 'RB', + sass: 'SASS', + scss: 'SCSS', + sql: 'SQL', typescript: 'TS', typescriptreact: 'TSX', - // yaml: 'YAML' + yaml: 'YAML', } export default languageMap diff --git a/typings/graphql.d.ts b/typings/graphql.d.ts index 76f3d893..5aaa51ae 100644 --- a/typings/graphql.d.ts +++ b/typings/graphql.d.ts @@ -1,219 +1,234 @@ -import {GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig} from 'graphql' +import { GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig } from 'graphql' export type Maybe = T | null -export type RequireFields = {[X in Exclude]?: T[X]} & - {[P in K]-?: NonNullable} +export type RequireFields = { [X in Exclude]?: T[X] } & + { [P in K]-?: NonNullable } /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { - ID: string - String: string - Boolean: boolean - Int: number - Float: number - DateTime: any - Sha1: any - JSON: any - JSONObject: any + ID: string + String: string + Boolean: boolean + Int: number + Float: number + DateTime: any + Sha1: any + JSON: any + JSONObject: any } /** Commits from a Git Repo */ export type Commit = { - __typename?: 'Commit' - id: Scalars['Sha1'] - message?: Maybe - username?: Maybe + __typename?: 'Commit' + id: Scalars['Sha1'] + message?: Maybe + username?: Maybe } export type CreateTokenInput = { - accessToken: Scalars['String'] + accessToken: Scalars['String'] } export type CreateTutorialSummaryInput = { - title: Scalars['String'] - description: Scalars['String'] + title: Scalars['String'] + description: Scalars['String'] } export type CreateTutorialVersionInput = { - data: Scalars['JSON'] + data: Scalars['JSON'] } export type CreateTutorialVersionOutput = { - __typename?: 'createTutorialVersionOutput' - success?: Maybe + __typename?: 'createTutorialVersionOutput' + success?: Maybe } export type Editor = 'VSCODE' export type EditorLoginInput = { - editor: Editor - machineId: Scalars['String'] - sessionId: Scalars['String'] + editor: Editor + machineId: Scalars['String'] + sessionId: Scalars['String'] } export type EditorLoginOutput = { - __typename?: 'editorLoginOutput' - user: User - token: Scalars['String'] -} - -export type FileFormat = 'JS' | 'JSON' | 'JSX' | 'TS' | 'TSX' + __typename?: 'editorLoginOutput' + user: User + token: Scalars['String'] +} + +export type FileFormat = + | 'GO' + | 'JS' + | 'JSON' + | 'JSX' + | 'LESS' + | 'LUA' + | 'PHP' + | 'PY' + | 'RB' + | 'SASS' + | 'SCSS' + | 'SQL' + | 'TS' + | 'TSX' + | 'YAML' /** Information linked from a GitHub account */ export type GithubUser = { - __typename?: 'GithubUser' - id: Scalars['ID'] - name?: Maybe - email?: Maybe - location?: Maybe - avatarUrl?: Maybe + __typename?: 'GithubUser' + id: Scalars['ID'] + name?: Maybe + email?: Maybe + location?: Maybe + avatarUrl?: Maybe } /** Logical groupings of tasks */ export type Level = { - __typename?: 'Level' - id: Scalars['ID'] - title: Scalars['String'] - /** A summary of the level */ - description: Scalars['String'] - /** The lesson content of the level, parsed as markdown */ - content: Scalars['String'] - /** A set of tasks for users linked to unit tests */ - steps: Array - /** Actions run on level start up for configuring setup */ - setup?: Maybe + __typename?: 'Level' + id: Scalars['ID'] + title: Scalars['String'] + /** A summary of the level */ + description: Scalars['String'] + /** The lesson content of the level, parsed as markdown */ + content: Scalars['String'] + /** A set of tasks for users linked to unit tests */ + steps: Array + /** Actions run on level start up for configuring setup */ + setup?: Maybe } export type Mutation = { - __typename?: 'Mutation' - /** Login used from a coding editor */ - editorLogin?: Maybe - /** Create a new tutorial */ - createTutorialVersion?: Maybe + __typename?: 'Mutation' + /** Login used from a coding editor */ + editorLogin?: Maybe + /** Create a new tutorial */ + createTutorialVersion?: Maybe } export type MutationEditorLoginArgs = { - input: EditorLoginInput + input: EditorLoginInput } export type MutationCreateTutorialVersionArgs = { - input: CreateTutorialVersionInput + input: CreateTutorialVersionInput } export type Query = { - __typename?: 'Query' - tutorial?: Maybe - tutorials?: Maybe>> - viewer?: Maybe - /** TOOD: move inside of viewer */ - commits: Array> + __typename?: 'Query' + tutorial?: Maybe + tutorials?: Maybe>> + viewer?: Maybe + /** TOOD: move inside of viewer */ + commits: Array> } export type QueryTutorialArgs = { - id: Scalars['ID'] + id: Scalars['ID'] } export type QueryCommitsArgs = { - input: TutorialRepoInput + input: TutorialRepoInput } export type Role = 'ADMIN' | 'EDITOR_USER' /** A level task */ export type Step = { - __typename?: 'Step' - id: Scalars['ID'] - content: Scalars['String'] - setup: StepActions - solution: StepActions + __typename?: 'Step' + id: Scalars['ID'] + content: Scalars['String'] + setup: StepActions + solution: StepActions } /** Load commits, open files or run commands */ export type StepActions = { - __typename?: 'StepActions' - id: Scalars['ID'] - commits: Array - files?: Maybe> - commands?: Maybe> - listeners?: Maybe> + __typename?: 'StepActions' + id: Scalars['ID'] + commits: Array + files?: Maybe> + commands?: Maybe> + listeners?: Maybe> } /** A tutorial for use in VSCode CodeRoad */ export type Tutorial = { - __typename?: 'Tutorial' - id: Scalars['ID'] - createdBy: User - createdAt: Scalars['DateTime'] - version: TutorialVersion - versions: Array - completed?: Maybe + __typename?: 'Tutorial' + id: Scalars['ID'] + createdBy: User + createdAt: Scalars['DateTime'] + version: TutorialVersion + versions: Array + completed?: Maybe } /** A tutorial for use in VSCode CodeRoad */ export type TutorialVersionArgs = { - version?: Maybe + version?: Maybe } /** Configure environment in editor for git, testing & parsing files */ export type TutorialConfig = { - __typename?: 'TutorialConfig' - testRunner: TutorialTestRunner - repo: TutorialRepo + __typename?: 'TutorialConfig' + testRunner: TutorialTestRunner + repo: TutorialRepo } /** Data for tutorial */ export type TutorialData = { - __typename?: 'TutorialData' - config: TutorialConfig - init?: Maybe - levels: Array + __typename?: 'TutorialData' + config: TutorialConfig + init?: Maybe + levels: Array } /** Data that loads on startup */ export type TutorialInit = { - __typename?: 'TutorialInit' - setup?: Maybe + __typename?: 'TutorialInit' + setup?: Maybe } /** Repo referenced by commmits in the tutorial */ export type TutorialRepo = { - __typename?: 'TutorialRepo' - uri: Scalars['String'] - branch: Scalars['String'] - name?: Maybe - owner?: Maybe + __typename?: 'TutorialRepo' + uri: Scalars['String'] + branch: Scalars['String'] + name?: Maybe + owner?: Maybe } export type TutorialRepoInput = { - uri: Scalars['String'] - branch: Scalars['String'] + uri: Scalars['String'] + branch: Scalars['String'] } /** Summary of tutorial used when selecting tutorial */ export type TutorialSummary = { - __typename?: 'TutorialSummary' - title: Scalars['String'] - description: Scalars['String'] + __typename?: 'TutorialSummary' + title: Scalars['String'] + description: Scalars['String'] } export type TutorialTestRunner = { - __typename?: 'TutorialTestRunner' - command: Scalars['String'] - fileFormats?: Maybe> + __typename?: 'TutorialTestRunner' + command: Scalars['String'] + fileFormats?: Maybe> } /** A version of a tutorial */ export type TutorialVersion = { - __typename?: 'TutorialVersion' - tutorialId: Scalars['ID'] - version: Scalars['String'] - createdAt: Scalars['DateTime'] - createdBy: User - updatedBy: User - updatedAt: Scalars['DateTime'] - publishedAt?: Maybe - publishedBy?: Maybe - summary: TutorialSummary - data: TutorialData - completed?: Maybe + __typename?: 'TutorialVersion' + tutorialId: Scalars['ID'] + version: Scalars['String'] + createdAt: Scalars['DateTime'] + createdBy: User + updatedBy: User + updatedAt: Scalars['DateTime'] + publishedAt?: Maybe + publishedBy?: Maybe + summary: TutorialSummary + data: TutorialData + completed?: Maybe } /** @@ -221,402 +236,402 @@ export type TutorialVersion = { * & credit for tutorial creation/contributions **/ export type User = { - __typename?: 'User' - id: Scalars['ID'] - name?: Maybe - email?: Maybe - location?: Maybe - avatarUrl?: Maybe - createdAt: Scalars['DateTime'] - updatedAt: Scalars['DateTime'] - githubUser?: Maybe + __typename?: 'User' + id: Scalars['ID'] + name?: Maybe + email?: Maybe + location?: Maybe + avatarUrl?: Maybe + createdAt: Scalars['DateTime'] + updatedAt: Scalars['DateTime'] + githubUser?: Maybe } export type ResolverTypeWrapper = Promise | T export type ResolverFn = ( - parent: TParent, - args: TArgs, - context: TContext, - info: GraphQLResolveInfo, + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo, ) => Promise | TResult export type StitchingResolver = { - fragment: string - resolve: ResolverFn + fragment: string + resolve: ResolverFn } export type Resolver = - | ResolverFn - | StitchingResolver + | ResolverFn + | StitchingResolver export type SubscriptionSubscribeFn = ( - parent: TParent, - args: TArgs, - context: TContext, - info: GraphQLResolveInfo, + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo, ) => AsyncIterator | Promise> export type SubscriptionResolveFn = ( - parent: TParent, - args: TArgs, - context: TContext, - info: GraphQLResolveInfo, + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo, ) => TResult | Promise export interface SubscriptionSubscriberObject { - subscribe: SubscriptionSubscribeFn<{[key in TKey]: TResult}, TParent, TContext, TArgs> - resolve?: SubscriptionResolveFn + subscribe: SubscriptionSubscribeFn<{ [key in TKey]: TResult }, TParent, TContext, TArgs> + resolve?: SubscriptionResolveFn } export interface SubscriptionResolverObject { - subscribe: SubscriptionSubscribeFn - resolve: SubscriptionResolveFn + subscribe: SubscriptionSubscribeFn + resolve: SubscriptionResolveFn } export type SubscriptionObject = - | SubscriptionSubscriberObject - | SubscriptionResolverObject + | SubscriptionSubscriberObject + | SubscriptionResolverObject export type SubscriptionResolver = - | ((...args: any[]) => SubscriptionObject) - | SubscriptionObject + | ((...args: any[]) => SubscriptionObject) + | SubscriptionObject export type TypeResolveFn = ( - parent: TParent, - context: TContext, - info: GraphQLResolveInfo, + parent: TParent, + context: TContext, + info: GraphQLResolveInfo, ) => Maybe export type NextResolverFn = () => Promise export type DirectiveResolverFn = ( - next: NextResolverFn, - parent: TParent, - args: TArgs, - context: TContext, - info: GraphQLResolveInfo, + next: NextResolverFn, + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo, ) => TResult | Promise /** Mapping between all available schema types and the resolvers types */ export type ResolversTypes = { - Query: ResolverTypeWrapper<{}> - ID: ResolverTypeWrapper - Tutorial: ResolverTypeWrapper - User: ResolverTypeWrapper - String: ResolverTypeWrapper - DateTime: ResolverTypeWrapper - GithubUser: ResolverTypeWrapper - TutorialVersion: ResolverTypeWrapper - TutorialSummary: ResolverTypeWrapper - TutorialData: ResolverTypeWrapper - TutorialConfig: ResolverTypeWrapper - TutorialTestRunner: ResolverTypeWrapper - FileFormat: FileFormat - TutorialRepo: ResolverTypeWrapper - TutorialInit: ResolverTypeWrapper - StepActions: ResolverTypeWrapper - Sha1: ResolverTypeWrapper - Level: ResolverTypeWrapper - Step: ResolverTypeWrapper - Boolean: ResolverTypeWrapper - tutorialRepoInput: TutorialRepoInput - Commit: ResolverTypeWrapper - Mutation: ResolverTypeWrapper<{}> - editorLoginInput: EditorLoginInput - Editor: Editor - editorLoginOutput: ResolverTypeWrapper - createTutorialVersionInput: CreateTutorialVersionInput - JSON: ResolverTypeWrapper - createTutorialVersionOutput: ResolverTypeWrapper - JSONObject: ResolverTypeWrapper - Role: Role - createTokenInput: CreateTokenInput - createTutorialSummaryInput: CreateTutorialSummaryInput + Query: ResolverTypeWrapper<{}> + ID: ResolverTypeWrapper + Tutorial: ResolverTypeWrapper + User: ResolverTypeWrapper + String: ResolverTypeWrapper + DateTime: ResolverTypeWrapper + GithubUser: ResolverTypeWrapper + TutorialVersion: ResolverTypeWrapper + TutorialSummary: ResolverTypeWrapper + TutorialData: ResolverTypeWrapper + TutorialConfig: ResolverTypeWrapper + TutorialTestRunner: ResolverTypeWrapper + FileFormat: FileFormat + TutorialRepo: ResolverTypeWrapper + TutorialInit: ResolverTypeWrapper + StepActions: ResolverTypeWrapper + Sha1: ResolverTypeWrapper + Level: ResolverTypeWrapper + Step: ResolverTypeWrapper + Boolean: ResolverTypeWrapper + tutorialRepoInput: TutorialRepoInput + Commit: ResolverTypeWrapper + Mutation: ResolverTypeWrapper<{}> + editorLoginInput: EditorLoginInput + Editor: Editor + editorLoginOutput: ResolverTypeWrapper + createTutorialVersionInput: CreateTutorialVersionInput + JSON: ResolverTypeWrapper + createTutorialVersionOutput: ResolverTypeWrapper + JSONObject: ResolverTypeWrapper + Role: Role + createTokenInput: CreateTokenInput + createTutorialSummaryInput: CreateTutorialSummaryInput } /** Mapping between all available schema types and the resolvers parents */ export type ResolversParentTypes = { - Query: {} - ID: Scalars['ID'] - Tutorial: Tutorial - User: User - String: Scalars['String'] - DateTime: Scalars['DateTime'] - GithubUser: GithubUser - TutorialVersion: TutorialVersion - TutorialSummary: TutorialSummary - TutorialData: TutorialData - TutorialConfig: TutorialConfig - TutorialTestRunner: TutorialTestRunner - FileFormat: FileFormat - TutorialRepo: TutorialRepo - TutorialInit: TutorialInit - StepActions: StepActions - Sha1: Scalars['Sha1'] - Level: Level - Step: Step - Boolean: Scalars['Boolean'] - tutorialRepoInput: TutorialRepoInput - Commit: Commit - Mutation: {} - editorLoginInput: EditorLoginInput - Editor: Editor - editorLoginOutput: EditorLoginOutput - createTutorialVersionInput: CreateTutorialVersionInput - JSON: Scalars['JSON'] - createTutorialVersionOutput: CreateTutorialVersionOutput - JSONObject: Scalars['JSONObject'] - Role: Role - createTokenInput: CreateTokenInput - createTutorialSummaryInput: CreateTutorialSummaryInput + Query: {} + ID: Scalars['ID'] + Tutorial: Tutorial + User: User + String: Scalars['String'] + DateTime: Scalars['DateTime'] + GithubUser: GithubUser + TutorialVersion: TutorialVersion + TutorialSummary: TutorialSummary + TutorialData: TutorialData + TutorialConfig: TutorialConfig + TutorialTestRunner: TutorialTestRunner + FileFormat: FileFormat + TutorialRepo: TutorialRepo + TutorialInit: TutorialInit + StepActions: StepActions + Sha1: Scalars['Sha1'] + Level: Level + Step: Step + Boolean: Scalars['Boolean'] + tutorialRepoInput: TutorialRepoInput + Commit: Commit + Mutation: {} + editorLoginInput: EditorLoginInput + Editor: Editor + editorLoginOutput: EditorLoginOutput + createTutorialVersionInput: CreateTutorialVersionInput + JSON: Scalars['JSON'] + createTutorialVersionOutput: CreateTutorialVersionOutput + JSONObject: Scalars['JSONObject'] + Role: Role + createTokenInput: CreateTokenInput + createTutorialSummaryInput: CreateTutorialSummaryInput } export type AuthDirectiveResolver< - Result, - Parent, - ContextType = any, - Args = {requires?: Maybe>} - > = DirectiveResolverFn + Result, + Parent, + ContextType = any, + Args = { requires?: Maybe> } +> = DirectiveResolverFn export type CommitResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['Commit'] = ResolversParentTypes['Commit'] - > = { - id?: Resolver - message?: Resolver, ParentType, ContextType> - username?: Resolver, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['Commit'] = ResolversParentTypes['Commit'] +> = { + id?: Resolver + message?: Resolver, ParentType, ContextType> + username?: Resolver, ParentType, ContextType> +} export type CreateTutorialVersionOutputResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['createTutorialVersionOutput'] = ResolversParentTypes['createTutorialVersionOutput'] - > = { - success?: Resolver, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['createTutorialVersionOutput'] = ResolversParentTypes['createTutorialVersionOutput'] +> = { + success?: Resolver, ParentType, ContextType> +} export interface DateTimeScalarConfig extends GraphQLScalarTypeConfig { - name: 'DateTime' + name: 'DateTime' } export type EditorLoginOutputResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['editorLoginOutput'] = ResolversParentTypes['editorLoginOutput'] - > = { - user?: Resolver - token?: Resolver - } + ContextType = any, + ParentType extends ResolversParentTypes['editorLoginOutput'] = ResolversParentTypes['editorLoginOutput'] +> = { + user?: Resolver + token?: Resolver +} export type GithubUserResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['GithubUser'] = ResolversParentTypes['GithubUser'] - > = { - id?: Resolver - name?: Resolver, ParentType, ContextType> - email?: Resolver, ParentType, ContextType> - location?: Resolver, ParentType, ContextType> - avatarUrl?: Resolver, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['GithubUser'] = ResolversParentTypes['GithubUser'] +> = { + id?: Resolver + name?: Resolver, ParentType, ContextType> + email?: Resolver, ParentType, ContextType> + location?: Resolver, ParentType, ContextType> + avatarUrl?: Resolver, ParentType, ContextType> +} export interface JsonScalarConfig extends GraphQLScalarTypeConfig { - name: 'JSON' + name: 'JSON' } export interface JsonObjectScalarConfig extends GraphQLScalarTypeConfig { - name: 'JSONObject' + name: 'JSONObject' } export type LevelResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['Level'] = ResolversParentTypes['Level'] - > = { - id?: Resolver - title?: Resolver - description?: Resolver - content?: Resolver - steps?: Resolver, ParentType, ContextType> - setup?: Resolver, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['Level'] = ResolversParentTypes['Level'] +> = { + id?: Resolver + title?: Resolver + description?: Resolver + content?: Resolver + steps?: Resolver, ParentType, ContextType> + setup?: Resolver, ParentType, ContextType> +} export type MutationResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['Mutation'] = ResolversParentTypes['Mutation'] - > = { - editorLogin?: Resolver< - Maybe, - ParentType, - ContextType, - RequireFields - > - createTutorialVersion?: Resolver< - Maybe, - ParentType, - ContextType, - RequireFields - > - } + ContextType = any, + ParentType extends ResolversParentTypes['Mutation'] = ResolversParentTypes['Mutation'] +> = { + editorLogin?: Resolver< + Maybe, + ParentType, + ContextType, + RequireFields + > + createTutorialVersion?: Resolver< + Maybe, + ParentType, + ContextType, + RequireFields + > +} export type QueryResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['Query'] = ResolversParentTypes['Query'] - > = { - tutorial?: Resolver< - Maybe, - ParentType, - ContextType, - RequireFields - > - tutorials?: Resolver>>, ParentType, ContextType> - viewer?: Resolver, ParentType, ContextType> - commits?: Resolver< - Array>, - ParentType, - ContextType, - RequireFields - > - } + ContextType = any, + ParentType extends ResolversParentTypes['Query'] = ResolversParentTypes['Query'] +> = { + tutorial?: Resolver< + Maybe, + ParentType, + ContextType, + RequireFields + > + tutorials?: Resolver>>, ParentType, ContextType> + viewer?: Resolver, ParentType, ContextType> + commits?: Resolver< + Array>, + ParentType, + ContextType, + RequireFields + > +} export interface Sha1ScalarConfig extends GraphQLScalarTypeConfig { - name: 'Sha1' + name: 'Sha1' } export type StepResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['Step'] = ResolversParentTypes['Step'] - > = { - id?: Resolver - content?: Resolver - setup?: Resolver - solution?: Resolver - } + ContextType = any, + ParentType extends ResolversParentTypes['Step'] = ResolversParentTypes['Step'] +> = { + id?: Resolver + content?: Resolver + setup?: Resolver + solution?: Resolver +} export type StepActionsResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['StepActions'] = ResolversParentTypes['StepActions'] - > = { - id?: Resolver - commits?: Resolver, ParentType, ContextType> - files?: Resolver>, ParentType, ContextType> - commands?: Resolver>, ParentType, ContextType> - listeners?: Resolver>, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['StepActions'] = ResolversParentTypes['StepActions'] +> = { + id?: Resolver + commits?: Resolver, ParentType, ContextType> + files?: Resolver>, ParentType, ContextType> + commands?: Resolver>, ParentType, ContextType> + listeners?: Resolver>, ParentType, ContextType> +} export type TutorialResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['Tutorial'] = ResolversParentTypes['Tutorial'] - > = { - id?: Resolver - createdBy?: Resolver - createdAt?: Resolver - version?: Resolver - versions?: Resolver, ParentType, ContextType> - completed?: Resolver, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['Tutorial'] = ResolversParentTypes['Tutorial'] +> = { + id?: Resolver + createdBy?: Resolver + createdAt?: Resolver + version?: Resolver + versions?: Resolver, ParentType, ContextType> + completed?: Resolver, ParentType, ContextType> +} export type TutorialConfigResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['TutorialConfig'] = ResolversParentTypes['TutorialConfig'] - > = { - testRunner?: Resolver - repo?: Resolver - } + ContextType = any, + ParentType extends ResolversParentTypes['TutorialConfig'] = ResolversParentTypes['TutorialConfig'] +> = { + testRunner?: Resolver + repo?: Resolver +} export type TutorialDataResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['TutorialData'] = ResolversParentTypes['TutorialData'] - > = { - config?: Resolver - init?: Resolver, ParentType, ContextType> - levels?: Resolver, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['TutorialData'] = ResolversParentTypes['TutorialData'] +> = { + config?: Resolver + init?: Resolver, ParentType, ContextType> + levels?: Resolver, ParentType, ContextType> +} export type TutorialInitResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['TutorialInit'] = ResolversParentTypes['TutorialInit'] - > = { - setup?: Resolver, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['TutorialInit'] = ResolversParentTypes['TutorialInit'] +> = { + setup?: Resolver, ParentType, ContextType> +} export type TutorialRepoResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['TutorialRepo'] = ResolversParentTypes['TutorialRepo'] - > = { - uri?: Resolver - branch?: Resolver - name?: Resolver, ParentType, ContextType> - owner?: Resolver, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['TutorialRepo'] = ResolversParentTypes['TutorialRepo'] +> = { + uri?: Resolver + branch?: Resolver + name?: Resolver, ParentType, ContextType> + owner?: Resolver, ParentType, ContextType> +} export type TutorialSummaryResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['TutorialSummary'] = ResolversParentTypes['TutorialSummary'] - > = { - title?: Resolver - description?: Resolver - } + ContextType = any, + ParentType extends ResolversParentTypes['TutorialSummary'] = ResolversParentTypes['TutorialSummary'] +> = { + title?: Resolver + description?: Resolver +} export type TutorialTestRunnerResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['TutorialTestRunner'] = ResolversParentTypes['TutorialTestRunner'] - > = { - command?: Resolver - fileFormats?: Resolver>, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['TutorialTestRunner'] = ResolversParentTypes['TutorialTestRunner'] +> = { + command?: Resolver + fileFormats?: Resolver>, ParentType, ContextType> +} export type TutorialVersionResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['TutorialVersion'] = ResolversParentTypes['TutorialVersion'] - > = { - tutorialId?: Resolver - version?: Resolver - createdAt?: Resolver - createdBy?: Resolver - updatedBy?: Resolver - updatedAt?: Resolver - publishedAt?: Resolver, ParentType, ContextType> - publishedBy?: Resolver, ParentType, ContextType> - summary?: Resolver - data?: Resolver - completed?: Resolver, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['TutorialVersion'] = ResolversParentTypes['TutorialVersion'] +> = { + tutorialId?: Resolver + version?: Resolver + createdAt?: Resolver + createdBy?: Resolver + updatedBy?: Resolver + updatedAt?: Resolver + publishedAt?: Resolver, ParentType, ContextType> + publishedBy?: Resolver, ParentType, ContextType> + summary?: Resolver + data?: Resolver + completed?: Resolver, ParentType, ContextType> +} export type UserResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['User'] = ResolversParentTypes['User'] - > = { - id?: Resolver - name?: Resolver, ParentType, ContextType> - email?: Resolver, ParentType, ContextType> - location?: Resolver, ParentType, ContextType> - avatarUrl?: Resolver, ParentType, ContextType> - createdAt?: Resolver - updatedAt?: Resolver - githubUser?: Resolver, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['User'] = ResolversParentTypes['User'] +> = { + id?: Resolver + name?: Resolver, ParentType, ContextType> + email?: Resolver, ParentType, ContextType> + location?: Resolver, ParentType, ContextType> + avatarUrl?: Resolver, ParentType, ContextType> + createdAt?: Resolver + updatedAt?: Resolver + githubUser?: Resolver, ParentType, ContextType> +} export type Resolvers = { - Commit?: CommitResolvers - createTutorialVersionOutput?: CreateTutorialVersionOutputResolvers - DateTime?: GraphQLScalarType - editorLoginOutput?: EditorLoginOutputResolvers - GithubUser?: GithubUserResolvers - JSON?: GraphQLScalarType - JSONObject?: GraphQLScalarType - Level?: LevelResolvers - Mutation?: MutationResolvers - Query?: QueryResolvers - Sha1?: GraphQLScalarType - Step?: StepResolvers - StepActions?: StepActionsResolvers - Tutorial?: TutorialResolvers - TutorialConfig?: TutorialConfigResolvers - TutorialData?: TutorialDataResolvers - TutorialInit?: TutorialInitResolvers - TutorialRepo?: TutorialRepoResolvers - TutorialSummary?: TutorialSummaryResolvers - TutorialTestRunner?: TutorialTestRunnerResolvers - TutorialVersion?: TutorialVersionResolvers - User?: UserResolvers + Commit?: CommitResolvers + createTutorialVersionOutput?: CreateTutorialVersionOutputResolvers + DateTime?: GraphQLScalarType + editorLoginOutput?: EditorLoginOutputResolvers + GithubUser?: GithubUserResolvers + JSON?: GraphQLScalarType + JSONObject?: GraphQLScalarType + Level?: LevelResolvers + Mutation?: MutationResolvers + Query?: QueryResolvers + Sha1?: GraphQLScalarType + Step?: StepResolvers + StepActions?: StepActionsResolvers + Tutorial?: TutorialResolvers + TutorialConfig?: TutorialConfigResolvers + TutorialData?: TutorialDataResolvers + TutorialInit?: TutorialInitResolvers + TutorialRepo?: TutorialRepoResolvers + TutorialSummary?: TutorialSummaryResolvers + TutorialTestRunner?: TutorialTestRunnerResolvers + TutorialVersion?: TutorialVersionResolvers + User?: UserResolvers } /** @@ -625,7 +640,7 @@ export type Resolvers = { */ export type IResolvers = Resolvers export type DirectiveResolvers = { - auth?: AuthDirectiveResolver + auth?: AuthDirectiveResolver } /** @@ -635,14 +650,13 @@ export type DirectiveResolvers = { export type IDirectiveResolvers = DirectiveResolvers export interface IntrospectionResultData { - __schema: { - types: { - kind: string - name: string - possibleTypes: { - name: string - }[] - }[] - } + __schema: { + types: { + kind: string + name: string + possibleTypes: { + name: string + }[] + }[] + } } - diff --git a/typings/index.d.ts b/typings/index.d.ts index 8edb29f4..26c6f17a 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -4,103 +4,102 @@ import * as G from './graphql' export type ProgressStatus = 'ACTIVE' | 'COMPLETE' | 'INCOMPLETE' export interface Progress { - levels: { - [levelId: string]: boolean - } - steps: { - [stepId: string]: boolean - } - complete: boolean + levels: { + [levelId: string]: boolean + } + steps: { + [stepId: string]: boolean + } + complete: boolean } export interface StepProgress { - [stepId: string]: boolean + [stepId: string]: boolean } // current tutorial position export interface Position { - levelId: string - stepId: string - complete?: boolean + levelId: string + stepId: string + complete?: boolean } // current tutorial state export interface Action { - type: string - payload?: any - meta?: any + type: string + payload?: any + meta?: any } export interface Environment { - machineId: string - sessionId: string - token: string + machineId: string + sessionId: string + token: string } export interface MachineContext { - env: Environment, - tutorial: G.Tutorial | null, - position: Position, - progress: Progress, + env: Environment + tutorial: G.Tutorial | null + position: Position + progress: Progress } export interface MachineEvent { - type: string - payload?: any - data?: any + type: string + payload?: any + data?: any } export interface MachineStateSchema { - states: { - Start: { - states: { - Startup: {} - Authenticate: {} - NewOrContinue: {} - SelectTutorial: {} - ContinueTutorial: {} - }, - }, - Tutorial: { - states: { - Initialize: {} - Summary: {} - LoadNext: {} - Level: { - states: { - Load: {} - Normal: {} - TestRunning: {} - TestPass: {} - TestFail: {} - TestError: {} - StepNext: {} - LevelComplete: {} - } - } - Completed: {} - } - } - } + states: { + Start: { + states: { + Startup: {} + Authenticate: {} + NewOrContinue: {} + SelectTutorial: {} + ContinueTutorial: {} + } + } + Tutorial: { + states: { + Initialize: {} + Summary: {} + LoadNext: {} + Level: { + states: { + Load: {} + Normal: {} + TestRunning: {} + TestPass: {} + TestFail: {} + TestError: {} + StepNext: {} + LevelComplete: {} + } + } + Completed: {} + } + } + } } export interface StateMachine { - activate(): void - deactivate(): void - send(action: string | Action): void + activate(): void + deactivate(): void + send(action: string | Action): void } interface MessageData { - tutorial?: {id: string} - position: Position - progress: Progress + tutorial?: { id: string } + position: Position + progress: Progress } interface MessageState { - state: string + state: string } - // todo: type each string param and payload export type EditorDispatch = (type: string, payload?: MessageData | MessageState | any) => void diff --git a/typings/lib.d.ts b/typings/lib.d.ts index f8f66f94..7ae9277e 100644 --- a/typings/lib.d.ts +++ b/typings/lib.d.ts @@ -1,13 +1,13 @@ declare module 'tap-parser' { - type TapParserOutput = { - ok: boolean - count: number - pass: number - plan: { - start: number - end: number - } - } - const Parser: any - export default Parser + type TapParserOutput = { + ok: boolean + count: number + pass: number + plan: { + start: number + end: number + } + } + const Parser: any + export default Parser }