📖 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
-
getNumber →
parseFloat()
-
getBool →
"true" / "false" conversie
-
getJson →
JSON.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