Namespace all types by their API version #16
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🔴 FOR DISCUSSION 🔴
I'm exploring an approach for the WAM2 API/SDK to support WAMs built with older versions of the API/SDK.
The general idea is that, when an older WAM is loaded, WamEnv will need to wrap the older WAM with a shim object that implements backwards compatibility, so that the rest of the system can treat the old WAM as if it were built with the current SDK version.
One requirement to do this easily will be to know the typescript definitions for older WAM SDKs. So the idea here is, each API version defines its types inside a
Vx.y.z
namespace, and then the API exposes the "current" versions.I'm interested in your thoughts, alternative approaches, whether you agree this is a problem we need to solve, ...
Some things I'm uncertain about:
export const
definitions out oftypes.d.ts
and into the versioned namespace.Next steps, other problems that would need to be solved as well: