add dist directory
This commit is contained in:
parent
629da53bef
commit
d58924a333
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,6 +5,5 @@ pnpm-lock.yaml
|
||||
tsconfig*.tsbuildinfo
|
||||
lib
|
||||
types
|
||||
esm
|
||||
.perl-version
|
||||
.task
|
||||
|
34
esm/constant.d.ts
vendored
Normal file
34
esm/constant.d.ts
vendored
Normal 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
1
esm/constant.d.ts.map
Normal 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
38
esm/constant.js
Normal 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
1
esm/constant.js.map
Normal 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
2
esm/constant.test.d.ts
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=constant.test.d.ts.map
|
1
esm/constant.test.d.ts.map
Normal file
1
esm/constant.test.d.ts.map
Normal 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
13
esm/constant.test.js
Normal 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
1
esm/constant.test.js.map
Normal 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
4
esm/filter.d.ts
vendored
Normal 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
1
esm/filter.d.ts.map
Normal 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
10
esm/filter.js
Normal 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
1
esm/filter.js.map
Normal 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
2
esm/filter.test.d.ts
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=filter.test.d.ts.map
|
1
esm/filter.test.d.ts.map
Normal file
1
esm/filter.test.d.ts.map
Normal 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
18
esm/filter.test.js
Normal 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
1
esm/filter.test.js.map
Normal 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
19
esm/freeze.d.ts
vendored
Normal 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
1
esm/freeze.d.ts.map
Normal 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
55
esm/freeze.js
Normal 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
1
esm/freeze.js.map
Normal 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
2
esm/freeze.test.d.ts
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=freeze.test.d.ts.map
|
1
esm/freeze.test.d.ts.map
Normal file
1
esm/freeze.test.d.ts.map
Normal 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
56
esm/freeze.test.js
Normal 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
1
esm/freeze.test.js.map
Normal 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
7
esm/if.d.ts
vendored
Normal 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
1
esm/if.d.ts.map
Normal 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
8
esm/if.js
Normal 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
1
esm/if.js.map
Normal 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
2
esm/if.test.d.ts
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=if.test.d.ts.map
|
1
esm/if.test.d.ts.map
Normal file
1
esm/if.test.d.ts.map
Normal 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
27
esm/if.test.js
Normal 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
1
esm/if.test.js.map
Normal 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
8
esm/ifElse.d.ts
vendored
Normal 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
1
esm/ifElse.d.ts.map
Normal 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
10
esm/ifElse.js
Normal 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
1
esm/ifElse.js.map
Normal 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
2
esm/ifElse.test.d.ts
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=ifElse.test.d.ts.map
|
1
esm/ifElse.test.d.ts.map
Normal file
1
esm/ifElse.test.d.ts.map
Normal 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
38
esm/ifElse.test.js
Normal 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
1
esm/ifElse.test.js.map
Normal 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
43
esm/index.d.ts
vendored
Normal 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
1
esm/index.d.ts.map
Normal 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
41
esm/index.js
Normal 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
1
esm/index.js.map
Normal 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
7
esm/is.d.ts
vendored
Normal 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
1
esm/is.d.ts.map
Normal 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
16
esm/is.js
Normal 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
1
esm/is.js.map
Normal 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
2
esm/is.test.d.ts
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=is.test.d.ts.map
|
1
esm/is.test.d.ts.map
Normal file
1
esm/is.test.d.ts.map
Normal 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
47
esm/is.test.js
Normal 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
1
esm/is.test.js.map
Normal 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
7
esm/map.d.ts
vendored
Normal 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
1
esm/map.d.ts.map
Normal 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
19
esm/map.js
Normal 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
1
esm/map.js.map
Normal 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
2
esm/map.test.d.ts
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=map.test.d.ts.map
|
1
esm/map.test.d.ts.map
Normal file
1
esm/map.test.d.ts.map
Normal 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
44
esm/map.test.js
Normal 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
1
esm/map.test.js.map
Normal 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
13
esm/mapIf.d.ts
vendored
Normal 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
1
esm/mapIf.d.ts.map
Normal 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
14
esm/mapIf.js
Normal 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
1
esm/mapIf.js.map
Normal 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
2
esm/mapIf.test.d.ts
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=mapIf.test.d.ts.map
|
1
esm/mapIf.test.d.ts.map
Normal file
1
esm/mapIf.test.d.ts.map
Normal 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
20
esm/mapIf.test.js
Normal 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
1
esm/mapIf.test.js.map
Normal 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
7
esm/matches.d.ts
vendored
Normal 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
1
esm/matches.d.ts.map
Normal 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
11
esm/matches.js
Normal 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
1
esm/matches.js.map
Normal 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
2
esm/matches.test.d.ts
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=matches.test.d.ts.map
|
1
esm/matches.test.d.ts.map
Normal file
1
esm/matches.test.d.ts.map
Normal 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
10
esm/matches.test.js
Normal 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
1
esm/matches.test.js.map
Normal 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
7
esm/omit.d.ts
vendored
Normal 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
1
esm/omit.d.ts.map
Normal 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
9
esm/omit.js
Normal 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
1
esm/omit.js.map
Normal 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
2
esm/omit.test.d.ts
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=omit.test.d.ts.map
|
1
esm/omit.test.d.ts.map
Normal file
1
esm/omit.test.d.ts.map
Normal 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
16
esm/omit.test.js
Normal 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
1
esm/omit.test.js.map
Normal 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
4
esm/omitBy.d.ts
vendored
Normal 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
1
esm/omitBy.d.ts.map
Normal 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
10
esm/omitBy.js
Normal 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
1
esm/omitBy.js.map
Normal 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
2
esm/omitBy.test.d.ts
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=omitBy.test.d.ts.map
|
1
esm/omitBy.test.d.ts.map
Normal file
1
esm/omitBy.test.d.ts.map
Normal 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
17
esm/omitBy.test.js
Normal 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
1
esm/omitBy.test.js.map
Normal 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
7
esm/pick.d.ts
vendored
Normal 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
1
esm/pick.d.ts.map
Normal 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
9
esm/pick.js
Normal 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
1
esm/pick.js.map
Normal 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
2
esm/pick.test.d.ts
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=pick.test.d.ts.map
|
1
esm/pick.test.d.ts.map
Normal file
1
esm/pick.test.d.ts.map
Normal 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
19
esm/pick.test.js
Normal 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
Loading…
Reference in New Issue
Block a user