arky-js
Version:
**Arky.js** is a powerful, annotation-based framework for building serverless applications on **AWS Lambda and API Gateway**. Inspired by Angular and NestJS, Arky.js simplifies serverless development by providing decorators for defining modules, controlle
27 lines (26 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MODULE_METADATA_KEY = void 0;
exports.Module = Module;
require("reflect-metadata");
exports.MODULE_METADATA_KEY = "module";
function Module(module) {
return function (target) {
// Retrieve existing metadata (if any)
const existingMetadata = Reflect.getMetadata(exports.MODULE_METADATA_KEY, target) || {};
// Merge the existing metadata with the new metadata
const updatedMetadata = {
imports: [...(existingMetadata.imports || []), ...(module.imports || [])],
controllers: [
...(existingMetadata.controllers || []),
...(module.controllers || []),
],
providers: [
...(existingMetadata.providers || []),
...(module.providers || []),
],
};
// Define new metadata
Reflect.defineMetadata(exports.MODULE_METADATA_KEY, updatedMetadata, target);
};
}