source: node_modules/@swagger-api/apidom-reference/cjs/bundle/index.cjs

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 2.1 KB
RevLine 
[d24f17c]1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
4var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
5exports.__esModule = true;
6exports.default = void 0;
7var _ramda = require("ramda");
8var _File = _interopRequireDefault(require("../util/File.cjs"));
9var plugins = _interopRequireWildcard(require("../util/plugins.cjs"));
10var _UnmatchedBundleStrategyError = _interopRequireDefault(require("../errors/UnmatchedBundleStrategyError.cjs"));
11var _BundleError = _interopRequireDefault(require("../errors/BundleError.cjs"));
12var _index = _interopRequireDefault(require("../parse/index.cjs"));
13var _util = require("../options/util.cjs");
14var url = _interopRequireWildcard(require("../util/url.cjs"));
15/**
16 * Bundle a file with all its external references to a compound document.
17 */
18const bundle = async (uri, options) => {
19 const {
20 refSet
21 } = options.bundle;
22 const sanitizedURI = url.sanitize(uri);
23 const mergedOptions = (0, _util.merge)(options, {
24 resolve: {
25 baseURI: sanitizedURI
26 }
27 });
28 let parseResult;
29
30 // if refSet was provided, use it to avoid unnecessary parsing
31 if (refSet !== null && refSet.has(sanitizedURI)) {
32 // @ts-ignore
33 ({
34 value: parseResult
35 } = refSet.find((0, _ramda.propEq)(sanitizedURI, 'uri')));
36 } else {
37 parseResult = await (0, _index.default)(uri, mergedOptions);
38 }
39 const file = (0, _File.default)({
40 uri: mergedOptions.resolve.baseURI,
41 parseResult,
42 mediaType: mergedOptions.parse.mediaType
43 });
44 const bundleStrategies = await plugins.filter('canBundle', file, mergedOptions.bundle.strategies);
45
46 // we couldn't find any bundle strategy for this File
47 if ((0, _ramda.isEmpty)(bundleStrategies)) {
48 throw new _UnmatchedBundleStrategyError.default(file.uri);
49 }
50 try {
51 const {
52 result
53 } = await plugins.run('bundle', [file, mergedOptions], bundleStrategies);
54 return result;
55 } catch (error) {
56 throw new _BundleError.default(`Error while bundling file "${file.uri}"`, {
57 cause: error
58 });
59 }
60};
61var _default = exports.default = bundle;
Note: See TracBrowser for help on using the repository browser.