diff --git a/packages/version-bridge/src/lib/VersionedValue.ts b/packages/version-bridge/src/lib/VersionedValue.ts index b7c2153e38..cc8ae2aeae 100644 --- a/packages/version-bridge/src/lib/VersionedValue.ts +++ b/packages/version-bridge/src/lib/VersionedValue.ts @@ -36,9 +36,27 @@ export function createVersionedValueMap< Versions extends { [version: number]: unknown }, >(versions: Versions): VersionedValue { Object.freeze(versions); - return { + const versionedValue: VersionedValue = { atVersion(version) { return versions[version]; }, }; + Object.defineProperty(versionedValue, '$value', { + configurable: false, + enumerable: true, + get() { + const highest = Object.keys(versions) + .map(v => parseInt(v, 10)) + .sort((a, b) => b - a)[0]; + return versions[highest]; + }, + }); + Object.defineProperty(versionedValue, '$map', { + configurable: false, + enumerable: true, + get() { + return versions; + }, + }); + return versionedValue; }