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

Rewrite transformations logic from TypeScript #17

Open
10 of 12 tasks
Rulexec opened this issue Feb 26, 2023 · 0 comments
Open
10 of 12 tasks

Rewrite transformations logic from TypeScript #17

Rulexec opened this issue Feb 26, 2023 · 0 comments
Labels
tooling Related to additional utilities that actually is not a core or diffbelt, but useful for UX

Comments

@Rulexec
Copy link
Contributor

Rulexec commented Feb 26, 2023

There is a bunch of transforms written in ts — https:/anfivewer/an5wer/tree/a8b65caf14b2d7f0846143e060774266c3b41edc/packages-diffbelt/util/src/transform

We need to port them to Rust in three variants:

  • With direct calls to collection methods

  • With async calls via remote interface (currently http)

  • Compilable to wasm for usage from nodejs, it should receive options of transform (initial/intermediate/target collection, params), return list of required api-calls, data for client processing, then receive responses/calculated data and repeat

  • MapFilter

  • Aggregate: Init

  • Aggregate: Map

  • Aggregate: Get target record

  • Aggregate: Create target info

  • Aggregate: Create initial accumulator

  • Aggregate: Reduce

  • Aggregate: Merge accumulators

  • Aggregate: Apply

  • Aggregate: Finalize

  • Unique count complex transform

  • Percentiles complex transform

@Rulexec Rulexec added the tooling Related to additional utilities that actually is not a core or diffbelt, but useful for UX label Feb 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tooling Related to additional utilities that actually is not a core or diffbelt, but useful for UX
Projects
None yet
Development

No branches or pull requests

1 participant