UNPKG

@limitly/limitly-js

Version:

Official Node.js SDK for Limitly - API Key management, plans, users and request validation

80 lines 3.18 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ValidationModule = exports.UsersModule = exports.PlansModule = exports.ApiKeysModule = exports.HttpClient = exports.Limitly = void 0; const client_1 = require("./client"); const api_keys_1 = require("./modules/api-keys"); const plans_1 = require("./modules/plans"); const users_1 = require("./modules/users"); const validation_1 = require("./modules/validation"); /** * Main Limitly SDK client * * @example * ```typescript * import { Limitly } from '@limitly/sdk'; * * const limitly = new Limitly({ * apiKey: 'your_limitly_api_key' * }); * * // Validate a request * const result = await limitly.validation.validate( * 'user_api_key', * '/api/users', * 'GET' * ); * * if (result.success) { * console.log('Request allowed'); * } else { * console.log('Request denied:', result.error); * } * ``` */ class Limitly { constructor(config) { this.client = new client_1.HttpClient(config); this.apiKeys = new api_keys_1.ApiKeysModule(this.client); this.plans = new plans_1.PlansModule(this.client); this.users = new users_1.UsersModule(this.client); this.validation = new validation_1.ValidationModule(this.client); } /** * Gets the internal HTTP client * Useful for debugging and testing */ getClient() { return this.client; } } exports.Limitly = Limitly; // Exportar tipos __exportStar(require("./types"), exports); // Exportar clases individuales para uso avanzado var client_2 = require("./client"); Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return client_2.HttpClient; } }); var api_keys_2 = require("./modules/api-keys"); Object.defineProperty(exports, "ApiKeysModule", { enumerable: true, get: function () { return api_keys_2.ApiKeysModule; } }); var plans_2 = require("./modules/plans"); Object.defineProperty(exports, "PlansModule", { enumerable: true, get: function () { return plans_2.PlansModule; } }); var users_2 = require("./modules/users"); Object.defineProperty(exports, "UsersModule", { enumerable: true, get: function () { return users_2.UsersModule; } }); var validation_2 = require("./modules/validation"); Object.defineProperty(exports, "ValidationModule", { enumerable: true, get: function () { return validation_2.ValidationModule; } }); // Exportar la clase principal como default exports.default = Limitly; //# sourceMappingURL=index.js.map