Commit graph

10 commits

Author SHA1 Message Date
Namekuji
874b0a2c69
add unit test 2023-06-02 23:48:27 -04:00
Namekuji
7cf2b39cde
fix unit tests 2023-06-02 23:48:27 -04:00
Namekuji
c443a5601c
add format script 2023-06-02 23:48:27 -04:00
Namekuji
0224824a36
fix native import 2023-06-02 23:48:26 -04:00
Namekuji
a10ade8cf5
fix unit test 2023-06-02 23:48:24 -04:00
Namekuji
752d63e6de
add native calls 2023-06-02 23:48:24 -04:00
Namekuji
5e9dce3e8c
adjust module structure 2023-06-02 23:48:23 -04:00
Namekuji
148dbbe56d
move files out from crate 2023-06-02 23:48:23 -04:00
Namekuji
4e82dab1eb
add entities and two schemas 2023-06-02 23:48:07 -04:00
s1idewhist1e
c58ce6c53b Refactor: use rust for native mastodon id conversion (#9786)
This uses [napi-rs](https://napi.rs/) to allow for automatic generation of node bindings for the native code.

I also changed the `isolatedModules` TS flag to false to allow for `static enum` to be shared across modules. It doesn't seem to be necessary for the build system that CK uses.

Currently this method does not work with ID generators with longer IDs. Likely the best solution is to add another key in the database.

Some benchmarks for 1 million conversions:

```
	node, x1_000_000: 2.847s
	rust, x1_000_000: 1.265s
```

There are still optimizations that can be made, but I think this is a good starting point and a good way to bring rust into the CK stack.

Co-authored-by: s1idewhist1e <trombonedude05@gmail.com>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9786
Co-authored-by: s1idewhist1e <s1idewhist1e@noreply.codeberg.org>
Co-committed-by: s1idewhist1e <s1idewhist1e@noreply.codeberg.org>
2023-03-31 01:58:28 +00:00