UNPKG

typings-core

Version:
36 lines 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var path_1 = require("path"); var isAbsolute = require("is-absolute"); var path_2 = require("./path"); exports.REFERENCE_REGEXP = /^\/\/\/[ \t]*<reference[ \t]+path[ \t]*=("|')(.*?)\1.*?\/>[ \t]*\r?\n?/gm; function extractReferences(contents, cwd) { var refs = []; var m; do { m = exports.REFERENCE_REGEXP.exec(contents); if (m == null) { break; } refs.push({ start: m.index, end: m.index + m[0].length, path: path_1.resolve(cwd, m[2]) }); } while (m); return refs; } exports.extractReferences = extractReferences; function parseReferences(contents, cwd) { return extractReferences(contents, cwd).map(function (ref) { return path_1.resolve(cwd, ref.path); }); } exports.parseReferences = parseReferences; function stringifyReferences(paths, cwd) { return paths.map(function (path) { return toReference(path, cwd); }).join(path_2.EOL) + path_2.EOL; } exports.stringifyReferences = stringifyReferences; function toReference(path, cwd) { return "/// <reference path=\"" + path_2.normalizeSlashes(isAbsolute(path) ? path_1.relative(cwd, path) : path_1.normalize(path)) + "\" />"; } exports.toReference = toReference; //# sourceMappingURL=references.js.map