Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F95253933
ExplorerBase.js
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sat, Dec 14, 03:18
Size
3 KB
Mime Type
text/x-c++
Expires
Mon, Dec 16, 03:18 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
22946256
Attached To
rOACCT Open Access Compliance Check Tool (OACCT)
ExplorerBase.js
View Options
"use strict"
;
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
exports
.
ExplorerBase
=
void
0
;
exports
.
getExtensionDescription
=
getExtensionDescription
;
var
_path
=
_interopRequireDefault
(
require
(
"path"
));
var
_loaders
=
require
(
"./loaders"
);
var
_getPropertyByPath
=
require
(
"./getPropertyByPath"
);
function
_interopRequireDefault
(
obj
)
{
return
obj
&&
obj
.
__esModule
?
obj
:
{
default
:
obj
};
}
class
ExplorerBase
{
constructor
(
options
)
{
if
(
options
.
cache
===
true
)
{
this
.
loadCache
=
new
Map
();
this
.
searchCache
=
new
Map
();
}
this
.
config
=
options
;
this
.
validateConfig
();
}
clearLoadCache
()
{
if
(
this
.
loadCache
)
{
this
.
loadCache
.
clear
();
}
}
clearSearchCache
()
{
if
(
this
.
searchCache
)
{
this
.
searchCache
.
clear
();
}
}
clearCaches
()
{
this
.
clearLoadCache
();
this
.
clearSearchCache
();
}
validateConfig
()
{
const
config
=
this
.
config
;
config
.
searchPlaces
.
forEach
(
place
=>
{
const
loaderKey
=
_path
.
default
.
extname
(
place
)
||
'noExt'
;
const
loader
=
config
.
loaders
[
loaderKey
];
if
(
!
loader
)
{
throw
new
Error
(
`
No
loader
specified
for
$
{
getExtensionDescription
(
place
)},
so
searchPlaces
item
"${place}"
is
invalid
`
);
}
if
(
typeof
loader
!==
'function'
)
{
throw
new
Error
(
`
loader
for
$
{
getExtensionDescription
(
place
)}
is
not
a
function
(
type
provided
:
"${typeof loader}"
),
so
searchPlaces
item
"${place}"
is
invalid
`
);
}
});
}
shouldSearchStopWithResult
(
result
)
{
if
(
result
===
null
)
return
false
;
if
(
result
.
isEmpty
&&
this
.
config
.
ignoreEmptySearchPlaces
)
return
false
;
return
true
;
}
nextDirectoryToSearch
(
currentDir
,
currentResult
)
{
if
(
this
.
shouldSearchStopWithResult
(
currentResult
))
{
return
null
;
}
const
nextDir
=
nextDirUp
(
currentDir
);
if
(
nextDir
===
currentDir
||
currentDir
===
this
.
config
.
stopDir
)
{
return
null
;
}
return
nextDir
;
}
loadPackageProp
(
filepath
,
content
)
{
const
parsedContent
=
_loaders
.
loaders
.
loadJson
(
filepath
,
content
);
const
packagePropValue
=
(
0
,
_getPropertyByPath
.
getPropertyByPath
)(
parsedContent
,
this
.
config
.
packageProp
);
return
packagePropValue
||
null
;
}
getLoaderEntryForFile
(
filepath
)
{
if
(
_path
.
default
.
basename
(
filepath
)
===
'package.json'
)
{
const
loader
=
this
.
loadPackageProp
.
bind
(
this
);
return
loader
;
}
const
loaderKey
=
_path
.
default
.
extname
(
filepath
)
||
'noExt'
;
const
loader
=
this
.
config
.
loaders
[
loaderKey
];
if
(
!
loader
)
{
throw
new
Error
(
`
No
loader
specified
for
$
{
getExtensionDescription
(
filepath
)}
`
);
}
return
loader
;
}
loadedContentToCosmiconfigResult
(
filepath
,
loadedContent
)
{
if
(
loadedContent
===
null
)
{
return
null
;
}
if
(
loadedContent
===
undefined
)
{
return
{
filepath
,
config
:
undefined
,
isEmpty
:
true
};
}
return
{
config
:
loadedContent
,
filepath
};
}
validateFilePath
(
filepath
)
{
if
(
!
filepath
)
{
throw
new
Error
(
'load must pass a non-empty string'
);
}
}
}
exports
.
ExplorerBase
=
ExplorerBase
;
function
nextDirUp
(
dir
)
{
return
_path
.
default
.
dirname
(
dir
);
}
function
getExtensionDescription
(
filepath
)
{
const
ext
=
_path
.
default
.
extname
(
filepath
);
return
ext
?
`
extension
"${ext}"
`
:
'files without extensions'
;
}
//# sourceMappingURL=ExplorerBase.js.map
Event Timeline
Log In to Comment