• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

microlinkhq / browserless / 15132629720

20 May 2025 08:26AM CUT coverage: 85.158%. First build
15132629720

Pull #615

github

web-flow
Merge 9fa660b6e into ed927a9e3
Pull Request #615: chore: use null-prototype-object

219 of 254 branches covered (86.22%)

Branch coverage included in aggregate %.

2 of 2 new or added lines in 1 file covered. (100.0%)

1158 of 1363 relevant lines covered (84.96%)

2714.43 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

98.04
/packages/function/src/index.js
1
'use strict'
1✔
2

1✔
3
const { isBrowserlessError, ensureError } = require('@browserless/errors')
1✔
4
const requireOneOf = require('require-one-of')
1✔
5
const runFunction = require('./function')
1✔
6

1✔
7
const stringify = fn => fn.toString().trim().replace(/;$/, '')
1✔
8

1✔
9
module.exports =
1✔
10
  (
1✔
11
    fn,
14✔
12
    {
14✔
13
      getBrowserless = requireOneOf(['browserless']),
14✔
14
      retry = 2,
14✔
15
      timeout = 30000,
14✔
16
      gotoOpts,
14✔
17
      ...opts
14✔
18
    } = {}
14✔
19
  ) =>
14✔
20
    async (url, fnOpts = {}) => {
14✔
21
      const browserlessPromise = getBrowserless()
14✔
22
      const browser = await browserlessPromise
14✔
23
      const browserless = await browser.createContext()
14✔
24

14✔
25
      return browserless.withPage((page, goto) => async () => {
14✔
26
        const { device } = await goto(page, { url, timeout, ...gotoOpts })
14✔
27
        const result = await runFunction({
14✔
28
          url,
14✔
29
          code: stringify(fn),
14✔
30
          browserWSEndpoint: (await browserless.browser()).wsEndpoint(),
14✔
31
          device,
14✔
32
          ...opts,
14✔
33
          ...fnOpts
14✔
34
        })
14✔
35

14✔
36
        if (result.isFulfilled) return result
14✔
37
        const error = ensureError(result.value)
1✔
38
        if (isBrowserlessError(error)) throw error
14!
39
        return result
1✔
40
      })()
14✔
41
    }
14✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc