// //#region imports
// import * as os from 'os'; // @backend
// import { AsyncPipe, JsonPipe, NgFor } from '@angular/common'; // @browser
// import {
//   inject,
//   Injectable,
//   APP_INITIALIZER,
//   ApplicationConfig,
//   provideBrowserGlobalErrorListeners,
//   isDevMode,
//   mergeApplicationConfig,
//   provideZonelessChangeDetection,
//   signal,
// } from '@angular/core'; // @browser
// import { Component } from '@angular/core'; // @browser
// import { VERSION } from '@angular/core'; // @browser
// import {
//   provideClientHydration,
//   withEventReplay,
// } from '@angular/platform-browser';
// import {
//   provideRouter,
//   Router,
//   RouterLinkActive,
//   RouterModule,
//   RouterOutlet,
//   ActivatedRoute,
//   Routes,
//   Route,
// } from '@angular/router';
// import { provideServiceWorker } from '@angular/service-worker';
// import { provideServerRendering, withRoutes } from '@angular/ssr';
// import { RenderMode, ServerRoute } from '@angular/ssr';
// import Aura from '@primeng/themes/aura'; // @browser
// import { providePrimeNG } from 'primeng/config'; // @browser
// import { toSignal } from '@angular/core/rxjs-interop'; // @browser
// import { BehaviorSubject, Observable, map, switchMap } from 'rxjs';
// import { MatCardModule } from '@angular/material/card'; // @browser
// import { MatIconModule } from '@angular/material/icon'; // @browser
// import { MatDividerModule } from '@angular/material/divider'; // @browser
// import { MatButtonModule } from '@angular/material/button'; // @browser
// import { MatListModule } from '@angular/material/list'; // @browser
// import { MatTabsModule } from '@angular/material/tabs'; // @browser
// import {
//   Taon,
//   TaonBaseContext,
//   TAON_CONTEXT,
//   EndpointContext,
//   TaonBaseAngularService,
//   TaonEntity,
//   StringColumn,
//   TaonBaseAbstractEntity,
//   TaonBaseCrudController,
//   TaonController,
//   GET,
//   TaonMigration,
//   TaonBaseMigration,
// } from 'taon/src';
// import { Utils, UtilsOs } from 'tnp-core/src';
// import { HOST_CONFIG } from './app.hosts';
// // @placeholder-for-imports
// import { HelpersCheckActiveContext } from './app/helpers-check/helpers-check.active.context'; // @app-ts-generated
// //#endregion
// const firstHostConfig = (Object.values(HOST_CONFIG) || [])[0];
// console.log('Your backend host ' + firstHostConfig?.host);
// console.log('Your frontend host ' + firstHostConfig?.frontendHost);
// //#region tnp-helpers component
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
// //#endregion
// //#region  tnp-helpers api service
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
// //#endregion
// //#region  tnp-helpers routes
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
// //#endregion
// //#region  tnp-helpers app configs
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
// //#endregion
// //#region  tnp-helpers entity
// @TaonEntity({ className: 'User' })
// class User extends TaonBaseAbstractEntity {
//   //#region @websql
//   @StringColumn()
//   //#endregion
//   name?: string;
//   getHello(): string {
//     return `hello ${this.name}`;
//   }
// }
// //#endregion
// //#region  tnp-helpers controller
// @TaonController({ className: 'UserController' })
// class UserController extends TaonBaseCrudController<User> {
//   // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
//   entityClassResolveFn = () => User;
//   @GET()
//   helloWorld(): Taon.Response<string> {
//     //#region @websqlFunc
//     return async (req, res) => 'hello world';
//     //#endregion
//   }
//   @GET()
//   getOsPlatform(): Taon.Response<string> {
//     //#region @websqlFunc
//     return async (req, res) => {
//       //#region @backend
//       return os.platform(); // for normal nodejs backend return real value
//       //#endregion
//       return 'no-platform-inside-browser-and-websql-mode';
//     };
//     //#endregion
//   }
// }
// //#endregion
// //#region  tnp-helpers migration
// //#region @websql
// @TaonMigration({
//   className: 'UserMigration',
// })
// class UserMigration extends TaonBaseMigration {
//   userController = this.injectRepo(User);
//   async up(): Promise<any> {
//     const superAdmin = new User();
//     superAdmin.name = 'super-admin';
//     await this.userController.save(superAdmin);
//   }
// }
// //#endregion
// //#endregion
// //#region  tnp-helpers context
// var TnpHelpersContext = Taon.createContext(() => ({
//   ...HOST_CONFIG['TnpHelpersContext'],
//   contexts: { TaonBaseContext },
//   //#region @websql
//   /**
//    * In production use specyfic for this context name
//    * generated migration object from  ./migrations/index.ts.
//    */
//   migrations: {
//     UserMigration,
//   },
//   //#endregion
//   controllers: {
//     UserController,
//   },
//   entities: {
//     User,
//   },
//   database: true,
//   // disabledRealtime: true,
// }));
// //#endregion
// //#region  tnp-helpers start function
// const TnpHelpersStartFunction = async (
//   startParams?: Taon.StartParams,
// ): Promise<void> => {
//   await TnpHelpersContext.initialize();
//   // @placeholder-for-contexts-init
//   await HelpersCheckActiveContext.initialize(); // @app-ts-generated
//   // INIT ALL ACTIVE CONTEXTS HERE
//   //#region @backend
//   if (
//     startParams?.onlyMigrationRun ||
//     startParams?.onlyMigrationRevertToTimestamp
//   ) {
//     process.exit(0);
//   }
//   //#endregion
//   //#region @backend
//   console.log(`Hello in NodeJs backend! os=${os.platform()}`);
//   //#endregion
// };
// //#endregion
// export default TnpHelpersStartFunction;
//# sourceMappingURL=app.js.map