@firesystem/memory
Version:
In-memory implementation of Virtual File System
72 lines (55 loc) • 1.46 kB
Markdown
# Memory Workspace Provider
O `MemoryWorkspaceProvider` permite integração do `MemoryFileSystem` com o `@workspace-fs/core`.
## Instalação
```bash
pnpm add @firesystem/memory @workspace-fs/core
```
## Uso
### Standalone (sem workspace)
```typescript
import { MemoryFileSystem } from "@firesystem/memory";
const fs = new MemoryFileSystem();
await fs.writeFile("/test.txt", "Hello World");
```
### Com Workspace
```typescript
import { WorkspaceFileSystem } from "@workspace-fs/core";
import { memoryProvider } from "@firesystem/memory/provider";
const workspace = new WorkspaceFileSystem();
workspace.registerProvider(memoryProvider);
// Criar projeto em memória
const project = await workspace.loadProject({
id: "temp-project",
name: "Temporary Project",
source: {
type: "memory",
config: {
initialData: {
"/README.md": "# My Project",
"/index.js": "console.log('Hello');",
},
},
},
});
```
## Configuração
```typescript
interface MemoryConfig {
// Dados iniciais do projeto
initialData?: {
[path: string]:
| string
| {
content: any;
metadata?: any;
};
};
// Limite de tamanho (futuro)
maxSize?: number;
}
```
## Características
- **Não persistente**: Dados são perdidos ao recarregar
- **Alta performance**: Tudo em memória
- **Suporta watch**: Notificações em tempo real
- **Sem limites práticos**: Apenas memória disponível