restifyx.js
Version:
Advanced API endpoint handler system with automatic documentation
79 lines • 3.17 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.RestifyXApp = exports.WebSocketManager = void 0;
exports.create = create;
const RestifyXApp_1 = require("./core/RestifyXApp");
const EndpointHandler_1 = require("./fluent/EndpointHandler");
/**
* Creates and initializes a new RestifyX application instance.
*
* This function is the main entry point to start a RESTful API server
* with integrated Express and Socket.IO support, configured using
* the provided options.
*
* @example
* \`\`\`typescript
* import { create } from 'restifyx.js';
*
* const app = create({
* port: 3000,
* debug: true
* });
*
* async function start() {
* await app.setup();
* await app.start();
* }
*
* start().catch(console.error);
* \`\`\`
*
* @param options - Configuration options to customize the server's behavior and features.
* @returns A fully configured instance of RestifyXApp ready to start serving.
*/
function create(options) {
const app = new RestifyXApp_1.RestifyXApp(options);
const clonedOptions = options ? { ...options } : {};
if (!clonedOptions.middleware) {
clonedOptions.middleware = {};
}
if (!clonedOptions.middleware.before) {
clonedOptions.middleware.before = [];
}
else {
clonedOptions.middleware.before = [...clonedOptions.middleware.before];
}
clonedOptions.middleware.before.unshift(EndpointHandler_1.setupEndpointContext);
return app;
}
__exportStar(require("./types/options"), exports);
__exportStar(require("./types/endpoint"), exports);
__exportStar(require("./core/errors/ApiError"), exports);
__exportStar(require("./core/errors/ErrorHandler"), exports);
__exportStar(require("./utils/logger"), exports);
__exportStar(require("./decorators"), exports);
__exportStar(require("./utils/cache"), exports);
__exportStar(require("./utils/rate-limiter"), exports);
__exportStar(require("./utils/security"), exports);
__exportStar(require("./utils/performance"), exports);
__exportStar(require("./fluent"), exports);
var WebSocketManager_1 = require("./core/WebSocketManager");
Object.defineProperty(exports, "WebSocketManager", { enumerable: true, get: function () { return WebSocketManager_1.WebSocketManager; } });
var RestifyXApp_2 = require("./core/RestifyXApp");
Object.defineProperty(exports, "RestifyXApp", { enumerable: true, get: function () { return RestifyXApp_2.RestifyXApp; } });
exports.default = { create };
//# sourceMappingURL=index.js.map