refactor: remove unused code (#3149)

This commit is contained in:
Alex Yang
2023-07-11 16:53:01 +08:00
committed by GitHub
parent 0514da9759
commit 8c1fcee135
4 changed files with 18 additions and 37 deletions

View File

@@ -3,7 +3,6 @@ import { WorkspaceFlavour } from '@affine/env/workspace';
import { createEmptyBlockSuiteWorkspace } from '@affine/workspace/utils'; import { createEmptyBlockSuiteWorkspace } from '@affine/workspace/utils';
import type { EditorContainer } from '@blocksuite/editor'; import type { EditorContainer } from '@blocksuite/editor';
import type { Page } from '@blocksuite/store'; import type { Page } from '@blocksuite/store';
import { Generator } from '@blocksuite/store';
import type React from 'react'; import type React from 'react';
import { useCallback } from 'react'; import { useCallback } from 'react';
@@ -11,10 +10,7 @@ import { BlockSuiteEditor } from '../../blocksuite/block-suite-editor';
const blockSuiteWorkspace = createEmptyBlockSuiteWorkspace( const blockSuiteWorkspace = createEmptyBlockSuiteWorkspace(
'test', 'test',
WorkspaceFlavour.LOCAL, WorkspaceFlavour.LOCAL
{
idGenerator: Generator.AutoIncrement,
}
); );
const page = blockSuiteWorkspace.createPage({ id: 'page0' }); const page = blockSuiteWorkspace.createPage({ id: 'page0' });

View File

@@ -1,4 +1,3 @@
// guid -> Workspace
import type { ActiveDocProvider, Workspace } from '@blocksuite/store'; import type { ActiveDocProvider, Workspace } from '@blocksuite/store';
import type { PassiveDocProvider } from '@blocksuite/store'; import type { PassiveDocProvider } from '@blocksuite/store';
import { useAtomValue } from 'jotai/react'; import { useAtomValue } from 'jotai/react';
@@ -8,6 +7,7 @@ import { useEffect } from 'react';
/** /**
* DO NOT ACCESS THIS MAP IN PRODUCTION, OR YOU WILL BE FIRED * DO NOT ACCESS THIS MAP IN PRODUCTION, OR YOU WILL BE FIRED
* Map: guid -> Workspace
*/ */
export const INTERNAL_BLOCKSUITE_HASH_MAP = new Map<string, Workspace>([]); export const INTERNAL_BLOCKSUITE_HASH_MAP = new Map<string, Workspace>([]);

View File

@@ -174,10 +174,13 @@ const rootWorkspacesMetadataPromiseAtom = atom<
const metadataMap = new Map(metadata.map(x => [x.id, x])); const metadataMap = new Map(metadata.map(x => [x.id, x]));
// init workspace data // init workspace data
metadataMap.forEach((meta, id) => { metadataMap.forEach((meta, id) => {
if (meta.flavour === WorkspaceFlavour.AFFINE_CLOUD) { if (
createEmptyBlockSuiteWorkspace(id, meta.flavour, {}); meta.flavour === WorkspaceFlavour.AFFINE_CLOUD ||
} else if (meta.flavour === WorkspaceFlavour.LOCAL) { meta.flavour === WorkspaceFlavour.LOCAL
) {
createEmptyBlockSuiteWorkspace(id, meta.flavour); createEmptyBlockSuiteWorkspace(id, meta.flavour);
} else {
throw new Error(`unknown flavour ${meta.flavour}`);
} }
}); });
return Array.from(metadataMap.values()); return Array.from(metadataMap.values());

View File

@@ -6,12 +6,12 @@ import {
createLocalProviders, createLocalProviders,
} from '@affine/workspace/providers'; } from '@affine/workspace/providers';
import { __unstableSchemas, AffineSchemas } from '@blocksuite/blocks/models'; import { __unstableSchemas, AffineSchemas } from '@blocksuite/blocks/models';
import type { import type { DocProviderCreator, StoreOptions } from '@blocksuite/store';
DocProviderCreator, import {
createIndexeddbStorage,
Generator, Generator,
StoreOptions, Workspace,
} from '@blocksuite/store'; } from '@blocksuite/store';
import { createIndexeddbStorage, Workspace } from '@blocksuite/store';
import { INTERNAL_BLOCKSUITE_HASH_MAP } from '@toeverything/hooks/use-block-suite-workspace'; import { INTERNAL_BLOCKSUITE_HASH_MAP } from '@toeverything/hooks/use-block-suite-workspace';
import { createStaticStorage } from './blob/local-static-storage'; import { createStaticStorage } from './blob/local-static-storage';
@@ -32,35 +32,17 @@ function setEditorFlags(workspace: Workspace) {
export function createEmptyBlockSuiteWorkspace( export function createEmptyBlockSuiteWorkspace(
id: string, id: string,
flavour: WorkspaceFlavour.AFFINE_CLOUD, flavour: WorkspaceFlavour.AFFINE_CLOUD | WorkspaceFlavour.LOCAL
config: {
cachePrefix?: string;
idGenerator?: Generator;
}
): Workspace; ): Workspace;
export function createEmptyBlockSuiteWorkspace( export function createEmptyBlockSuiteWorkspace(
id: string, id: string,
flavour: WorkspaceFlavour.LOCAL, flavour: WorkspaceFlavour
config?: {
cachePrefix?: string;
idGenerator?: Generator;
}
): Workspace;
export function createEmptyBlockSuiteWorkspace(
id: string,
flavour: WorkspaceFlavour,
config?: {
cachePrefix?: string;
idGenerator?: Generator;
}
): Workspace { ): Workspace {
const providerCreators: DocProviderCreator[] = []; const providerCreators: DocProviderCreator[] = [];
const prefix: string = config?.cachePrefix ?? ''; if (INTERNAL_BLOCKSUITE_HASH_MAP.has(id)) {
const cacheKey = `${prefix}${id}`; return INTERNAL_BLOCKSUITE_HASH_MAP.get(id) as Workspace;
if (INTERNAL_BLOCKSUITE_HASH_MAP.has(cacheKey)) {
return INTERNAL_BLOCKSUITE_HASH_MAP.get(cacheKey) as Workspace;
} }
const idGenerator = config?.idGenerator; const idGenerator = Generator.NanoID;
const blobStorages: StoreOptions['blobStorages'] = []; const blobStorages: StoreOptions['blobStorages'] = [];
@@ -95,6 +77,6 @@ export function createEmptyBlockSuiteWorkspace(
.register(AffineSchemas) .register(AffineSchemas)
.register(__unstableSchemas); .register(__unstableSchemas);
setEditorFlags(workspace); setEditorFlags(workspace);
INTERNAL_BLOCKSUITE_HASH_MAP.set(cacheKey, workspace); INTERNAL_BLOCKSUITE_HASH_MAP.set(id, workspace);
return workspace; return workspace;
} }