The main entry for creating a virtual data filesystem.
import { AFileSystem, AFile} from'@bobkerns/file-attachments'F = newAFileSystem( {data: {// Arrays denote file versions.table1: [FileAttachment('Table1.json'),FileAttachment('Table1.json@2') ],table2: [AFile('table2', {data: [[1, 5, 3] [2, 6, 4]]})] },test: {table1: [FileAttachment('Table1-test.json')] } } });// Make table2 appear in the /test directory as well.F.copy('/data/table2', '/test/table2'); // Perhaps more like a hard link// Label Version 2 of /data/table1 as 'release'// It can then be referenced as /label/table1@release, even if additional// versions are added later.F.label('/data/table1@2', 'release');// The notebook awaitsTABLE1 = F.find('/data/table1').json();// Doesn't exist, so returns undefinedNO_FILE = F.find('/noFile').json();// To get an error if the file doesn't exist:ERROR_FILE = F.find('/noFile').exists.json();// To get a file, once it is availableAWAIT_FILE = F.waitFor('/notYet').json();// To add a file:F.add('/notYet', newAFile('notYet', {Some:'data'}));// To get a file's data when added and receive updates.UPDATED_FILE = F.watch('/updatedFile').json();// Add some updates.{for (iinrange(0, 10)) {awaitsleep(1000);F.add('/updatedFile', newAFile('/updatedFile', {data:i})); }}// MetadataMETADATA_TABLE1 = F.metadata('/test/table2');
The main entry for creating a virtual data filesystem.