⚙️ Environment Helper

Utility functies voor het ophalen en verwerken van Dataverse Environment Variables met caching en type conversie.

← Terug naar Core Library

📖 Introductie

De Environment Helper biedt een centrale manier om environment variables uit Dataverse op te halen en veilig te gebruiken binnen client-side scripts.

👉 Voorkomt dubbele API calls via caching en ondersteunt typed waarden (number, boolean, JSON).

📦 Functionaliteit

  • get(schemaName) → Haalt string waarde op (met caching)
  • getNumber(schemaName) → Converteert naar number
  • getBool(schemaName) → Converteert naar boolean
  • getJson(schemaName) → Parse JSON naar object

⚙️ Werking

De helper haalt environment variables op via de Dataverse Web API en slaat deze tijdelijk op in een interne cache.

👉 De helper voert de volgende stappen uit:
  • Controleert of waarde al in cache zit
  • Haalt definition op via Web API
  • Haalt bijbehorende value op
  • Fallback naar defaultwaarde
  • Opslaan in cache

1. Cache controle

  • Interne dictionary _cache[schemaName]
  • Voorkomt dubbele requests

2. Definition ophalen

  • Entity: environmentvariabledefinition
  • Filter op schemaName

3. Value ophalen

  • Entity: environmentvariablevalue
  • Koppeling via definitionId

4. Fallback

  • Gebruik defaultvalue indien geen value bestaat

5. Caching

  • Resultaat wordt opgeslagen in memory
  • Herbruikbaar tijdens sessie

🔄 Type conversie

  • getNumberparseFloat()
  • getBool"true" / "false" conversie
  • getJsonJSON.parse()
⚠️ Ongeldige JSON resulteert in een parse error — valideren aanbevolen.

⚠️ Belangrijke aandachtspunten

  • Asynchroon gebruik
    Alle functies zijn async → gebruik await
  • Caching
    Veranderingen in environment variables zijn niet direct zichtbaar
  • Default value
    Wordt gebruikt indien geen value bestaat
  • Performance
    Eerste call is duurder, daarna snel via cache
⚠️ Gebruik duidelijke naming conventions voor schemaNames (bijv. ENV_API_URL, ENV_FEATURE_FLAG).

💡 Voorbeelden

String waarde

const apiUrl = await onited.core.Environment.get("ENV_API_URL");

Number waarde

const maxItems = await onited.core.Environment.getNumber("ENV_MAX_ITEMS");

Boolean waarde

const isEnabled = await onited.core.Environment.getBool("ENV_FEATURE_ENABLED");

JSON configuratie

const config = await onited.core.Environment.getJson("ENV_CONFIG_JSON");

📊 Samenvatting

✅ Centrale toegang tot environment variables
✅ Caching voor performance
✅ Ondersteunt multiple types
✅ Geschikt voor configuratie en feature flags