You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
765 B
32 lines
765 B
3 years ago
|
"use strict";
|
||
|
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
exports.default = _default;
|
||
|
|
||
|
function _default(action, {
|
||
|
checkPath = true,
|
||
|
checkAbortOnFail = true
|
||
|
} = {}) {
|
||
|
// it's not even an object, you fail!
|
||
|
if (typeof action !== 'object') {
|
||
|
return `Invalid action object: ${JSON.stringify(action)}`;
|
||
|
}
|
||
|
|
||
|
const {
|
||
|
path,
|
||
|
abortOnFail
|
||
|
} = action;
|
||
|
|
||
|
if (checkPath && (typeof path !== 'string' || path.length === 0)) {
|
||
|
return `Invalid path "${path}"`;
|
||
|
} // abortOnFail is optional, but if it's provided it needs to be a Boolean
|
||
|
|
||
|
|
||
|
if (checkAbortOnFail && abortOnFail !== undefined && typeof abortOnFail !== 'boolean') {
|
||
|
return `Invalid value for abortOnFail (${abortOnFail} is not a Boolean)`;
|
||
|
}
|
||
|
|
||
|
return true;
|
||
|
}
|