aboutsummaryrefslogtreecommitdiff
path: root/lib/results.js
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2013-04-08 20:16:05 +0100
committerMichael Williamson <mike@zwobble.org>2013-04-08 20:16:05 +0100
commit2f72e903f5f8bb7ac00c69778be4cb199017617d (patch)
tree0e24cac9cd0f6f3bddc72d6c32f4a2d9192f53dc /lib/results.js
parent2ea1d69fe5821a1e4f28e7c411e5bf41a498b2fa (diff)
Move DocumentReader to DocumentXmlReader in its own module
Diffstat (limited to 'lib/results.js')
-rw-r--r--lib/results.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/results.js b/lib/results.js
new file mode 100644
index 0000000..5bd81c0
--- /dev/null
+++ b/lib/results.js
@@ -0,0 +1,26 @@
+exports.Result = Result;
+exports.warning = warning;
+
+
+function Result(value, messages) {
+ this.value = value;
+ this.messages = messages || [];
+}
+
+Result.prototype.map = function(func) {
+ return new Result(func(this.value), this.messages);
+};
+
+Result.prototype.mapThen = function(func) {
+ var messages = this.messages;
+ return func(this.value).then(function(resultValue) {
+ return new Result(resultValue, messages);
+ });
+};
+
+function warning(message) {
+ return {
+ type: "warning",
+ message: message
+ };
+}