definition-header
Version:
DefinitelyTyped definition header tools
49 lines • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var assertion = require("./assertion");
var serialise = require("./serialise");
var regex = require("./regex");
var parseLax = require("./parser/lax");
var model = require("./model");
exports.model = model;
var utils = require("./utils");
exports.utils = utils;
exports.parts = parseLax;
function isPartial(source) {
return regex.partial.test(source);
}
exports.isPartial = isPartial;
function parse(source) {
if (regex.bomStart.test(source)) {
source = source.replace(regex.bomStart, '');
}
var result = parseLax.header.parse(source);
var ret = {
success: !!result.status
};
if (result.status === true) {
ret.value = result.value;
return ret;
}
ret.index = result.index.offset;
ret.line = result.index.line;
ret.column = result.index.column;
ret.message = 'expected ' + result.expected[0].replace(/"/, '\"') + ' at line ' + ret.line + ', column ' + ret.column;
var details = '';
details += ret.message + ':';
details += '\n\n';
details += utils.highlightPos(source, ret.line, ret.column);
details += '\n';
ret.details = details;
return ret;
}
exports.parse = parse;
function stringify(header) {
return serialise.stringify(header);
}
exports.stringify = stringify;
function assert(header) {
return assertion.header(header);
}
exports.assert = assert;
//# sourceMappingURL=index.js.map