"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const loadCustomHandlebars_1 = __importDefault(require("./loadCustomHandlebars"));
const logger_1 = __importDefault(require("../logger"));
const CsvHelper_1 = require("./CsvHelper");
const NowHelper_1 = require("./NowHelper");
const RandomValueHelper_1 = require("./RandomValueHelper");
const RequestHelper_1 = require("./RequestHelper");
const NumBetweenHelper_1 = require("./NumBetweenHelper");
const FileHelper_1 = require("./FileHelper");
const CodeHelper_1 = require("./CodeHelper");
const InjectHelper_1 = require("./InjectHelper");
/**
 * Creates a instance of HandleBarHelper and register each custom helper
 * - If external helper is null, do not call registerCustomHandlebars()
 * @param {string} extHelpers location of the external handlebars json file
 */
const registerHandlebars = (extHelpers) => {
    logger_1.default.info("Handlebar helpers registration started");
    const csvHelper = new CsvHelper_1.CsvHelper();
    const nowHelper = new NowHelper_1.NowHelper();
    const randomValueHelper = new RandomValueHelper_1.RandomValueHelper();
    const requestHelper = new RequestHelper_1.RequestHelper();
    const numBetweenHelper = new NumBetweenHelper_1.NumBetweenHelper();
    const fileHelper = new FileHelper_1.FileHelper();
    const codeHelper = new CodeHelper_1.CodeHelper();
    const injectHelper = new InjectHelper_1.InjectHelper();
    nowHelper.register();
    randomValueHelper.register();
    requestHelper.register();
    numBetweenHelper.register();
    fileHelper.register();
    codeHelper.register();
    injectHelper.register();
    csvHelper.register();
    if (extHelpers !== null) {
        loadCustomHandlebars_1.default(extHelpers);
    }
    logger_1.default.info("Handlebar helpers registration completed");
};
exports.default = registerHandlebars;
//# sourceMappingURL=index.js.map