compound-ex4
Version:
Compound-ex4 - MVC framework for NodeJS (ExpressJs 4 version), fork compoundjs(https://github.com/1602/compound)
264 lines (213 loc) • 5.86 kB
JavaScript
(function() {
var composer, constructor, dumper, errors, events, fs, loader, nodes, parser, reader, resolver, scanner, tokens, util;
composer = require('./composer');
constructor = require('./constructor');
dumper = require('./dumper');
errors = require('./errors');
events = require('./events');
loader = require('./loader');
nodes = require('./nodes');
parser = require('./parser');
reader = require('./reader');
resolver = require('./resolver');
scanner = require('./scanner');
tokens = require('./tokens');
util = require('./util');
/*
Scan a YAML stream and produce scanning tokens.
*/
this.scan = function(stream, Loader) {
var _loader, results;
if (Loader == null) {
Loader = loader.Loader;
}
_loader = new Loader(stream);
results = [];
while (_loader.check_token()) {
results.push(_loader.get_token());
}
return results;
};
/*
Parse a YAML stream and produce parsing events.
*/
this.parse = function(stream, Loader) {
var _loader, results;
if (Loader == null) {
Loader = loader.Loader;
}
_loader = new Loader(stream);
results = [];
while (_loader.check_event()) {
results.push(_loader.get_event());
}
return results;
};
/*
Parse the first YAML document in a stream and produce the corresponding
representation tree.
*/
this.compose = function(stream, Loader) {
var _loader;
if (Loader == null) {
Loader = loader.Loader;
}
_loader = new Loader(stream);
return _loader.get_single_node();
};
/*
Parse all YAML documents in a stream and produce corresponding representation
trees.
*/
this.compose_all = function(stream, Loader) {
var _loader, results;
if (Loader == null) {
Loader = loader.Loader;
}
_loader = new Loader(stream);
results = [];
while (_loader.check_node()) {
results.push(_loader.get_node());
}
return results;
};
/*
Parse the first YAML document in a stream and produce the corresponding
Javascript object.
*/
this.load = function(stream, Loader) {
var _loader;
if (Loader == null) {
Loader = loader.Loader;
}
_loader = new Loader(stream);
return _loader.get_single_data();
};
/*
Parse all YAML documents in a stream and produce the corresponing Javascript
object.
*/
this.load_all = function(stream, Loader) {
var _loader, results;
if (Loader == null) {
Loader = loader.Loader;
}
_loader = new Loader(stream);
results = [];
while (_loader.check_data()) {
results.push(_loader.get_data());
}
return results;
};
/*
Emit YAML parsing events into a stream.
If stream is falsey, return the produced string instead.
*/
this.emit = function(events, stream, Dumper, options) {
var _dumper, dest, event, i, len;
if (Dumper == null) {
Dumper = dumper.Dumper;
}
if (options == null) {
options = {};
}
dest = stream || new util.StringStream;
_dumper = new Dumper(dest, options);
try {
for (i = 0, len = events.length; i < len; i++) {
event = events[i];
_dumper.emit(event);
}
} finally {
_dumper.dispose();
}
return stream || dest.string;
};
/*
Serialize a representation tree into a YAML stream.
If stream is falsey, return the produced string instead.
*/
this.serialize = function(node, stream, Dumper, options) {
if (Dumper == null) {
Dumper = dumper.Dumper;
}
if (options == null) {
options = {};
}
return exports.serialize_all([node], stream, Dumper, options);
};
/*
Serialize a sequence of representation tress into a YAML stream.
If stream is falsey, return the produced string instead.
*/
this.serialize_all = function(nodes, stream, Dumper, options) {
var _dumper, dest, i, len, node;
if (Dumper == null) {
Dumper = dumper.Dumper;
}
if (options == null) {
options = {};
}
dest = stream || new util.StringStream;
_dumper = new Dumper(dest, options);
try {
_dumper.open();
for (i = 0, len = nodes.length; i < len; i++) {
node = nodes[i];
_dumper.serialize(node);
}
_dumper.close();
} finally {
_dumper.dispose();
}
return stream || dest.string;
};
/*
Serialize a Javascript object into a YAML stream.
If stream is falsey, return the produced string instead.
*/
this.dump = function(data, stream, Dumper, options) {
if (Dumper == null) {
Dumper = dumper.Dumper;
}
if (options == null) {
options = {};
}
return exports.dump_all([data], stream, Dumper, options);
};
/*
Serialize a sequence of Javascript objects into a YAML stream.
If stream is falsey, return the produced string instead.
*/
this.dump_all = function(documents, stream, Dumper, options) {
var _dumper, dest, document, i, len;
if (Dumper == null) {
Dumper = dumper.Dumper;
}
if (options == null) {
options = {};
}
dest = stream || new util.StringStream;
_dumper = new Dumper(dest, options);
try {
_dumper.open();
for (i = 0, len = documents.length; i < len; i++) {
document = documents[i];
_dumper.represent(document);
}
_dumper.close();
} finally {
_dumper.dispose();
}
return stream || dest.string;
};
/*
Register .yml and .yaml requires with yaml-js
*/
if (typeof require !== "undefined" && require !== null ? require.extensions : void 0) {
fs = require('fs');
require.extensions['.yml'] = require.extensions['.yaml'] = function(module, filename) {
return module.exports = exports.load_all(fs.readFileSync(filename, 'utf8'));
};
}
}).call(this);