You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Feb 22, 2021. It is now read-only.
Trying to autofix ordering imports by groups
imports:
tslint config:
Log
[Info - 10:32:46 PM] Forking TSServer PATH: /usr/local/bin:/Users/denis/.zplug/bin:/Users/denis/.autojump/bin:/Users/denis/.cargo/bin:/Users/denis/.local/bin:/Users/denis/.npm-packages/bin:/usr/local/bin:/Users/denis/.npm-global/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/denis/Library/Android/sdk/tools:/Users/denis/Library/Android/sdk/tools/bin:/Users/denis/Library/Android/sdk/platform-tools [Info - 10:32:46 PM] Started TSServer { "path": "/Users/denis/dev/payever/builder-editor/node_modules/typescript/lib", "_api": { "versionString": "3.8.3", "version": "3.8.3" } } [Trace - 10:32:46 PM] Sending request: configure (0). Response expected: no. Current queue length: 0 Arguments: { "hostInfo": "coc-nvim", "preferences": { "providePrefixAndSuffixTextForRename": true, "allowRenameOfImportPath": true } } [Trace - 10:32:46 PM] Sending request: compilerOptionsForInferredProjects (1). Response expected: no. Current queue length: 0 Arguments: { "options": { "module": "commonjs", "target": "es2016", "jsx": "preserve", "allowJs": true, "allowSyntheticDefaultImports": true, "allowNonTsExtensions": true } } [Trace - 10:32:46 PM] Sending request: open (2). Response expected: no. Current queue length: 0 Arguments: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts", "fileContent": "/* tslint:disable:member-ordering /\nimport { Injectable, OnDestroy } from '@angular/core';\nimport { BehaviorSubject, combineLatest, EMPTY, Observable, of, Subject, timer } from 'rxjs';\nimport { delay, map, share, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport { filter as filterCollection, find, fromPairs } from 'lodash';\n\nimport {\n PebAction,\n pebActionHandler,\n PebApiService,\n PebAppendElementPayload,\n pebCompileActions,\n PebContext,\n PebContextSchema,\n PebContextSchemaEffect,\n pebCreateEmptyPage,\n PebEffectTarget,\n PebElement,\n PebElementId,\n PebElementStyles,\n pebGenerateId,\n pebLayoutCreateUpdateElementEffect,\n PebPage,\n PebPageEffect,\n PebPageId,\n PebPageShort,\n PebPageType,\n PebPageVariant,\n PebScreen,\n PebShopData,\n PebShopEffect,\n PebShopTheme,\n PebShopThemeSnapshotEntity,\n PebShopThemeSource,\n PebStylesheet,\n PebStylesheetEffect,\n PebTemplateEffect,\n} from '@pe/builder-core';\n\nimport { getUndoSourceActions } from '../behaviors/_utils/shop';\n\nexport interface PebElementKit {\n element: PebElement;\n styles: { [screenId: string]: PebElementStyles };\n contextSchema: PebContextSchema;\n}\n\n@Injectable()\nexport class PebEditorStore implements OnDestroy {\n constructor(\n private api: PebApiService,\n ) {\n }\n\n ngOnDestroy() {\n this.setSnapshot(null);\n this.snapshotSubject$.complete();\n\n this.sourceSubject$.next(null);\n this.sourceSubject$.complete();\n\n this.destroyedSubject$.next(true);\n this.destroyedSubject$.complete();\n }\n\n private nextActions: { pageId: PebPageId, action: PebAction }[] = [];\n\n // TODO(@dmlukichev): Check if it would be more convenient to use theme$, source$ and snapshot$\n // after piping it through existence filter\n private readonly themeSubject$ = new BehaviorSubject(null);\n readonly theme$ = this.themeSubject$.asObservable();\n\n private readonly sourceSubject$ = new BehaviorSubject(null);\n readonly source$ = this.sourceSubject$.asObservable();\n\n private get source() {\n return this.sourceSubject$.value;\n }\n\n private readonly snapshotSubject$ = new BehaviorSubject(null);\n readonly snapshot$ = this.snapshotSubject$.asObservable();\n\n get snapshot() {\n // TODO: Dirty hack. To remove all attempts to modify snapshot directly use deepFreeze\n return JSON.parse(JSON.stringify(this.snapshotSubject$.value));\n }\n\n private setSnapshot(value: PebShopThemeSnapshotEntity) {\n this.snapshotSubject$.next(value);\n }\n\n private readonly activePageIdSubject$ = new BehaviorSubject(null);\n readonly activePageId$ = this.activePageIdSubject$.asObservable();\n\n get activePageId() {\n return this.activePageIdSubject$.value;\n }\n\n private lastActivePages = {\n [PebPageType.Master]: null,\n [PebPageType.Replica]: null,\n };\n\n private readonly destroyedSubject$ = new Subject();\n readonly destroyed$ = this.destroyedSubject$.asObservable();\n\n openTheme(theme: PebShopTheme, initialPageId: PebPageId): Observable {\n if (!theme) {\n throw new Error('Attempt to initiate store for empty theme');\n }\n\n const mockApiGetSource = (t) => of(t.source).pipe(delay(200));\n\n const mockApiGetSnapshot = (t) => of(t.source.snapshot).pipe(delay(200));\n\n this.themeSubject$.next(theme);\n\n return combineLatest([\n mockApiGetSource(theme),\n mockApiGetSnapshot(theme),\n ]).pipe(\n tap(([source, snapshot]) => {\n this.sourceSubject$.next(source);\n this.setSnapshot(snapshot);\n\n if (initialPageId) {\n return this.activePageIdSubject$.next(initialPageId)\n }\n\n // TODO(@dmlukichev): This will become an async request to server\n const snapshotPages = Object.values((theme.source.snapshot as any).pages) as PebPage[];\n const frontPage = snapshotPages.find(p => p.variant === PebPageVariant.Front);\n\n if (!frontPage) {\n console.warn(\n 'This theme somehow doesn\'t have front page defined.' +\n 'Probably, this happened because your fixture doesn\'t define it.',\n );\n }\n\n this.activePageIdSubject$.next(frontPage.id || snapshotPages[0].id);\n }),\n map(() => null),\n takeUntil(this.destroyed$),\n share(), // TODO: Check if this should go before takeUntil()\n );\n }\n\n activatePage(pageId): Observable {\n if (!pageId) {\n this.activePageIdSubject$.next(null);\n return EMPTY;\n }\n\n const page = this.snapshot.pages[pageId];\n\n if (!page) {\n return EMPTY;\n }\n this.lastActivePages[page.type] = pageId;\n\n if (page.master) {\n const masterActions = extractPageActionsFromSnapshot(\n this.source,\n this.snapshot,\n page.master.id,\n );\n const lastMasterActionId = masterActions[masterActions.length - 1].id;\n\n if (page.master.lastActionId !== lastMasterActionId) {\n const confirmation = confirm(\n 'Page\'s master has been changed.\n' +\n 'Do you want to apply this changes?',\n );\n\n if (confirmation) {\n this.applyMasterChangesInReplica(pageId).pipe(\n tap(() => this.activePageIdSubject$.next(pageId)),\n );\n }\n }\n }\n\n return timer(200).pipe(\n tap(() => this.activePageIdSubject$.next(pageId)),\n map(() => null),\n takeUntil(this.destroyed$),\n share(),\n );\n }\n\n activateLastPageByView(type: PebPageType): Observable {\n if (!this.snapshot) {\n // TODO: Remove this after 10.05 because not happens\n throw new Error('Unexpected behaviour detected');\n }\n\n if (this.lastActivePages[type]) {\n return this.activatePage(this.lastActivePages[type]);\n }\n\n const possiblePages = Object\n .values(this.snapshot.pages as PebPageShort)\n .filter((replicaPage: PebPageShort) => replicaPage.type === type);\n\n return possiblePages.length\n ? this.activatePage(possiblePages[0].id)\n : EMPTY;\n }\n\n createPage(input: {\n name: string,\n variant: PebPageVariant,\n type: PebPageType,\n masterId: PebPageId | null,\n }): Observable {\n let pageSource: PebPage = null;\n\n if (input.masterId) {\n const masterActions = extractPageActionsFromSnapshot(\n this.source,\n this.snapshot,\n input.masterId,\n );\n\n pageSource = extractPageFromSnapshot(this.snapshot, input.masterId);\n pageSource.id = pebGenerateId('page');\n pageSource.type = PebPageType.Replica;\n pageSource.master = {\n id: input.masterId,\n lastActionId: masterActions[masterActions.length - 1].id,\n };\n } else {\n pageSource = pebCreateEmptyPage(input.name, input.variant, input.type);\n }\n\n const createPageAction = makeCreatePageAction(input.name, pageSource);\n\n return this.commitAction(createPageAction).pipe(switchMap(() => this.activatePage(pageSource.id)));\n }\n\n updatePage(page: PebPageShort, payload: any): Observable {\n const updatePageAction = makeUpdatePageAction(page, payload);\n\n return this.commitAction(updatePageAction);\n }\n\n deletePage(page: PebPageShort, pagesView: PebPageType): Observable {\n const deletePageAction = makeDeletePageAction(page);\n\n return this.commitAction(deletePageAction).pipe(\n switchMap(() =>\n this.activePageId === page.id\n ? this.activateExistPage(page.id, pagesView)\n : EMPTY,\n ),\n );\n }\n\n appendElement(parentId: PebElementId, elementDef: any): Observable {\n const page = this.snapshot.pages[this.activePageId];\n\n const appendAction = makeAppendElementAction(page, parentId, elementDef);\n\n return this.commitAction(appendAction);\n }\n\n setBeforeElement(parentId: PebElementId, elementDef: any, beforeId?: PebElementId ): Observable {\n // Set element before parentId element\n const page = this.snapshot.pages[this.activePageId];\n\n const appendAction = makeAppendElementAction(page, parentId, elementDef, beforeId);\n\n return this.commitAction(appendAction);\n }\n\n updateElement(element: PebElement): Observable {\n const page = this.snapshot.pages[this.activePageId];\n\n const updateElementAction = {\n id: pebGenerateId(),\n createdAt: new Date(),\n effects: [\n pebLayoutCreateUpdateElementEffect(page.templateId, element),\n ],\n };\n\n return this.commitAction(updateElementAction);\n }\n\n updateStyles(screen: PebScreen, styles: PebStylesheet) {\n const page = this.snapshot.pages[this.activePageId];\n const stylesheetId = page.stylesheetIds[screen];\n\n const updateStylesAction: PebAction = {\n id: pebGenerateId('action'),\n createdAt: new Date(),\n effects: [\n {\n type: PebStylesheetEffect.Update,\n target: ${PebEffectTarget.Stylesheets}:${stylesheetId},\n payload: styles,\n },\n ],\n };\n\n return this.commitAction(updateStylesAction);\n }\n\n updateContext(elementId: PebElementId, context: PebContext) {\n const page = this.snapshot.pages[this.activePageId];\n\n const updateContextAction: PebAction = {\n id: pebGenerateId('action'),\n createdAt: new Date(),\n effects: [\n {\n type: PebContextSchemaEffect.Update,\n target: ${PebEffectTarget.ContextSchemas}:${page.contextId},\n payload: context ? {[elementId]: context} : null,\n },\n ],\n };\n\n return this.commitAction(updateContextAction);\n }\n\n updateShop(data: PebShopData) {\n const updateShopAction: PebAction = {\n id: pebGenerateId(),\n createdAt: new Date(),\n effects: [{\n type: PebShopEffect.UpdateData,\n target: PebEffectTarget.Shop,\n payload: data,\n }],\n };\n\n return this.commitAction(updateShopAction);\n }\n\n // Should be undone: the last action on the active page\n undoAction() {\n const hasActionsBesidesInitial = this.source.actions.length > 1;\n if (!hasActionsBesidesInitial) {\n return EMPTY;\n }\n\n return this.api.undoAction(this.themeSubject$.value.id, this.activePageId).pipe(\n tap(() => {\n const updSourceActions = getUndoSourceActions(this.source.actions, this.snapshot.pages[this.activePageId]);\n if (updSourceActions.removedAction) {\n this.nextActions.push({\n pageId: this.activePageId,\n action: updSourceActions.removedAction,\n });\n }\n\n this.sourceSubject$.next({\n ...this.source,\n actions: updSourceActions.actions,\n });\n this.setSnapshot({\n ...pebCompileActions(updSourceActions.actions),\n id: this.snapshot.id,\n });\n\n const activePageExists = this.snapshot.pages[this.activePageId];\n if (!activePageExists) {\n this.activePageIdSubject$.next(this.snapshot.pages[0]);\n }\n }));\n }\n\n redoAction() {\n if (this.nextActions.length === 0) {\n return EMPTY;\n }\n // Find last action related active page\n const lastAction = this.nextActions.reverse().find((nextAction) => nextAction.pageId === this.activePageId);\n if (!lastAction) {\n return EMPTY;\n }\n return this.commitAction(lastAction.action);\n }\n\n private commitAction(action): Observable {\n this.sourceSubject$.next({\n ...this.sourceSubject$.value,\n actions: [...(this.sourceSubject$.value as any).actions, action],\n });\n\n const newSnapshot = pebActionHandler(this.snapshotSubject$.value as any, action);\n\n this.setSnapshot(newSnapshot);\n\n return this.api.addAction(this.themeSubject$.value.id, action);\n }\n\n private applyMasterChangesInReplica(pageId: PebPageId) {\n const page = this.snapshot.pages[pageId];\n\n const masterActions = extractPageActionsFromSnapshot(\n this.source,\n this.snapshot,\n page.master.id,\n );\n const replicaActions = extractPageActionsFromSnapshot(this.source, this.snapshot, pageId);\n\n const prevReplicaInitAction = replicaActions[0];\n\n const masterSource = extractPageFromSnapshot(this.snapshot, page.master.id);\n masterSource.id = page.id;\n masterSource.type = PebPageType.Replica;\n masterSource.master = {\n id: page.master.id,\n lastActionId: masterActions[masterActions.length - 1].id,\n };\n\n const newReplicaInitAction = makeCreatePageAction(page.name, masterSource, {\n pageId,\n templateId: page.templateId,\n stylesIds: page.stylesheetIds,\n contextId: page.contextId,\n });\n\n this.sourceSubject$.next({\n ...this.sourceSubject$.value,\n actions: this.sourceSubject$.value.actions.map(\n a => a.id === prevReplicaInitAction.id ? newReplicaInitAction : a,\n ),\n });\n\n this.setSnapshot({\n ...pebCompileActions(this.source.actions),\n id: this.snapshot.id,\n });\n\n return this.api.updateReplica(\n this.themeSubject$.value.id,\n prevReplicaInitAction,\n newReplicaInitAction,\n );\n }\n\n private activateExistPage(pageId: PebPageId, pagesView: PebPageType = PebPageType.Replica): Observable {\n // If page was deleted, find another one by PagesView\n let existPage = find(this.snapshot.pages, (snapshotPage) => snapshotPage.id === pageId);\n if (!existPage) {\n // Get pages by active PagesView\n const pages = filterCollection(this.snapshot.pages, (snapshotPage) => snapshotPage.type === pagesView);\n if (!pages.length) {\n // Set pagesView to Replica and set active front page\n pagesView = PebPageType.Replica;\n existPage = find(this.snapshot.pages, (snapshotPage) => snapshotPage.variant === PebPageVariant.Front);\n } else {\n existPage = pages[0];\n }\n }\n return this.activatePage(existPage.id)\n }\n}\n\nexport function makeCreatePageAction(pageName, pageSource, ids?: any): PebAction {\n const templateId = ids?.templateId || pebGenerateId('template');\n const stylesIds = ids?.stylesIds || {\n [PebScreen.Desktop]: pebGenerateId('stylesheet'),\n [PebScreen.Tablet]: pebGenerateId('stylesheet'),\n [PebScreen.Mobile]: pebGenerateId('stylesheet'),\n };\n const contextId = ids?.stylesIds || pebGenerateId('context');\n\n return {\n id: pebGenerateId('action'),\n createdAt: new Date(),\n effects: [\n {\n type: PebTemplateEffect.Init,\n target: ${PebEffectTarget.Templates}:${templateId},\n payload: pageSource.template,\n },\n ...Object.values(PebScreen).map(screen => ({\n type: PebStylesheetEffect.Init,\n target: ${PebEffectTarget.Stylesheets}:${stylesIds[screen]},\n payload: pageSource.stylesheets[screen],\n })),\n {\n type: PebContextSchemaEffect.Init,\n target: ${PebEffectTarget.ContextSchemas}:${contextId},\n payload: pageSource.context,\n },\n {\n type: PebPageEffect.Create,\n target: ${PebEffectTarget.Pages}:${pageSource.id},\n payload: {\n id: pageSource.id,\n variant: pageSource.variant,\n type: pageSource.type,\n master: pageSource.master,\n name: pageName,\n data: pageSource.data,\n templateId,\n stylesheetIds: {\n [PebScreen.Desktop]: ${stylesIds[PebScreen.Desktop]},\n [PebScreen.Tablet]: ${stylesIds[PebScreen.Tablet]},\n [PebScreen.Mobile]: ${stylesIds[PebScreen.Mobile]},\n },\n contextId,\n },\n },\n ...(ids?.page ? [{\n type: PebShopEffect.AppendPage,\n target: PebEffectTarget.Shop,\n payload: pageSource.id,\n }] : []),\n ],\n };\n}\n\nexport function makeDeletePageAction(page: PebPageShort): PebAction {\n return {\n id: pebGenerateId('action'),\n createdAt: new Date(),\n effects: [\n {\n type: PebTemplateEffect.Destroy, // TODO: Unify naming with other targets\n target: ${PebEffectTarget.Templates}:${page.templateId},\n payload: null,\n },\n ...Object.values(PebScreen).map(screen => ({\n type: PebStylesheetEffect.Delete,\n target: ${PebEffectTarget.Stylesheets}:${page.stylesheetIds[screen]},\n payload: null,\n })),\n {\n type: PebContextSchemaEffect.Delete,\n target: ${PebEffectTarget.ContextSchemas}:${page.contextId},\n payload: null,\n },\n {\n type: PebPageEffect.Delete,\n target: ${PebEffectTarget.Pages}:${page.id},\n payload: null,\n },\n {\n type: PebShopEffect.DeletePage,\n target: PebEffectTarget.Shop,\n payload: page.id,\n },\n ],\n };\n}\n\nexport function makeUpdatePageAction(page: PebPageShort, payload: any): PebAction {\n return {\n id: pebGenerateId('action'),\n createdAt: new Date(),\n effects: [\n {\n type: PebPageEffect.Update,\n target: ${PebEffectTarget.Pages}:${page.id},\n payload,\n },\n ],\n };\n}\n\nexport function makeAppendElementAction(\n page: PebPageShort,\n parentId: PebElementId,\n elementKit: PebElementKit,\n beforeId?: PebElementId,\n) {\n const elementId = elementKit.element.id;\n\n const payload = getPayload(parentId, elementKit, beforeId);\n\n return {\n id: pebGenerateId('action'),\n createdAt: new Date(),\n effects: [\n {\n type: PebTemplateEffect.AppendElement,\n target: ${PebEffectTarget.Templates}:${page.templateId},\n payload,\n },\n ...Object.values(PebScreen).map(screen => ({\n type: PebStylesheetEffect.Update,\n target: ${PebEffectTarget.Stylesheets}:${page.stylesheetIds[screen]},\n payload: {\n [elementId]: elementKit.styles[screen],\n },\n })),\n {\n type: PebContextSchemaEffect.Update,\n target: ${PebEffectTarget.ContextSchemas}:${page.contextId},\n payload: elementKit.contextSchema ? {[elementId]: elementKit.contextSchema} : null,\n },\n ],\n };\n}\n\nexport function extractPageFromSnapshot(\n snapshot: PebShopThemeSnapshotEntity,\n pageId: PebPageId,\n): PebPage {\n const page = snapshot.pages[pageId];\n const template = snapshot.templates[page.templateId];\n\n const stylesheets = fromPairs(\n Object.entries(PebScreen).map(([key, screen]) =>\n [screen, snapshot.stylesheets[page.stylesheetIds[screen]]],\n ),\n );\n const context = snapshot.contextSchemas[page.contextId];\n\n return {\n id: page.id,\n name: page.name,\n variant: page.variant,\n type: page.type,\n master: page.master,\n data: page.data,\n template,\n stylesheets,\n context,\n };\n}\n\nexport function extractPageActionsFromSnapshot(\n source: PebShopThemeSource,\n snapshot: PebShopThemeSnapshotEntity, pageId: PebPageId) {\n const page = snapshot.pages[pageId];\n\n const effectTargets = [\n ${PebEffectTarget.Pages}:${page.id},\n ${PebEffectTarget.Templates}:${page.templateId},\n ...Object.values(page.stylesheetIds).map(sid =>\n ${PebEffectTarget.Stylesheets}:${sid},\n ),\n ${PebEffectTarget.ContextSchemas}:${page.contextId},\n ];\n\n return source.actions.filter(a =>\n a.effects.find(e => effectTargets.includes(e.target)),\n );\n}\n\nexport function getPayload(\n parentId: PebElementId,\n elementKit: PebElementKit,\n beforeId: PebElementId,\n) {\n const payload: PebAppendElementPayload = {\n to: parentId,\n element: elementKit.element,\n };\n if (beforeId) {\n payload.before = beforeId;\n }\n return payload;\n}\n\n/ tslint:enable:member-ordering /\n", "scriptKindName": "TS", "projectRootPath": "/Users/denis/dev/payever/builder-editor" } [Trace - 10:32:46 PM] Sending request: configure (3). Response expected: yes. Current queue length: 0 Arguments: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts", "formatOptions": { "tabSize": 2, "indentSize": 2, "convertTabsToSpaces": true, "newLineCharacter": "\n", "insertSpaceAfterCommaDelimiter": true, "insertSpaceAfterConstructor": false, "insertSpaceAfterSemicolonInForStatements": true, "insertSpaceBeforeAndAfterBinaryOperators": true, "insertSpaceAfterKeywordsInControlFlowStatements": true, "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true, "insertSpaceBeforeFunctionParenthesis": false, "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, "insertSpaceAfterTypeAssertion": false, "placeOpenBraceOnNewLineForFunctions": false, "placeOpenBraceOnNewLineForControlBlocks": false, "semicolons": "ignore" }, "preferences": { "quotePreference": "auto", "importModuleSpecifierPreference": "auto", "importModuleSpecifierEnding": "auto", "allowTextChangesInNewFiles": true, "allowRenameOfImportPath": true, "providePrefixAndSuffixTextForRename": true } } [Trace - 10:32:46 PM] Event received: typingsInstallerPid (0). Data: { "pid": 70494 } [Trace - 10:32:46 PM] Event received: projectLoadingStart (0). Data: { "projectName": "/Users/denis/dev/payever/builder-editor/tsconfig.json", "reason": "Creating possible configured project for /Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts to open" } [Trace - 10:32:54 PM] Event received: projectLoadingFinish (0). Data: { "projectName": "/Users/denis/dev/payever/builder-editor/tsconfig.json" } [Trace - 10:32:54 PM] Event received: telemetry (0). Data: { "telemetryEventName": "projectInfo", "payload": { "projectId": "9ad7e5772a11d57efdaf2f79277e1091fd87ced64cc399d2e1545da1310a5ef9", "fileStats": { "js": 0, "jsSize": 0, "jsx": 0, "jsxSize": 0, "ts": 428, "tsSize": 906122, "tsx": 0, "tsxSize": 0, "dts": 1371, "dtsSize": 8279858, "deferred": 0, "deferredSize": 0 }, "compilerOptions": { "baseUrl": "", "outDir": "", "sourceMap": true, "declaration": false, "downlevelIteration": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "module": "esnext", "moduleResolution": "node", "importHelpers": true, "target": "es6", "skipLibCheck": true, "typeRoots": [ "" ], "lib": [ "es2018", "dom" ] }, "typeAcquisition": { "enable": false, "include": false, "exclude": false }, "extends": false, "files": false, "include": false, "exclude": false, "compileOnSave": false, "configFileName": "tsconfig.json", "projectType": "configured", "languageServiceEnabled": true, "version": "3.8.3" } } [Trace - 10:32:54 PM] Event received: configFileDiag (0). Data: { "triggerFile": "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts", "configFile": "/Users/denis/dev/payever/builder-editor/tsconfig.json", "diagnostics": [] } [Trace - 10:32:54 PM] Response received: configure (3). Request took 8692 ms. Success: true [Trace - 10:32:54 PM] Sending request: geterr (4). Response expected: yes. Current queue length: 0 Arguments: { "delay": 0, "files": [ "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts" ] } [Trace - 10:32:54 PM] Event received: projectsUpdatedInBackground (0). Data: { "openFiles": [ "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts" ] } [Trace - 10:32:54 PM] Event received: syntaxDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts", "diagnostics": [] } [Trace - 10:32:55 PM] TypeScript Server: trying to cancel ongoing request with sequence number 4 [Trace - 10:32:55 PM] Sending request: geterr (5). Response expected: yes. Current queue length: 0 Arguments: { "delay": 0, "files": [ "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts" ] } [Trace - 10:32:55 PM] Event received: syntaxDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts", "diagnostics": [] } [Trace - 10:32:55 PM] Event received: semanticDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts", "diagnostics": [] } [Trace - 10:32:55 PM] Event received: suggestionDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts", "diagnostics": [ { "start": { "line": 112, "offset": 31 }, "end": { "line": 112, "offset": 32 }, "text": "Parameter 't' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 114, "offset": 33 }, "end": { "line": 114, "offset": 34 }, "text": "Parameter 't' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 149, "offset": 16 }, "end": { "line": 149, "offset": 22 }, "text": "Parameter 'pageId' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 387, "offset": 24 }, "end": { "line": 387, "offset": 30 }, "text": "Parameter 'action' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 464, "offset": 38 }, "end": { "line": 464, "offset": 46 }, "text": "Parameter 'pageName' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 464, "offset": 48 }, "end": { "line": 464, "offset": 58 }, "text": "Parameter 'pageSource' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 611, "offset": 37 }, "end": { "line": 611, "offset": 40 }, "text": "'key' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true } ] } [Trace - 10:32:55 PM] Async response received: requestCompleted (5). Request took 156 ms. [Trace - 10:33:02 PM] Sending request: open (6). Response expected: no. Current queue length: 0 Arguments: { "file": "/Users/denis/dev/payever/builder-editor/src/sandbox/src/dev/editor.api-local.ts", "fileContent": "import { Injectable } from '@angular/core';\nimport { omit, orderBy, random } from 'lodash';\nimport { DBConfig, NgxIndexedDBService } from 'ngx-indexed-db';\nimport { of } from 'rxjs';\nimport { fromPromise } from 'rxjs/internal-compatibility';\nimport { delay } from 'rxjs/operators';\n\nimport {\n PebAction,\n pebActionHandler,\n pebCloneShopTheme,\n pebCompileActions,\n pebCreateShopInitAction,\n pebGenerateId,\n PebPageId,\n PebShop,\n PebShopId,\n PebShopThemeEntity,\n PebShopThemeId,\n PebShopThemeSnapshotEntity,\n PebShopThemeSourceEntity,\n PebShopThemeVersionEntity,\n PebShopThemeVersionId,\n} from '@pe/builder-core';\n\nimport { getUndoSourceActions } from '../../../modules/editor/src/behaviors/_utils/shop';\n\nexport enum DatabaseEntity {\n ShopTheme = 'shop-theme',\n ShopThemeVersion = 'shop-theme-version',\n ShopThemeSource = 'shop-theme-source',\n ShopThemeSnapshot = 'shop-theme-snapshot',\n Shop = 'shop',\n Page = 'page',\n}\n\nexport const MockDatabaseConfig: DBConfig = {\n name: 'Sandbox',\n version: 1,\n objectStoresMeta: [\n //\n // Editor entities\n //\n {\n store: DatabaseEntity.ShopTheme,\n storeConfig: {keyPath: 'id', autoIncrement: false},\n storeSchema: [\n // { name: 'name', keypath: 'name', options: { unique: false } },\n // { name: 'sourceId', keypath: 'sourceId', options: { unique: false } },\n ],\n },\n {\n store: DatabaseEntity.ShopThemeVersion,\n storeConfig: {keyPath: 'id', autoIncrement: false},\n storeSchema: [],\n },\n {\n store: DatabaseEntity.ShopThemeSource,\n storeConfig: {keyPath: 'id', autoIncrement: false},\n storeSchema: [\n // { name: 'snapshotId', keypath: 'snapshotId', options: { unique: true } },\n ],\n },\n {\n store: DatabaseEntity.ShopThemeSnapshot,\n storeConfig: {keyPath: 'id', autoIncrement: false},\n storeSchema: [],\n },\n //\n // Client entities\n //\n {\n store: DatabaseEntity.Shop,\n storeConfig: {keyPath: 'id', autoIncrement: false},\n storeSchema: [],\n },\n {\n store: DatabaseEntity.Page,\n storeConfig: {keyPath: 'id', autoIncrement: false},\n storeSchema: [],\n },\n ],\n};\n\nexport interface AddShopThemeInput {\n name: string;\n content: PebShop;\n}\n\nexport function ImitateHttp(\n target: object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor,\n): PropertyDescriptor {\n const method = propertyDescriptor.value;\n\n propertyDescriptor.value = function(...args: any[]) {\n return fromPromise(method.apply(this, args)).pipe(\n delay(random(300, 500)),\n );\n };\n return propertyDescriptor;\n}\n\n@Injectable({providedIn: 'root'})\nexport class SandboxMockBackend / implements PebApiService */ {\n constructor(private idb: NgxIndexedDBService) {\n }\n\n //\n // Theme methods\n //\n @ImitateHttp\n async getShopThemesList() {\n return this.idb.getAll(DatabaseEntity.ShopTheme);\n }\n\n @ImitateHttp\n async getShopThemeById(id) {\n const shopTheme = await this.idb.getByID(\n DatabaseEntity.ShopTheme, id,\n );\n const shopSource = await this.idb.getByID(\n DatabaseEntity.ShopThemeSource, shopTheme.sourceId,\n );\n const shopSnapshot = await this.idb.getByID(\n DatabaseEntity.ShopThemeSnapshot, shopSource.snapshotId,\n );\n\n return {\n ...omit(shopTheme, 'sourceId'),\n source: {\n ...omit(shopSource, 'snapshotId'),\n snapshot: shopSnapshot,\n },\n };\n }\n\n @ImitateHttp\n async createShopTheme(input: AddShopThemeInput) {\n const content = pebCloneShopTheme(input.content);\n\n const actions = [pebCreateShopInitAction(content)];\n const snapshot = pebCompileActions(actions);\n\n const snapshotEntity: PebShopThemeSnapshotEntity = {\n ...snapshot,\n id: pebGenerateId('snapshot'),\n };\n\n const sourceEntity: PebShopThemeSourceEntity = {\n id: pebGenerateId('source'),\n actions,\n snapshotId: snapshotEntity.id,\n };\n\n const themeEntity: PebShopThemeEntity = {\n id: pebGenerateId('theme'),\n name: input.name,\n picture: null,\n sourceId: sourceEntity.id,\n versionsIds: [],\n publishedId: null,\n };\n\n return Promise.all([\n this.idb.add(DatabaseEntity.ShopTheme, themeEntity),\n this.idb.add(DatabaseEntity.ShopThemeSource, sourceEntity),\n this.idb.add(DatabaseEntity.ShopThemeSnapshot, snapshotEntity),\n ]).then(() => themeEntity);\n }\n\n //\n // General flow\n //\n @ImitateHttp\n async addAction(shopId, action) {\n const shopTheme = await this.idb.getByID(\n DatabaseEntity.ShopTheme, shopId,\n );\n let shopSource = await this.idb.getByID(\n DatabaseEntity.ShopThemeSource, shopTheme.sourceId,\n );\n let shopSnapshot = await this.idb.getByID(\n DatabaseEntity.ShopThemeSnapshot, shopSource.snapshotId,\n );\n\n shopSource = {\n ...shopSource,\n actions: [...shopSource.actions, action],\n };\n\n shopSnapshot = pebActionHandler(shopSnapshot, action);\n\n return Promise.all([\n this.idb.update(DatabaseEntity.ShopThemeSource, shopSource),\n this.idb.update(DatabaseEntity.ShopThemeSnapshot, shopSnapshot),\n ]).then(() => ({ snapshot: shopSnapshot }));\n }\n\n @ImitateHttp\n async undoAction(themeId: PebShopId, activePageId: PebPageId) {\n let {source, snapshot} = await this.getThemeWithRelations(themeId);\n const updSourceActions = getUndoSourceActions(source.actions, snapshot.pages[activePageId]);\n\n source = {\n ...source,\n actions: updSourceActions.actions,\n };\n snapshot = {\n ...pebCompileActions(updSourceActions.actions),\n id: snapshot.id,\n };\n\n return Promise.all([\n this.idb.update(DatabaseEntity.ShopThemeSource, source),\n this.idb.update(DatabaseEntity.ShopThemeSnapshot, snapshot),\n ]).then(() => ({ snapshot }));\n }\n\n @ImitateHttp\n async updateReplica(themeId, oldInitAction: PebAction, newInitAction: PebAction) {\n let {source, snapshot} = await this.getThemeWithRelations(themeId);\n\n source = {\n ...source,\n actions: source.actions.map(\n a => a.id === oldInitAction.id ? newInitAction : a,\n ),\n };\n\n snapshot = {\n ...pebCompileActions(source.actions),\n id: snapshot.id,\n };\n\n return Promise.all([\n this.idb.update(DatabaseEntity.ShopThemeSource, source),\n this.idb.update(DatabaseEntity.ShopThemeSnapshot, snapshot),\n ]).then(() => ({ snapshot }));\n }\n\n //\n // Versioning\n //\n @ImitateHttp\n async getShopThemeVersions(themeId: PebShopThemeId) {\n const shopTheme: PebShopThemeEntity = await this.idb.getByID(\n DatabaseEntity.ShopTheme, themeId,\n );\n\n // https://github.com/w3c/IndexedDB/issues/19\n return Promise.all(\n shopTheme.versionsIds.map(id => this.idb.getByID(DatabaseEntity.ShopThemeVersion, id)),\n ).then(versions => orderBy(versions, v => v.createdAt, ['desc']));\n }\n\n @ImitateHttp\n async createShopThemeVersion(shopId: PebShopId, name: string) {\n const shopThemeEntity = await this.idb.getByID(\n DatabaseEntity.ShopTheme, shopId,\n );\n\n const currentSourceEntity = await this.idb.getByID(\n DatabaseEntity.ShopThemeSource, shopThemeEntity.sourceId,\n );\n const currentSnapshotEntity = await this.idb.getByID(\n DatabaseEntity.ShopThemeSnapshot, currentSourceEntity.snapshotId,\n );\n\n const duplicatedSnapshotEntity: PebShopThemeSnapshotEntity = {\n ...currentSnapshotEntity,\n id: pebGenerateId(),\n };\n\n const savedSnapshotEntity = await this.idb\n .add(DatabaseEntity.ShopThemeSnapshot, duplicatedSnapshotEntity)\n .then(() => ({ ...duplicatedSnapshotEntity }));\n\n const duplicatedSourceEntity: PebShopThemeSourceEntity = {\n ...currentSourceEntity,\n id: pebGenerateId(),\n snapshotId: savedSnapshotEntity.id,\n };\n\n const savedSourceEntity = await this.idb\n .add(DatabaseEntity.ShopThemeSource, duplicatedSourceEntity)\n .then(() => ({ ...duplicatedSourceEntity }));\n\n const versionEntity: PebShopThemeVersionEntity = {\n id: pebGenerateId(),\n name,\n sourceId: savedSourceEntity.id,\n result: null, // will be calculated on publication\n createdAt: new Date(),\n };\n\n const nextShopThemeEntity: PebShopThemeEntity = {\n ...shopThemeEntity,\n versionsIds: [...shopThemeEntity.versionsIds, versionEntity.id],\n };\n\n await this.idb.update(DatabaseEntity.ShopTheme, nextShopThemeEntity);\n\n return this.idb\n .add(DatabaseEntity.ShopThemeVersion, versionEntity)\n .then(() => ({...versionEntity}));\n }\n\n @ImitateHttp\n async deleteShopThemeVersion(shopId: PebShopId, versionId: PebShopThemeVersionId) {\n const shopThemeEntity = await this.idb.getByID(\n DatabaseEntity.ShopTheme, shopId,\n );\n\n if (shopThemeEntity.publishedId === versionId) {\n throw new Error('Can\'t delete published version');\n }\n\n if (!shopThemeEntity.versionsIds.find(id => id === versionId)) {\n throw new Error('There is no version in theme');\n }\n\n const versionEntity = await this.idb.getByID(\n DatabaseEntity.ShopThemeVersion, versionId,\n );\n\n const sourceEntity = await this.idb.getByID(\n DatabaseEntity.ShopThemeSource, versionEntity.sourceId,\n );\n\n if (shopThemeEntity.sourceId === sourceEntity.id) {\n throw new Error('Can\'t delete activated version');\n }\n\n const snapshotEntity = await this.idb.getByID(\n DatabaseEntity.ShopThemeSnapshot, sourceEntity.snapshotId,\n );\n\n const shopSource: PebShopThemeEntity = {\n ...shopThemeEntity,\n versionsIds: shopThemeEntity.versionsIds.filter(id => id !== versionId),\n };\n\n return Promise.all([\n this.idb.delete(DatabaseEntity.ShopThemeVersion, versionEntity.id),\n this.idb.delete(DatabaseEntity.ShopThemeSource, sourceEntity.id),\n this.idb.delete(DatabaseEntity.ShopThemeSnapshot, snapshotEntity.id),\n this.idb.update(DatabaseEntity.ShopTheme, shopSource),\n ]);\n }\n\n @ImitateHttp\n async activateShopThemeVersion(shopId: PebShopId, versionId: PebShopThemeVersionId) {\n const shopThemeEntity = await this.idb.getByID(\n DatabaseEntity.ShopTheme, shopId,\n );\n\n const versionEntity = await this.idb.getByID(\n DatabaseEntity.ShopThemeVersion, versionId,\n );\n\n // TODO: Delete 04.05.20 if not encountered\n if (shopThemeEntity.sourceId === versionEntity.sourceId) {\n throw new Error('Already activated');\n }\n\n const sourceEntityToDelete = await this.idb\n .getByID(DatabaseEntity.ShopThemeSource, shopThemeEntity.sourceId);\n await this.idb.delete(DatabaseEntity.ShopThemeSource, sourceEntityToDelete.id);\n await this.idb.delete(DatabaseEntity.ShopThemeSnapshot, sourceEntityToDelete.snapshotId);\n\n const versionSourceEntity = await this.idb\n .getByID(DatabaseEntity.ShopThemeSource, versionEntity.sourceId);\n\n const versionSnapshotEntity = await this.idb\n .getByID(DatabaseEntity.ShopThemeSnapshot, versionSourceEntity.snapshotId);\n\n const duplicatedSnapshotEntity: PebShopThemeSourceEntity = {\n ...versionSnapshotEntity,\n id: pebGenerateId(),\n };\n\n const duplicatedSourceEntity: PebShopThemeSourceEntity = {\n ...versionSourceEntity,\n id: pebGenerateId(),\n snapshotId: duplicatedSnapshotEntity.id,\n };\n\n const nextShopThemeEntity: PebShopThemeEntity = {\n ...shopThemeEntity,\n sourceId: duplicatedSourceEntity.id,\n };\n\n return Promise.all([\n this.idb.update(DatabaseEntity.ShopTheme, nextShopThemeEntity),\n this.idb.add(DatabaseEntity.ShopThemeSnapshot, duplicatedSnapshotEntity),\n this.idb.add(DatabaseEntity.ShopThemeSource, duplicatedSourceEntity),\n ]).then((e) => ({\n ...nextShopThemeEntity,\n source: {\n ...duplicatedSourceEntity,\n snapshot: duplicatedSnapshotEntity,\n },\n }));\n }\n\n @ImitateHttp\n async publishShopThemeVersion(shopId: PebShopId, versionId: PebShopThemeVersionId) {\n const shopTheme = await this.idb.getByID(\n DatabaseEntity.ShopTheme, shopId,\n );\n\n if (shopTheme.publishedId === versionId) {\n throw new Error('Already published');\n }\n\n const version = await this.idb.getByID(\n DatabaseEntity.ShopThemeVersion, versionId,\n );\n\n // TODO: Calculate result for PebShopThemeVersionEntity\n\n const shopSource = {\n ...shopTheme,\n publishedId: version.id,\n };\n\n return this.idb.update(DatabaseEntity.ShopTheme, shopSource);\n }\n\n @ImitateHttp\n async updateShop(payload: any) {\n const shopTheme = await this.idb.getByID(\n DatabaseEntity.ShopTheme, payload.id,\n );\n const shopSource = {\n ...shopTheme,\n ...payload,\n };\n\n return this.idb.update(DatabaseEntity.ShopTheme, shopSource);\n }\n\n @ImitateHttp\n async uploadImage(container: string, file: File) {\n return of({\n blobName: '',\n brightnessGradation: 'default',\n preview: '',\n });\n }\n\n //\n // Utils\n //\n private async getThemeWithRelations(themeId: string) {\n const theme = await this.idb.getByID(\n DatabaseEntity.ShopTheme, themeId,\n );\n const source = await this.idb.getByID(\n DatabaseEntity.ShopThemeSource, theme.sourceId,\n );\n const snapshot = await this.idb.getByID(\n DatabaseEntity.ShopThemeSnapshot, source.snapshotId,\n );\n\n return {theme, source, snapshot};\n }\n}\n", "scriptKindName": "TS", "projectRootPath": "/Users/denis/dev/payever/builder-editor" } [Trace - 10:33:02 PM] Sending request: configure (7). Response expected: yes. Current queue length: 0 Arguments: { "file": "/Users/denis/dev/payever/builder-editor/src/sandbox/src/dev/editor.api-local.ts", "formatOptions": { "tabSize": 2, "indentSize": 2, "convertTabsToSpaces": true, "newLineCharacter": "\n", "insertSpaceAfterCommaDelimiter": true, "insertSpaceAfterConstructor": false, "insertSpaceAfterSemicolonInForStatements": true, "insertSpaceBeforeAndAfterBinaryOperators": true, "insertSpaceAfterKeywordsInControlFlowStatements": true, "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true, "insertSpaceBeforeFunctionParenthesis": false, "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, "insertSpaceAfterTypeAssertion": false, "placeOpenBraceOnNewLineForFunctions": false, "placeOpenBraceOnNewLineForControlBlocks": false, "semicolons": "ignore" }, "preferences": { "quotePreference": "auto", "importModuleSpecifierPreference": "auto", "importModuleSpecifierEnding": "auto", "allowTextChangesInNewFiles": true, "allowRenameOfImportPath": true, "providePrefixAndSuffixTextForRename": true } } [Trace - 10:33:02 PM] Response received: configure (7). Request took 11 ms. Success: true [Trace - 10:33:02 PM] Sending request: geterr (8). Response expected: yes. Current queue length: 0 Arguments: { "delay": 0, "files": [ "/Users/denis/dev/payever/builder-editor/src/sandbox/src/dev/editor.api-local.ts", "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts" ] } [Trace - 10:33:02 PM] Event received: syntaxDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/sandbox/src/dev/editor.api-local.ts", "diagnostics": [] } [Trace - 10:33:02 PM] Event received: semanticDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/sandbox/src/dev/editor.api-local.ts", "diagnostics": [] } [Trace - 10:33:02 PM] Event received: suggestionDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/sandbox/src/dev/editor.api-local.ts", "diagnostics": [ { "start": { "line": 91, "offset": 3 }, "end": { "line": 91, "offset": 9 }, "text": "'target' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true }, { "start": { "line": 92, "offset": 3 }, "end": { "line": 92, "offset": 15 }, "text": "'propertyName' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true }, { "start": { "line": 119, "offset": 26 }, "end": { "line": 119, "offset": 28 }, "text": "Parameter 'id' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 177, "offset": 19 }, "end": { "line": 177, "offset": 25 }, "text": "Parameter 'shopId' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 177, "offset": 27 }, "end": { "line": 177, "offset": 33 }, "text": "Parameter 'action' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 222, "offset": 23 }, "end": { "line": 222, "offset": 30 }, "text": "Parameter 'themeId' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 399, "offset": 14 }, "end": { "line": 399, "offset": 15 }, "text": "'e' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true }, { "start": { "line": 446, "offset": 21 }, "end": { "line": 446, "offset": 30 }, "text": "'container' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true }, { "start": { "line": 446, "offset": 40 }, "end": { "line": 446, "offset": 44 }, "text": "'file' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true } ] } [Trace - 10:33:02 PM] Event received: syntaxDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts", "diagnostics": [] } [Trace - 10:33:02 PM] Event received: semanticDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts", "diagnostics": [] } [Trace - 10:33:03 PM] Event received: suggestionDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts", "diagnostics": [ { "start": { "line": 112, "offset": 31 }, "end": { "line": 112, "offset": 32 }, "text": "Parameter 't' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 114, "offset": 33 }, "end": { "line": 114, "offset": 34 }, "text": "Parameter 't' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 149, "offset": 16 }, "end": { "line": 149, "offset": 22 }, "text": "Parameter 'pageId' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 387, "offset": 24 }, "end": { "line": 387, "offset": 30 }, "text": "Parameter 'action' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 464, "offset": 38 }, "end": { "line": 464, "offset": 46 }, "text": "Parameter 'pageName' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 464, "offset": 48 }, "end": { "line": 464, "offset": 58 }, "text": "Parameter 'pageSource' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 611, "offset": 37 }, "end": { "line": 611, "offset": 40 }, "text": "'key' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true } ] } [Trace - 10:33:03 PM] Async response received: requestCompleted (8). Request took 101 ms. [Trace - 10:33:08 PM] Sending request: open (9). Response expected: no. Current queue length: 0 Arguments: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "fileContent": "import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { random } from 'lodash';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { catchError, map, share, switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { MessageBus, PebApiService, PebEnvService } from '@pe/builder-core';\n\nimport { AbstractComponent } from '../../abstract/abstract.component';\nimport { PebThemesSnackbarComponent } from '../../components/snackbar/snackbar.component';\n\n@Component({\n selector: 'peb-themes',\n templateUrl: './themes.component.html',\n styleUrls: ['./themes.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PebThemesComponent extends AbstractComponent implements OnInit {\n\n @output() installed = new EventEmitter();\n\n isFiltersOpenedSubject = new BehaviorSubject(false);\n themesTypeSubject = new BehaviorSubject<'own' | 'application'>('application');\n\n // Temporary generate theme constants while backend is under development\n pageForGenerate = ''; // empty string means all pages\n themeForGenerate = 'nike';\n\n private shopLogoURL: string;\n\n themes$ = this.themesTypeSubject.asObservable().pipe(\n switchMap((type: string) => {\n if (type === 'own') {\n return this.api.getShopThemesList()\n }\n return this.api.getTemplateThemes()\n }),\n map(themes => themes.map(t => ({ ...t, picture: ./assets/themes/list/preview_${random(1, 3)}.jpg }))),\n share(),\n );\n\n constructor(\n private api: PebApiService,\n private envService: PebEnvService,\n private messageBus: MessageBus,\n private snackBar: MatSnackBar,\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.api.getShop(this.envService.shopId).pipe(\n tap(shopData => {\n this.shopLogoURL = shopData.picture;\n }),\n takeUntil(this.destroyed$),\n ).subscribe();\n }\n\n onSelect(themeId: string) {\n this.getThemeGeneratedId(themeId).pipe(\n switchMap(id => this.api.installTemplateTheme(id)),\n tap(() => {\n this.messageBus.emit('theme.installed', themeId);\n this.installed.emit(themeId);\n this.snackBar.openFromComponent(PebThemesSnackbarComponent, {\n duration: 2000,\n verticalPosition: 'top',\n panelClass: 'mat-snackbar-shop-panel-class',\n data: {\n text: 'Theme successfully installed',\n icon: '#icon-snackbar-success',\n },\n }).afterDismissed().pipe(\n tap(() => {\n this.messageBus.emit('shop.open-builder', this.envService.shopId);\n }),\n takeUntil(this.destroyed$),\n ).subscribe();\n\n }),\n takeUntil(this.destroyed$),\n ).subscribe()\n }\n\n onToggleFilters() {\n this.isFiltersOpenedSubject.next(!this.isFiltersOpenedSubject.value);\n }\n\n onChangeThemesType(type) {\n this.themesTypeSubject.next(type);\n }\n\n private getThemeGeneratedId(themeId: string): Observable {\n if (this.envService.businessData?.companyDetails?.industry) {\n return this.api.generateTemplateTheme(\n this.envService.businessData.companyDetails.industry,\n this.pageForGenerate,\n this.themeForGenerate,\n this.shopLogoURL || undefined,\n ).pipe(\n map(generatedThemeData => generatedThemeData.themeId),\n catchError(() => of(themeId)),\n )\n } else {\n return of(themeId);\n }\n }\n}\n", "scriptKindName": "TS", "projectRootPath": "/Users/denis/dev/payever/builder-editor" } [Trace - 10:33:08 PM] Sending request: configure (10). Response expected: yes. Current queue length: 0 Arguments: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "formatOptions": { "tabSize": 2, "indentSize": 2, "convertTabsToSpaces": true, "newLineCharacter": "\n", "insertSpaceAfterCommaDelimiter": true, "insertSpaceAfterConstructor": false, "insertSpaceAfterSemicolonInForStatements": true, "insertSpaceBeforeAndAfterBinaryOperators": true, "insertSpaceAfterKeywordsInControlFlowStatements": true, "insertSpaceAfterFunctionKeywordForAnonymousFunctions": true, "insertSpaceBeforeFunctionParenthesis": false, "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, "insertSpaceAfterTypeAssertion": false, "placeOpenBraceOnNewLineForFunctions": false, "placeOpenBraceOnNewLineForControlBlocks": false, "semicolons": "ignore" }, "preferences": { "quotePreference": "auto", "importModuleSpecifierPreference": "auto", "importModuleSpecifierEnding": "auto", "allowTextChangesInNewFiles": true, "allowRenameOfImportPath": true, "providePrefixAndSuffixTextForRename": true } } [Trace - 10:33:08 PM] Response received: configure (10). Request took 2 ms. Success: true [Trace - 10:33:08 PM] Sending request: geterr (11). Response expected: yes. Current queue length: 0 Arguments: { "delay": 0, "files": [ "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts", "/Users/denis/dev/payever/builder-editor/src/sandbox/src/dev/editor.api-local.ts" ] } [Trace - 10:33:08 PM] Event received: syntaxDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "diagnostics": [] } [Trace - 10:33:08 PM] Event received: semanticDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "diagnostics": [] } [Trace - 10:33:08 PM] Event received: suggestionDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "diagnostics": [ { "start": { "line": 38, "offset": 30 }, "end": { "line": 38, "offset": 31 }, "text": "Parameter 't' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 90, "offset": 22 }, "end": { "line": 90, "offset": 26 }, "text": "Parameter 'type' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" } ] } [Trace - 10:33:08 PM] Event received: syntaxDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts", "diagnostics": [] } [Trace - 10:33:08 PM] Event received: semanticDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts", "diagnostics": [] } [Trace - 10:33:08 PM] Event received: suggestionDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts", "diagnostics": [ { "start": { "line": 112, "offset": 31 }, "end": { "line": 112, "offset": 32 }, "text": "Parameter 't' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 114, "offset": 33 }, "end": { "line": 114, "offset": 34 }, "text": "Parameter 't' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 149, "offset": 16 }, "end": { "line": 149, "offset": 22 }, "text": "Parameter 'pageId' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 387, "offset": 24 }, "end": { "line": 387, "offset": 30 }, "text": "Parameter 'action' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 464, "offset": 38 }, "end": { "line": 464, "offset": 46 }, "text": "Parameter 'pageName' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 464, "offset": 48 }, "end": { "line": 464, "offset": 58 }, "text": "Parameter 'pageSource' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 611, "offset": 37 }, "end": { "line": 611, "offset": 40 }, "text": "'key' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true } ] } [Trace - 10:33:08 PM] Event received: syntaxDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/sandbox/src/dev/editor.api-local.ts", "diagnostics": [] } [Trace - 10:33:08 PM] Event received: semanticDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/sandbox/src/dev/editor.api-local.ts", "diagnostics": [] } [Trace - 10:33:08 PM] Event received: suggestionDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/sandbox/src/dev/editor.api-local.ts", "diagnostics": [ { "start": { "line": 91, "offset": 3 }, "end": { "line": 91, "offset": 9 }, "text": "'target' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true }, { "start": { "line": 92, "offset": 3 }, "end": { "line": 92, "offset": 15 }, "text": "'propertyName' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true }, { "start": { "line": 119, "offset": 26 }, "end": { "line": 119, "offset": 28 }, "text": "Parameter 'id' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 177, "offset": 19 }, "end": { "line": 177, "offset": 25 }, "text": "Parameter 'shopId' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 177, "offset": 27 }, "end": { "line": 177, "offset": 33 }, "text": "Parameter 'action' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 222, "offset": 23 }, "end": { "line": 222, "offset": 30 }, "text": "Parameter 'themeId' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 399, "offset": 14 }, "end": { "line": 399, "offset": 15 }, "text": "'e' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true }, { "start": { "line": 446, "offset": 21 }, "end": { "line": 446, "offset": 30 }, "text": "'container' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true }, { "start": { "line": 446, "offset": 40 }, "end": { "line": 446, "offset": 44 }, "text": "'file' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true } ] } [Trace - 10:33:08 PM] Async response received: requestCompleted (11). Request took 42 ms. [Trace - 10:33:12 PM] Sending request: close (12). Response expected: no. Current queue length: 0 Arguments: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/editor/src/services/editor.store.ts" } [Trace - 10:33:12 PM] Sending request: geterr (13). Response expected: yes. Current queue length: 0 Arguments: { "delay": 0, "files": [ "/Users/denis/dev/payever/builder-editor/src/sandbox/src/dev/editor.api-local.ts", "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts" ] } [Trace - 10:33:12 PM] Event received: syntaxDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/sandbox/src/dev/editor.api-local.ts", "diagnostics": [] } [Trace - 10:33:12 PM] Event received: semanticDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/sandbox/src/dev/editor.api-local.ts", "diagnostics": [] } [Trace - 10:33:12 PM] Event received: suggestionDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/sandbox/src/dev/editor.api-local.ts", "diagnostics": [ { "start": { "line": 91, "offset": 3 }, "end": { "line": 91, "offset": 9 }, "text": "'target' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true }, { "start": { "line": 92, "offset": 3 }, "end": { "line": 92, "offset": 15 }, "text": "'propertyName' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true }, { "start": { "line": 119, "offset": 26 }, "end": { "line": 119, "offset": 28 }, "text": "Parameter 'id' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 177, "offset": 19 }, "end": { "line": 177, "offset": 25 }, "text": "Parameter 'shopId' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 177, "offset": 27 }, "end": { "line": 177, "offset": 33 }, "text": "Parameter 'action' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 222, "offset": 23 }, "end": { "line": 222, "offset": 30 }, "text": "Parameter 'themeId' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 399, "offset": 14 }, "end": { "line": 399, "offset": 15 }, "text": "'e' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true }, { "start": { "line": 446, "offset": 21 }, "end": { "line": 446, "offset": 30 }, "text": "'container' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true }, { "start": { "line": 446, "offset": 40 }, "end": { "line": 446, "offset": 44 }, "text": "'file' is declared but its value is never read.", "code": 6133, "category": "suggestion", "reportsUnnecessary": true } ] } [Trace - 10:33:12 PM] Event received: syntaxDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "diagnostics": [] } [Trace - 10:33:12 PM] Event received: semanticDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "diagnostics": [] } [Trace - 10:33:12 PM] Event received: suggestionDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "diagnostics": [ { "start": { "line": 38, "offset": 30 }, "end": { "line": 38, "offset": 31 }, "text": "Parameter 't' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 90, "offset": 22 }, "end": { "line": 90, "offset": 26 }, "text": "Parameter 'type' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" } ] } [Trace - 10:33:12 PM] Async response received: requestCompleted (13). Request took 10 ms. [Trace - 10:33:14 PM] Sending request: close (14). Response expected: no. Current queue length: 0 Arguments: { "file": "/Users/denis/dev/payever/builder-editor/src/sandbox/src/dev/editor.api-local.ts" } [Trace - 10:33:14 PM] Sending request: geterr (15). Response expected: yes. Current queue length: 0 Arguments: { "delay": 0, "files": [ "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts" ] } [Trace - 10:33:14 PM] Event received: syntaxDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "diagnostics": [] } [Trace - 10:33:14 PM] Event received: semanticDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "diagnostics": [] } [Trace - 10:33:14 PM] Event received: suggestionDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "diagnostics": [ { "start": { "line": 38, "offset": 30 }, "end": { "line": 38, "offset": 31 }, "text": "Parameter 't' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 90, "offset": 22 }, "end": { "line": 90, "offset": 26 }, "text": "Parameter 'type' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" } ] } [Trace - 10:33:14 PM] Async response received: requestCompleted (15). Request took 6 ms. [Trace - 10:33:16 PM] Sending request: updateOpen (16). Response expected: no. Current queue length: 0 Arguments: { "changedFiles": [ { "fileName": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "textChanges": [ { "newText": "\n", "start": { "line": 7, "offset": 1 }, "end": { "line": 9, "offset": 1 } } ] } ] } [Trace - 10:33:16 PM] Sending request: geterr (17). Response expected: yes. Current queue length: 0 Arguments: { "delay": 0, "files": [ "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts" ] } [Trace - 10:33:17 PM] Event received: syntaxDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "diagnostics": [] } [Trace - 10:33:17 PM] Event received: semanticDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "diagnostics": [ { "start": { "line": 37, "offset": 26 }, "end": { "line": 37, "offset": 29 }, "text": "Property 'map' does not exist on type 'unknown'.", "code": 2339, "category": "error" }, { "start": { "line": 42, "offset": 18 }, "end": { "line": 42, "offset": 31 }, "text": "Cannot find name 'PebApiService'.", "code": 2304, "category": "error" }, { "start": { "line": 43, "offset": 25 }, "end": { "line": 43, "offset": 38 }, "text": "Cannot find name 'PebEnvService'.", "code": 2304, "category": "error" }, { "start": { "line": 44, "offset": 25 }, "end": { "line": 44, "offset": 35 }, "text": "Cannot find name 'MessageBus'.", "code": 2304, "category": "error" }, { "start": { "line": 53, "offset": 37 }, "end": { "line": 53, "offset": 44 }, "text": "Property 'picture' does not exist on type 'unknown'.", "code": 2339, "category": "error" }, { "start": { "line": 101, "offset": 54 }, "end": { "line": 101, "offset": 61 }, "text": "Property 'themeId' does not exist on type 'unknown'.", "code": 2339, "category": "error" } ] } [Trace - 10:33:17 PM] Event received: suggestionDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "diagnostics": [ { "start": { "line": 37, "offset": 30 }, "end": { "line": 37, "offset": 31 }, "text": "Parameter 't' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 89, "offset": 22 }, "end": { "line": 89, "offset": 26 }, "text": "Parameter 'type' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" } ] } [Trace - 10:33:17 PM] Async response received: requestCompleted (17). Request took 306 ms. [Trace - 10:33:18 PM] Sending request: updateOpen (18). Response expected: no. Current queue length: 0 Arguments: { "changedFiles": [ { "fileName": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "textChanges": [ { "newText": "\n", "start": { "line": 10, "offset": 1 }, "end": { "line": 10, "offset": 1 } } ] }, { "fileName": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "textChanges": [ { "newText": "\nimport { MessageBus, PebApiService, PebEnvService } from '@pe/builder-core';", "start": { "line": 10, "offset": 1 }, "end": { "line": 10, "offset": 1 } } ] } ] } [Trace - 10:33:18 PM] Sending request: geterr (19). Response expected: yes. Current queue length: 0 Arguments: { "delay": 0, "files": [ "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts" ] } [Trace - 10:33:18 PM] Event received: syntaxDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "diagnostics": [] } [Trace - 10:33:18 PM] Event received: semanticDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "diagnostics": [] } [Trace - 10:33:18 PM] Event received: suggestionDiag (0). Data: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "diagnostics": [ { "start": { "line": 39, "offset": 30 }, "end": { "line": 39, "offset": 31 }, "text": "Parameter 't' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" }, { "start": { "line": 91, "offset": 22 }, "end": { "line": 91, "offset": 26 }, "text": "Parameter 'type' implicitly has an 'any' type, but a better type may be inferred from usage.", "code": 7044, "category": "suggestion" } ] } [Trace - 10:33:18 PM] Async response received: requestCompleted (19). Request took 287 ms. [Trace - 10:33:20 PM] Sending request: getSupportedCodeFixes (20). Response expected: yes. Current queue length: 0 [Trace - 10:33:20 PM] Response received: getSupportedCodeFixes (20). Request took 2 ms. Success: true Result: [ "2352", "1375", "2356", "2362", "2363", "2736", "2365", "2367", "2461", "2495", "2569", "2549", "2548", "2488", "2504", "2345", "2339", "2349", "2351", "2304", "18004", "2612", "1329", "7051", "80004", "7034", "7005", "7006", "7019", "7033", "7010", "7032", "7008", "7046", "7043", "7044", "7047", "7048", "7050", "7049", "7045", "2683", "80002", "80006", "80001", "2713", "1205", "2420", "2720", "2552", "2663", "2662", "2503", "2686", "2693", "2551", "2724", "2741", "2739", "2740", "2348", "2307", "7016", "2515", "2653", "17009", "2377", "1219", "17004", "1378", "2689", "18016", "6133", "6196", "6138", "6192", "6198", "6199", "6205", "7027", "7028", "8020", "1308", "1103", "1002", "1003", "1005", "1006", "1007", "1009", "1010", "1011", "1012", "1013", "1014", "1015", "1016", "1017", "1018", "1019", "1020", "1021", "1022", "1023", "1024", "1028", "1029", "1030", "1031", "1034", "1035", "1036", "1038", "1039", "1040", "1041", "1042", "1043", "1044", "1045", "1046", "1047", "1048", "1049", "1051", "1052", "1053", "1054", "1055", "1056", "1057", "1058", "1059", "1060", "1061", "1062", "1063", "1064", "1066", "1068", "1069", "1070", "1071", "1079", "1084", "1085", "1089", "1090", "1091", "1092", "1093", "1094", "1095", "1096", "1097", "1098", "1099", "1100", "1101", "1102", "1104", "1105", "1107", "1108", "1109", "1110", "1113", "1114", "1115", "1116", "1117", "1118", "1119", "1120", "1121", "1123", "1124", "1125", "1126", "1127", "1128", "1129", "1130", "1131", "1132", "1134", "1135", "1136", "1137", "1138", "1139", "1140", "1141", "1142", "1144", "1146", "1147", "1148", "1149", "1155", "1156", "1157", "1160", "1161", "1162", "1163", "1164", "1165", "1166", "1168", "1169", "1170", "1171", "1172", "1173", "1174", "1175", "1176", "1177", "1178", "1179", "1180", "1181", "1182", "1183", "1184", "1185", "1186", "1187", "1188", "1189", "1190", "1191", "1192", "1193", "1194", "1196", "1197", "1198", "1199", "1200", "1202", "1203", "1206", "1207", "1208", "1210", "1211", "1212", "1213", "1214", "1215", "1216", "1218", "1220", "1221", "1222", "1223", "1224", "1225", "1226", "1227", "1228", "1229", "1230", "1231", "1232", "1233", "1234", "1235", "1236", "1237", "1238", "1239", "1240", "1241", "1242", "1243", "1244", "1245", "1246", "1247", "1248", "1249", "1250", "1251", "1252", "1253", "1254", "1255", "1256", "1257", "1258", "1259", "1260", "1261", "1300", "1312", "1313", "1314", "1315", "1316", "1317", "1318", "1319", "1320", "1321", "1322", "1323", "1324", "1325", "1326", "1327", "1328", "1330", "1331", "1332", "1333", "1334", "1335", "1336", "1337", "1338", "1339", "1340", "1342", "1343", "1344", "1345", "1346", "1347", "1348", "1349", "1351", "1352", "1353", "1354", "1355", "1356", "1357", "1358", "1359", "1360", "1361", "1362", "1363", "1370", "1371", "1379", "1380", "1383", "2200", "2201", "2202", "2203", "2204", "2205", "2300", "2301", "2302", "2303", "2305", "2306", "2308", "2309", "2310", "2311", "2312", "2313", "2314", "2315", "2316", "2317", "2318", "2319", "2320", "2321", "2322", "2323", "2324", "2325", "2326", "2327", "2328", "2329", "2330", "2331", "2332", "2333", "2334", "2335", "2336", "2337", "2338", "2340", "2341", "2342", "2343", "2344", "2346", "2347", "2350", "2353", "2354", "2355", "2357", "2358", "2359", "2360", "2361", "2364", "2366", "2368", "2369", "2370", "2371", "2372", "2373", "2374", "2375", "2376", "2378", "2379", "2380", "2381", "2382", "2383", "2384", "2385", "2386", "2387", "2388", "2389", "2390", "2391", "2392", "2393", "2394", "2395", "2396", "2397", "2399", "2400", "2401", "2402", "2403", "2404", "2405", "2406", "2407", "2408", "2409", "2410", "2411", "2412", "2413", "2414", "2415", "2416", "2417", "2418", "2422", "2423", "2425", "2426", "2427", "2428", "2430", "2431", "2432", "2433", "2434", "2435", "2436", "2437", "2438", "2439", "2440", "2441", "2442", "2443", "2444", "2445", "2446", "2447", "2448", "2449", "2450", "2451", "2452", "2453", "2454", "2455", "2456", "2457", "2458", "2459", "2460", "2462", "2463", "2464", "2465", "2466", "2467", "2468", "2469", "2470", "2471", "2472", "2473", "2474", "2475", "2476", "2477", "2478", "2479", "2480", "2481", "2483", "2484", "2487", "2489", "2490", "2491", "2492", "2493", "2494", "2496", "2497", "2498", "2499", "2500", "2501", "2502", "2505", "2506", "2507", "2508", "2509", "2510", "2511", "2512", "2513", "2514", "2516", "2517", "2518", "2519", "2520", "2521", "2522", "2523", "2524", "2525", "2526", "2527", "2528", "2529", "2530", "2531", "2532", "2533", "2534", "2535", "2536", "2537", "2538", "2539", "2540", "2541", "2542", "2543", "2544", "2545", "2546", "2547", "2553", "2554", "2555", "2556", "2557", "2558", "2559", "2560", "2561", "2562", "2563", "2564", "2565", "2566", "2567", "2571", "2572", "2573", "2574", "2575", "2576", "2577", "2580", "2581", "2582", "2583", "2584", "2585", "2586", "2587", "2588", "2589", "2590", "2591", "2592", "2593", "2594", "2600", "2601", "2602", "2603", "2604", "2605", "2606", "2607", "2608", "2609", "2610", "2611", "2613", "2614", "2649", "2651", "2652", "2654", "2656", "2657", "2658", "2659", "2660", "2661", "2664", "2665", "2666", "2667", "2668", "2669", "2670", "2671", "2672", "2673", "2674", "2675", "2676", "2677", "2678", "2679", "2680", "2681", "2682", "2684", "2685", "2687", "2688", "2691", "2692", "2694", "2695", "2696", "2697", "2698", "2699", "2700", "2701", "2702", "2703", "2704", "2705", "2706", "2707", "2708", "2709", "2710", "2711", "2712", "2714", "2715", "2716", "2717", "2718", "2719", "2721", "2722", "2723", "2725", "2726", "2727", "2729", "2730", "2731", "2732", "2733", "2734", "2735", "2737", "2742", "2743", "2744", "2745", "2746", "2747", "2748", "2749", "2750", "2751", "2752", "2753", "2754", "2755", "2756", "2757", "2758", "2759", "2760", "2761", "2762", "2763", "2764", "2765", "2766", "2767", "2768", "2769", "2770", "2771", "2772", "2773", "2774", "2775", "2776", "2777", "2778", "2779", "2780", "2781", "4000", "4002", "4004", "4006", "4008", "4010", "4012", "4014", "4016", "4019", "4020", "4022", "4023", "4024", "4025", "4026", "4027", "4028", "4029", "4030", "4031", "4032", "4033", "4034", "4035", "4036", "4037", "4038", "4039", "4040", "4041", "4042", "4043", "4044", "4045", "4046", "4047", "4048", "4049", "4050", "4051", "4052", "4053", "4054", "4055", "4056", "4057", "4058", "4059", "4060", "4061", "4062", "4063", "4064", "4065", "4066", "4067", "4068", "4069", "4070", "4071", "4072", "4073", "4074", "4075", "4076", "4077", "4078", "4081", "4082", "4083", "4090", "4091", "4092", "4094", "4095", "4096", "4097", "4098", "4099", "4100", "4101", "4102", "4103", "4104", "4105", "4106", "4107", "4108", "4109", "4110", "5001", "5009", "5010", "5012", "5014", "5023", "5024", "5025", "5033", "5042", "5047", "5048", "5051", "5052", "5053", "5054", "5055", "5056", "5057", "5058", "5059", "5060", "5061", "5062", "5063", "5064", "5065", "5066", "5067", "5068", "5069", "5070", "5071", "5072", "5073", "5074", "5075", "5076", "5077", "5078", "5079", "5080", "5081", "6044", "6045", "6046", "6048", "6049", "6050", "6051", "6053", "6054", "6059", "6064", "6082", "6103", "6114", "6131", "6137", "6140", "6142", "6188", "6189", "6200", "6202", "6230", "6304", "6305", "6306", "6307", "6308", "6309", "6369", "6370", "6377", "6379", "6504", "7009", "7011", "7013", "7014", "7015", "7017", "7018", "7020", "7022", "7023", "7024", "7025", "7026", "7029", "7030", "7031", "7035", "7036", "7039", "7040", "7041", "7042", "7052", "7053", "7054", "7055", "8000", "8001", "8002", "8003", "8004", "8005", "8006", "8008", "8009", "8010", "8011", "8012", "8013", "8016", "8017", "8018", "8021", "8022", "8023", "8024", "8025", "8026", "8027", "8028", "8029", "8030", "8031", "8032", "9002", "9003", "9004", "9005", "9006", "17000", "17001", "17002", "17003", "17005", "17006", "17007", "17008", "17010", "17011", "17012", "17013", "17014", "17015", "17016", "17017", "17018", "18000", "18001", "18002", "18003", "18006", "18007", "18009", "18010", "18011", "18012", "18013", "18014", "18015", "18017", "18018", "18019", "18022", "18023", "18024", "18026", "18027", "18028", "18029", "18030", "80005", "80003", "80008", "80007" ] [Trace - 10:33:20 PM] Sending request: getApplicableRefactors (21). Response expected: yes. Current queue length: 0 Arguments: { "file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts", "startLine": 11, "startOffset": 1, "endLine": 12, "endOffset": 1 } [Trace - 10:33:20 PM] Response received: getApplicableRefactors (21). Request took 38 ms. Success: true Result: [ { "name": "Convert import", "description": "Convert named imports to namespace import", "actions": [ { "name": "Convert named imports to namespace import", "description": "Convert named imports to namespace import" } ] } ][Trace - 10:34:45 PM] Sending request: getSupportedCodeFixes (22). Response expected: yes. Current queue length: 0
[Trace - 10:34:45 PM] Response received: getSupportedCodeFixes (22). Request took 2 ms. Success: true
Result: [
"2352",
"1375",
"2356",
"2362",
"2363",
"2736",
"2365",
"2367",
"2461",
"2495",
"2569",
"2549",
"2548",
"2488",
"2504",
"2345",
"2339",
"2349",
"2351",
"2304",
"18004",
"2612",
"1329",
"7051",
"80004",
"7034",
"7005",
"7006",
"7019",
"7033",
"7010",
"7032",
"7008",
"7046",
"7043",
"7044",
"7047",
"7048",
"7050",
"7049",
"7045",
"2683",
"80002",
"80006",
"80001",
"2713",
"1205",
"2420",
"2720",
"2552",
"2663",
"2662",
"2503",
"2686",
"2693",
"2551",
"2724",
"2741",
"2739",
"2740",
"2348",
"2307",
"7016",
"2515",
"2653",
"17009",
"2377",
"1219",
"17004",
"1378",
"2689",
"18016",
"6133",
"6196",
"6138",
"6192",
"6198",
"6199",
"6205",
"7027",
"7028",
"8020",
"1308",
"1103",
"1002",
"1003",
"1005",
"1006",
"1007",
"1009",
"1010",
"1011",
"1012",
"1013",
"1014",
"1015",
"1016",
"1017",
"1018",
"1019",
"1020",
"1021",
"1022",
"1023",
"1024",
"1028",
"1029",
"1030",
"1031",
"1034",
"1035",
"1036",
"1038",
"1039",
"1040",
"1041",
"1042",
"1043",
"1044",
"1045",
"1046",
"1047",
"1048",
"1049",
"1051",
"1052",
"1053",
"1054",
"1055",
"1056",
"1057",
"1058",
"1059",
"1060",
"1061",
"1062",
"1063",
"1064",
"1066",
"1068",
"1069",
"1070",
"1071",
"1079",
"1084",
"1085",
"1089",
"1090",
"1091",
"1092",
"1093",
"1094",
"1095",
"1096",
"1097",
"1098",
"1099",
"1100",
"1101",
"1102",
"1104",
"1105",
"1107",
"1108",
"1109",
"1110",
"1113",
"1114",
"1115",
"1116",
"1117",
"1118",
"1119",
"1120",
"1121",
"1123",
"1124",
"1125",
"1126",
"1127",
"1128",
"1129",
"1130",
"1131",
"1132",
"1134",
"1135",
"1136",
"1137",
"1138",
"1139",
"1140",
"1141",
"1142",
"1144",
"1146",
"1147",
"1148",
"1149",
"1155",
"1156",
"1157",
"1160",
"1161",
"1162",
"1163",
"1164",
"1165",
"1166",
"1168",
"1169",
"1170",
"1171",
"1172",
"1173",
"1174",
"1175",
"1176",
"1177",
"1178",
"1179",
"1180",
"1181",
"1182",
"1183",
"1184",
"1185",
"1186",
"1187",
"1188",
"1189",
"1190",
"1191",
"1192",
"1193",
"1194",
"1196",
"1197",
"1198",
"1199",
"1200",
"1202",
"1203",
"1206",
"1207",
"1208",
"1210",
"1211",
"1212",
"1213",
"1214",
"1215",
"1216",
"1218",
"1220",
"1221",
"1222",
"1223",
"1224",
"1225",
"1226",
"1227",
"1228",
"1229",
"1230",
"1231",
"1232",
"1233",
"1234",
"1235",
"1236",
"1237",
"1238",
"1239",
"1240",
"1241",
"1242",
"1243",
"1244",
"1245",
"1246",
"1247",
"1248",
"1249",
"1250",
"1251",
"1252",
"1253",
"1254",
"1255",
"1256",
"1257",
"1258",
"1259",
"1260",
"1261",
"1300",
"1312",
"1313",
"1314",
"1315",
"1316",
"1317",
"1318",
"1319",
"1320",
"1321",
"1322",
"1323",
"1324",
"1325",
"1326",
"1327",
"1328",
"1330",
"1331",
"1332",
"1333",
"1334",
"1335",
"1336",
"1337",
"1338",
"1339",
"1340",
"1342",
"1343",
"1344",
"1345",
"1346",
"1347",
"1348",
"1349",
"1351",
"1352",
"1353",
"1354",
"1355",
"1356",
"1357",
"1358",
"1359",
"1360",
"1361",
"1362",
"1363",
"1370",
"1371",
"1379",
"1380",
"1383",
"2200",
"2201",
"2202",
"2203",
"2204",
"2205",
"2300",
"2301",
"2302",
"2303",
"2305",
"2306",
"2308",
"2309",
"2310",
"2311",
"2312",
"2313",
"2314",
"2315",
"2316",
"2317",
"2318",
"2319",
"2320",
"2321",
"2322",
"2323",
"2324",
"2325",
"2326",
"2327",
"2328",
"2329",
"2330",
"2331",
"2332",
"2333",
"2334",
"2335",
"2336",
"2337",
"2338",
"2340",
"2341",
"2342",
"2343",
"2344",
"2346",
"2347",
"2350",
"2353",
"2354",
"2355",
"2357",
"2358",
"2359",
"2360",
"2361",
"2364",
"2366",
"2368",
"2369",
"2370",
"2371",
"2372",
"2373",
"2374",
"2375",
"2376",
"2378",
"2379",
"2380",
"2381",
"2382",
"2383",
"2384",
"2385",
"2386",
"2387",
"2388",
"2389",
"2390",
"2391",
"2392",
"2393",
"2394",
"2395",
"2396",
"2397",
"2399",
"2400",
"2401",
"2402",
"2403",
"2404",
"2405",
"2406",
"2407",
"2408",
"2409",
"2410",
"2411",
"2412",
"2413",
"2414",
"2415",
"2416",
"2417",
"2418",
"2422",
"2423",
"2425",
"2426",
"2427",
"2428",
"2430",
"2431",
"2432",
"2433",
"2434",
"2435",
"2436",
"2437",
"2438",
"2439",
"2440",
"2441",
"2442",
"2443",
"2444",
"2445",
"2446",
"2447",
"2448",
"2449",
"2450",
"2451",
"2452",
"2453",
"2454",
"2455",
"2456",
"2457",
"2458",
"2459",
"2460",
"2462",
"2463",
"2464",
"2465",
"2466",
"2467",
"2468",
"2469",
"2470",
"2471",
"2472",
"2473",
"2474",
"2475",
"2476",
"2477",
"2478",
"2479",
"2480",
"2481",
"2483",
"2484",
"2487",
"2489",
"2490",
"2491",
"2492",
"2493",
"2494",
"2496",
"2497",
"2498",
"2499",
"2500",
"2501",
"2502",
"2505",
"2506",
"2507",
"2508",
"2509",
"2510",
"2511",
"2512",
"2513",
"2514",
"2516",
"2517",
"2518",
"2519",
"2520",
"2521",
"2522",
"2523",
"2524",
"2525",
"2526",
"2527",
"2528",
"2529",
"2530",
"2531",
"2532",
"2533",
"2534",
"2535",
"2536",
"2537",
"2538",
"2539",
"2540",
"2541",
"2542",
"2543",
"2544",
"2545",
"2546",
"2547",
"2553",
"2554",
"2555",
"2556",
"2557",
"2558",
"2559",
"2560",
"2561",
"2562",
"2563",
"2564",
"2565",
"2566",
"2567",
"2571",
"2572",
"2573",
"2574",
"2575",
"2576",
"2577",
"2580",
"2581",
"2582",
"2583",
"2584",
"2585",
"2586",
"2587",
"2588",
"2589",
"2590",
"2591",
"2592",
"2593",
"2594",
"2600",
"2601",
"2602",
"2603",
"2604",
"2605",
"2606",
"2607",
"2608",
"2609",
"2610",
"2611",
"2613",
"2614",
"2649",
"2651",
"2652",
"2654",
"2656",
"2657",
"2658",
"2659",
"2660",
"2661",
"2664",
"2665",
"2666",
"2667",
"2668",
"2669",
"2670",
"2671",
"2672",
"2673",
"2674",
"2675",
"2676",
"2677",
"2678",
"2679",
"2680",
"2681",
"2682",
"2684",
"2685",
"2687",
"2688",
"2691",
"2692",
"2694",
"2695",
"2696",
"2697",
"2698",
"2699",
"2700",
"2701",
"2702",
"2703",
"2704",
"2705",
"2706",
"2707",
"2708",
"2709",
"2710",
"2711",
"2712",
"2714",
"2715",
"2716",
"2717",
"2718",
"2719",
"2721",
"2722",
"2723",
"2725",
"2726",
"2727",
"2729",
"2730",
"2731",
"2732",
"2733",
"2734",
"2735",
"2737",
"2742",
"2743",
"2744",
"2745",
"2746",
"2747",
"2748",
"2749",
"2750",
"2751",
"2752",
"2753",
"2754",
"2755",
"2756",
"2757",
"2758",
"2759",
"2760",
"2761",
"2762",
"2763",
"2764",
"2765",
"2766",
"2767",
"2768",
"2769",
"2770",
"2771",
"2772",
"2773",
"2774",
"2775",
"2776",
"2777",
"2778",
"2779",
"2780",
"2781",
"4000",
"4002",
"4004",
"4006",
"4008",
"4010",
"4012",
"4014",
"4016",
"4019",
"4020",
"4022",
"4023",
"4024",
"4025",
"4026",
"4027",
"4028",
"4029",
"4030",
"4031",
"4032",
"4033",
"4034",
"4035",
"4036",
"4037",
"4038",
"4039",
"4040",
"4041",
"4042",
"4043",
"4044",
"4045",
"4046",
"4047",
"4048",
"4049",
"4050",
"4051",
"4052",
"4053",
"4054",
"4055",
"4056",
"4057",
"4058",
"4059",
"4060",
"4061",
"4062",
"4063",
"4064",
"4065",
"4066",
"4067",
"4068",
"4069",
"4070",
"4071",
"4072",
"4073",
"4074",
"4075",
"4076",
"4077",
"4078",
"4081",
"4082",
"4083",
"4090",
"4091",
"4092",
"4094",
"4095",
"4096",
"4097",
"4098",
"4099",
"4100",
"4101",
"4102",
"4103",
"4104",
"4105",
"4106",
"4107",
"4108",
"4109",
"4110",
"5001",
"5009",
"5010",
"5012",
"5014",
"5023",
"5024",
"5025",
"5033",
"5042",
"5047",
"5048",
"5051",
"5052",
"5053",
"5054",
"5055",
"5056",
"5057",
"5058",
"5059",
"5060",
"5061",
"5062",
"5063",
"5064",
"5065",
"5066",
"5067",
"5068",
"5069",
"5070",
"5071",
"5072",
"5073",
"5074",
"5075",
"5076",
"5077",
"5078",
"5079",
"5080",
"5081",
"6044",
"6045",
"6046",
"6048",
"6049",
"6050",
"6051",
"6053",
"6054",
"6059",
"6064",
"6082",
"6103",
"6114",
"6131",
"6137",
"6140",
"6142",
"6188",
"6189",
"6200",
"6202",
"6230",
"6304",
"6305",
"6306",
"6307",
"6308",
"6309",
"6369",
"6370",
"6377",
"6379",
"6504",
"7009",
"7011",
"7013",
"7014",
"7015",
"7017",
"7018",
"7020",
"7022",
"7023",
"7024",
"7025",
"7026",
"7029",
"7030",
"7031",
"7035",
"7036",
"7039",
"7040",
"7041",
"7042",
"7052",
"7053",
"7054",
"7055",
"8000",
"8001",
"8002",
"8003",
"8004",
"8005",
"8006",
"8008",
"8009",
"8010",
"8011",
"8012",
"8013",
"8016",
"8017",
"8018",
"8021",
"8022",
"8023",
"8024",
"8025",
"8026",
"8027",
"8028",
"8029",
"8030",
"8031",
"8032",
"9002",
"9003",
"9004",
"9005",
"9006",
"17000",
"17001",
"17002",
"17003",
"17005",
"17006",
"17007",
"17008",
"17010",
"17011",
"17012",
"17013",
"17014",
"17015",
"17016",
"17017",
"17018",
"18000",
"18001",
"18002",
"18003",
"18006",
"18007",
"18009",
"18010",
"18011",
"18012",
"18013",
"18014",
"18015",
"18017",
"18018",
"18019",
"18022",
"18023",
"18024",
"18026",
"18027",
"18028",
"18029",
"18030",
"80005",
"80003",
"80008",
"80007"
]
[Trace - 10:34:45 PM] Sending request: getApplicableRefactors (23). Response expected: yes. Current queue length: 0
Arguments: {
"file": "/Users/denis/dev/payever/builder-editor/src/modules/themes/src/routes/themes/themes.component.ts",
"startLine": 11,
"startOffset": 37,
"endLine": 11,
"endOffset": 50
}
[Trace - 10:34:45 PM] Response received: getApplicableRefactors (23). Request took 1 ms. Success: true
Result: []
The text was updated successfully, but these errors were encountered: