CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
memoize.mjs38 linesDownload Raw Back to util
1export const memoize = ( fn, keyFn ) => {2  if( !keyFn ){3    keyFn = function(){4      if( arguments.length === 1 ){5        return arguments[0];6      } else if( arguments.length === 0 ){7        return 'undefined';8      }9 10      let args = [];11 12      for( let i = 0; i < arguments.length; i++ ){13        args.push( arguments[ i ] );14      }15 16      return args.join( '$' );17    };18  }19 20  let memoizedFn = function(){21    let self = this;22    let args = arguments;23    let ret;24    let k = keyFn.apply( self, args );25    let cache = memoizedFn.cache;26 27    if( !(ret = cache[ k ]) ){28      ret = cache[ k ] = fn.apply( self, args );29    }30 31    return ret;32  };33 34  memoizedFn.cache = {};35 36  return memoizedFn;37};38 
basant307/AI_Governance_Project · CoolFace