swc/bundler/tests/.cache/deno/30c84d7c3fe94bbcb5fab74ab49f850c573889bd.ts
강동윤 bbaf619f63
fix(bundler): Fix bugs (#1437)
swc_bundler:
 - [x] Fix wrapped esms. (denoland/deno#9307)
 - [x] Make test secure.
2021-03-02 17:33:03 +09:00

27 lines
648 B
TypeScript

// Loaded from https://deno.land/x/once/index.js
/// <reference types="./index.d.ts" />
/**
* Create a function that calls and cache a function once
* @template Return
* @param {() => Return} fn Function to be invoked once
* @returns {() => Return} Function that returns result of first-time execution of `fn`
*
* @example
* import once from 'https://ksxgithub.github.io/deno-once/index.js'
* const ran = once(Math.random)
* console.log(ran() === ran()) // => true
*/
export function once (fn) {
let main = () => {
const value = fn()
main = () => value
return value
}
return () => main()
}
export default once