11import FileSystemHandle from './FileSystemHandle.js'
22import FileSystemFileHandle from './FileSystemFileHandle.js'
33
4+ const kAdapter = Symbol ( 'adapter' )
5+
46class FileSystemDirectoryHandle extends FileSystemHandle {
57 /** @type {FileSystemDirectoryHandle } */
6- #adapter
8+ [ kAdapter ]
79
810 constructor ( adapter ) {
911 super ( adapter )
10- this . #adapter = adapter
12+ this [ kAdapter ] = adapter
1113 }
1214
1315 /**
@@ -19,19 +21,19 @@ class FileSystemDirectoryHandle extends FileSystemHandle {
1921 async getDirectoryHandle ( name , options = { } ) {
2022 if ( name === '' ) throw new TypeError ( `Name can't be an empty string.` )
2123 if ( name === '.' || name === '..' || name . includes ( '/' ) ) throw new TypeError ( `Name contains invalid characters.` )
22- return new FileSystemDirectoryHandle ( await this . #adapter . getDirectoryHandle ( name , options ) )
24+ return new FileSystemDirectoryHandle ( await this [ kAdapter ] . getDirectoryHandle ( name , options ) )
2325 }
2426
2527 /** @returns {AsyncGenerator<[string, FileSystemHandle], void, unknown> } */
2628 async * entries ( ) {
27- for await ( const [ _ , entry ] of this . #adapter . entries ( ) )
29+ for await ( const [ _ , entry ] of this [ kAdapter ] . entries ( ) )
2830 yield [ entry . name , entry . kind === 'file' ? new FileSystemFileHandle ( entry ) : new FileSystemDirectoryHandle ( entry ) ]
2931 }
3032
3133 /** @deprecated use .entries() instead */
3234 async * getEntries ( ) {
3335 console . warn ( 'deprecated, use .entries() instead' )
34- for await ( let entry of this . #adapter . entries ( ) )
36+ for await ( let entry of this [ kAdapter ] . entries ( ) )
3537 yield entry . kind === 'file' ? new FileSystemFileHandle ( entry ) : new FileSystemDirectoryHandle ( entry )
3638 }
3739
@@ -45,7 +47,7 @@ class FileSystemDirectoryHandle extends FileSystemHandle {
4547 if ( name === '' ) throw new TypeError ( `Name can't be an empty string.` )
4648 if ( name === '.' || name === '..' || name . includes ( '/' ) ) throw new TypeError ( `Name contains invalid characters.` )
4749 options . create = ! ! options . create
48- return new FileSystemFileHandle ( await this . #adapter . getFileHandle ( name , options ) )
50+ return new FileSystemFileHandle ( await this [ kAdapter ] . getFileHandle ( name , options ) )
4951 }
5052
5153 /**
@@ -57,7 +59,7 @@ class FileSystemDirectoryHandle extends FileSystemHandle {
5759 if ( name === '' ) throw new TypeError ( `Name can't be an empty string.` )
5860 if ( name === '.' || name === '..' || name . includes ( '/' ) ) throw new TypeError ( `Name contains invalid characters.` )
5961 options . recursive = ! ! options . recursive // cuz node's fs.rm require boolean
60- return this . #adapter . removeEntry ( name , options )
62+ return this [ kAdapter ] . removeEntry ( name , options )
6163 }
6264
6365 [ Symbol . asyncIterator ] ( ) {
0 commit comments