license /**
 * A cached reference to the hasOwnProperty function.
 */ const hasOwnProperty = Object . prototype . hasOwnProperty ; /**
 * A constructor function that will create blank objects.
 */ function Blank ( ) { } Blank . prototype = Object . create ( null ) ; param map param property return function has ( map , property ) { return hasOwnProperty . call ( map , property ) ; } returns function createMap ( ) { return new ( Blank as any ) ( ) ; } param arr param length function truncateArray ( arr , length ) { while ( arr . length > length ) { arr . pop ( ) ; } } param initialAllocationSize returns function createArray < T > ( initialAllocationSize ) { const arr = new Array ( initialAllocationSize ) ; truncateArray ( arr , 0 ) ; return arr ; } export { createArray , createMap , has , truncateArray } ;