wrap-cli
wrap-cli copied to clipboard
I want wrapper schema base types to not include complex custom types (BigInt, JSON, etc)
Motivation
Currently, we've included a few "complex" types within our list of schema base types. These include:
- BigInt
- BigNumber
- JSON
This is a pattern that is not scalable. Instead we should have a process for defining new complex types, that scales well to 3rd parties. Some additional complex types that have been considered are:
- Address
- CID
- URL
- Date
- Set
- Fraction
- Function Pointers (uri, method)
- Wrapper References (wrap:// URI)
Sub-Tasks
?
Prior Related Work
Ideally we'd create a solution that would satisfy all of these related issues & use-cases: Enable Custom Base-Types W/ Validators - https://github.com/polywrap/monorepo/issues/103 Add support for type alias in schema - https://github.com/polywrap/monorepo/issues/784 Add support for User-defined custom types - https://github.com/polywrap/technical-council/issues/17 Type aliases in SDL - https://github.com/polywrap/technical-council/issues/15 Use msgpack type extensions for custom types - https://github.com/polywrap/monorepo/issues/764 Support Wasm Embeds (Linking / Composition) - https://github.com/polywrap/monorepo/issues/78 Function Pointer Base Type - https://github.com/polywrap/monorepo/issues/722 Base Schema Types: BigDecimal, BigNumber, Fraction - https://github.com/polywrap/monorepo/issues/558 Support Date type - https://github.com/polywrap/technical-council/issues/18 Support Set type - https://github.com/polywrap/technical-council/issues/19
@polywrap/dev requesting feedback
Here's the hackmd: https://hackmd.io/@zgxjyig-QeyCd_p_Oc0yBQ/S14aC5Qko