@qualifyze/airtable
Version:
A more powerful airtable client
33 lines • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.QueryPageResultValidation = void 0;
const simple_validation_context_1 = require("../simple-validation-context");
const multi_record_data_1 = require("./multi-record-data");
class QueryPageResultValidation extends simple_validation_context_1.SimpleValidationContext {
constructor(fieldsValidator) {
super("Airtable Page Results");
this.fieldsValidator = fieldsValidator;
}
// eslint-disable-next-line @typescript-eslint/ban-types
static hasOffset(input) {
const obj = input;
return obj.offset !== undefined;
}
isValid(input) {
if (!this.isObject(input)) {
return false;
}
if (multi_record_data_1.MultiRecordDataValidation.hasRecords(input) &&
!this.addValidation(new multi_record_data_1.MultiRecordDataValidation(this.fieldsValidator), input)) {
return false;
}
if (QueryPageResultValidation.hasOffset(input) &&
typeof input.offset !== "string") {
this.addError(new Error("Expected offset to be a string"));
return false;
}
return true;
}
}
exports.QueryPageResultValidation = QueryPageResultValidation;
//# sourceMappingURL=query-page-result.js.map