1. 2
    1. 2

      I am confused what problem this is solving. You say:

      Currently there isn’t a way to create an array by pre-setting its length and an optional filling value that is both straightforward and safe.

      https://github.com/jfet97/arraymake#motivation

      then you follow with describing safe as being able to create a 2 dimensional array by value instead of reference. but that can already be done a few ways:

      const d1 = 5;
      const d2 = 2;
      Array.from({length: d1}, () => []);
      Array.from(Array(d1), () => Array(d2));
      Array(d1).fill(null).map(() => Array(d2));
      

      https://stackoverflow.com/questions/966225/-/49201210

      and while they could be more straightforward, they are all one line. So it seems this is just sugar. I am not totally against that, but if youre going to do sugar, why not just do:

      const two_dim = (d1, d2) => {
         return Array.from(Array(d1), () => Array(d2));
      };
      

      instead of the 60 lines here:

      https://github.com/jfet97/arraymake/blob/master/src/functional.js