neoclide / coc-tslint-plugin

coc.nvim extension that provides TSLint support using the typescript-tslint-plugin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error on applyEdits: Error: Overlapping edit

ziulev opened this issue · comments

commented

Trying to autofix ordering imports by groups


imports:

import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Output } from '@angular/core';
import { MatSnackBar } from '@angular/material/snack-bar';
import { random } from 'lodash';
import { BehaviorSubject, Observable, of } from 'rxjs';
import { catchError, map, share, switchMap, takeUntil, tap } from 'rxjs/operators';

import { AbstractComponent } from '../../abstract/abstract.component';
import { PebThemesSnackbarComponent } from '../../components/snackbar/snackbar.component';
import { PebApiService, PebEnvService, MessageBus } from '@pe/builder-core';

tslint config:

    "ordered-imports": [
      true,
      {
        "import-sources-order": "any",
        "named-imports-order": "case-insensitive",
        "grouped-imports": true,
        "module-source-path": "full",
        "groups": ["^@angular|rxjs|lodash|ngx", "^@pe", "^\\.", "^\\.\\."]
      }
    ],
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: []