UNPKG

dino-core

Version:

A dependency injection framework for NodeJS applications

44 lines 1.93 kB
"use strict"; // Copyright 2021 Quirino Brizi [quirino.brizi@gmail.com] // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. Object.defineProperty(exports, "__esModule", { value: true }); exports.AbstractInterceptor = void 0; const not_supported_exception_1 = require("../../../exceptions/not.supported.exception"); class AbstractInterceptor { /** * Intercept the execution executing logic before and/or after the method execution. * * @param {Injectable} obj the injectable object * @param {String} prop the name of the method or property that is accessed via this proxy * @returns {Function} a function accepting the incoming argument that is able to execute the required logic * The firm for the returned function would be: * ```javascript * (...args) => {} * ``` */ intercept(_obj, _prop) { throw not_supported_exception_1.NotSupportedException.create('AbstractInterceptor#intercept'); } /** * Validate if the current interceptor is applicable * * @param {Any} obj the current object target of the proxy * @param {String} prop the method or property name currently invoked */ isApplicable(_obj, _prop) { throw not_supported_exception_1.NotSupportedException.create('AbstractInterceptor#isApplicable'); } } exports.AbstractInterceptor = AbstractInterceptor; //# sourceMappingURL=abstract.interceptors.js.map