coc-tslint-plugin icon indicating copy to clipboard operation
coc-tslint-plugin copied to clipboard

Error on applyEdits: Error: Overlapping edit

Open ziulev opened this issue 4 years ago • 0 comments

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('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: []

ziulev avatar Jun 17 '20 12:06 ziulev