UNPKG

@itrocks/framework

Version:

RAD framework for intuitive web application development, blending data and domain-driven design with modular architecture

100 lines 5.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.bind = bind; const lazy_loading_1 = require("@itrocks/lazy-loading"); (0, lazy_loading_1.initLazyLoading)(); const action_1 = require("@itrocks/action"); const app_dir_1 = require("@itrocks/app-dir"); const class_file_1 = require("@itrocks/class-file"); const class_view_1 = require("@itrocks/class-view"); const class_view_2 = require("@itrocks/class-view"); const collection_1 = require("@itrocks/collection"); const composition_1 = require("@itrocks/composition"); const config_1 = require("@itrocks/config"); const core_transformers_1 = require("@itrocks/core-transformers"); const core_transformers_2 = require("@itrocks/core-transformers"); const lazy_loading_2 = require("@itrocks/lazy-loading"); const menu_1 = require("@itrocks/menu"); const mysql_1 = require("@itrocks/mysql"); const password_1 = require("@itrocks/password"); const transformers_1 = require("@itrocks/password/transformers"); const property_view_1 = require("@itrocks/property-view"); const rename_1 = require("@itrocks/rename"); const rename_2 = require("@itrocks/rename"); const required_1 = require("@itrocks/required"); const route_1 = require("@itrocks/route"); const route_2 = require("@itrocks/route"); const sql_functions_1 = require("@itrocks/sql-functions"); const storage_1 = require("@itrocks/storage"); const store_1 = require("@itrocks/store"); const store_2 = require("@itrocks/store"); const transformer_1 = require("@itrocks/transformer"); const transformer_2 = require("@itrocks/transformer"); const transformer_3 = require("@itrocks/transformer"); const translate_1 = require("@itrocks/translate"); const date_fns_1 = require("date-fns"); const node_path_1 = require("node:path"); const template_1 = require("./template"); const menu = new menu_1.Menu(config_1.config.menu); function bind() { (0, class_view_1.classViewDependsOn)({ requiredOf: required_1.requiredOf, tr: translate_1.tr }); (0, storage_1.createDataSource)(config_1.config.dataSource); (0, collection_1.initCollection)(); (0, core_transformers_1.initCoreTransformers)({ displayOf: property_view_1.displayOf, fieldIdOf: rename_2.toCssId, fieldNameOf: rename_2.toField, formatDate: date => (0, date_fns_1.format)(date, (0, translate_1.tr)('dd/MM/yyyy', { ucFirst: false })), ignoreTransformedValue: transformer_2.IGNORE, parseDate: date => (0, date_fns_1.parse)(date, (0, translate_1.tr)('dd/MM/yyyy', { ucFirst: false }), new Date), representativeValueOf: class_view_2.representativeValueOf, routeOf: route_2.routeOf, tr: translate_1.tr }); (0, mysql_1.mysqlDependsOn)({ applyReadTransformer: async function (data, property, object) { const value = await (0, transformer_1.applyTransformer)(data[property], object, property, transformer_3.SQL, transformer_3.READ, data); if ((value !== transformer_2.IGNORE) && Reflect.getOwnMetadata(lazy_loading_2.PROTECT_GET, object, property)) { Reflect.deleteMetadata(lazy_loading_2.PROTECT_GET, object, property); } return value; }, applySaveTransformer: async function (object, property, data) { const value = Reflect.getMetadata(lazy_loading_2.PROTECT_GET, object, property) ? undefined : await object[property]; return (0, transformer_1.applyTransformer)(value, object, property, transformer_3.SQL, transformer_3.SAVE, data); }, columnOf: rename_1.toColumn, componentOf: composition_1.componentOf, ignoreTransformedValue: transformer_2.IGNORE, QueryFunction: sql_functions_1.SqlFunction, queryFunctionCall: value => [value.value, value.sql], storeOf: store_2.storeOf }); (0, password_1.passwordDependsOn)({ setTransformers: transformers_1.setPasswordTransformers }); (0, route_1.routeDependsOn)({ calculate: (target) => route_2.routes.summarize((0, class_file_1.fileOf)(target).slice(app_dir_1.appDir.length, -3)) }); (0, store_1.storeDependsOn)({ setTransformers: core_transformers_2.initStoreTransformers, toStoreName: rename_1.toColumn }); (0, translate_1.trInit)('fr-FR'); (0, translate_1.trLoad)((0, node_path_1.join)(__dirname, '..', 'fr-FR.csv')); (0, translate_1.trLoad)((0, node_path_1.join)(app_dir_1.appDir, 'app', 'fr-FR.csv')).catch(); (0, translate_1.trLoad)((0, node_path_1.join)(app_dir_1.appDir, 'fr-FR.csv')).catch(); action_1.Action.prototype.htmlTemplateResponse = async function (data, request, templateFile, statusCode = 200, headers = {}) { const containerData = { action: request.action, menu, request, session: request.request.session }; Object.assign(containerData, this); const template = new template_1.Template(data, containerData); template.included = (request.request.headers['sec-fetch-dest'] === 'empty'); return this.htmlResponse(await template.parseFile(templateFile, (0, node_path_1.join)(app_dir_1.appDir, config_1.config.container)), statusCode, headers); }; } //# sourceMappingURL=dependencies.js.map