mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 12:55:00 +00:00
### TL;DR Refactored `SpecProvider` singleton access pattern and reorganized adapter/extension code structure. ### What changed? - Changed `SpecProvider.getInstance()` to `SpecProvider._` for cleaner singleton access - Moved adapter/extension code from `_common` directory to dedicated `adapters` and `extensions` folders - Consolidated adapter extensions into a single file - Removed unused dependencies from package.json - Deleted unnecessary schema files - Extracted `MobileSpecsPatches` class into the mobile patching code - Updated all references to use the new `SpecProvider._` accessor ### How to test? - Verify all specs are properly registered and accessible via `SpecProvider._` - Test adapter functionality for HTML, Markdown, Notion HTML and plain text - Check mobile-specific features and patches work correctly - Ensure preview functionality works in both page and edgeless modes ### Why make this change? - Improves code organization by properly separating adapters and extensions - Simplifies singleton access pattern - Removes unnecessary dependencies and files - Makes the codebase more maintainable by consolidating related functionality
24 lines
751 B
TypeScript
24 lines
751 B
TypeScript
import { AffineSchemas, SpecProvider } from '@blocksuite/blocks';
|
|
import { Schema } from '@blocksuite/store';
|
|
import { TestWorkspace } from '@blocksuite/store/test';
|
|
|
|
export function createEmptyDoc() {
|
|
const schema = new Schema().register(AffineSchemas);
|
|
const collection = new TestWorkspace({ schema });
|
|
collection.storeExtensions = SpecProvider._.getSpec('store').value;
|
|
collection.meta.initialize();
|
|
const doc = collection.createDoc();
|
|
|
|
return {
|
|
doc,
|
|
init() {
|
|
doc.load();
|
|
const rootId = doc.addBlock('affine:page', {});
|
|
doc.addBlock('affine:surface', {}, rootId);
|
|
const noteId = doc.addBlock('affine:note', {}, rootId);
|
|
doc.addBlock('affine:paragraph', {}, noteId);
|
|
return doc;
|
|
},
|
|
};
|
|
}
|