@olakai/sdk
Version:
This document demonstrates how to use the Olakai SDK with all its features.
43 lines • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createLoggingMiddleware = createLoggingMiddleware;
/**
* Create a logging middleware
* This middleware logs the function call and the result.
* @param options - The options for the middleware
* @default options - {
* level: "info", // The level of the log (debug, info, warn, error)
* includeArgs: false, // Whether to include the arguments in the log
* includeResult: false, // Whether to include the result in the log
* logger: console, // The logger to use
* }
* @returns A middleware function
*/
function createLoggingMiddleware(options) {
const { level = "info", includeArgs = false, includeResult = false, logger = console, } = options;
return {
name: "logging",
beforeCall: async (args) => {
if (includeArgs) {
logger[level]("[Olakai SDK] Calling function with args:", args);
}
else {
logger[level]("[Olakai SDK] Calling function");
}
return args;
},
afterCall: async (result, _args) => {
if (includeResult) {
logger[level]("[Olakai SDK] Function completed with result:", result);
}
else {
logger[level]("[Olakai SDK] Function completed successfully");
}
return result;
},
onError: async (error, _args) => {
logger.error("[Olakai SDK] Function failed with error:", error);
},
};
}
//# sourceMappingURL=logging.js.map