Socket
Socket
Sign inDemoInstall

@mikuroxina/mini-fn

Package Overview
Dependencies
0
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 5.5.1 to 5.6.0

esm/src/map.d.ts

2

esm/mod.d.ts

@@ -22,2 +22,3 @@ import "./_dnt.polyfills.js";

export * as List from "./src/list.js";
export * as Map from "./src/map.js";
export * as Number from "./src/number.js";

@@ -32,2 +33,3 @@ export * as Optical from "./src/optical.js";

export * as MonadReader from "./src/reader/monad.js";
export * as Record from "./src/record.js";
export * as Result from "./src/result.js";

@@ -34,0 +36,0 @@ export * as Reverse from "./src/reverse.js";

@@ -22,2 +22,3 @@ import "./_dnt.polyfills.js";

export * as List from "./src/list.js";
export * as Map from "./src/map.js";
export * as Number from "./src/number.js";

@@ -32,2 +33,3 @@ export * as Optical from "./src/optical.js";

export * as MonadReader from "./src/reader/monad.js";
export * as Record from "./src/record.js";
export * as Result from "./src/result.js";

@@ -34,0 +36,0 @@ export * as Reverse from "./src/reverse.js";

@@ -146,2 +146,9 @@ import type { Get1, Hkt1 } from "./hkt.js";

/**
* Creates a new list with a finite iterable object.
*
* @param iterable - The finite iterable object such as `Array` or `Map`.
* @returns The list of items from the iterable.
*/
export declare const fromIterable: <T>(iterable: Iterable<T>) => List<T>;
/**
* Concatenates two lists.

@@ -148,0 +155,0 @@ *

18

esm/src/list.js
import { cat } from "./cat.js";
import * as Option from "./option.js";
import { isNone } from "./option.js";
import { andThen } from "./ordering.js";

@@ -11,4 +12,5 @@ import { liftA2 } from "./type-class/applicative.js";

export const partialEquality = (equalityT) => {
const self = (l, r) => Option.partialEq(equalityT).eq(l.current(), r.current()) &&
self(l.rest(), r.rest());
const self = (l, r) => (isNone(l.current()) && isNone(r.current())) ||
(Option.partialEq(equalityT).eq(l.current(), r.current()) &&
self(l.rest(), r.rest()));
return self;

@@ -18,4 +20,5 @@ };

export const equality = (equalityT) => {
const self = (l, r) => Option.eq(equalityT).eq(l.current(), r.current()) &&
self(l.rest(), r.rest());
const self = (l, r) => (isNone(l.current()) && isNone(r.current())) ||
(Option.eq(equalityT).eq(l.current(), r.current()) &&
self(l.rest(), r.rest()));
return self;

@@ -167,2 +170,9 @@ };

/**
* Creates a new list with a finite iterable object.
*
* @param iterable - The finite iterable object such as `Array` or `Map`.
* @returns The list of items from the iterable.
*/
export const fromIterable = (iterable) => fromArray([...iterable]);
/**
* Concatenates two lists.

@@ -169,0 +179,0 @@ *

@@ -109,7 +109,7 @@ import { newPrism, newPrismSimple } from "./optical/prism.js";

};
export const partialEquality = (equalityT) => (optA, optB) => (isSome(optA) && isSome(optB) && equalityT.eq(optA[1], optB[1])) ||
(isNone(optA) && isNone(optB));
export const partialEquality = (equalityT) => (optA, optB) => (isNone(optA) && isNone(optB)) ||
(isSome(optA) && isSome(optB) && equalityT.eq(optA[1], optB[1]));
export const partialEq = fromPartialEquality(partialEquality);
export const equality = (equalityT) => (optA, optB) => (isSome(optA) && isSome(optB) && equalityT.eq(optA[1], optB[1])) ||
(isNone(optA) && isNone(optB));
export const equality = (equalityT) => (optA, optB) => (isNone(optA) && isNone(optB)) ||
(isSome(optA) && isSome(optB) && equalityT.eq(optA[1], optB[1]));
export const eq = fromEquality(equality);

@@ -116,0 +116,0 @@ export const partialCmp = (order) => (l, r) => {

@@ -5,3 +5,3 @@ {

"name": "@mikuroxina/mini-fn",
"version": "5.5.1",
"version": "5.6.0",
"description": "The minimal functional programming library.",

@@ -8,0 +8,0 @@ "license": "Apache-2.0",

@@ -22,2 +22,3 @@ import "./_dnt.polyfills.js";

export * as List from "./src/list.js";
export * as Map from "./src/map.js";
export * as Number from "./src/number.js";

@@ -32,2 +33,3 @@ export * as Optical from "./src/optical.js";

export * as MonadReader from "./src/reader/monad.js";
export * as Record from "./src/record.js";
export * as Result from "./src/result.js";

@@ -34,0 +36,0 @@ export * as Reverse from "./src/reverse.js";

@@ -26,3 +26,4 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.Zipper = exports.Yoneda = exports.Writer = exports.TypeClass = exports.TupleN = exports.Tuple = exports.Trans = exports.These = exports.Tagged = exports.String = exports.ComonadStore = exports.Store = exports.MonadWriter = exports.StateMonad = exports.State = exports.Star = exports.FingerTree = exports.Seq = exports.Reverse = exports.Result = exports.MonadReader = exports.Reader = exports.MonadPromise = exports.Promise = exports.Predicate = exports.Ordering = exports.Option = exports.Optical = exports.Number = exports.List = exports.Lazy = exports.Kleisli = exports.Identity = exports.Hkt = exports.Func = exports.Frozen = exports.MonadFree = exports.Free = exports.Dual = exports.Curry = exports.Coyoneda = exports.MonadCont = exports.Cont = exports.Const = exports.ComonadCofree = exports.Cofree = exports.Cat = exports.Bool = exports.Array = void 0;
exports.Yoneda = exports.Writer = exports.TypeClass = exports.TupleN = exports.Tuple = exports.Trans = exports.These = exports.Tagged = exports.String = exports.ComonadStore = exports.Store = exports.MonadWriter = exports.StateMonad = exports.State = exports.Star = exports.FingerTree = exports.Seq = exports.Reverse = exports.Result = exports.Record = exports.MonadReader = exports.Reader = exports.MonadPromise = exports.Promise = exports.Predicate = exports.Ordering = exports.Option = exports.Optical = exports.Number = exports.Map = exports.List = exports.Lazy = exports.Kleisli = exports.Identity = exports.Hkt = exports.Func = exports.Frozen = exports.MonadFree = exports.Free = exports.Dual = exports.Curry = exports.Coyoneda = exports.MonadCont = exports.Cont = exports.Const = exports.ComonadCofree = exports.Cofree = exports.Cat = exports.Bool = exports.Array = void 0;
exports.Zipper = void 0;
require("./_dnt.polyfills.js");

@@ -49,2 +50,3 @@ exports.Array = __importStar(require("./src/array.js"));

exports.List = __importStar(require("./src/list.js"));
exports.Map = __importStar(require("./src/map.js"));
exports.Number = __importStar(require("./src/number.js"));

@@ -59,2 +61,3 @@ exports.Optical = __importStar(require("./src/optical.js"));

exports.MonadReader = __importStar(require("./src/reader/monad.js"));
exports.Record = __importStar(require("./src/record.js"));
exports.Result = __importStar(require("./src/result.js"));

@@ -61,0 +64,0 @@ exports.Reverse = __importStar(require("./src/reverse.js"));

@@ -146,2 +146,9 @@ import type { Get1, Hkt1 } from "./hkt.js";

/**
* Creates a new list with a finite iterable object.
*
* @param iterable - The finite iterable object such as `Array` or `Map`.
* @returns The list of items from the iterable.
*/
export declare const fromIterable: <T>(iterable: Iterable<T>) => List<T>;
/**
* Concatenates two lists.

@@ -148,0 +155,0 @@ *

@@ -26,6 +26,7 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.unzip = exports.zipWith = exports.zip4 = exports.zip3 = exports.zip = exports.init = exports.reverse = exports.tail = exports.last = exports.head = exports.scanL = exports.flatMap = exports.concatMap = exports.concat = exports.build = exports.length = exports.toString = exports.foldR1 = exports.foldR = exports.foldL1 = exports.foldL = exports.fromReduce = exports.fromOption = exports.fromArray = exports.fromString = exports.digits = exports.range = exports.successors = exports.repeat = exports.repeatWith = exports.appendToTail = exports.appendToHead = exports.plus = exports.singleton = exports.singletonWith = exports.empty = exports.map = exports.either = exports.unCons = exports.toArray = exports.toIterator = exports.isNull = exports.ord = exports.cmp = exports.partialOrd = exports.partialCmp = exports.eq = exports.equality = exports.partialEq = exports.partialEquality = void 0;
exports.reduce = exports.traversable = exports.monad = exports.functor = exports.monoid = exports.choices = exports.applyCartesian = exports.tupleCartesian = exports.cartesianProduct = exports.diagonal = exports.diagonals = exports.filter = exports.group = exports.groupBy = exports.stripPrefix = exports.spanNot = exports.span = exports.dropWhileEnd = exports.dropWhile = exports.takeWhile = exports.elemIndices = exports.findIndices = exports.elemIndex = exports.findIndex = exports.atMay = exports.replicate = exports.splitAt = exports.drop = exports.take = exports.unfoldR = exports.permutations = exports.subsequences = exports.subsequencesExceptEmpty = exports.interleaveTwoWay = exports.interleave = exports.transpose = exports.intercalate = exports.intersperse = void 0;
exports.zipWith = exports.zip4 = exports.zip3 = exports.zip = exports.init = exports.reverse = exports.tail = exports.last = exports.head = exports.scanL = exports.flatMap = exports.concatMap = exports.concat = exports.build = exports.length = exports.toString = exports.foldR1 = exports.foldR = exports.foldL1 = exports.foldL = exports.fromReduce = exports.fromOption = exports.fromArray = exports.fromString = exports.digits = exports.range = exports.successors = exports.repeat = exports.repeatWith = exports.appendToTail = exports.appendToHead = exports.plus = exports.fromIterable = exports.singleton = exports.singletonWith = exports.empty = exports.map = exports.either = exports.unCons = exports.toArray = exports.toIterator = exports.isNull = exports.ord = exports.cmp = exports.partialOrd = exports.partialCmp = exports.eq = exports.equality = exports.partialEq = exports.partialEquality = void 0;
exports.reduce = exports.traversable = exports.monad = exports.functor = exports.monoid = exports.choices = exports.applyCartesian = exports.tupleCartesian = exports.cartesianProduct = exports.diagonal = exports.diagonals = exports.filter = exports.group = exports.groupBy = exports.stripPrefix = exports.spanNot = exports.span = exports.dropWhileEnd = exports.dropWhile = exports.takeWhile = exports.elemIndices = exports.findIndices = exports.elemIndex = exports.findIndex = exports.atMay = exports.replicate = exports.splitAt = exports.drop = exports.take = exports.unfoldR = exports.permutations = exports.subsequences = exports.subsequencesExceptEmpty = exports.interleaveTwoWay = exports.interleave = exports.transpose = exports.intercalate = exports.intersperse = exports.unzip = void 0;
const cat_js_1 = require("./cat.js");
const Option = __importStar(require("./option.js"));
const option_js_1 = require("./option.js");
const ordering_js_1 = require("./ordering.js");

@@ -39,4 +40,5 @@ const applicative_js_1 = require("./type-class/applicative.js");

const partialEquality = (equalityT) => {
const self = (l, r) => Option.partialEq(equalityT).eq(l.current(), r.current()) &&
self(l.rest(), r.rest());
const self = (l, r) => ((0, option_js_1.isNone)(l.current()) && (0, option_js_1.isNone)(r.current())) ||
(Option.partialEq(equalityT).eq(l.current(), r.current()) &&
self(l.rest(), r.rest()));
return self;

@@ -47,4 +49,5 @@ };

const equality = (equalityT) => {
const self = (l, r) => Option.eq(equalityT).eq(l.current(), r.current()) &&
self(l.rest(), r.rest());
const self = (l, r) => ((0, option_js_1.isNone)(l.current()) && (0, option_js_1.isNone)(r.current())) ||
(Option.eq(equalityT).eq(l.current(), r.current()) &&
self(l.rest(), r.rest()));
return self;

@@ -208,2 +211,10 @@ };

/**
* Creates a new list with a finite iterable object.
*
* @param iterable - The finite iterable object such as `Array` or `Map`.
* @returns The list of items from the iterable.
*/
const fromIterable = (iterable) => (0, exports.fromArray)([...iterable]);
exports.fromIterable = fromIterable;
/**
* Concatenates two lists.

@@ -210,0 +221,0 @@ *

@@ -119,8 +119,8 @@ "use strict";

exports.toArray = toArray;
const partialEquality = (equalityT) => (optA, optB) => ((0, exports.isSome)(optA) && (0, exports.isSome)(optB) && equalityT.eq(optA[1], optB[1])) ||
((0, exports.isNone)(optA) && (0, exports.isNone)(optB));
const partialEquality = (equalityT) => (optA, optB) => ((0, exports.isNone)(optA) && (0, exports.isNone)(optB)) ||
((0, exports.isSome)(optA) && (0, exports.isSome)(optB) && equalityT.eq(optA[1], optB[1]));
exports.partialEquality = partialEquality;
exports.partialEq = (0, partial_eq_js_1.fromPartialEquality)(exports.partialEquality);
const equality = (equalityT) => (optA, optB) => ((0, exports.isSome)(optA) && (0, exports.isSome)(optB) && equalityT.eq(optA[1], optB[1])) ||
((0, exports.isNone)(optA) && (0, exports.isNone)(optB));
const equality = (equalityT) => (optA, optB) => ((0, exports.isNone)(optA) && (0, exports.isNone)(optB)) ||
((0, exports.isSome)(optA) && (0, exports.isSome)(optB) && equalityT.eq(optA[1], optB[1]));
exports.equality = equality;

@@ -127,0 +127,0 @@ exports.eq = (0, eq_js_1.fromEquality)(exports.equality);

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc