@limitly/limitly-js
Version:
Official Node.js SDK for Limitly - API Key management, plans, users and request validation
80 lines • 3.18 kB
JavaScript
;
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