Skip to content

Commit 5f7d5d6

Browse files
authored
chore: associate fn.name with logging (#611)
1 parent c13e129 commit 5f7d5d6

File tree

2 files changed

+22
-12
lines changed

2 files changed

+22
-12
lines changed

packages/browserless/src/index.js

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,28 +78,30 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
7878

7979
const getBrowserContext = () => _contextPromise
8080

81-
const createPage = async () => {
81+
const createPage = async name => {
8282
const [browserProcess, browserContext] = await Promise.all([
8383
getBrowser(),
8484
getBrowserContext()
8585
])
8686
const page = await browserContext.newPage()
8787
debug('createPage', {
88+
name,
8889
id: page._client().id(),
8990
contextId: browserContext.id,
9091
browserPid: driver.pid(browserProcess)
9192
})
9293
return page
9394
}
9495

95-
const closePage = async page => {
96+
const closePage = async (page, name) => {
9697
if (page && !page.isClosed()) {
9798
const [browserProcess, browserContext] = await Promise.all([
9899
getBrowser(),
99100
getBrowserContext(),
100101
pReflect(page.close())
101102
])
102103
debug('closePage', {
104+
name,
103105
id: page._client().id(),
104106
contextId: browserContext.id,
105107
browserPid: driver.pid(browserProcess)
@@ -116,13 +118,13 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
116118
let page
117119

118120
try {
119-
page = await createPage(args)
120-
setTimeout(() => closePage(page), timeout).unref()
121+
page = await createPage(fn.name)
122+
setTimeout(() => closePage(page, fn.name), timeout).unref()
121123
const value = await fn(page, goto)(...args)
122-
await closePage(page)
124+
await closePage(page, fn.name)
123125
return value
124126
} catch (error) {
125-
await closePage(page)
127+
await closePage(page, fn.name)
126128
if (!isRejected) throw ensureError(error)
127129
}
128130
}
@@ -152,10 +154,17 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
152154

153155
const evaluate = (fn, gotoOpts) =>
154156
withPage(
155-
(page, goto) => async (url, opts) => {
156-
const { response, error } = await goto(page, { url, ...gotoOpts, ...opts })
157-
return fn(page, response, error)
158-
},
157+
Object.defineProperty(
158+
(page, goto) => async (url, opts) => {
159+
const { response, error } = await goto(page, { url, ...gotoOpts, ...opts })
160+
return fn(page, response, error)
161+
},
162+
'name',
163+
{
164+
value: fn.name || 'evaluate',
165+
writable: false
166+
}
167+
),
159168
gotoOpts
160169
)
161170

packages/screenshot/src/index.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ const waitForElement = async (page, element) => {
4848
module.exports = ({ goto, ...gotoOpts }) => {
4949
goto = goto || createGoto(gotoOpts)
5050

51-
return page =>
52-
async (
51+
return function screenshot (page) {
52+
return async (
5353
url,
5454
{
5555
element,
@@ -120,4 +120,5 @@ module.exports = ({ goto, ...gotoOpts }) => {
120120
? screenshot
121121
: overlay(screenshot, { ...opts, ...overlayOpts, viewport: page.viewport() })
122122
}
123+
}
123124
}

0 commit comments

Comments
 (0)