Divy Srivastava
9b2b8df927
feat(ops): Fast zero copy string arguments ( #16777 )
...
Uses SeqOneByteString optimization to do zero-copy `&str` arguments in
fast calls.
- [x] Depends on https://github.com/denoland/rusty_v8/pull/1129
- [x] Depends on
https://chromium-review.googlesource.com/c/v8/v8/+/4036884
- [x] Disable in async ops
- [x] Make it work with owned `String` with an extra alloc in fast path.
- [x] Support `Cow<'_, str>`. Owned for slow case, Borrowed for fast
case
```rust
#[op]
fn op_string_len(s: &str) -> u32 {
str.len() as u32
}
```
2022-12-02 05:29:15 +00:00
David Sherret
6962808f4b
chore: fix windows-only clippy errors ( #16703 )
2022-11-18 12:54:01 -05:00
Aaron O'Mullan
238590aa9f
chore: use Rust 1.65.0 ( #16688 )
2022-11-18 02:59:10 +01:00
Colin Ihrig
378e6a8c03
feat: stabilize Deno.utime() and Deno.utimeSync() ( #16421 )
2022-10-25 15:23:36 -04:00
Colin Ihrig
ffff814540
feat: stabilize Deno.futime() and Deno.futimeSync() ( #16415 )
2022-10-25 14:03:05 -04:00
Bartek Iwańczuk
212b7dd6da
feat: Add requesting API name to permission prompt ( #15936 )
...
Co-authored-by: Leo Kettmeir <crowlkats@toaxl.com>
2022-09-27 22:36:33 +02:00
Divy Srivastava
72af1496d9
perf: use fast ops for tty ( #15976 )
2022-09-23 09:35:45 +05:30
David Sherret
a43e9bebeb
chore: fix recent windows only clippy issues ( #15993 )
2022-09-22 10:33:52 -04:00
Divy Srivastava
698a340ad7
perf: fs optimizations - part 1 ( #15873 )
2022-09-22 14:39:25 +05:30
Divy Srivastava
1cdd2504b1
perf(runtime): flatten arguments for write_file ops ( #15776 )
2022-09-05 17:20:48 +05:30
Divy Srivastava
9e576dff7c
perf(runtime): optimize Deno.file open & stream ( #15496 )
2022-08-19 15:54:40 +05:30
David Sherret
667812a297
fix(cli): synchronize async stdio/file reads and writes ( #15092 )
...
Fixes a regression where async writes and reads could get out of order.
2022-07-13 11:16:42 -04:00
David Sherret
0ea6b51bf0
fix: stdout and stderr encoding on Windows ( #14559 )
2022-05-11 12:48:38 -04:00
David Sherret
11c13fb981
refactor: remove unused Option
s on StdFileResource.fs_file
( #14549 )
2022-05-10 10:13:08 -04:00
Aaron O'Mullan
1d51b1649e
fix(runtime): lossy utf8 readTextFile ( #14456 )
2022-05-01 19:13:05 -07:00
Aaron O'Mullan
8b8b21b553
perf(runtime): read entire files in single ops ( #14261 )
...
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2022-04-27 16:03:44 +02:00
Divy Srivastava
1c05e41f37
perf(runtime): bypass tokio file and bump op buffer size to 64K ( #14319 )
2022-04-19 20:11:31 +05:30
David Sherret
a64e63c361
perf: move Deno.writeTextFile and like functions to Rust ( #14221 )
...
Co-authored-by: Luca Casonato <hello@lcas.dev>
2022-04-18 18:00:14 -04:00
Aaron O'Mullan
88d0f01948
feat(ops): custom arity ( #13949 )
...
Also cleanup & drop ignored wildcard op-args
2022-03-14 23:38:53 +01:00
Divy Srivastava
b4e42953e1
feat(core): codegen ops ( #13861 )
...
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2022-03-14 18:44:15 +01:00
Ryan Dahl
1fb5858009
chore: update copyright to 2022 ( #13306 )
...
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2022-01-07 22:09:52 -05:00
David Sherret
d44011a69e
fix(runtime): require full read and write permissions to create symlinks ( #12554 )
2021-10-29 17:05:55 -04:00
Feng Yu
668b400ff2
feat(runtime): improve error messages of runtime fs ( #11984 )
...
This commit annotates errors returned from FS Deno APIs to include
paths that were passed to the API calls.
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-10-11 15:21:18 +02:00
Leo K
77a00ce1fb
chore: various op cleanup ( #12329 )
2021-10-05 22:38:27 +02:00
Tilman Roeder
93d83a84db
feat(unstable): Add file locking APIs ( #11746 )
...
This commit adds following unstable APIs:
- Deno.flock()
- Deno.flockSync()
- Deno.funlock()
- Deno.funlockSync()
2021-08-24 15:21:31 +02:00
Aaron O'Mullan
2ca454b402
refactor(ops): return BadResource errors in ResourceTable calls ( #11710 )
...
* refactor(ops): return BadResource errors in ResourceTable calls
Instead of relying on callers to map Options to Results via `.ok_or_else(bad_resource_id)` at over 176 different call sites ...
2021-08-15 13:29:19 +02:00
Yusuke Tanaka
8f00b5542c
chore: upgrade Rust to 1.54.0 ( #11554 )
2021-07-30 15:03:41 +02:00
Ryan Dahl
9c42b5e03b
Remove various unnecessary allow(clippy) declarations ( #10971 )
2021-06-15 19:22:28 +02:00
Aaron O'Mullan
d5f39fd121
cleanup(ops): remove unused ZeroCopyBuf arg-types ( #10530 )
2021-05-08 14:37:42 +02:00
Aaron O'Mullan
8377957666
refactor(runtime): use Extensions ( #10461 )
2021-05-02 19:22:57 -04:00
Aaron O'Mullan
46b1c653c0
refactor(deno): remove concept of bin & json ops ( #10145 )
2021-04-12 15:55:05 -04:00
Casper Beyer
875ac73f1e
feat(runtime): stabilize Deno.fstat and Deno.fstatSync ( #10108 )
...
This commit stabilizes Deno.fstat and Deno.fstatSync
which are well known system calls and have a stable interface.
2021-04-12 11:27:38 +02:00
crowlKats
fefe93c91b
feat(runtime/permissions): prompt fallback ( #9376 )
...
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-04-12 11:15:43 +09:00
Casper Beyer
f5a9474952
feat: stabilize Deno.ftruncate and Deno.ftruncateSync ( #10126 )
...
This stabilizes Deno.ftruncate and Deno.ftruncateSync.
This is a well known system call and the interface is
not going to change. Implicitly requires write permissions
as the file has to be opened with write to be truncated.
2021-04-11 14:05:22 +02:00
Aaron O'Mullan
ff5d072702
refactor: rewrite "net" ops to use serde_v8 ( #10028 )
2021-04-06 10:33:43 +02:00
Aaron O'Mullan
2aed322dd5
refactor: convert ops to use serde_v8 ( #10009 )
...
This commit rewrites most of the ops to use "serde_v8" instead
of "json" serialization.
2021-04-05 18:40:24 +02:00
Aaron O'Mullan
058579da56
refactor(ops): remove variadic buffers ( #9944 )
2021-04-02 09:47:57 -04:00
Ryan Dahl
f46e39c5c5
remove macro_use ( #9884 )
2021-03-26 12:34:25 -04:00
Divy Srivastava
91ca58fb26
chores: enforce type ResourceId across codebase ( #9837 )
2021-03-19 13:25:37 -04:00
crowlKats
197305908b
normalize rids ( #9832 )
2021-03-18 20:55:31 -04:00
crowlKats
b59151f39e
move runtime ops to serde ops ( #9828 )
2021-03-18 14:42:01 -04:00
crowlKats
0e70d9e59b
refactor: clean up permission handling ( #9367 )
2021-03-17 17:45:12 -04:00
Casper Beyer
2ac7798a20
feat(runtime): stabilize Deno.symlink and Deno.symlinkSync ( #9226 )
2021-02-26 01:13:48 +01:00
Casper Beyer
aa47f8186c
feat(runtime): stabilize Deno.link and Deno.linkSync ( #9417 )
...
This commit makes "Deno.link" and "Deno.linkSync" stable.
The permission required has been changed to read-write to
ensure one cannot escape the sandbox.
2021-02-25 18:35:10 +01:00
Casper Beyer
687ff2ab14
fix(runtime): do not panic on irregular dir entries ( #9579 )
2021-02-25 05:16:18 -05:00
Bert Belder
98878bd812
refactor: IO resource types, fix concurrent read/write and graceful close ( #9118 )
...
Fixes: 9032.
2021-01-29 01:35:07 -08:00
Bartek Iwańczuk
275a5c65a2
upgrade: tokio 1.0 ( #8779 )
...
Co-authored-by: Bert Belder <bertbelder@gmail.com>
2021-01-11 23:50:02 -08:00
Ryan Dahl
2b75a11559
update copyright to 2021 ( #9081 )
2021-01-10 21:59:07 -05:00
Casper Beyer
9cf82d3c66
fix(runtime): use tokio for async fs ops ( #9042 )
...
This commit makes following ops async:
- op_fstat_async
- op_ftruncate_async
- op_seek_async
- op_fdatasync_async
- op_fsync_async
- op_futime_async
2021-01-08 17:55:17 +01:00
Bartek Iwańczuk
41a4a34aee
upgrade: Rust 1.49.0 ( #8955 )
2021-01-02 13:52:42 +01:00