{"version":3,"file":"rxap-environment.mjs","sources":["../../../../../packages/angular/environment/src/lib/environment/tokens.ts","../../../../../packages/angular/environment/src/lib/environment/environment.component.ts","../../../../../packages/angular/environment/src/lib/environment/environment.component.html","../../../../../packages/angular/environment/src/lib/determine-production-environment-name.ts","../../../../../packages/angular/environment/src/lib/determine-release-name.ts","../../../../../packages/angular/environment/src/lib/is-not-release-version.ts","../../../../../packages/angular/environment/src/lib/provide-environment.ts","../../../../../packages/angular/environment/src/lib/update-environment.ts","../../../../../packages/angular/environment/src/index.ts","../../../../../packages/angular/environment/src/rxap-environment.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { Environment } from '../environment';\n\nexport const RXAP_ENVIRONMENT = new InjectionToken<Environment>('rxap-environment');\n","import {\n  DatePipe,\n  NgIf,\n} from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  inject,\n} from '@angular/core';\nimport { Environment } from '../environment';\nimport { RXAP_ENVIRONMENT } from './tokens';\n\n@Component({\n    selector: 'rxap-environment',\n    templateUrl: './environment.component.html',\n    styleUrls: ['./environment.component.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n  \n    host: { class: 'rxap-environment' },\n    imports: [NgIf, DatePipe]\n})\nexport class EnvironmentComponent {\n\n  public readonly environment: Environment = inject(RXAP_ENVIRONMENT);\n\n}\n","<div class=\"p-4\">\n  <h2 class=\"text-xl font-bold pb-2\">{{ environment.app }}</h2>\n  <table class=\"table-auto\">\n    <tr *ngIf=\"environment.name\">\n      <th>Environment</th>\n      <td>{{environment.name}}</td>\n    </tr>\n    <tr>\n      <th>Production</th>\n      <td>{{environment.production}}</td>\n    </tr>\n    <tr *ngIf=\"environment.serviceWorker !== undefined\">\n      <th>Service Worker</th>\n      <td>{{environment.serviceWorker}}</td>\n    </tr>\n    <tr *ngIf=\"environment.release\">\n      <th>Release</th>\n      <td>{{environment.release}}</td>\n    </tr>\n    <tr *ngIf=\"environment.commit\">\n      <th>Commit</th>\n      <td>{{environment.commit}}</td>\n    </tr>\n    <tr *ngIf=\"environment.timestamp\">\n      <th>Timestamp</th>\n      <td>{{environment.timestamp | date:'dd.MM.yy HH:mm:ss'}}</td>\n    </tr>\n    <tr *ngIf=\"environment.branch\">\n      <th>Branch</th>\n      <td>{{environment.branch}}</td>\n    </tr>\n    <tr *ngIf=\"environment.tag\">\n      <th>Tag</th>\n      <td>{{environment.tag}}</td>\n    </tr>\n    <ng-content></ng-content>\n  </table>\n</div>\n","import { Environment } from './environment';\n\nexport function DetermineProductionEnvironmentName(environment: Environment) {\n  if (environment.tier) {\n    return environment.tier;\n  } else if (environment.tag) {\n    const tagMatch = environment.tag.match(/^v\\d+\\.\\d+\\.\\d+(-([^.]+)\\.\\d+)?$/);\n    if (!tagMatch) {\n      return undefined;\n    }\n    // if the tage has a chanel/digest use this as environment name\n    return tagMatch[2] ?? 'production';\n  } else if (environment.branch) {\n    return environment.branch;\n  }\n  return undefined;\n}\n","import { Environment } from './environment';\n\nexport function DetermineReleaseName(environment: Environment, defaultReleaseName = 'local-development'): string {\n\n  if (environment.tag) {\n    return environment.tag;\n  } else if (environment.branch) {\n    return environment.branch;\n  }\n  return defaultReleaseName;\n\n}\n","import { Environment } from './environment';\n\nexport function IsNotReleaseVersion(environment: Environment): boolean {\n  if (!environment.tag) {\n    return true;\n  }\n  if (environment.tier !== 'production') {\n    return true;\n  }\n  const tagMatch = environment.tag.match(/^v\\d+\\.\\d+\\.\\d+(-([^.]+)\\.\\d+)?$/);\n  if (!tagMatch) {\n    return true;\n  }\n  if (tagMatch[2]) {\n    return true;\n  }\n  return false;\n}\n","import { Environment } from './environment';\nimport { RXAP_ENVIRONMENT } from './environment/tokens';\n\nexport function ProvideEnvironment(environment: Environment) {\n  return {\n    provide: RXAP_ENVIRONMENT,\n    useValue: environment,\n  };\n}\n","import { Environment } from './environment';\n\n/**\n * Loads the build.json and adds all keys to the environment object\n */\nexport async function UpdateEnvironment(environment: Environment, url = 'build.json') {\n  await fetch(url)\n    .then((response) => {\n      if (!response.ok) {\n        throw new Error('Could not load build.json');\n      }\n      return response.json();\n    })\n    .then((build) => Object.assign(environment, build))\n    .catch(error => console.error(error.message));\n  console.debug(`environment: '${ environment.name }'`, environment);\n}\n","// region environment\nexport * from './lib/environment/environment.component';\nexport * from './lib/environment/tokens';\n// endregion\n\n// region \nexport * from './lib/determine-production-environment-name';\nexport * from './lib/determine-release-name';\nexport * from './lib/environment';\nexport * from './lib/is-not-release-version';\nexport * from './lib/provide-environment';\nexport * from './lib/update-environment';\n// endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}