UNPKG

@pipepack/enhanced-resolver

Version:

yet, reimplement enhanced-resolve with the idea 'simple is best'.

35 lines (28 loc) 1.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.relativize = relativize; var _rxjs = require("rxjs"); var _operators = require("rxjs/operators"); var _path = require("path"); var _constant = require("../utils/constant"); var _assign = require("../utils/assign"); /** * @description - convert absolute reference path into relative path with another context * @author - huang.jian <hjj491229492@hotmail.com> */ // package // internal function relativize( // root candicate means absolute path roots) { return (0, _rxjs.pipe)((0, _operators.concatMap)(request => (0, _rxjs.iif)( // filter absolute reference path () => request.channel !== _constant.Channel.Absolute, // pass through when not absolute reference path (0, _rxjs.of)(request), // convert absolute reference path into relative (0, _rxjs.from)(roots).pipe((0, _operators.filter)(context => (0, _path.isAbsolute)(context)), (0, _operators.map)(context => (0, _assign.assign)(request, { context, channel: _constant.Channel.Relative, referencePathName: request.referencePathName.slice(1) })))))); } //# sourceMappingURL=relativize.js.map