This repository has been archived on 2023-02-02. You can view files and clone it, but cannot push or open issues or pull requests.
mfgames-nitride-cil/src/MfGames.Nitride.IO
D. Moonfire 2892ec3445
ci/woodpecker/push/woodpecker Pipeline was successful Details
ci/woodpecker/tag/woodpecker Pipeline was successful Details
feat!: added cancellation token support to pipelines and operations
2023-01-17 19:24:09 -06:00
..
Contents feat!: added cancellation token support to pipelines and operations 2023-01-17 19:24:09 -06:00
Directories feat!: added cancellation token support to pipelines and operations 2023-01-17 19:24:09 -06:00
Paths feat!: added cancellation token support to pipelines and operations 2023-01-17 19:24:09 -06:00
FileSystemOperationBase.cs feat!: added cancellation token support to pipelines and operations 2023-01-17 19:24:09 -06:00
IfFoundOutput.cs refactor: renaming namespaces 2022-09-06 00:53:22 -05:00
MfGames.Nitride.IO.csproj feat!: added cancellation token support to pipelines and operations 2023-01-17 19:24:09 -06:00
NitrideIOBuilderExtensions.cs refactor!: fixed missed namespaces 2023-01-14 18:19:42 -06:00
NitrideIOEnumerableEntityExtensions.cs refactor!: fixed missed namespaces 2023-01-14 18:19:42 -06:00
NitrideIOModule.cs refactor: renaming namespaces 2022-09-06 00:53:22 -05:00
README.md feat: made PipelineBase.AddDependency be a params 2023-01-15 12:20:41 -06:00

README.md

Nitride.IO

This assembly contains the primary system for reading and writing from the disk, along with various processes to manipulate paths. It contains three primary components:

  • File System I/O
  • Path Normalization
  • Disk-Based Content

File System I/O

Internally, this assembly uses Zio, an file system abstraction that also has an in-memory implementation which is ideal for running unit tests. Zio also provides a way of treating an arbitrary directory as a root directory so all paths are relative to the "root".

Path Normalization

Zio also provides UPath, a normalization class that handles relative and absolute paths. Entities that are read from the disk, such as with ReadFiles, will have a UPath component with the path from the file. This component is also used to determine the path when writing out the results.

Disk-Based Content

This assembly also extends the Nitride.Contents.IBinaryContent and Nitride.Contents.ITextContent to have file system based implementations. These keep track of the original path and file system regardless of changes made to the UPath component.