Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release version 1.0 with API updates #423

Open
wayfarer3130 opened this issue Feb 24, 2025 · 1 comment
Open

Release version 1.0 with API updates #423

wayfarer3130 opened this issue Feb 24, 2025 · 1 comment

Comments

@wayfarer3130
Copy link
Contributor

This issue is for a beta-1 release process. The planned changes for this include API updates which will be incompatible with the 0.XX stream.

@pieper - I've created an issue for a release stream of dcmjs, as well as a stream beta-1 to contain the updates for the 1.0 version.

The planned changes for the 1.0 release include:

  1. Full set of type definitions for dcmjs
  2. Remove proxy definitions for all attributes, instead changing to use a consistent definition/object instance that:
  • maps data using adapters to provide missing data (to map to incoming data values and add accessors)
  • Maps vm to instance attribute such that vm===1 means the attribute gets assigned as a singleton rather than an array
  • Add attribute get methods to get consistent types, eg:
    element.tagValue.array to get as an array
    element.tagValue.first to get the first value
    element.tagValue.get(index) to get the nth value
    element.tagValue.firstNumber/firstString/firstDate
  1. Add frame/instance attribute to get tag value at given frame number or "virtual" frame number to hide shared/per frame data
  2. Add private tag handling for items.
  3. Build only esm modules using bun/rsbuild for faster build setup
  4. Add log4js logging bindings to allow logs to be set to various levels and/or redirected.
@wayfarer3130
Copy link
Contributor Author

@pieper - I've created an initial thought for a 1.0 release for dcmjs. I'm not sure it has quite the right stuff in it, but I think it is close.
Do you think we could also combine the naturalized/normalized version into a single object rather than having those as separate items? We will probably need to run with the beta release for some length of time to make sure it works - I'm figuring close to a year.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant