mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-09 21:28:43 +08:00
This reverts commit 1e08ee816b.
Reason for revert: tree is closed due to errors https://ci.chromium.org/ui/p/devtools-frontend/builders/ci/Stand-alone%20Linux/8169/overview
Original change's description:
> Update stylelint to 14.0.1
>
> This also upgrades PostCSS to 8.3.11.
>
> DISABLE_THIRD_PARTY_CHECK=Updating Stylelint configuration
> R=szuend@chromium.org
>
> Bug: none
> Change-Id: I606540b03509d7c6e73f3d490327cd4174e03d31
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3259541
> Reviewed-by: Simon Zünd <szuend@chromium.org>
> Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Bug: none
Change-Id: Icb1c02b41dbccc3b4fc5760f5dd0b78eca078b61
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3263399
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Alex Rudenko <alexrudenko@chromium.org>
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
65 lines
1.3 KiB
JavaScript
65 lines
1.3 KiB
JavaScript
'use strict'
|
||
|
||
var slice = [].slice
|
||
|
||
module.exports = wrap
|
||
|
||
// Wrap `fn`.
|
||
// Can be sync or async; return a promise, receive a completion handler, return
|
||
// new values and errors.
|
||
function wrap(fn, callback) {
|
||
var invoked
|
||
|
||
return wrapped
|
||
|
||
function wrapped() {
|
||
var params = slice.call(arguments, 0)
|
||
var callback = fn.length > params.length
|
||
var result
|
||
|
||
if (callback) {
|
||
params.push(done)
|
||
}
|
||
|
||
try {
|
||
result = fn.apply(null, params)
|
||
} catch (error) {
|
||
// Well, this is quite the pickle.
|
||
// `fn` received a callback and invoked it (thus continuing the pipeline),
|
||
// but later also threw an error.
|
||
// We’re not about to restart the pipeline again, so the only thing left
|
||
// to do is to throw the thing instead.
|
||
if (callback && invoked) {
|
||
throw error
|
||
}
|
||
|
||
return done(error)
|
||
}
|
||
|
||
if (!callback) {
|
||
if (result && typeof result.then === 'function') {
|
||
result.then(then, done)
|
||
} else if (result instanceof Error) {
|
||
done(result)
|
||
} else {
|
||
then(result)
|
||
}
|
||
}
|
||
}
|
||
|
||
// Invoke `next`, only once.
|
||
function done() {
|
||
if (!invoked) {
|
||
invoked = true
|
||
|
||
callback.apply(null, arguments)
|
||
}
|
||
}
|
||
|
||
// Invoke `done` with one value.
|
||
// Tracks if an error is passed, too.
|
||
function then(value) {
|
||
done(null, value)
|
||
}
|
||
}
|