# `nupp.io.files.messages` ## Types ### `Capabilities` _record_ ```nupp record Capabilities ... ``` The exact filesystem guarantees supplied by one provider. #### Members | Name | Kind | Description | | --- | --- | --- | | [`available`](#nupp.io.files.messages.Capabilities.available) | field | Whether filesystem access is available at all. | | [`arbitraryPaths`](#nupp.io.files.messages.Capabilities.arbitraryPaths) | field | Whether ordinary native paths are accepted. | | [`symbolicLinks`](#nupp.io.files.messages.Capabilities.symbolicLinks) | field | Whether symbolic links can be queried and created. | | [`readOnlyAttributes`](#nupp.io.files.messages.Capabilities.readOnlyAttributes) | field | Whether read-only attributes can be changed. | | [`glob`](#nupp.io.files.messages.Capabilities.glob) | field | Whether filesystem globbing is supported. | | [`rename`](#nupp.io.files.messages.Capabilities.rename) | field | Whether paths can be renamed. | | [`atomicWrite`](#nupp.io.files.messages.Capabilities.atomicWrite) | field | Whether atomic replacement writes are supported. | | [`temporaryPaths`](#nupp.io.files.messages.Capabilities.temporaryPaths) | field | Whether temporary path owners can be created. | | [`concurrentOpenHandles`](#nupp.io.files.messages.Capabilities.concurrentOpenHandles) | field | Whether one path may have multiple open handles. | | [`currentDirectory`](#nupp.io.files.messages.Capabilities.currentDirectory) | field | Whether a process working directory exists. | | [`userFolders`](#nupp.io.files.messages.Capabilities.userFolders) | field | Whether conventional user folders can be resolved. | | [`executableDirectory`](#nupp.io.files.messages.Capabilities.executableDirectory) | field | Whether the running executable's directory can be resolved. | | [`persistentStorageRequest`](#nupp.io.files.messages.Capabilities.persistentStorageRequest) | field | Whether persistent browser storage can be requested. | #### `available` _field_ ```nupp available: boolean ``` Whether filesystem access is available at all. #### `arbitraryPaths` _field_ ```nupp arbitraryPaths: boolean ``` Whether ordinary native paths are accepted. #### `symbolicLinks` _field_ ```nupp symbolicLinks: boolean ``` Whether symbolic links can be queried and created. #### `readOnlyAttributes` _field_ ```nupp readOnlyAttributes: boolean ``` Whether read-only attributes can be changed. #### `glob` _field_ ```nupp glob: boolean ``` Whether filesystem globbing is supported. #### `rename` _field_ ```nupp rename: boolean ``` Whether paths can be renamed. #### `atomicWrite` _field_ ```nupp atomicWrite: boolean ``` Whether atomic replacement writes are supported. #### `temporaryPaths` _field_ ```nupp temporaryPaths: boolean ``` Whether temporary path owners can be created. #### `concurrentOpenHandles` _field_ ```nupp concurrentOpenHandles: boolean ``` Whether one path may have multiple open handles. #### `currentDirectory` _field_ ```nupp currentDirectory: boolean ``` Whether a process working directory exists. #### `userFolders` _field_ ```nupp userFolders: boolean ``` Whether conventional user folders can be resolved. #### `executableDirectory` _field_ ```nupp executableDirectory: boolean ``` Whether the running executable's directory can be resolved. #### `persistentStorageRequest` _field_ ```nupp persistentStorageRequest: boolean ``` Whether persistent browser storage can be requested. ### `Entry` _record_ ```nupp record Entry ... ``` One immediate child of a listed directory. #### Members | Name | Kind | Description | | --- | --- | --- | | [`name`](#nupp.io.files.messages.Entry.name) | field | The child's name relative to the listed directory. | | [`kind`](#nupp.io.files.messages.Entry.kind) | field | The child's kind without following a symbolic link. | #### `name` _field_ ```nupp name: string ``` The child's name relative to the listed directory. #### `kind` _field_ ```nupp kind: Kind ``` The child's kind without following a symbolic link. ### `Info` _record_ ```nupp record Info ... ``` Metadata about one resolved filesystem object. #### Members | Name | Kind | Description | | --- | --- | --- | | [`kind`](#nupp.io.files.messages.Info.kind) | field | The object's filesystem kind. | | [`size`](#nupp.io.files.messages.Info.size) | field | Its byte size, or zero for a directory. | | [`modified`](#nupp.io.files.messages.Info.modified) | field | Its modification time in milliseconds since the Unix epoch, the unit nupp.time.wallTime answers in, with whatever... | | [`readOnly`](#nupp.io.files.messages.Info.readOnly) | field | Whether the native platform refuses writes. | #### `kind` _field_ ```nupp kind: Kind ``` The object's filesystem kind. #### `size` _field_ ```nupp size: integer ``` Its byte size, or zero for a directory. #### `modified` _field_ ```nupp modified: number ``` Its modification time in milliseconds since the Unix epoch, the unit `nupp.time.wallTime` answers in, with whatever fraction the platform records. #### `readOnly` _field_ ```nupp readOnly: boolean ``` Whether the native platform refuses writes. ### `Kind` _type_ ```nupp type Kind = "file" | "directory" | "symlink" | "other" ``` ### `Mode` _type_ ```nupp type Mode = "r" | "w" | "a" | "r+" | "w+" | "a+" ``` ### `Origin` _type_ ```nupp type Origin = "set" | "current" | "end" ``` ### `TemporaryOptions` _record_ ```nupp record TemporaryOptions ... ``` Naming and placement options for a native temporary path. #### Members | Name | Kind | Description | | --- | --- | --- | | [`directory`](#nupp.io.files.messages.TemporaryOptions.directory) | field | The native directory to create the path in. | | [`prefix`](#nupp.io.files.messages.TemporaryOptions.prefix) | field | A separator-free fragment placed before the random portion of the name. | | [`suffix`](#nupp.io.files.messages.TemporaryOptions.suffix) | field | A separator-free fragment placed after the random portion of the name. | #### `directory` _field_ ```nupp directory: (string | paths.Path)? ``` The native directory to create the path in. #### `prefix` _field_ ```nupp prefix: string? ``` A separator-free fragment placed before the random portion of the name. #### `suffix` _field_ ```nupp suffix: string? ``` A separator-free fragment placed after the random portion of the name. ### `UserFolder` _type_ ```nupp type UserFolder = "home" | "documents" | "downloads" | "desktop" | "pictures" | "music" | "videos" ```