source: node_modules/@swagger-api/apidom-reference/cjs/resolve/resolvers/file/index-node.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: 1.6 KB
Line 
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 _fs = require("#fs");
8var _util = require("#util");
9var _stampit = _interopRequireDefault(require("stampit"));
10var _minimatch = _interopRequireDefault(require("minimatch"));
11var _Resolver = _interopRequireDefault(require("../Resolver.cjs"));
12var url = _interopRequireWildcard(require("../../../util/url.cjs"));
13var _ResolverError = _interopRequireDefault(require("../../../errors/ResolverError.cjs"));
14// eslint-disable-line import/order
15// eslint-disable-line import/order
16
17const FileResolver = (0, _stampit.default)(_Resolver.default, {
18 props: {
19 name: 'file',
20 fileAllowList: []
21 },
22 init({
23 fileAllowList = this.fileAllowList
24 }) {
25 this.fileAllowList = fileAllowList;
26 },
27 methods: {
28 canRead(file) {
29 return url.isFileSystemPath(file.uri) && this.fileAllowList.some(pattern => {
30 return typeof pattern === 'string' ? (0, _minimatch.default)(file.uri, pattern, {
31 matchBase: true
32 }) : pattern.test(file.uri);
33 });
34 },
35 async read(file) {
36 const fileSystemPath = url.toFileSystemPath(file.uri);
37 try {
38 return await (0, _util.promisify)(_fs.readFile)(fileSystemPath);
39 } catch (error) {
40 throw new _ResolverError.default(`Error opening file "${file.uri}"`, {
41 cause: error
42 });
43 }
44 }
45 }
46});
47var _default = exports.default = FileResolver;
Note: See TracBrowser for help on using the repository browser.