From 2b27d62b0e1b7c9400b9fe5aba081750437f1b69 Mon Sep 17 00:00:00 2001 From: Saul-Mirone Date: Fri, 27 Dec 2024 05:14:23 +0000 Subject: [PATCH] refactor(editor): cleanup ts-expect-error (#9369) --- .../commands/insert-link-by-quick-search.ts | 2 +- blocksuite/affine/block-image/src/utils.ts | 4 ++-- blocksuite/affine/block-latex/src/latex-block.ts | 4 ++-- .../block-paragraph/src/utils/forward-delete.ts | 2 +- .../block-paragraph/src/utils/merge-with-prev.ts | 2 +- .../src/rich-text/inline/presets/markdown.ts | 2 +- .../presets/nodes/latex-node/latex-node.ts | 9 +++------ .../affine/data-view/src/core/sort/eval.ts | 3 +-- .../affine/model/src/elements/mindmap/style.ts | 7 +++---- .../src/_common/transformers/middlewares.ts | 4 ++-- .../blocks/src/code-block/adapters/html.ts | 8 ++++---- .../components/toolbar/template/utils.ts | 2 +- .../widgets/element-toolbar/change-text-menu.ts | 3 +-- .../widgets/surface-ref-toolbar/utils.ts | 4 ++-- .../src/gfx/model/surface/decorators/common.ts | 8 ++++---- .../src/gfx/model/surface/decorators/derive.ts | 2 +- .../src/gfx/model/surface/decorators/observer.ts | 6 +++--- .../src/gfx/model/surface/element-model.ts | 2 +- .../src/gfx/model/surface/local-element-model.ts | 6 +++--- .../src/gfx/model/surface/surface-model.ts | 16 ++++++++-------- .../block-std/src/gfx/tool/tool-controller.ts | 6 +++--- .../src/view/element/gfx-block-component.ts | 2 +- .../global/src/__tests__/utils.unit.spec.ts | 4 ++-- .../framework/global/src/utils/function.ts | 4 ++-- .../framework/inline/src/__tests__/utils.ts | 2 +- .../store/src/__tests__/collection.unit.spec.ts | 4 ++-- .../store/src/__tests__/doc.unit.spec.ts | 2 +- .../store/src/__tests__/transformer.unit.spec.ts | 14 +++++++------- .../store/src/__tests__/yjs.unit.spec.ts | 10 +++++----- blocksuite/framework/store/src/schema/base.ts | 2 +- .../store/src/store/doc/block/sync-controller.ts | 14 +++++++------- blocksuite/framework/store/src/utils/utils.ts | 4 ++-- .../apps/_common/components/pdf/worker.ts | 2 +- blocksuite/playground/apps/dev-format.ts | 4 ++-- blocksuite/presets/src/index.ts | 4 ++-- 35 files changed, 84 insertions(+), 90 deletions(-) diff --git a/blocksuite/affine/block-embed/src/embed-linked-doc-block/commands/insert-link-by-quick-search.ts b/blocksuite/affine/block-embed/src/embed-linked-doc-block/commands/insert-link-by-quick-search.ts index 94f75bc8f1..a5e88880e0 100644 --- a/blocksuite/affine/block-embed/src/embed-linked-doc-block/commands/insert-link-by-quick-search.ts +++ b/blocksuite/affine/block-embed/src/embed-linked-doc-block/commands/insert-link-by-quick-search.ts @@ -34,7 +34,7 @@ export const insertLinkByQuickSearchCommand: Command< // add normal link; if ('externalUrl' in result) { - // @ts-expect-error TODO: fix after bookmark refactor + // @ts-expect-error FIXME: fix after bookmark refactor std.command.exec('insertBookmark', { url: result.externalUrl }); return { flavour: 'affine:bookmark', diff --git a/blocksuite/affine/block-image/src/utils.ts b/blocksuite/affine/block-image/src/utils.ts index 314632ef89..96a2c0d289 100644 --- a/blocksuite/affine/block-image/src/utils.ts +++ b/blocksuite/affine/block-image/src/utils.ts @@ -242,7 +242,7 @@ export async function copyImageBlob( } try { - // @ts-expect-error FIXME: ts error + // @ts-expect-error FIXME: BS-2239 if (window.apis?.clipboard?.copyAsImageFromString) { const dataURL = await convertToString(blob); if (!dataURL) @@ -250,7 +250,7 @@ export async function copyImageBlob( ErrorCode.DefaultRuntimeError, 'Cant convert a blob to data URL.' ); - // @ts-expect-error FIXME: ts error + // @ts-expect-error FIXME: BS-2239 await window.apis.clipboard?.copyAsImageFromString(dataURL); } else { // DOMException: Type image/jpeg not supported on write. diff --git a/blocksuite/affine/block-latex/src/latex-block.ts b/blocksuite/affine/block-latex/src/latex-block.ts index ae6d59e59d..8329dff9cf 100644 --- a/blocksuite/affine/block-latex/src/latex-block.ts +++ b/blocksuite/affine/block-latex/src/latex-block.ts @@ -44,7 +44,7 @@ export class LatexBlockComponent extends CaptionedBlockComponentError equation`, diff --git a/blocksuite/affine/data-view/src/core/sort/eval.ts b/blocksuite/affine/data-view/src/core/sort/eval.ts index 485f8d532e..a685b77073 100644 --- a/blocksuite/affine/data-view/src/core/sort/eval.ts +++ b/blocksuite/affine/data-view/src/core/sort/eval.ts @@ -110,8 +110,7 @@ const compareAny = (a: unknown, b: unknown) => { if (!b) { return Compare.LT; } - // @ts-expect-error FIXME: ts error - return a - b; + return Number(a) - Number(b); }; const compareTag = (type: DataTypeOf, a: unknown, b: unknown) => { diff --git a/blocksuite/affine/model/src/elements/mindmap/style.ts b/blocksuite/affine/model/src/elements/mindmap/style.ts index 08e88aed41..93bb2a9eb0 100644 --- a/blocksuite/affine/model/src/elements/mindmap/style.ts +++ b/blocksuite/affine/model/src/elements/mindmap/style.ts @@ -499,10 +499,9 @@ export const mindmapStyleGetters: Record = { export const applyNodeStyle = (node: MindmapNode, nodeStyle: NodeStyle) => { Object.entries(nodeStyle).forEach(([key, value]) => { - // @ts-expect-error FIXME: ts error - if (!isEqual(node.element[key], value)) { - // @ts-expect-error FIXME: ts error - node.element[key] = value; + const element = node.element as unknown as Record; + if (!isEqual(element[key], value)) { + element[key] = value; } }); }; diff --git a/blocksuite/blocks/src/_common/transformers/middlewares.ts b/blocksuite/blocks/src/_common/transformers/middlewares.ts index 696c43476b..6486c8f7a7 100644 --- a/blocksuite/blocks/src/_common/transformers/middlewares.ts +++ b/blocksuite/blocks/src/_common/transformers/middlewares.ts @@ -175,8 +175,8 @@ export const replaceIdMiddleware: JobMiddleware = ({ slots, collection }) => { break; } case 'group': { - // @ts-expect-error FIXME: ts error - const json = value.children.json as Record; + const json = (value.children as Record) + .json as Record; Object.entries(json).forEach(([key, value]) => { if (idMap.has(key)) { delete json[key]; diff --git a/blocksuite/blocks/src/code-block/adapters/html.ts b/blocksuite/blocks/src/code-block/adapters/html.ts index 6547798738..579e67a425 100644 --- a/blocksuite/blocks/src/code-block/adapters/html.ts +++ b/blocksuite/blocks/src/code-block/adapters/html.ts @@ -4,6 +4,7 @@ import { type BlockHtmlAdapterMatcher, HastUtils, } from '@blocksuite/affine-shared/adapters'; +import type { DeltaInsert } from '@blocksuite/inline'; import { nanoid } from '@blocksuite/store'; import { bundledLanguagesInfo, codeToHast } from 'shiki'; @@ -74,16 +75,15 @@ export const codeBlockHtmlAdapterMatcher: BlockHtmlAdapterMatcher = { )?.id ?? 'text') : 'text'; - // @ts-expect-error FIXME: ts error - const text = o.node.props.text.delta as DeltaInsert[]; + const text = (o.node.props.text as Record) + .delta as DeltaInsert[]; const code = text.map(delta => delta.insert).join(''); const hast = await codeToHast(code, { lang: matchedLang, theme: 'light-plus', }); - // @ts-expect-error FIXME: ts error - walkerContext.openNode(hast, 'children').closeNode(); + walkerContext.openNode(hast as never, 'children').closeNode(); }, }, }; diff --git a/blocksuite/blocks/src/root-block/edgeless/components/toolbar/template/utils.ts b/blocksuite/blocks/src/root-block/edgeless/components/toolbar/template/utils.ts index 0c4d441460..b207d0a069 100644 --- a/blocksuite/blocks/src/root-block/edgeless/components/toolbar/template/utils.ts +++ b/blocksuite/blocks/src/root-block/edgeless/components/toolbar/template/utils.ts @@ -22,7 +22,7 @@ export function cloneDeep(obj: T): T { seen.set(val, copy); Object.keys(val).forEach(key => { - // @ts-expect-error FIXME: ts error + // @ts-expect-error deep clone copy[key] = clone(val[key]); }); diff --git a/blocksuite/blocks/src/root-block/widgets/element-toolbar/change-text-menu.ts b/blocksuite/blocks/src/root-block/widgets/element-toolbar/change-text-menu.ts index d22300787c..a03fc1f376 100644 --- a/blocksuite/blocks/src/root-block/widgets/element-toolbar/change-text-menu.ts +++ b/blocksuite/blocks/src/root-block/widgets/element-toolbar/change-text-menu.ts @@ -319,8 +319,7 @@ export class EdgelessChangeTextMenu extends WithDisposable(LitElement) { const key = this.elementType === 'connector' ? 'labelStyle' : 'color'; this.elements.forEach(ele => { - // @ts-expect-error: FIXME - ele[event.type === 'start' ? 'stash' : 'pop'](key); + ele[event.type === 'start' ? 'stash' : 'pop'](key as 'color'); }); }; diff --git a/blocksuite/blocks/src/root-block/widgets/surface-ref-toolbar/utils.ts b/blocksuite/blocks/src/root-block/widgets/surface-ref-toolbar/utils.ts index d566cadb13..9361ca6ce2 100644 --- a/blocksuite/blocks/src/root-block/widgets/surface-ref-toolbar/utils.ts +++ b/blocksuite/blocks/src/root-block/widgets/surface-ref-toolbar/utils.ts @@ -40,9 +40,9 @@ export const edgelessToBlob = async ( }; export const writeImageBlobToClipboard = async (blob: Blob) => { - // @ts-expect-error FIXME: ts error + // @ts-expect-error FIXME: BS-2239 if (window.apis?.clipboard?.copyAsImageFromString) { - // @ts-expect-error FIXME: ts error + // @ts-expect-error FIXME: BS-2239 await window.apis.clipboard?.copyAsImageFromString(blob); } else { await navigator.clipboard.write([new ClipboardItem({ [blob.type]: blob })]); diff --git a/blocksuite/framework/block-std/src/gfx/model/surface/decorators/common.ts b/blocksuite/framework/block-std/src/gfx/model/surface/decorators/common.ts index d75c94f83c..29f461de17 100644 --- a/blocksuite/framework/block-std/src/gfx/model/surface/decorators/common.ts +++ b/blocksuite/framework/block-std/src/gfx/model/surface/decorators/common.ts @@ -13,9 +13,9 @@ export function setObjectPropMeta( prop: string | symbol, val: unknown ) { - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore target[symbol] = target[symbol] ?? {}; - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore target[symbol][prop] = val; } @@ -32,11 +32,11 @@ export function getObjectPropMeta( prop?: string | symbol ) { if (prop) { - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore return target[symbol]?.[prop] ?? null; } - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore return target[symbol] ?? {}; } diff --git a/blocksuite/framework/block-std/src/gfx/model/surface/decorators/derive.ts b/blocksuite/framework/block-std/src/gfx/model/surface/decorators/derive.ts index 8beef84ef7..c611c5efe2 100644 --- a/blocksuite/framework/block-std/src/gfx/model/surface/decorators/derive.ts +++ b/blocksuite/framework/block-std/src/gfx/model/surface/decorators/derive.ts @@ -56,7 +56,7 @@ export function updateDerivedProps( const decoratorState = getDecoratorState(receiver.surface); decoratorState.deriving = true; keys(derivedProps).forEach(key => { - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore receiver[key] = derivedProps[key]; }); decoratorState.deriving = false; diff --git a/blocksuite/framework/block-std/src/gfx/model/surface/decorators/observer.ts b/blocksuite/framework/block-std/src/gfx/model/surface/decorators/observer.ts index 821dee43bc..f2d9e9a641 100644 --- a/blocksuite/framework/block-std/src/gfx/model/surface/decorators/observer.ts +++ b/blocksuite/framework/block-std/src/gfx/model/surface/decorators/observer.ts @@ -62,10 +62,10 @@ export function startObserve( ) { const proto = Object.getPrototypeOf(receiver); const observeFn = getObserveMeta(proto, prop as string)!; - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore const observerDisposable = receiver[observerDisposableSymbol] ?? {}; - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore receiver[observerDisposableSymbol] = observerDisposable; if (observerDisposable[prop]) { @@ -114,7 +114,7 @@ export function initializeObservers( }); receiver['_disposable'].add(() => { - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore Object.values(receiver[observerDisposableSymbol] ?? {}).forEach(dispose => (dispose as () => void)() ); diff --git a/blocksuite/framework/block-std/src/gfx/model/surface/element-model.ts b/blocksuite/framework/block-std/src/gfx/model/surface/element-model.ts index bd88ca488a..3841819170 100644 --- a/blocksuite/framework/block-std/src/gfx/model/surface/element-model.ts +++ b/blocksuite/framework/block-std/src/gfx/model/surface/element-model.ts @@ -277,7 +277,7 @@ export abstract class GfxPrimitiveElementModel< const value = this._stashed.get(prop); this._stashed.delete(prop); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore delete this[prop]; if (getFieldPropsSet(this).has(prop as string)) { diff --git a/blocksuite/framework/block-std/src/gfx/model/surface/local-element-model.ts b/blocksuite/framework/block-std/src/gfx/model/surface/local-element-model.ts index aa6b7a1bf6..b975710e72 100644 --- a/blocksuite/framework/block-std/src/gfx/model/surface/local-element-model.ts +++ b/blocksuite/framework/block-std/src/gfx/model/surface/local-element-model.ts @@ -126,14 +126,14 @@ export abstract class GfxLocalElementModel implements GfxCompatibleInterface { this._local.delete('deserializedXYWH'); } - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore const oldValue = target[prop as string]; if (oldValue === value) { return true; } - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore target[prop as string] = value; if (!this._props.has(prop)) { @@ -158,7 +158,7 @@ export abstract class GfxLocalElementModel implements GfxCompatibleInterface { }, }); - // eslint-disable-next-line no-constructor-return + // oxlint-disable-next-line no-constructor-return return p; } diff --git a/blocksuite/framework/block-std/src/gfx/model/surface/surface-model.ts b/blocksuite/framework/block-std/src/gfx/model/surface/surface-model.ts index 0060866a10..4a147ce67f 100644 --- a/blocksuite/framework/block-std/src/gfx/model/surface/surface-model.ts +++ b/blocksuite/framework/block-std/src/gfx/model/surface/surface-model.ts @@ -142,7 +142,7 @@ export class SurfaceBlockModel extends BlockModel { Object.keys(rest).forEach(key => { if (props[key] !== undefined) { - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore elementModel.model[key] = props[key]; } }); @@ -177,7 +177,7 @@ export class SurfaceBlockModel extends BlockModel { state.skipField = options.skipFieldInit ?? false; let mounted = false; - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore Ctor['_decoratorState'] = state; const elementModel = new Ctor({ @@ -188,7 +188,7 @@ export class SurfaceBlockModel extends BlockModel { onChange: payload => mounted && options.onChange({ id, ...payload }), }) as GfxPrimitiveElementModel; - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore delete Ctor['_decoratorState']; state.creating = false; state.skipField = false; @@ -364,7 +364,7 @@ export class SurfaceBlockModel extends BlockModel { { const group = this.getGroup(payload.id); if (group) { - // eslint-disable-next-line unicorn/prefer-dom-node-remove + // oxlint-disable-next-line unicorn/prefer-dom-node-remove group.removeChild(payload.model as GfxModel); } } @@ -385,7 +385,7 @@ export class SurfaceBlockModel extends BlockModel { throw new Error(`Invalid element type: ${type}`); } - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore return (ctor.propsToY ?? GfxPrimitiveElementModel.propsToY)(props); } @@ -449,7 +449,7 @@ export class SurfaceBlockModel extends BlockModel { const id = nanoid(); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore props.id = id; const elementModel = this._createElementFromProps(props, { @@ -502,7 +502,7 @@ export class SurfaceBlockModel extends BlockModel { }); } - // eslint-disable-next-line unicorn/prefer-dom-node-remove + // oxlint-disable-next-line unicorn/prefer-dom-node-remove group?.removeChild(element as GfxModel); this.elements.getValue()!.delete(id); @@ -612,7 +612,7 @@ export class SurfaceBlockModel extends BlockModel { props as Record ) as T; Object.entries(props).forEach(([key, value]) => { - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore elementModel[key] = value; }); }); diff --git a/blocksuite/framework/block-std/src/gfx/tool/tool-controller.ts b/blocksuite/framework/block-std/src/gfx/tool/tool-controller.ts index 0e74036af8..b57695f7c6 100644 --- a/blocksuite/framework/block-std/src/gfx/tool/tool-controller.ts +++ b/blocksuite/framework/block-std/src/gfx/tool/tool-controller.ts @@ -129,7 +129,7 @@ export class ToolController extends GfxExtension { }); get currentTool$() { - // eslint-disable-next-line @typescript-eslint/no-this-alias + // oxlint-disable-next-line typescript/no-this-alias const self = this; return { @@ -143,7 +143,7 @@ export class ToolController extends GfxExtension { } get currentToolOption$() { - // eslint-disable-next-line @typescript-eslint/no-this-alias + // oxlint-disable-next-line typescript/no-this-alias const self = this; return { @@ -475,7 +475,7 @@ export class ToolController extends GfxExtension { }; this.std.provider.getAll(ToolIdentifier).forEach(tool => { - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore tool['eventTarget'] = eventTarget; this._register(tool); }); diff --git a/blocksuite/framework/block-std/src/view/element/gfx-block-component.ts b/blocksuite/framework/block-std/src/view/element/gfx-block-component.ts index 38b776292f..35b7655513 100644 --- a/blocksuite/framework/block-std/src/view/element/gfx-block-component.ts +++ b/blocksuite/framework/block-std/src/view/element/gfx-block-component.ts @@ -133,7 +133,7 @@ export function toGfxBlockComponent< WidgetName extends string, B extends typeof BlockComponent, >(CustomBlock: B) { - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore return class extends CustomBlock { [GfxElementSymbol] = true; diff --git a/blocksuite/framework/global/src/__tests__/utils.unit.spec.ts b/blocksuite/framework/global/src/__tests__/utils.unit.spec.ts index 9652ecea62..0c2c8a7aeb 100644 --- a/blocksuite/framework/global/src/__tests__/utils.unit.spec.ts +++ b/blocksuite/framework/global/src/__tests__/utils.unit.spec.ts @@ -40,7 +40,7 @@ describe('isEqual', () => { ) ).toBe(true); expect(isEqual({}, { foo: 1 })).toBe(false); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore expect(isEqual({ foo: 1 }, {})).toBe(false); }); @@ -63,7 +63,7 @@ describe('isEqual', () => { bigint: 110101195306153019n, }; expect(isEqual(nested, nested)).toBe(true); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore expect(isEqual({ foo: [] }, { foo: '' })).toBe(false); }); }); diff --git a/blocksuite/framework/global/src/utils/function.ts b/blocksuite/framework/global/src/utils/function.ts index b862926193..19d275acc1 100644 --- a/blocksuite/framework/global/src/utils/function.ts +++ b/blocksuite/framework/global/src/utils/function.ts @@ -114,9 +114,9 @@ export const debounce = void>( }; export async function nextTick() { - // @ts-expect-error FIXME: ts error + // @ts-expect-error check window.scheduler if ('scheduler' in window && 'yield' in window.scheduler) { - // @ts-expect-error FIXME: ts error + // @ts-expect-error check window.scheduler.yield return window.scheduler.yield(); } else if (typeof requestIdleCallback !== 'undefined') { return new Promise(resolve => requestIdleCallback(resolve)); diff --git a/blocksuite/framework/inline/src/__tests__/utils.ts b/blocksuite/framework/inline/src/__tests__/utils.ts index aad102ac95..3bdeddcd11 100644 --- a/blocksuite/framework/inline/src/__tests__/utils.ts +++ b/blocksuite/framework/inline/src/__tests__/utils.ts @@ -162,7 +162,7 @@ export async function assertSelection( ([richTextIndex]) => { const richText = document?.querySelectorAll('test-rich-text')[richTextIndex]; - // @ts-expect-error FIXME: ts error + // @ts-expect-error getInlineRange const inlineEditor = richText.inlineEditor; return inlineEditor?.getInlineRange(); }, diff --git a/blocksuite/framework/store/src/__tests__/collection.unit.spec.ts b/blocksuite/framework/store/src/__tests__/collection.unit.spec.ts index 8ae4cd0831..e7574fabb0 100644 --- a/blocksuite/framework/store/src/__tests__/collection.unit.spec.ts +++ b/blocksuite/framework/store/src/__tests__/collection.unit.spec.ts @@ -36,7 +36,7 @@ const spaceMetaId = 'meta'; function serializCollection(doc: BlockSuiteDoc): Record { const spaces = {}; doc.spaces.forEach((subDoc, key) => { - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore spaces[key] = subDoc.toJSON(); }); const json = doc.toJSON(); @@ -103,7 +103,7 @@ describe('basic', () => { assert.equal(collection.isEmpty, false); assert.equal(typeof actualDoc.createDate, 'number'); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore delete actualDoc.createDate; assert.deepEqual(actual, { diff --git a/blocksuite/framework/store/src/__tests__/doc.unit.spec.ts b/blocksuite/framework/store/src/__tests__/doc.unit.spec.ts index 72c6ad0966..41c54a4a64 100644 --- a/blocksuite/framework/store/src/__tests__/doc.unit.spec.ts +++ b/blocksuite/framework/store/src/__tests__/doc.unit.spec.ts @@ -177,7 +177,7 @@ test('always get latest value in onChange', () => { let value: unknown; rootModel.propsUpdated.on(({ key }) => { - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore value = rootModel[key]; }); diff --git a/blocksuite/framework/store/src/__tests__/transformer.unit.spec.ts b/blocksuite/framework/store/src/__tests__/transformer.unit.spec.ts index 3a9a955017..84dda265e2 100644 --- a/blocksuite/framework/store/src/__tests__/transformer.unit.spec.ts +++ b/blocksuite/framework/store/src/__tests__/transformer.unit.spec.ts @@ -96,23 +96,23 @@ test('snapshot to model', async () => { }); expect(model.flavour).toBe(rootModel.flavour); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore expect(model.props.title).toBeInstanceOf(Text); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore map.set('title', model.props.title.yText); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore expect(model.props.title.toString()).toBe('doc title'); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore expect(model.props.style).toEqual({ color: 'red', }); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore expect(model.props.count).toBe(3); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore expect(model.props.items).toMatchObject([ { id: 0, @@ -125,7 +125,7 @@ test('snapshot to model', async () => { }, ]); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore model.props.items.forEach((item, index) => { expect(item.content).toBeInstanceOf(Text); const key = `item:${index}:content`; diff --git a/blocksuite/framework/store/src/__tests__/yjs.unit.spec.ts b/blocksuite/framework/store/src/__tests__/yjs.unit.spec.ts index f292bf185a..e29fd90f5e 100644 --- a/blocksuite/framework/store/src/__tests__/yjs.unit.spec.ts +++ b/blocksuite/framework/store/src/__tests__/yjs.unit.spec.ts @@ -49,11 +49,11 @@ describe('blocksuite yjs', () => { proxy.obj2 = { foo: 2, bar: { num: 3 } }; expect(map.get('obj2')).toBeInstanceOf(Y.Map); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore expect(map.get('obj2').get('bar').get('num')).toBe(3); proxy.obj2.bar.str = 'hello'; - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore expect(map.get('obj2').get('bar').get('str')).toBe('hello'); proxy.obj3 = {}; @@ -105,7 +105,7 @@ describe('blocksuite yjs', () => { proxy.inner.native.setValue(['hello', 'world', 'foo']); expect(native.getValue()).toEqual(['hello', 'world', 'foo']); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore expect(map.get('inner').get('native').get('value')).toEqual([ 'hello', 'world', @@ -114,10 +114,10 @@ describe('blocksuite yjs', () => { const native2 = new Boxed(0); proxy.inner.native2 = native2; - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore expect(map.get('inner').get('native2').get('value')).toBe(0); native2.setValue(1); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore expect(map.get('inner').get('native2').get('value')).toBe(1); }); }); diff --git a/blocksuite/framework/store/src/schema/base.ts b/blocksuite/framework/store/src/schema/base.ts index 6059dc3848..11c9b717c4 100644 --- a/blocksuite/framework/store/src/schema/base.ts +++ b/blocksuite/framework/store/src/schema/base.ts @@ -150,7 +150,7 @@ function MagicProps(): { const modelLabel = Symbol('model_label'); -// @ts-expect-error FIXME: ts error +// @ts-expect-error allow magic props export class BlockModel< Props extends object = object, PropsSignal extends object = SignaledProps, diff --git a/blocksuite/framework/store/src/store/doc/block/sync-controller.ts b/blocksuite/framework/store/src/store/doc/block/sync-controller.ts index 65e0a67fc7..3efc5f72ae 100644 --- a/blocksuite/framework/store/src/store/doc/block/sync-controller.ts +++ b/blocksuite/framework/store/src/store/doc/block/sync-controller.ts @@ -46,12 +46,12 @@ export class SyncController { const keyName = key.replace('prop:', ''); const proxy = this._getPropsProxy(keyName, value); this._byPassUpdate(() => { - // @ts-expect-error FIXME: ts error + // @ts-expect-error allow magic props this.model[keyName] = proxy; const signalKey = `${keyName}$`; this._mutex(() => { if (signalKey in this.model) { - // @ts-expect-error FIXME: ts error + // @ts-expect-error allow magic props this.model[signalKey].value = y2Native(value); } }); @@ -62,10 +62,10 @@ export class SyncController { if (type.action === 'delete') { const keyName = key.replace('prop:', ''); this._byPassUpdate(() => { - // @ts-expect-error FIXME: ts error + // @ts-expect-error allow magic props delete this.model[keyName]; if (`${keyName}$` in this.model) { - // @ts-expect-error FIXME: ts error + // @ts-expect-error allow magic props this.model[`${keyName}$`].value = undefined; } }); @@ -136,7 +136,7 @@ export class SyncController { const value = data.value; if (!this.model) return; _mutex(() => { - // @ts-expect-error FIXME: ts error + // @ts-expect-error allow magic props this.model[key] = value; }); }); @@ -208,7 +208,7 @@ export class SyncController { function setValue(target: BlockModel, p: string, value: unknown) { _mutex(() => { - // @ts-expect-error FIXME: ts error + // @ts-expect-error allow magic props target[`${p}$`].value = value; }); } @@ -222,7 +222,7 @@ export class SyncController { const signalKey = `${name}$`; if (signalKey in this.model) { this._mutex(() => { - // @ts-expect-error FIXME: ts error + // @ts-expect-error allow magic props this.model[signalKey].value = this.model[name]; }); } diff --git a/blocksuite/framework/store/src/utils/utils.ts b/blocksuite/framework/store/src/utils/utils.ts index 13d3249bda..ac08dcf203 100644 --- a/blocksuite/framework/store/src/utils/utils.ts +++ b/blocksuite/framework/store/src/utils/utils.ts @@ -19,7 +19,7 @@ export function syncBlockProps( if (SYS_KEYS.has(key)) return; if (value === undefined) return; - // @ts-expect-error FIXME: ts error + // @ts-expect-error allow props model[key] = value; }); @@ -31,7 +31,7 @@ export function syncBlockProps( return; } - // @ts-expect-error FIXME: ts error + // @ts-expect-error allow props model[key] = native2Y(value); }); } diff --git a/blocksuite/playground/apps/_common/components/pdf/worker.ts b/blocksuite/playground/apps/_common/components/pdf/worker.ts index 7aecaf7154..648ebe7269 100644 --- a/blocksuite/playground/apps/_common/components/pdf/worker.ts +++ b/blocksuite/playground/apps/_common/components/pdf/worker.ts @@ -35,7 +35,7 @@ function renderToImageData(index: number, scale: number) { bitmap.fill(0, 0, width, height); page.render(bitmap, 0, 0, width, height, 0, flags); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore const data = new Uint8ClampedArray(bitmap.toUint8Array()); bitmap.close(); diff --git a/blocksuite/playground/apps/dev-format.ts b/blocksuite/playground/apps/dev-format.ts index 250ce5e979..63dfff1b31 100644 --- a/blocksuite/playground/apps/dev-format.ts +++ b/blocksuite/playground/apps/dev-format.ts @@ -38,12 +38,12 @@ export const devtoolsFormatter: typeof window.devtoolsFormatters = [ if ('flavour' in (obj as BlockModel) && 'yBlock' in (obj as BlockModel)) { globalUtils.assertType(obj); - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore const { props } = obj.page._blockTree.getBlock(obj.id)._parseYBlock(); const propsArr = Object.entries(props).flatMap(([key]) => { return [ - // @ts-expect-error FIXME: ts error + // @ts-expect-error ignore ...toStyledEntry(key, obj[key]), ['div', {}, ''], ] as HTMLTemplate[]; diff --git a/blocksuite/presets/src/index.ts b/blocksuite/presets/src/index.ts index c1e96203c0..89258ff825 100644 --- a/blocksuite/presets/src/index.ts +++ b/blocksuite/presets/src/index.ts @@ -14,7 +14,7 @@ const env = : {}; const importIdentifier = '__ $BLOCKSUITE_EDITOR$ __'; -// @ts-expect-error FIXME: ts error +// @ts-expect-error check global identifier if (env[importIdentifier] === true) { // https://github.com/yjs/yjs/issues/438 console.error( @@ -22,5 +22,5 @@ if (env[importIdentifier] === true) { ); } -// @ts-expect-error FIXME: ts error +// @ts-expect-error set global identifier env[importIdentifier] = true;