From CommonJS Spec Wiki
Unfinished, in drafting
IO/B defines an alternate proposal to IO/A.
Focuses in IO/B are:
- Abstract handling of binary and textual data
- Flexibility and ease in defining new Stream types without needing to implement the entire complex api.
- Streaming as a generic system which can apply to any sort of data source (file, socket, buffers, etc...)
IO/B is broken up into separate sections:
- Buffer -
require('io/buffer');Buffer, StringBuffer, and BlobBuffer split out from Binary/C
- Filesystem/Level0 - Level 0
require('io/filesystem/raw');- Low level native access to the filesystem used to implement higher layers of filesystem access.
- Filesystem/Level1 - Level 1
- Stream/Level0 - Level 0, api only (there is nothing to implement at this level) - Raw method base api used to give Stream access to data sources at the most basic level
- Stream/Level1 - Level 1
require('io/stream');- Implementable in pure JS
- Socket - Level 1