UNPKG

airtable

Version:

The official Airtable JavaScript library.

73 lines 2.94 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; var base_1 = __importDefault(require("./base")); var record_1 = __importDefault(require("./record")); var table_1 = __importDefault(require("./table")); var airtable_error_1 = __importDefault(require("./airtable_error")); var Airtable = /** @class */ (function () { function Airtable(opts) { if (opts === void 0) { opts = {}; } var defaultConfig = Airtable.default_config(); var apiVersion = opts.apiVersion || Airtable.apiVersion || defaultConfig.apiVersion; Object.defineProperties(this, { _apiKey: { value: opts.apiKey || Airtable.apiKey || defaultConfig.apiKey, }, _apiVersion: { value: apiVersion, }, _apiVersionMajor: { value: apiVersion.split('.')[0], }, _customHeaders: { value: opts.customHeaders || {}, }, _endpointUrl: { value: opts.endpointUrl || Airtable.endpointUrl || defaultConfig.endpointUrl, }, _noRetryIfRateLimited: { value: opts.noRetryIfRateLimited || Airtable.noRetryIfRateLimited || defaultConfig.noRetryIfRateLimited, }, _requestTimeout: { value: opts.requestTimeout || Airtable.requestTimeout || defaultConfig.requestTimeout, }, }); if (!this._apiKey) { throw new Error('An API key is required to connect to Airtable'); } } Airtable.prototype.base = function (baseId) { return base_1.default.createFunctor(this, baseId); }; Airtable.default_config = function () { return { endpointUrl: process.env.AIRTABLE_ENDPOINT_URL || 'https://api.airtable.com', apiVersion: '0.1.0', apiKey: process.env.AIRTABLE_API_KEY, noRetryIfRateLimited: false, requestTimeout: 300 * 1000, }; }; Airtable.configure = function (_a) { var apiKey = _a.apiKey, endpointUrl = _a.endpointUrl, apiVersion = _a.apiVersion, noRetryIfRateLimited = _a.noRetryIfRateLimited, requestTimeout = _a.requestTimeout; Airtable.apiKey = apiKey; Airtable.endpointUrl = endpointUrl; Airtable.apiVersion = apiVersion; Airtable.noRetryIfRateLimited = noRetryIfRateLimited; Airtable.requestTimeout = requestTimeout; }; Airtable.base = function (baseId) { return new Airtable().base(baseId); }; Airtable.Base = base_1.default; Airtable.Record = record_1.default; Airtable.Table = table_1.default; Airtable.Error = airtable_error_1.default; return Airtable; }()); module.exports = Airtable; //# sourceMappingURL=airtable.js.map