"use strict";
// SPDX-License-Identifier: Apache-2.0
Object.defineProperty(exports, "__esModule", { value: true });
exports.lazyInject = lazyInject;
const tsyringe_1 = require("tsyringe");
/**
 * This decorator substitutes the lazy loading construct from tsyringe
 *
 * @param cls Class to lazy load
 */
function lazyInject(token) {
    return (target, propertyKey, parameterIndex) => {
        (0, tsyringe_1.inject)((0, tsyringe_1.delay)(() => token))(target, propertyKey, parameterIndex);
    };
}
