UNPKG

@book000/pixivts

Version:

pixiv Unofficial API Library for TypeScript

85 lines 2.94 kB
"use strict"; 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