nushell/crates/nu-command/src/math
Stefan Holderbach b2734db015
Move more commands to opaque Record type (#11122)
# Description

Further work towards the goal that we can make `Record`'s field private
and experiment with different internal representations

## Details
- Use inplace record iter in `nu-command/math/utils`
  - Guarantee that existing allocation can be reused
- Use proper record iterators in `path join`
- Remove unnecesary hashmap in `path join`
  - Should minimally reduce the overhead
- Unzip records in `nu-command`
- Refactor `query web` plugin to use record APIs
- Use `Record::into_values` for `values` command
- Use `Record::columns()` in `join` instead.
  - Potential minor pessimisation
  - Not the hot value path
- Use sane `Record` iters in example `Debug` impl
- Avoid layout assumption in `nu-cmd-extra/roll/mod`
  - Potential minor pessimisation
- relegated to `extra`, changing the representation may otherwise break
this op.
- Use record api in `rotate`
- Minor risk that this surfaces some existing invalid behavior as panics
as we now validate column/value lengths
  - `extra` so things are unstable
- Remove unnecessary references in `rotate`
  - Bonus cleanup
# User-Facing Changes
None functional, minor potential differences in runtime. You win some,
you lose some.

# Tests + Formatting
Relying on existing tests
2023-11-22 23:48:48 +01:00
..
abs.rs Move Value to helpers, separate span call (#10121) 2023-09-03 07:27:29 -07:00
avg.rs Move Value to helpers, separate span call (#10121) 2023-09-03 07:27:29 -07:00
ceil.rs Move Value to helpers, separate span call (#10121) 2023-09-03 07:27:29 -07:00
floor.rs Move Value to helpers, separate span call (#10121) 2023-09-03 07:27:29 -07:00
log.rs Convert ShellError::UnsupportedInput to named fields (#10971) 2023-11-07 23:25:32 +01:00
math_.rs Move Value to helpers, separate span call (#10121) 2023-09-03 07:27:29 -07:00
max.rs Convert more examples and tests to record! macro (#10840) 2023-10-28 14:52:31 +02:00
median.rs Convert ShellError::UnsupportedInput to named fields (#10971) 2023-11-07 23:25:32 +01:00
min.rs Convert more examples and tests to record! macro (#10840) 2023-10-28 14:52:31 +02:00
mod.rs cratification: part III of the math commands to nu-cmd-extra (#9674) 2023-07-13 09:11:26 -07:00
mode.rs Convert ShellError::UnsupportedInput to named fields (#10971) 2023-11-07 23:25:32 +01:00
product.rs Replace &Span with Span since Span is Copy (#9770) 2023-07-31 21:47:46 +02:00
reducers.rs Apply nightly clippy fixes (#11083) 2023-11-17 09:15:55 -06:00
round.rs Add long options for generators and math (#10752) 2023-10-19 18:17:42 +02:00
sqrt.rs Convert ShellError::UnsupportedInput to named fields (#10971) 2023-11-07 23:25:32 +01:00
stddev.rs Add long options for generators and math (#10752) 2023-10-19 18:17:42 +02:00
sum.rs Replace &Span with Span since Span is Copy (#9770) 2023-07-31 21:47:46 +02:00
utils.rs Move more commands to opaque Record type (#11122) 2023-11-22 23:48:48 +01:00
variance.rs Convert ShellError::UnsupportedInput to named fields (#10971) 2023-11-07 23:25:32 +01:00