import {Canonical} from './Canonical.ts' /** * Special canonical unit which deep-resolves values recursively. */ export class RecursiveCanonical extends Canonical { public get(key: string, fallback?: any): any | undefined { const parts = key.split('.') let current_value = this._items for ( const part of parts ) { current_value = current_value?.[part] } return current_value ?? fallback } }