NEWS


fuj 0.3.0.9000

fuj 0.3.0 (2026-10-08)

Deprecations

Improvements and bug fixes

New functions and methods

Changes in conditions

General improvements for conditions #90

New vap family

Includes new vap family functions; essentially familiar wrappers for apply functions #83

The below table shows inputs for vap functions and how they behave with the provided functions (f). Arguments to f()) can use any name.

| vap function | f args | |:-------------------|:-------------| | vap(x, f) | f(x) | | vap2(x, y, f) | f(x, y) | | vap3(x, y, z, f) | f(x, y, z) | | vapi(x, f) | f(x, i) | | vapp(p, f) | f(...) |

Note: vapi() uses either the index or names of x as the second argument to f.

Each vap function comes with the following type variants. If you are not concerned about type safety, usevap_vec().

| Function | Output Type | Conversion | |:-----------|----------------|-----------------------------| | *_chr() | character | as.vector(_, "character") |2 | *_dbl() | double/numeric | as.vector(_, "double") | | *_int() | integer | as.vector(_, "integer") | | *_lgl() | logical | as.vector(_, "logical") | | *_raw() | raw | as.vector(_, "raw") | | *_cpl() | complex | as.vector(_, "complex") | | *_date() | Date | as.Date(as.vector(_, "double"), origin = "1970-01-01") | | *_dttm() | POSIXct | as.POSIXct(as.vector(_, "double"), origin = "1970-01-01", tz = "UTC") |

Note: these variants do not perform checks on output results, but rather coerce the output to the specified type. These do not function the same as vapply(), which is recommended for more aggressive type checking.

fuj 0.2.2 (2025-04-23)

fuj 0.2.1 (2024-05-20)

Fixes

fuj 0.2.0 (2024-05-07)

Fixes

New features

library(fuj)
options(fuj.verbose = FALSE)
verbose("will not show")

options(my.verbose = TRUE)
my_verbose <- make_verbose("my.verbose")
my_verbose("will show")
#> [verbose] will show

Internals

fuj 0.1.4 (2023-10-22)

fuj 0.1.3 (2023-05-22)

fuj 0.1.2 (2023-03-06)

fuj 0.1.1 (2022-11-18)

fuj 0.1.0 (2022-11-01)