@set-theory/cartesian-product

    2.0.2 • Public • Published

    ✖️ @set-theory/cartesian-product

    Cartesian product for JavaScript. See docs.

    ⚠️ Depending on your environment, the code may require regeneratorRuntime to be defined, for instance by importing regenerator-runtime/runtime.

    import { product } from '@set-theory/cartesian-product' ;
    product( [ "ABCD" , "xy" ] , 1 ) ; // Ax Ay Bx By Cx Cy Dx Dy
    
    import { range } from '@iterable-iterator/range' ;
    product( [ range( 2 ) ] , 3 ) ; // 000 001 010 011 100 101 110 111
    
    product( [ range( 4 ) , range( 4 ) ] ) ; // 00 01 02 03 10 11 12 13 20 21 ...
    
    import { diagonal } from '@set-theory/cartesian-product' ;
    diagonal( range( 4 ) , range( 4 ) ) ; // 00 01 10 02 11 20 03 12 21 30 ...
    
    import { count } from '@iterable-iterator/count' ;
    product( [count( ), count( )] ) ; // Loops forever without yielding. DO NOT DO THIS
    diagonal( count( ), count( ) ) ; // 00 01 10 02 11 20 03 12 21 30 ...
    import { _product } from '@set-theory/cartesian-product' ;
    _product( [count( ), count( )], 0, 2 ) ; // 00 01 02 03 04 05 06 07 08 09 ...

    License Version Tests Dependencies Dev dependencies GitHub issues Downloads

    Code issues Code maintainability Code coverage (cov) Code technical debt Documentation Package size

    Install

    npm i @set-theory/cartesian-product

    DownloadsWeekly Downloads

    20

    Version

    2.0.2

    License

    AGPL-3.0

    Unpacked Size

    480 kB

    Total Files

    14

    Last publish

    Collaborators

    • raskat
    • aureooms