@book000/pixivts
Version:
pixiv Unofficial API Library for TypeScript
85 lines • 2.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseMultipleCheck = exports.BaseSimpleCheck = void 0;
class BaseSimpleCheck {
getFailedChecks(data, reThrow = false) {
const checks = this.checks();
return Object.keys(checks).filter((key) => {
// 失敗ならtrueを返す
try {
return !checks[key](data); // Trueかつ例外が発生しない場合は成功 (falseを返す)
}
catch (error) {
if (reThrow) {
throw error;
}
return true; // 例外の場合は失敗 (true)
}
});
}
is(data) {
return this.getFailedChecks(data).length === 0;
}
throwIfFailed(data) {
const failedChecks = this.getFailedChecks(data, true);
if (failedChecks.length > 0) {
throw new Error(`Failed checks: ${failedChecks.join(', ')}`);
}
return true;
}
}
exports.BaseSimpleCheck = BaseSimpleCheck;
class BaseMultipleCheck {
getFailureRequestChecks(data, reThrow = false) {
const checks = this.requestChecks();
return Object.keys(checks).filter((key) => {
// 失敗ならtrueを返す
try {
return !checks[key](data); // Trueかつ例外が発生しない場合は成功 (falseを返す)
}
catch (error) {
if (reThrow) {
throw error;
}
return true; // 例外の場合は失敗 (true)
}
});
}
isRequest(data) {
return this.getFailureRequestChecks(data).length === 0;
}
throwIfRequestFailed(data) {
const failedChecks = this.getFailureRequestChecks(data, true);
if (failedChecks.length > 0) {
throw new Error(`Failed checks: ${failedChecks.join(', ')}`);
}
return true;
}
getFailedResponseChecks(data, reThrow = false) {
const checks = this.responseChecks();
return Object.keys(checks).filter((key) => {
// 失敗ならtrueを返す
try {
return !checks[key](data); // Trueかつ例外が発生しない場合は成功 (falseを返す)
}
catch (error) {
if (reThrow) {
throw error;
}
return true; // 例外の場合は失敗 (true)
}
});
}
isResponse(data) {
return this.getFailedResponseChecks(data).length === 0;
}
throwIfResponseFailed(data) {
const failedChecks = this.getFailedResponseChecks(data, true);
if (failedChecks.length > 0) {
throw new Error(`Failed checks: ${failedChecks.join(', ')}`);
}
return true;
}
}
exports.BaseMultipleCheck = BaseMultipleCheck;
//# sourceMappingURL=checks.js.map