New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

functionalscript

Package Overview
Dependencies
Maintainers
1
Versions
453
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

functionalscript - npm Package Compare versions

Comparing version 0.0.166 to 0.0.167

function/index.js

42

async/iterable/index.js

@@ -1,3 +0,3 @@

const { pipe } = require('../../func')
const mr = require('../../map-reduce')
const { pipe } = require('../../function')
const seq = require('../../sequence')

@@ -17,6 +17,6 @@ /**

* @template T
* @typedef {Iterable<T> | AsyncIterable<T>} AnyIterator
* @typedef {Iterable<T> | AsyncIterable<T>} AnyIterable
*/
/** @type {<T, R>(f: (value: T) => PromiseOrValue<R>) => (c: AnyIterator<T>) => AsyncIterable<R>} */
/** @type {<T, R>(f: (value: T) => PromiseOrValue<R>) => (c: AnyIterable<T>) => AsyncIterable<R>} */
const map = f => c => ({

@@ -30,3 +30,3 @@ async *[Symbol.asyncIterator]() {

/** @type {<T>(c: AnyIterator<AnyIterator<T>>) => AsyncIterable<T>} */
/** @type {<T>(c: AnyIterable<AnyIterable<T>>) => AsyncIterable<T>} */
const flatten = c => ({

@@ -40,3 +40,3 @@ async *[Symbol.asyncIterator]() {

/** @type {<T>(f: (value: T) => Promise<boolean>) => (c: AnyIterator<T>) => AnyIterator<T>} */
/** @type {<T>(f: (value: T) => Promise<boolean>) => (c: AnyIterable<T>) => AnyIterable<T>} */
const filter = f => c => ({

@@ -52,3 +52,3 @@ async *[Symbol.asyncIterator]() {

/** @type {<T, R>(f: (value: T) => AnyIterator<R>) => (c: AnyIterator<T>) => AsyncIterable<R>} */
/** @type {<T, R>(f: (value: T) => AnyIterable<R>) => (c: AnyIterable<T>) => AsyncIterable<R>} */
const flatMap = f => pipe(map(f))(flatten)

@@ -62,3 +62,3 @@

/** @type {<A, T>(merge: Merge<A, T>) => (init: A) => (c: AnyIterator<T>) => Promise<A>} */
/** @type {<A, T>(merge: Merge<A, T>) => (init: A) => (c: AnyIterable<T>) => Promise<A>} */
const reduce = merge => init => async c => {

@@ -72,3 +72,3 @@ let result = init

/** @type {<T>(a: AnyIterator<T>) => (b: AnyIterator<T>) => AsyncIterable<T>} */
/** @type {<T>(a: AnyIterable<T>) => (b: AnyIterable<T>) => AsyncIterable<T>} */
const concat = a => b => ({

@@ -81,3 +81,3 @@ async *[Symbol.asyncIterator]() {

/** @type {<A, T>(merg: Merge<A, T>) => (init: A) => (c: AnyIterator<T>) => AsyncIterable<A>} */
/** @type {<A, T>(merg: Merge<A, T>) => (init: A) => (c: AnyIterable<T>) => AsyncIterable<A>} */
const exclusiveScan = merge => init => c => ({

@@ -93,13 +93,25 @@ async *[Symbol.asyncIterator]() {

/** @type {<A, T>(merge: Merge<A, T>) => (init: A) => (c: AnyIterator<T>) => AsyncIterable<A>} */
/** @type {<T, R>(es: seq.ExlusiveScan<T, R>) => (c: AnyIterable<T>) => AsyncIterable<R>} */
const applyExclusiveScan = es => c => ({
async *[Symbol.asyncIterator]() {
let ies = es
for await (const i of c) {
const result = ies(i)
ies = result[1]
yield result[0]
}
}
})
/** @type {<A, T>(merge: Merge<A, T>) => (init: A) => (c: AnyIterable<T>) => AsyncIterable<A>} */
const inclusiveScan = merge => init => c => concat([init])(exclusiveScan(merge)(init)(c))
/** @type {<I, S, R>(op: mr.Operation<I, S, R>) => (_: AnyIterator<I>) => Promise<R>} */
/** @type {<I, S, R>(op: seq.Operation<I, S, R>) => (_: AnyIterable<I>) => Promise<R>} */
const apply = ({ merge, init, result }) => async c => result(await reduce(merge)(init)(c))
const sum = apply(mr.sum)
const sum = apply(seq.sum)
const join = pipe(mr.join)(apply)
const join = pipe(seq.join)(apply)
const size = apply(mr.size)
const size = apply(seq.size)

@@ -106,0 +118,0 @@ module.exports = {

@@ -1,3 +0,3 @@

const { pipe } = require('../func')
const mr = require('../map-reduce')
const { pipe } = require('../function')
const seq = require('../sequence')

@@ -41,3 +41,3 @@ /**

/** @type {<T, R>(es: mr.ExlusiveScan<T, R>) => (c: Iterable<T>) => Iterable<R>} */
/** @type {<T, R>(es: seq.ExlusiveScan<T, R>) => (c: Iterable<T>) => Iterable<R>} */
const applyExclusiveScan = es => c => ({

@@ -54,12 +54,12 @@ *[Symbol.iterator]() {

const entries = applyExclusiveScan(mr.entries)
const entries = applyExclusiveScan(seq.entries)
/** @type {<I, S, R>(op: mr.Operation<I, S, R>) => (_: Iterable<I>) => R} */
/** @type {<I, S, R>(op: seq.Operation<I, S, R>) => (_: Iterable<I>) => R} */
const apply = ({ merge, init, result }) => pipe(reduce(merge)(init))(result)
const sum = apply(mr.sum)
const sum = apply(seq.sum)
const size = apply(mr.size)
const size = apply(seq.size)
const join = pipe(mr.join)(apply)
const join = pipe(seq.join)(apply)

@@ -66,0 +66,0 @@ /** @type {<T, R>(f: (value: T) => R) => (c: Iterable<T>) => Iterable<R>} */

const i = require('.')
const { pipe } = require('../func')
const { pipe } = require('../function')

@@ -4,0 +4,0 @@ {

const array = require('../array')
const { pipe } = require('../func')
const { pipe } = require('../function')
const option = require('../option')

@@ -41,3 +41,3 @@ const { head, last, splitLast, splitFirst } = array

/** @type {import('../map-reduce').Operation<string, undefined|Path, undefined|Path>} */
/** @type {import('../sequence').Operation<string, undefined|Path, undefined|Path>} */
const pathNormReduce = {

@@ -44,0 +44,0 @@ merge: path => item =>

{
"name": "functionalscript",
"version": "0.0.166",
"version": "0.0.167",
"description": "FunctionalScript is a functional subset of JavaScript",

@@ -5,0 +5,0 @@ "main": "index.js",

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc