Add BigInt support
PROJECT
Part of: Node OPC UA
Fiscal Host: Open Source Collective
This project aims at adding support to BigInt to emulate Int64 & Uint64 and replace the current workarround of using [number,number]
About
Upgrade NodeOPCUA to support BigInt
Description:
The NodeOPCUA library has been an integral tool for developers working with OPC Unified Architecture (OPC UA) services in Node.js environments. However, the library currently lacks support for BigInt. When NodeOPCUA was created, Node.js did not support Int64. As a workaround, NodeOPCUA implemented Int64 as an array of two integers. However, the newer versions of Node.js now fully support BigInt, which provides a more efficient and effective solution for handling large integers.
This project aims to upgrade NodeOPCUA to fully support BigInt without breaking the existing API.
Objectives:
- Evaluate the current implementation of Int64 in NodeOPCUA.
- Design an approach to incorporate BigInt support within the existing API structure.
- Implement BigInt support in the library without causing breaking changes to the existing API.
- Test the changes across different use cases to ensure compatibility and performance improvements.
- Document the changes and update the library documentation to reflect the new support for BigInt.
Work Package Breakdown:
- Research & Analysis: Evaluate the current implementation of Int64 as an array of two integers in NodeOPCUA. Understand the usage and implications of this implementation across the library.
- Design: Create a design blueprint to incorporate BigInt into the existing NodeOPCUA structure. This design should aim to provide an upgrade to BigInt support without causing breaking changes to the API.
- Development: Implement the design changes in the library. This includes coding the BigInt implementation and integrating it with the rest of the library.
- Testing: Conduct extensive testing to ensure that the changes have been successfully implemented and that they don't cause any breaking changes to the existing API. The tests should also evaluate any performance improvements as a result of the BigInt support.
- Documentation: Update the library documentation to reflect the new BigInt support. This includes updating any sections referring to the previous Int64 implementation and adding sections about the new BigInt functionality.
Timeframe: Approximately 3 months, subject to change based on project complexities and potential challenges.
Deliverables:
- A version of NodeOPCUA with BigInt support.
- Comprehensive documentation detailing the BigInt implementation.
- A detailed report on the performance improvements and compatibility status post-implementation.
Risk & Mitigation:
* Risk: Potential breaking changes to the API.
* Mitigation: Extensive unit testing and carefully planned development process to ensure that the existing API remains unbroken.
* Mitigation: Extensive unit testing and carefully planned development process to ensure that the existing API remains unbroken.
This project aims to improve NodeOPCUA's capabilities and align it with the current technology standards in Node.js, providing a better tool for developers working with OPC UA services.
Our team
Etienne Rossi...
Admin
Contribute
Become a financial contributor.