Initial version

main
Sven Slootweg 5 months ago
commit 4aeef9faeb

@ -0,0 +1,9 @@
# @promistream/no-value
This module exports a symbol for representing a "no value" situation; it is used by various Promistream modules for cases where a callback provided to a stream may not always produce a value.
Importantly, this symbol is __not__ a part of the Promistreams specification; it is a convenience for stream modules that allow specifying a custom callback (eg. `map`) and that need some way to represent an absence of a value, where a `null` or `undefined` would be too ambiguous (eg. because it would be a valid value). You should only use this symbol when a stream tells you that it supports it.
## Why this is a stand-alone package
This ensures that there is only ever one symbol in use for this purpose, regardless of how many different stream modules you are using, and at what versions. This package will likely never receive an update, and it internally has a mechanism to ensure that only one global symbol is ever used across the application; if you somehow have multiple versions of this package loaded, all of them will export an identical symbol.

@ -0,0 +1,10 @@
"use strict";
const NoValue = Symbol("NoValue");
if (global.__promistream_NoValue != null) {
module.exports = global.__promistream_NoValue;
} else {
global.__promistream_NoValue = NoValue;
module.exports = NoValue;
}

@ -0,0 +1,15 @@
{
"name": "@promistream/no-value",
"version": "1.0.0",
"description": "Shared symbol for indicating within a stream that there is no value",
"repository": {
"url": "https://git.cryto.net/promistream/no-value.git"
},
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [ "promistream", "symbol" ],
"author": "Sven Slootweg <admin@cryto.net>",
"license": "WTFPL OR CC0-1.0"
}
Loading…
Cancel
Save