Namekuji
7a25a9ac2f
add test
2023-06-02 23:48:25 -04:00
Namekuji
d8f95d7d99
fix unit test
2023-06-02 23:48:24 -04:00
Namekuji
af85304578
add native calls
2023-06-02 23:48:24 -04:00
Namekuji
3af4a86254
use schema in native-utils
2023-06-02 23:48:24 -04:00
Namekuji
bc209143e6
adjust module structure
2023-06-02 23:48:23 -04:00
Namekuji
5f849e417e
move files out from crate
2023-06-02 23:48:23 -04:00
Namekuji
1c34915018
fix unit test
2023-06-02 23:48:22 -04:00
Namekuji
993ece4755
add napi schema
2023-06-02 23:48:22 -04:00
Namekuji
3dd44d146f
add pack_by_id
2023-06-02 23:48:22 -04:00
Namekuji
e79d34e1ed
add default values
2023-06-02 23:48:21 -04:00
Namekuji
a2e6c78f09
rename feature
2023-06-02 23:48:21 -04:00
Namekuji
ed8122ea8c
skip empty array
2023-06-02 23:48:21 -04:00
Namekuji
d059dc53c0
use thread to copy data
2023-06-02 23:48:20 -04:00
Namekuji
a98093bd61
use iden enum
2023-06-02 23:48:20 -04:00
Namekuji
d533734575
fix primary key specifier
2023-06-02 23:48:20 -04:00
Namekuji
239dfeec9f
add migration to convert array to jsonb
2023-06-02 23:48:19 -04:00
Namekuji
099f9e042a
use vec newtype
2023-06-02 23:48:19 -04:00
Namekuji
968943c7c0
make sqlite compat
2023-06-02 23:48:19 -04:00
Namekuji
128a354b83
add abstraction of string array type
2023-06-02 23:48:18 -04:00
Namekuji
516d5460f0
fix varchar array
2023-06-02 23:48:18 -04:00
Namekuji
29e914c9c3
add newtype
2023-06-02 23:48:18 -04:00
Namekuji
bc69e2df87
todo unread note check
2023-06-02 23:48:17 -04:00
Namekuji
f851bc8f40
rename test modules
2023-06-02 23:48:17 -04:00
Namekuji
4e4280e02e
add tests
2023-06-02 23:48:17 -04:00
Namekuji
ba95b61b7f
add integration test in model
2023-06-02 23:48:16 -04:00
Namekuji
9c832d00f9
remove mock database
2023-06-02 23:48:16 -04:00
Namekuji
a42d6e2e2d
add random string generator
2023-06-02 23:48:15 -04:00
Namekuji
1601b8985c
change aid to cuid2
2023-06-02 23:48:15 -04:00
Namekuji
3b6692cdf0
fix features
2023-06-02 23:48:15 -04:00
Namekuji
ab58f69c31
return mock db when mock feature is enabled
2023-06-02 23:48:14 -04:00
Namekuji
0ad9f00cac
add utility crate
2023-06-02 23:48:14 -04:00
Namekuji
ea20db4694
add mock database
2023-06-02 23:48:14 -04:00
Namekuji
f50c3c906b
remove unused feature
2023-06-02 23:48:13 -04:00
Namekuji
c4e41e3d32
format
2023-06-02 23:48:13 -04:00
Namekuji
36436991e2
remove unused serde
2023-06-02 23:48:13 -04:00
Namekuji
de3eb6589a
add repository trait
2023-06-02 23:48:12 -04:00
Namekuji
623f796ee9
add entities and two schemas
2023-06-02 23:48:07 -04:00
ThatOneCalculator
aaa2041d38
chore: format
2023-05-29 09:31:02 -07:00
Namekuji
399b0e96dc
use cuid2 with timestamp
2023-05-28 22:16:42 -04:00
Kainoa Kanter
d92cfb8cdf
formatting
2023-04-06 18:56:46 -07:00
s1idewhist1e
981d3ee725
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