Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import { range } from "linq-to-typescript"
const primeNumbers = range(2, 10000)
.select((i) => [i, Math.floor(Math.sqrt(i))])
.where(([i, iSq]) =>
range(2, iSq).all((j) => i % j !== 0))
.select(([prime]) => prime)
.toArray()
async function asyncIterable() {
for await (const i of range(0, 10).selectAsync(async (x) => x * 2)) {
console.log(i)
}
}
asyncIterable()
console.log(primeNumbers)
async function asyncIterable() {
for await (const i of range(0, 10).selectAsync(async (x) => x * 2)) {
console.log(i)
}
}
function asParallel(type: ParallelGeneratorType, values: T[]): IParallelEnumerable {
const generator1 = () =>
values.map((value) => new Promise((resolve) => setTimeout(() => resolve(value), 10)))
const generator2 = () =>
new Promise((resolve) => setTimeout(() => resolve([... values]), 10))
const generator3 = async () =>
await generator1()
switch (type) {
case ParallelGeneratorType.ArrayOfPromises:
return fromParallel(type, generator1)
case ParallelGeneratorType.PromiseToArray:
return fromParallel(type, generator2)
case ParallelGeneratorType.PromiseOfPromises:
default:
return fromParallel(type, generator3)
}
}
function asParallel(type: ParallelGeneratorType, values: T[]): IParallelEnumerable {
const generator1 = () =>
values.map((value) => new Promise((resolve) => setTimeout(() => resolve(value), 10)))
const generator2 = () =>
new Promise((resolve) => setTimeout(() => resolve([... values]), 10))
const generator3 = async () =>
await generator1()
switch (type) {
case ParallelGeneratorType.ArrayOfPromises:
return fromParallel(type, generator1)
case ParallelGeneratorType.PromiseToArray:
return fromParallel(type, generator2)
case ParallelGeneratorType.PromiseOfPromises:
default:
return fromParallel(type, generator3)
}
}
function asParallel(type: ParallelGeneratorType, values: T[]): IParallelEnumerable {
const generator1 = () =>
values.map((value) => new Promise((resolve) => setTimeout(() => resolve(value), 10)))
const generator2 = () =>
new Promise((resolve) => setTimeout(() => resolve([... values]), 10))
const generator3 = async () =>
await generator1()
switch (type) {
case ParallelGeneratorType.ArrayOfPromises:
return fromParallel(type, generator1)
case ParallelGeneratorType.PromiseToArray:
return fromParallel(type, generator2)
case ParallelGeneratorType.PromiseOfPromises:
default:
return fromParallel(type, generator3)
}
}
.where(([i, iSq]) =>
range(2, iSq).all((j) => i % j !== 0))
.select(([prime]) => prime)
function asParallel(type: ParallelGeneratorType, values: T[]): IParallelEnumerable {
const generator1 = () =>
values.map((value) => new Promise((resolve) => setTimeout(() => resolve(value), 10)))
const generator2 = () =>
new Promise((resolve) => setTimeout(() => resolve([... values]), 10))
const generator3 = async () =>
await generator1()
switch (type) {
case ParallelGeneratorType.ArrayOfPromises:
return fromParallel(type, generator1)
case ParallelGeneratorType.PromiseToArray:
return fromParallel(type, generator2)
case ParallelGeneratorType.PromiseOfPromises:
default:
return fromParallel(type, generator3)
}
}
const a = (x: T[]) => asParallel(ParallelGeneratorType.ArrayOfPromises, x)
const b = (x: T[]) => asParallel(ParallelGeneratorType.PromiseOfPromises, x)
const c = (x: T[]) => asParallel(ParallelGeneratorType.PromiseToArray, x)
function asParallel(type: ParallelGeneratorType, values: T[]): IParallelEnumerable {
const generator1 = () =>
values.map((value) => new Promise((resolve) => setTimeout(() => resolve(value), 10)))
const generator2 = () =>
new Promise((resolve) => setTimeout(() => resolve([... values]), 10))
const generator3 = async () =>
await generator1()
switch (type) {
case ParallelGeneratorType.ArrayOfPromises:
return fromParallel(type, generator1)
case ParallelGeneratorType.PromiseToArray:
return fromParallel(type, generator2)
case ParallelGeneratorType.PromiseOfPromises:
default:
return fromParallel(type, generator3)
}
}