UNPKG

@dolittle/sdk.common

Version:

Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.

32 lines 2.54 kB
"use strict"; // Copyright (c) Dolittle. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. Object.defineProperty(exports, "__esModule", { value: true }); exports.RequiredDecoratorNotApplied = void 0; const DecoratorTarget_1 = require("./DecoratorTarget"); const InvalidDecoratorTarget_1 = require("./InvalidDecoratorTarget"); /** * The exception that gets thrown when a required decorator is not applied. */ class RequiredDecoratorNotApplied extends Error { /** * Initialises a new instance of the {@link RequiredDecoratorNotApplied} class. * @param {string} displayName - The decorator display name. * @param {DecoratorTarget} validTargets - The valid targets of the decorator. * @param {Constructor<any>} type - The class that was expected to have the decorator. * @param {string} reason - The reason why the decorator is required. */ constructor(displayName, validTargets, type, reason) { super(`The @${displayName} decorator is not applied to ${RequiredDecoratorNotApplied.getApplicableTargets(validTargets, type)}. ${reason}.`); } static getApplicableTargets(validTargets, type) { switch (validTargets) { case DecoratorTarget_1.DecoratorTarget.Class: return `class ${type.name}`; default: return `any ${InvalidDecoratorTarget_1.InvalidDecoratorTarget.getTargetNames(validTargets)} in class ${type.name}`; } } } exports.RequiredDecoratorNotApplied = RequiredDecoratorNotApplied; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWlyZWREZWNvcmF0b3JOb3RBcHBsaWVkLmpzIiwic291cmNlUm9vdCI6Ii4uLyIsInNvdXJjZXMiOlsiRGVjb3JhdG9ycy9SZXF1aXJlZERlY29yYXRvck5vdEFwcGxpZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtDQUErQztBQUMvQyxxR0FBcUc7OztBQUlyRyx1REFBb0Q7QUFDcEQscUVBQWtFO0FBRWxFOztHQUVHO0FBQ0gsTUFBYSwyQkFBNEIsU0FBUSxLQUFLO0lBQ2xEOzs7Ozs7T0FNRztJQUNILFlBQVksV0FBbUIsRUFBRSxZQUE2QixFQUFFLElBQXNCLEVBQUUsTUFBYztRQUNsRyxLQUFLLENBQUMsUUFBUSxXQUFXLGdDQUFnQywyQkFBMkIsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqSixDQUFDO0lBRU8sTUFBTSxDQUFDLG9CQUFvQixDQUFDLFlBQTZCLEVBQUUsSUFBc0I7UUFDckYsUUFBUSxZQUFZLEVBQUU7WUFDbEIsS0FBSyxpQ0FBZSxDQUFDLEtBQUs7Z0JBQ3RCLE9BQU8sU0FBUyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEM7Z0JBQ0ksT0FBTyxPQUFPLCtDQUFzQixDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDakc7SUFDTCxDQUFDO0NBQ0o7QUFwQkQsa0VBb0JDIn0=