add dist directory

This commit is contained in:
Yanick Champoux 2025-01-31 12:50:51 -05:00
parent 629da53bef
commit d58924a333
157 changed files with 1319 additions and 1 deletions

1
.gitignore vendored
View File

@ -5,6 +5,5 @@ pnpm-lock.yaml
tsconfig*.tsbuildinfo tsconfig*.tsbuildinfo
lib lib
types types
esm
.perl-version .perl-version
.task .task

34
esm/constant.d.ts vendored Normal file
View File

@ -0,0 +1,34 @@
/**
* Returns a function that always returns the supplied value.
*
* Useful for replacing an object outright rather than merging it.
*
* @function
* @sig a -> (* -> a)
* @memberOf u
* @param {*} value what to return from returned function.
* @return {function} a new function that will always return value.
*
* @example
* var alwaysFour = u.constant(4);
* expect(alwaysFour(32)).toEqual(4);
*
* @example
* var user = {
* name: 'Mitch',
* favorites: {
* band: 'Nirvana',
* movie: 'The Matrix'
* }
* };
*
* var newFavorites = {
* band: 'Coldplay'
* };
*
* var result = u({ favorites: u.constant(newFavorites) }, user);
*
* expect(result).toEqual({ name: 'Mitch', favorites: { band: 'Coldplay' } });
*/
export default function constant<T>(value: T): () => Readonly<T>;
//# sourceMappingURL=constant.d.ts.map

1
esm/constant.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../src/constant.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,qBAG3C"}

38
esm/constant.js Normal file
View File

@ -0,0 +1,38 @@
import freeze from "./freeze.js";
/**
* Returns a function that always returns the supplied value.
*
* Useful for replacing an object outright rather than merging it.
*
* @function
* @sig a -> (* -> a)
* @memberOf u
* @param {*} value what to return from returned function.
* @return {function} a new function that will always return value.
*
* @example
* var alwaysFour = u.constant(4);
* expect(alwaysFour(32)).toEqual(4);
*
* @example
* var user = {
* name: 'Mitch',
* favorites: {
* band: 'Nirvana',
* movie: 'The Matrix'
* }
* };
*
* var newFavorites = {
* band: 'Coldplay'
* };
*
* var result = u({ favorites: u.constant(newFavorites) }, user);
*
* expect(result).toEqual({ name: 'Mitch', favorites: { band: 'Coldplay' } });
*/
export default function constant(value) {
const frozen = freeze(value);
return () => frozen;
}
//# sourceMappingURL=constant.js.map

1
esm/constant.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../src/constant.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAI,KAAQ;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC;AACtB,CAAC"}

2
esm/constant.test.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=constant.test.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"constant.test.d.ts","sourceRoot":"","sources":["../src/constant.test.ts"],"names":[],"mappings":""}

13
esm/constant.test.js Normal file
View File

@ -0,0 +1,13 @@
import { expect, test } from "vitest";
import constant from "./constant.js";
test("returns what it is given... constantly", () => {
const func = constant(4);
expect(func()).to.equal(4);
expect(func("hi")).to.equal(4);
expect(func("hi", 8)).to.equal(4);
expect(func(4)).to.equal(4);
});
test("freezes the result", () => {
expect(Object.isFrozen(constant({})())).toBeTruthy();
});
//# sourceMappingURL=constant.test.js.map

1
esm/constant.test.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"constant.test.js","sourceRoot":"","sources":["../src/constant.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;IAClD,MAAM,IAAI,GAAQ,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE9B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAC9B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;AACvD,CAAC,CAAC,CAAC"}

4
esm/filter.d.ts vendored Normal file
View File

@ -0,0 +1,4 @@
import { filter as _filter } from "remeda";
declare const _default: typeof _filter;
export default _default;
//# sourceMappingURL=filter.d.ts.map

1
esm/filter.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,QAAQ,CAAC;wBAYZ,OAAO,OAAO;AAA7C,wBAA8C"}

10
esm/filter.js Normal file
View File

@ -0,0 +1,10 @@
import { filter as _filter } from "remeda";
import { buildPredicate } from "./predicate.js";
import wrap from "./wrap.js";
const sizeOf = (obj) => obj.length;
function filter(dataIn, predicate) {
const result = _filter(dataIn, buildPredicate(predicate));
return sizeOf(result) === sizeOf(dataIn) ? dataIn : result;
}
export default wrap(filter);
//# sourceMappingURL=filter.js.map

1
esm/filter.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;AAEnC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7D,CAAC;AAED,eAAe,IAAI,CAAC,MAAM,CAAmB,CAAC"}

2
esm/filter.test.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=filter.test.d.ts.map

1
esm/filter.test.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"filter.test.d.ts","sourceRoot":"","sources":["../src/filter.test.ts"],"names":[],"mappings":""}

18
esm/filter.test.js Normal file
View File

@ -0,0 +1,18 @@
import { expect, it } from "vitest";
import filter from "./filter.js";
import u from "./index.js";
it("can filter", () => {
const result = u({ foo: filter((v, k) => k === 1) })({
foo: ["a", "b"],
});
expect(result).to.eql({ foo: ["b"] });
});
it("freezes the result", () => {
expect(Object.isFrozen(filter([1], () => true))).to.be.true;
});
it("doesn't change the obj if nothing is modified", () => {
const orig = [1, 2, 3];
const result = filter(() => true)(orig);
expect(result).to.be.equal(orig);
});
//# sourceMappingURL=filter.test.js.map

1
esm/filter.test.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"filter.test.js","sourceRoot":"","sources":["../src/filter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,CAAC,MAAM,YAAY,CAAC;AAE3B,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;IACpB,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KAChB,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAC5B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;IACvD,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC"}

19
esm/freeze.d.ts vendored Normal file
View File

@ -0,0 +1,19 @@
/**
* Deeply freeze a plain javascript object.
*
* If `process.env.NODE_ENV === 'production'`, this returns the original object
* without freezing.
*
* Or if `process.env.UPDEEP_MODE === 'dangerously_never_freeze'`, this returns the original object
* without freezing.
*
* If in a browser and built without replacing process, never freeze.
*
* @function
* @sig a -> a
* @param object Object to freeze.
* @return Frozen object, unless in production, then the same object.
*/
declare function freeze<T>(object: T): Readonly<T>;
export default freeze;
//# sourceMappingURL=freeze.d.ts.map

1
esm/freeze.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"freeze.d.ts","sourceRoot":"","sources":["../src/freeze.ts"],"names":[],"mappings":"AAyBA;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAkBzC;AAED,eAAe,MAAM,CAAC"}

55
esm/freeze.js Normal file
View File

@ -0,0 +1,55 @@
function isFreezable(object) {
if (object === null)
return false;
if (object instanceof RegExp)
return false;
if (object instanceof ArrayBuffer)
return false;
return Array.isArray(object) || typeof object === "object";
}
function needsFreezing(object) {
return isFreezable(object) && !Object.isFrozen(object);
}
function recur(object) {
Object.freeze(object);
Object.keys(object).forEach((key) => {
const value = object[key];
if (needsFreezing(value)) {
recur(value);
}
});
return object;
}
/**
* Deeply freeze a plain javascript object.
*
* If `process.env.NODE_ENV === 'production'`, this returns the original object
* without freezing.
*
* Or if `process.env.UPDEEP_MODE === 'dangerously_never_freeze'`, this returns the original object
* without freezing.
*
* If in a browser and built without replacing process, never freeze.
*
* @function
* @sig a -> a
* @param object Object to freeze.
* @return Frozen object, unless in production, then the same object.
*/
function freeze(object) {
if (typeof process === "undefined") {
return object;
}
if (process.env.NODE_ENV === "production") {
return object;
}
if (process.env.UPDEEP_MODE === "dangerously_never_freeze") {
return object;
}
if (needsFreezing(object)) {
recur(object);
}
return object;
}
export default freeze;
//# sourceMappingURL=freeze.js.map

1
esm/freeze.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"freeze.js","sourceRoot":"","sources":["../src/freeze.ts"],"names":[],"mappings":"AAAA,SAAS,WAAW,CAAC,MAAe;IAClC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,MAAM,YAAY,MAAM;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,MAAM,YAAY,WAAW;QAAE,OAAO,KAAK,CAAC;IAEhD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC;AAC7D,CAAC;AAED,SAAS,aAAa,CAAC,MAAe;IACpC,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,KAAK,CAAC,MAAM;IACnB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEtB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,KAAK,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,MAAM,CAAI,MAAS;IAC1B,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,0BAA0B,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,eAAe,MAAM,CAAC"}

2
esm/freeze.test.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=freeze.test.d.ts.map

1
esm/freeze.test.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"freeze.test.d.ts","sourceRoot":"","sources":["../src/freeze.test.ts"],"names":[],"mappings":""}

56
esm/freeze.test.js Normal file
View File

@ -0,0 +1,56 @@
import { describe, afterEach, test, expect } from "vitest";
import freeze from "./freeze.js";
describe("freeze", () => {
afterEach(() => {
delete process.env.NODE_ENV;
});
test("freezes objects", () => {
const object = {};
freeze(object);
expect(Object.isFrozen(object)).to.be.true;
});
test("freezes nested objects", () => {
const object = { foo: { bar: 3 } };
freeze(object);
expect(Object.isFrozen(object.foo)).to.be.true;
});
test("freezes nested arrays", () => {
const object = [[0]];
freeze(object);
expect(Object.isFrozen(object)).to.be.true;
expect(Object.isFrozen(object[0])).to.be.true;
});
test("ignores functions", () => {
const object = { foo: () => 1 };
freeze(object);
expect(Object.isFrozen(object.foo)).to.be.false;
});
test("ignores regexps", () => {
const object = { foo: /\d/ };
freeze(object);
expect(Object.isFrozen(object.foo)).to.be.false;
});
test("does not freeze children if the parent is already frozen", () => {
const object = { foo: {} };
Object.freeze(object);
freeze(object);
expect(Object.isFrozen(object.foo)).to.be.false;
});
test("does not freeze in production", () => {
process.env.NODE_ENV = "production";
const object = {};
freeze(object);
expect(Object.isFrozen(object)).to.be.false;
});
test("handles null objects", () => {
const object = { foo: null };
freeze(object);
expect(Object.isFrozen(object)).to.be.true;
});
test("returns the same object", () => {
const object = {};
const result = freeze(object);
expect(result).to.equal(object);
});
});
//# sourceMappingURL=freeze.test.js.map

1
esm/freeze.test.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"freeze.test.js","sourceRoot":"","sources":["../src/freeze.test.ts"],"names":[],"mappings":"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"}

7
esm/if.d.ts vendored Normal file
View File

@ -0,0 +1,7 @@
export interface If {
(object: any, predicate: any, trueUpdates: any): unknown;
(predicate: any, trueUpdates: any): (unknown: any) => unknown;
}
declare const _default: If;
export default _default;
//# sourceMappingURL=if.d.ts.map

1
esm/if.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"if.d.ts","sourceRoot":"","sources":["../src/if.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,EAAE;IACjB,CAAC,MAAM,KAAA,EAAE,SAAS,KAAA,EAAE,WAAW,KAAA,GAAG,OAAO,CAAC;IAC1C,CAAC,SAAS,KAAA,EAAE,WAAW,KAAA,GAAG,CAAC,OAAO,KAAA,KAAK,OAAO,CAAC;CAChD;wBAM2B,EAAE;AAA9B,wBAA+B"}

8
esm/if.js Normal file
View File

@ -0,0 +1,8 @@
import ifElse from "./ifElse.js";
import wrap from "./wrap.js";
const identity = (x) => x;
function _if(object, predicate, trueUpdates) {
return ifElse(object, predicate, trueUpdates, identity);
}
export default wrap(_if);
//# sourceMappingURL=if.js.map

1
esm/if.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"if.js","sourceRoot":"","sources":["../src/if.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC;AAOnC,SAAS,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW;IACzC,OAAO,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED,eAAe,IAAI,CAAC,GAAG,CAAO,CAAC"}

2
esm/if.test.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=if.test.d.ts.map

1
esm/if.test.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"if.test.d.ts","sourceRoot":"","sources":["../src/if.test.ts"],"names":[],"mappings":""}

27
esm/if.test.js Normal file
View File

@ -0,0 +1,27 @@
import { describe, test, expect } from "vitest";
import _if from "./if.js";
describe("if", () => {
test("does not update if the predicate is false", () => {
const object = { a: 0 };
let result = _if(object, false, { b: 1 });
expect(result).to.eql(object);
result = _if(0, false, 1);
expect(result).to.eql(0);
});
test("does update if the predicate is true", () => {
const object = { a: 0 };
const result = _if(true, { b: 1 })(object);
expect(result).to.eql({ a: 0, b: 1 });
});
test("will use the result of a function passed as a predicate", () => {
const object = { a: 0 };
const aIsThree = (x) => x.a === 3;
const result = _if(aIsThree, { b: 1 })(object);
expect(result).to.eql({ a: 0 });
});
test("freezes the result", () => {
expect(Object.isFrozen(_if(true, {})({}))).to.be.true;
expect(Object.isFrozen(_if(false, {})({}))).to.be.true;
});
});
//# sourceMappingURL=if.test.js.map

1
esm/if.test.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"if.test.js","sourceRoot":"","sources":["../src/if.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,GAAG,MAAM,SAAS,CAAC;AAE1B,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;IAClB,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACrD,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE9B,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACnE,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAE/C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}

8
esm/ifElse.d.ts vendored Normal file
View File

@ -0,0 +1,8 @@
import { Predicate } from "./predicate.js";
export interface IfElse {
(object: any, predicate: Predicate, trueUpdates: any, falseUpdates: any): unknown;
(predicate: Predicate, trueUpdates: any, falseUpdates: any): (unknown: any) => unknown;
}
declare const _default: IfElse;
export default _default;
//# sourceMappingURL=ifElse.d.ts.map

1
esm/ifElse.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"ifElse.d.ts","sourceRoot":"","sources":["../src/ifElse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AAU3D,MAAM,WAAW,MAAM;IACrB,CAAC,MAAM,KAAA,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,KAAA,EAAE,YAAY,KAAA,GAAG,OAAO,CAAC;IACnE,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,KAAA,EAAE,YAAY,KAAA,GAAG,CAAC,OAAO,KAAA,KAAK,OAAO,CAAC;CACzE;wBAEoC,MAAM;AAA3C,wBAA4C"}

10
esm/ifElse.js Normal file
View File

@ -0,0 +1,10 @@
import update from "./update.js";
import wrap from "./wrap.js";
import { buildPredicate } from "./predicate.js";
function updateIfElse(object, predicate, trueUpdates, falseUpdates) {
const test = buildPredicate(predicate)(object);
const updates = test ? trueUpdates : falseUpdates;
return update(object, updates);
}
export default wrap(updateIfElse);
//# sourceMappingURL=ifElse.js.map

1
esm/ifElse.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"ifElse.js","sourceRoot":"","sources":["../src/ifElse.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAa,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE3D,SAAS,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY;IAChE,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IAElD,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AAOD,eAAe,IAAI,CAAC,YAAY,CAAW,CAAC"}

2
esm/ifElse.test.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=ifElse.test.d.ts.map

1
esm/ifElse.test.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"ifElse.test.d.ts","sourceRoot":"","sources":["../src/ifElse.test.ts"],"names":[],"mappings":""}

38
esm/ifElse.test.js Normal file
View File

@ -0,0 +1,38 @@
import { expect, test, describe } from "vitest";
import ifElse from "./ifElse.js";
import _if from "./if.js";
describe("ifElse", () => {
test("does updates with the else if the predicate is false", () => {
const object = { a: 0 };
const result = ifElse(false, { b: 1 }, { b: 2 })(object);
expect(result).to.eql({ a: 0, b: 2 });
});
test("updates with the true update if the predicate is true", () => {
const object = { a: 0 };
const result = ifElse(true, { b: 1 }, { b: 4 })(object);
expect(result).to.eql({ a: 0, b: 1 });
});
test("will use the result of a function passed as a predicate", () => {
const object = { a: 0 };
const aIsThree = (x) => x.a === 3;
const result = ifElse(aIsThree, { b: 1 }, { b: 4 })(object);
expect(result).to.eql({ a: 0, b: 4 });
});
test("freezes the result", () => {
expect(Object.isFrozen(ifElse(true, {}, {})({}))).to.be.true;
expect(Object.isFrozen(ifElse(false, {}, {})({}))).to.be.true;
});
});
describe("if", () => {
test("does updates with the else if the predicate is false", () => {
const object = { a: 0 };
const result = _if(false, { b: 1 })(object);
expect(result).not.toHaveProperty("b");
});
test("updates with the true update if the predicate is true", () => {
const object = { a: 0 };
const result = _if(true, { b: 1 })(object);
expect(result).to.eql({ a: 0, b: 1 });
});
});
//# sourceMappingURL=ifElse.test.js.map

1
esm/ifElse.test.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"ifElse.test.js","sourceRoot":"","sources":["../src/ifElse.test.ts"],"names":[],"mappings":"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"}

43
esm/index.d.ts vendored Normal file
View File

@ -0,0 +1,43 @@
import freeze from "./freeze.js";
import is from "./is.js";
import _if from "./if.js";
import ifElse from "./ifElse.js";
import update, { skip } from "./update.js";
import updateIn from "./updateIn.js";
import constant from "./constant.js";
import omit from "./omit.js";
import omitBy from "./omitBy.js";
import pick from "./pick.js";
import pickBy from "./pickBy.js";
import filter from "./filter.js";
import reject from "./reject.js";
import matches from "./matches.js";
import myMap from "./map.js";
import mapIf, { mapIfElse } from "./mapIf.js";
declare const functions: {
constant: typeof constant;
filter: typeof import("remeda").filter;
freeze: typeof freeze;
ifElse: import("./ifElse.js").IfElse;
if: import("./if.js").If;
is: import("./is.js").Is;
map: import("./map.js").Map;
matches: import("./matches.js").Matches;
omit: import("./omit.js").Omit;
omitBy: typeof import("remeda").omitBy;
pick: import("./pick.js").UPick;
pickBy: typeof import("remeda").pickBy;
reject: typeof import("remeda").filter;
skip: () => Readonly<{
__skip: boolean;
}>;
update: import("./update.js").Update;
updateIn: import("./updateIn.js").UpdateIn;
mapIf: import("./mapIf.js").MapIf;
mapIfElse: import("./mapIf.js").MapIfElse;
};
export { filter, reject, pickBy, pick, omit, omitBy, constant, _if as if, ifElse, is, freeze, update, updateIn, skip, matches, myMap as map, mapIf, mapIfElse, };
declare const merged: import("./update.js").Update;
declare const _default: typeof merged & typeof functions;
export default _default;
//# sourceMappingURL=index.d.ts.map

1
esm/index.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,GAAG,MAAM,SAAS,CAAC;AAC1B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,MAAM,UAAU,CAAC;AAC7B,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9C,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;CAmBd,CAAC;AAEF,OAAO,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,GAAG,IAAI,EAAE,EACT,MAAM,EACN,EAAE,EACF,MAAM,EACN,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,KAAK,IAAI,GAAG,EACZ,KAAK,EACL,SAAS,GACV,CAAC;AAEF,QAAA,MAAM,MAAM,8BAAS,CAAC;wBAIG,OAAO,MAAM,GAAG,OAAO,SAAS;AAAzD,wBAA0D"}

41
esm/index.js Normal file
View File

@ -0,0 +1,41 @@
import freeze from "./freeze.js";
import is from "./is.js";
import _if from "./if.js";
import ifElse from "./ifElse.js";
import update, { skip } from "./update.js";
import updateIn from "./updateIn.js";
import constant from "./constant.js";
import omit from "./omit.js";
import omitBy from "./omitBy.js";
import pick from "./pick.js";
import pickBy from "./pickBy.js";
import filter from "./filter.js";
import reject from "./reject.js";
import matches from "./matches.js";
import myMap from "./map.js";
import mapIf, { mapIfElse } from "./mapIf.js";
const functions = {
constant,
filter,
freeze,
ifElse,
if: _if,
is,
map: myMap,
matches,
omit,
omitBy,
pick,
pickBy,
reject,
skip,
update,
updateIn,
mapIf,
mapIfElse,
};
export { filter, reject, pickBy, pick, omit, omitBy, constant, _if as if, ifElse, is, freeze, update, updateIn, skip, matches, myMap as map, mapIf, mapIfElse, };
const merged = update;
Object.entries(functions).forEach(([k, v]) => (merged[k] = v));
export default merged;
//# sourceMappingURL=index.js.map

1
esm/index.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,GAAG,MAAM,SAAS,CAAC;AAC1B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,MAAM,UAAU,CAAC;AAC7B,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,SAAS,GAAG;IAChB,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,EAAE,EAAE,GAAG;IACP,EAAE;IACF,GAAG,EAAE,KAAK;IACV,OAAO;IACP,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,MAAM;IACN,MAAM;IACN,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,KAAK;IACL,SAAS;CACV,CAAC;AAEF,OAAO,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,GAAG,IAAI,EAAE,EACT,MAAM,EACN,EAAE,EACF,MAAM,EACN,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,KAAK,IAAI,GAAG,EACZ,KAAK,EACL,SAAS,GACV,CAAC;AAEF,MAAM,MAAM,GAAG,MAAM,CAAC;AAEtB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE/D,eAAe,MAA0C,CAAC"}

7
esm/is.d.ts vendored Normal file
View File

@ -0,0 +1,7 @@
export interface Is {
(object: any, path: string | number | (number | string)[], predicate: any): boolean;
(path: string | number | (number | string)[], predicate: any): (object: any) => boolean;
}
declare const _default: Is;
export default _default;
//# sourceMappingURL=is.d.ts.map

1
esm/is.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["../src/is.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,EAAE;IACjB,CAAC,MAAM,KAAA,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,SAAS,KAAA,GAAG,OAAO,CAAC;IAC1E,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,SAAS,KAAA,GAAG,CAAC,MAAM,KAAA,KAAK,OAAO,CAAC;CAC/E;wBAE2B,EAAE;AAA9B,wBAA+B"}

16
esm/is.js Normal file
View File

@ -0,0 +1,16 @@
import splitPath from "./util/splitPath.js";
import wrap from "./wrap.js";
function _is(object, path, predicate) {
const parts = splitPath(path);
for (const part of parts) {
if (typeof object === "undefined")
return false;
object = object[part];
}
if (typeof predicate === "function") {
return predicate(object);
}
return predicate === object;
}
export default wrap(_is);
//# sourceMappingURL=is.js.map

1
esm/is.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"is.js","sourceRoot":"","sources":["../src/is.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,SAAS,GAAG,CACV,MAAM,EACN,IAA2C,EAC3C,SAAS;IAET,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,KAAK,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,SAAS,KAAK,MAAM,CAAC;AAC9B,CAAC;AAOD,eAAe,IAAI,CAAC,GAAG,CAAO,CAAC"}

2
esm/is.test.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=is.test.d.ts.map

1
esm/is.test.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"is.test.d.ts","sourceRoot":"","sources":["../src/is.test.ts"],"names":[],"mappings":""}

47
esm/is.test.js Normal file
View File

@ -0,0 +1,47 @@
import { expect, test } from "vitest";
import is from "./is.js";
test("returns true if path matches a value predicate", () => {
const result = is({ a: { b: 4 } }, "a.b", 4);
expect(result).to.be.true;
});
test("returns true if path matches a function predicate", () => {
const isEven = (x) => x % 2 === 0;
const result = is("a.b", isEven)({ a: { b: 6 } });
expect(result).to.be.true;
});
test("returns false if path matches a value predicate", () => {
const result = is("a.b", 4)({ a: { b: 5 } });
expect(result).to.be.false;
});
test("returns false if path matches a function predicate", () => {
const isEven = (x) => x % 2 === 0;
const result = is("a.b", isEven)({ a: { b: 7 } });
expect(result).to.be.false;
});
test("returns false if the path does not exist", () => {
const result = is("a.b.c.d", 4)({ a: { b: {} } });
expect(result).to.be.false;
});
test("can test for undefined", () => {
const result = is("a.b.c", undefined)({ a: { b: {} } });
expect(result).to.be.true;
});
test("tests the actual object if a blank path is given", () => {
const result = is(4, "", 4);
expect(result).toBeTruthy();
});
test("can use arrays as paths", () => {
const result = is(["a", "b"], 4)({ a: { b: 4 } });
expect(result).to.be.true;
});
test("can include array indexes in paths", () => {
let result = is("a.1.b", 4)({ a: [{}, { b: 4 }] });
expect(result).to.be.true;
result = is(["a", 1, "b"], 4)({ a: [{}, { b: 4 }] });
expect(result).to.be.true;
});
test("can be partially applied", () => {
const result = is("a.b", 4)({ a: { b: 4 } });
expect(result).to.be.true;
});
//# sourceMappingURL=is.test.js.map

1
esm/is.test.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"is.test.js","sourceRoot":"","sources":["../src/is.test.ts"],"names":[],"mappings":"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"}

7
esm/map.d.ts vendored Normal file
View File

@ -0,0 +1,7 @@
export interface Map {
(object: any, iteratee: any): any;
(iteratee: any): (object: any) => any;
}
declare const _default: Map;
export default _default;
//# sourceMappingURL=map.d.ts.map

1
esm/map.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../src/map.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,GAAG;IAClB,CAAC,MAAM,KAAA,EAAE,QAAQ,KAAA,GAAG,GAAG,CAAC;IACxB,CAAC,QAAQ,KAAA,GAAG,CAAC,MAAM,KAAA,KAAK,GAAG,CAAC;CAC7B;wBAE2B,GAAG;AAA/B,wBAAgC"}

19
esm/map.js Normal file
View File

@ -0,0 +1,19 @@
import { mapValues, map as _map } from "remeda";
import update from "./update.js";
import wrap from "./wrap.js";
function shallowEqual(object, otherObject) {
for (const k in otherObject) {
if (otherObject[k] !== object[k])
return false;
}
return true;
}
function map(object, iteratee) {
const updater = typeof iteratee === "function" ? iteratee : update(iteratee);
const mapper = Array.isArray(object) ? _map : mapValues;
const newObject = mapper(object, updater);
const equal = shallowEqual(object, newObject);
return equal ? object : newObject;
}
export default wrap(map);
//# sourceMappingURL=map.js.map

1
esm/map.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"map.js","sourceRoot":"","sources":["../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,SAAS,YAAY,CAAC,MAAM,EAAE,WAAW;IACvC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,GAAG,CAAC,MAAM,EAAE,QAAQ;IAC3B,MAAM,OAAO,GAAG,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE7E,MAAM,MAAM,GAAQ,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAE9C,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACpC,CAAC;AAOD,eAAe,IAAI,CAAC,GAAG,CAAQ,CAAC"}

2
esm/map.test.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=map.test.d.ts.map

1
esm/map.test.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"map.test.d.ts","sourceRoot":"","sources":["../src/map.test.ts"],"names":[],"mappings":""}

44
esm/map.test.js Normal file
View File

@ -0,0 +1,44 @@
import { expect, test } from "vitest";
import map from "./map.js";
test("applies updates to each item in an array", () => {
const object = [0, 1, 2];
const inc = (x) => x + 1;
const result = map(object, inc);
expect(result).to.eql([1, 2, 3]);
});
test("applies updates to each value in an object", () => {
const object = { a: 0, b: 1, c: 2 };
const inc = (x) => x + 1;
const result = map(inc)(object);
expect(result).to.eql({ a: 1, b: 2, c: 3 });
});
test("can update with a regular updates object", () => {
const object = [{ a: 0 }, { a: 0 }];
const result = map({ a: 1 })(object);
expect(result).to.eql([{ a: 1 }, { a: 1 }]);
});
test("returns the same object if no updates are made", () => {
const array = [0, 1];
const ident = (x) => x;
let result = map(ident)(array);
expect(result).to.equal(array);
const object = { a: 0 };
result = map(ident)(object);
expect(result).to.equal(object);
});
test("passes the key or index as the second parameter to the iteratee", () => {
const object = {
a: { x: 0 },
b: [3, 3],
};
const setToKey = (_, key) => key;
const result = map(object, map(setToKey));
expect(result).to.eql({
a: { x: "x" },
b: [0, 1],
});
});
test("freezes the result", () => {
expect(Object.isFrozen(map({}, {}))).to.be.true;
});
//# sourceMappingURL=map.test.js.map

1
esm/map.test.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"map.test.js","sourceRoot":"","sources":["../src/map.test.ts"],"names":[],"mappings":"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"}

13
esm/mapIf.d.ts vendored Normal file
View File

@ -0,0 +1,13 @@
import { Predicate } from "./predicate.js";
export interface MapIfElse {
(object: any, predicate: Predicate, trueUpdates: any, falseUpdates: any): unknown;
(predicate: Predicate, trueUpdates: any, falseUpdates: any): (unknown: any) => unknown;
}
export interface MapIf {
(object: any, predicate: Predicate, trueUpdates: any): unknown;
(predicate: Predicate, trueUpdates: any): (unknown: any) => unknown;
}
declare const _default: MapIf;
export default _default;
export declare const mapIfElse: MapIfElse;
//# sourceMappingURL=mapIf.d.ts.map

1
esm/mapIf.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"mapIf.d.ts","sourceRoot":"","sources":["../src/mapIf.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AAY3D,MAAM,WAAW,SAAS;IACxB,CAAC,MAAM,KAAA,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,KAAA,EAAE,YAAY,KAAA,GAAG,OAAO,CAAC;IACnE,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,KAAA,EAAE,YAAY,KAAA,GAAG,CAAC,OAAO,KAAA,KAAK,OAAO,CAAC;CACzE;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,MAAM,KAAA,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,KAAA,GAAG,OAAO,CAAC;IACrD,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,KAAA,GAAG,CAAC,OAAO,KAAA,KAAK,OAAO,CAAC;CAC3D;wBAE6B,KAAK;AAAnC,wBAAoC;AACpC,eAAO,MAAM,SAAS,EAAwB,SAAS,CAAC"}

14
esm/mapIf.js Normal file
View File

@ -0,0 +1,14 @@
import wrap from "./wrap.js";
import map from "./map.js";
import ifElse from "./ifElse.js";
import { buildPredicate } from "./predicate.js";
function _mapIfElse(object, predicate, trueUpdates, falseUpdates) {
const test = buildPredicate(predicate);
return map(object, ifElse(test, trueUpdates, falseUpdates));
}
function mapIf(object, predicate, trueUpdates) {
return _mapIfElse(object, predicate, trueUpdates, (x) => x);
}
export default wrap(mapIf);
export const mapIfElse = _mapIfElse;
//# sourceMappingURL=mapIf.js.map

1
esm/mapIf.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"mapIf.js","sourceRoot":"","sources":["../src/mapIf.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAa,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE3D,SAAS,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY;IAC9D,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAEvC,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW;IAC3C,OAAO,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAYD,eAAe,IAAI,CAAC,KAAK,CAAU,CAAC;AACpC,MAAM,CAAC,MAAM,SAAS,GAAG,UAA8B,CAAC"}

2
esm/mapIf.test.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=mapIf.test.d.ts.map

1
esm/mapIf.test.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"mapIf.test.d.ts","sourceRoot":"","sources":["../src/mapIf.test.ts"],"names":[],"mappings":""}

20
esm/mapIf.test.js Normal file
View File

@ -0,0 +1,20 @@
import { expect, test } from "vitest";
import mapIf, { mapIfElse } from "./mapIf.js";
test("does updates with the if and else", () => {
const object = [
{ x: 1, y: 0 },
{ x: 2, y: 0 },
{ x: 3, y: 0 },
];
expect(mapIfElse(object, { x: 2 }, { y: 2 }, { y: 3 })).toEqual([
{ x: 1, y: 3 },
{ x: 2, y: 2 },
{ x: 3, y: 3 },
]);
expect(mapIf(object, { x: 2 }, { y: 2 })).toEqual([
{ x: 1, y: 0 },
{ x: 2, y: 2 },
{ x: 3, y: 0 },
]);
});
//# sourceMappingURL=mapIf.test.js.map

1
esm/mapIf.test.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"mapIf.test.js","sourceRoot":"","sources":["../src/mapIf.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAY,MAAM,QAAQ,CAAC;AAEhD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9C,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAC7C,MAAM,MAAM,GAAG;QACb,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACd,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACd,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;KACf,CAAC;IAEF,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9D,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACd,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACd,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;KACf,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAChD,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACd,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACd,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;KACf,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}

7
esm/matches.d.ts vendored Normal file
View File

@ -0,0 +1,7 @@
export interface Matches {
(dataIn: any, matcher: any): boolean;
(matcher: any): (dataIn: any) => boolean;
}
declare const _default: Matches;
export default _default;
//# sourceMappingURL=matches.d.ts.map

1
esm/matches.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"matches.d.ts","sourceRoot":"","sources":["../src/matches.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,OAAO;IACpB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC;IACrC,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC;CAC5C;wBAE+B,OAAO;AAAvC,wBAAwC"}

11
esm/matches.js Normal file
View File

@ -0,0 +1,11 @@
import wrap from "./wrap.js";
function matches(target, condition) {
if (typeof condition === "function")
return condition(target);
if (typeof condition === "object") {
return Object.entries(condition).every(([key, value]) => matches(target[key], value));
}
return target === condition;
}
export default wrap(matches);
//# sourceMappingURL=matches.js.map

1
esm/matches.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"matches.js","sourceRoot":"","sources":["../src/matches.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,SAAS,OAAO,CAAC,MAAM,EAAE,SAAS;IAC9B,IAAI,OAAO,SAAS,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IAE9D,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACpD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAC9B,CAAC;IACN,CAAC;IAED,OAAO,MAAM,KAAK,SAAS,CAAC;AAChC,CAAC;AAOD,eAAe,IAAI,CAAC,OAAO,CAAY,CAAC"}

2
esm/matches.test.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=matches.test.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"matches.test.d.ts","sourceRoot":"","sources":["../src/matches.test.ts"],"names":[],"mappings":""}

10
esm/matches.test.js Normal file
View File

@ -0,0 +1,10 @@
import { test, expect } from "vitest";
import matches from "./matches.js";
test("basic", () => {
expect(matches(1, 1)).toBeTruthy();
expect(matches(1, 2)).not.toBeTruthy();
expect(matches({ a: 1, b: 2 }, { a: 1 })).toBeTruthy();
expect(matches({ a: 2, b: 2 }, { a: 1 })).not.toBeTruthy();
expect(matches({ 2: { a: (x) => x > 2 } })([1, 1, { a: 3 }])).toBeTruthy();
});
//# sourceMappingURL=matches.test.js.map

1
esm/matches.test.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"matches.test.js","sourceRoot":"","sources":["../src/matches.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;IACjB,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACnC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IACvC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACvD,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IAC3D,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;AAC7E,CAAC,CAAC,CAAC"}

7
esm/omit.d.ts vendored Normal file
View File

@ -0,0 +1,7 @@
export interface Omit {
(dataIn: any, toOmit: (string | number)[]): any;
(toOmit: (string | number)[]): (dataIn: any) => any;
}
declare const _default: Omit;
export default _default;
//# sourceMappingURL=omit.d.ts.map

1
esm/omit.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../src/omit.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,IAAI;IACnB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC;IAChD,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CACrD;wBAE4B,IAAI;AAAjC,wBAAkC"}

9
esm/omit.js Normal file
View File

@ -0,0 +1,9 @@
import { omit as _omit } from "remeda";
import wrap from "./wrap.js";
const sizeOf = (obj) => Object.keys(obj).length;
function omit(dataIn, toOmit) {
const result = _omit(dataIn, toOmit);
return sizeOf(result) === sizeOf(dataIn) ? dataIn : result;
}
export default wrap(omit);
//# sourceMappingURL=omit.js.map

1
esm/omit.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../src/omit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAEhD,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM;IAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7D,CAAC;AAOD,eAAe,IAAI,CAAC,IAAI,CAAS,CAAC"}

2
esm/omit.test.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=omit.test.d.ts.map

1
esm/omit.test.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"omit.test.d.ts","sourceRoot":"","sources":["../src/omit.test.ts"],"names":[],"mappings":""}

16
esm/omit.test.js Normal file
View File

@ -0,0 +1,16 @@
import { expect, it } from "vitest";
import omit from "./omit.js";
import u from "./index.js";
it("can omit a key", () => {
const result = u({ foo: omit(["bar"]) })({ foo: { bar: 7 } });
expect(result).to.eql({ foo: {} });
});
it("freezes the result", () => {
expect(Object.isFrozen(omit({}, ["a"]))).to.be.true;
});
it("doesn't change the obj if nothing is omitted", () => {
const orig = { a: 1 };
const result = omit(["b"])(orig);
expect(result).to.be.equal(orig);
});
//# sourceMappingURL=omit.test.js.map

1
esm/omit.test.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"omit.test.js","sourceRoot":"","sources":["../src/omit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,CAAC,MAAM,YAAY,CAAC;AAE3B,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;IACxB,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAE9D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAC5B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACtD,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACtB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC"}

4
esm/omitBy.d.ts vendored Normal file
View File

@ -0,0 +1,4 @@
import { omitBy as _omitBy } from "remeda";
declare const _default: typeof _omitBy;
export default _default;
//# sourceMappingURL=omitBy.d.ts.map

1
esm/omitBy.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"omitBy.d.ts","sourceRoot":"","sources":["../src/omitBy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,QAAQ,CAAC;wBAYZ,OAAO,OAAO;AAA7C,wBAA8C"}

10
esm/omitBy.js Normal file
View File

@ -0,0 +1,10 @@
import { omitBy as _omitBy } from "remeda";
import { buildPredicate } from "./predicate.js";
import wrap from "./wrap.js";
const sizeOf = (obj) => Object.keys(obj).length;
function omitBy(dataIn, predicate) {
const result = _omitBy(dataIn, buildPredicate(predicate));
return sizeOf(result) === sizeOf(dataIn) ? dataIn : result;
}
export default wrap(omitBy);
//# sourceMappingURL=omitBy.js.map

1
esm/omitBy.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"omitBy.js","sourceRoot":"","sources":["../src/omitBy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAEhD,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7D,CAAC;AAED,eAAe,IAAI,CAAC,MAAM,CAAmB,CAAC"}

2
esm/omitBy.test.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=omitBy.test.d.ts.map

1
esm/omitBy.test.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"omitBy.test.d.ts","sourceRoot":"","sources":["../src/omitBy.test.ts"],"names":[],"mappings":""}

17
esm/omitBy.test.js Normal file
View File

@ -0,0 +1,17 @@
import { expect, it } from "vitest";
import u from "./index.js";
import omitBy from "./omitBy.js";
it("can omitBy with a function", () => {
const predicate = (value, key) => value === 7 && key === "bar";
const result = u({ foo: u.omitBy(predicate) })({ foo: { bar: 7, baz: "a" } });
expect(result).to.eql({ foo: { baz: "a" } });
});
it("freezes the result", () => {
expect(Object.isFrozen(u.omitBy("a")({}))).to.be.true;
});
it("doesn't change the obj if nothing is omitted", () => {
const orig = { a: 1 };
const result = omitBy(() => false)(orig);
expect(result).to.be.equal(orig);
});
//# sourceMappingURL=omitBy.test.js.map

1
esm/omitBy.test.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"omitBy.test.js","sourceRoot":"","sources":["../src/omitBy.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAY,MAAM,QAAQ,CAAC;AAC9C,OAAO,CAAC,MAAM,YAAY,CAAC;AAC3B,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACpC,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,KAAK,CAAC;IAC/D,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAE9E,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAC5B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;AAC/D,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACtD,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACtB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC"}

7
esm/pick.d.ts vendored Normal file
View File

@ -0,0 +1,7 @@
export interface UPick {
<S extends string | number | symbol>(keys: S[]): <O>(dataIn: O) => Pick<O, S & keyof O>;
<S extends string | number | symbol, O>(dataIn: O, keys: S[]): Pick<O, S & keyof O>;
}
declare const _default: UPick;
export default _default;
//# sourceMappingURL=pick.d.ts.map

1
esm/pick.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"pick.d.ts","sourceRoot":"","sources":["../src/pick.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,KAAK;IACpB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EACjC,IAAI,EAAE,CAAC,EAAE,GACR,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,EACpC,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,CAAC,EAAE,GACR,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;CACzB;wBAO4B,KAAK;AAAlC,wBAAmC"}

9
esm/pick.js Normal file
View File

@ -0,0 +1,9 @@
import { pick as _pick } from "remeda";
import wrap from "./wrap.js";
const sizeOf = (obj) => Object.keys(obj).length;
function pick(dataIn, keys) {
const result = _pick(dataIn, keys);
return sizeOf(result) === sizeOf(dataIn) ? dataIn : result;
}
export default wrap(pick);
//# sourceMappingURL=pick.js.map

1
esm/pick.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"pick.js","sourceRoot":"","sources":["../src/pick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAYhD,SAAS,IAAI,CAAC,MAAM,EAAE,IAAI;IACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7D,CAAC;AAED,eAAe,IAAI,CAAC,IAAI,CAAU,CAAC"}

2
esm/pick.test.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=pick.test.d.ts.map

1
esm/pick.test.d.ts.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"pick.test.d.ts","sourceRoot":"","sources":["../src/pick.test.ts"],"names":[],"mappings":""}

19
esm/pick.test.js Normal file
View File

@ -0,0 +1,19 @@
import { expect, it } from "vitest";
import pick from "./pick.js";
import u from "./index.js";
it("can pick a key", () => {
const pickBar = pick(["bar"]);
const result = u({ foo: pickBar })({
foo: { bar: 7, baz: 8 },
});
expect(result).to.eql({ foo: { bar: 7 } });
});
it("freezes the result", () => {
expect(Object.isFrozen(pick({ a: 1 }, ["a"]))).to.be.true;
});
it("doesn't change the obj if nothing is modified", () => {
const orig = { a: 1 };
const result = pick(["a"])(orig);
expect(result).to.be.equal(orig);
});
//# sourceMappingURL=pick.test.js.map

Some files were not shown because too many files have changed in this diff Show More