Added
- feat: Added a new
object/scramble util. This scramble util works exactly the same as object/omit, with the exception that instead of omitting it replaces the found values.
import {scramble} from '@valkyriestudios/utils/object';
const subject = {
user: {
name: 'Peter',
secret: 'Z',
age: 35,
},
pin: 1234,
data: {
rows: [
{meta: {secret: 'x', id: 1}},
{meta: {secret: 'y', id: 2}},
],
accessToken: 'whadup',
},
};
const cleaned = omit(scramble, ['*.secret', '*.age', 'data.accessToken', 'pin']);
/* Cleaned will be */
{
user: {
name: 'Peter',
secret: '***',
age: '***',
},
pin: '***',
data: {
rows: [
{meta: {secret: '***', id: 1}},
{meta: {secret: '***', id: 2}},
],
accessToken: '***',
},
}
Improved
- feat: Added support for using a wildcard prefix in
object/omit keys arrays. You can now do for example:
import {omit} from '@valkyriestudios/utils/object';
const subject = {
user: {
name: 'Peter',
secret: 'Z',
age: 35,
},
pin: 1234,
data: {
rows: [
{meta: {secret: 'x', id: 1}},
{meta: {secret: 'y', id: 2}},
],
accessToken: 'whadup',
},
};
const cleaned = omit(subject, ['*.secret', '*.age', 'data.accessToken', 'pin']);
/* Cleaned will be */
{
user: {
name: 'Peter',
},
data: {
rows: [
{meta: {id: 1}},
{meta: {id: 2}},
],
},
}
- deps: Upgrade @types/node to 22.15.30
- deps: Upgrade @vitest/coverage-v8 to 3.2.2
- deps: Upgrade vitest to 3.2.2