gecko-dev/devtools/shared/validate-breakpoint.sys.mjs

41 строка
1.2 KiB
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/**
* Given a breakpoint location object, throws if the breakpoint look invalid
*/
export function validateBreakpointLocation({
sourceUrl,
sourceId,
line,
column,
}) {
if (!sourceUrl && !sourceId) {
throw new Error(
`Breakpoints expect to have either a sourceUrl or a sourceId.`
);
}
if (sourceUrl && typeof sourceUrl != "string") {
throw new Error(
`Breakpoints expect to have sourceUrl string, got ${typeof sourceUrl} instead.`
);
}
// sourceId may be undefined for some sources keyed by URL
if (sourceId && typeof sourceId != "string") {
throw new Error(
`Breakpoints expect to have sourceId string, got ${typeof sourceId} instead.`
);
}
if (typeof line != "number") {
throw new Error(
`Breakpoints expect to have line number, got ${typeof line} instead.`
);
}
if (typeof column != "number") {
throw new Error(
`Breakpoints expect to have column number, got ${typeof column} instead.`
);
}
}