Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
81158 views
1
var assert = require("assert");
2
var util = require("./util");
3
var log = util.log;
4
5
function AbstractOutput() {
6
assert.ok(this instanceof AbstractOutput);
7
Object.defineProperties(this, {
8
outputModule: { value: this.outputModule.bind(this) }
9
});
10
}
11
12
var AOp = AbstractOutput.prototype;
13
exports.AbstractOutput = AbstractOutput;
14
15
AOp.outputModule = function(module) {
16
throw new Error("not implemented");
17
};
18
19
function StdOutput() {
20
assert.ok(this instanceof StdOutput);
21
AbstractOutput.call(this);
22
}
23
24
var SOp = util.inherits(StdOutput, AbstractOutput);
25
exports.StdOutput = StdOutput;
26
27
SOp.outputModule = function(module) {
28
log.out(module.source);
29
};
30
31
function DirOutput(outputDir) {
32
assert.ok(this instanceof DirOutput);
33
assert.strictEqual(typeof outputDir, "string");
34
AbstractOutput.call(this);
35
36
Object.defineProperties(this, {
37
outputDir: { value: outputDir }
38
});
39
}
40
41
var DOp = util.inherits(DirOutput, AbstractOutput);
42
exports.DirOutput = DirOutput;
43
44
DOp.outputModule = function(module) {
45
return module.writeVersionP(this.outputDir);
46
};
47
48
function TestOutput() {
49
assert.ok(this instanceof TestOutput);
50
AbstractOutput.call(this);
51
}
52
53
var TOp = util.inherits(TestOutput, AbstractOutput);
54
exports.TestOutput = TestOutput;
55
56
TOp.outputModule = function(module) {
57
// Swallow any output.
58
};
59
60