Notably, this gets us `@actions/github` 6.0.1, which is necessary for `github.context.runAttempt` (so I have also updated `package.json` accordingly). On that note... great job following semver, GitHub! Between this and the non-breaking major version change on `@actions/cache`, I'm starting to feel like nobody on the Actions team understands how software versioning works.
38 lines
1.3 KiB
JavaScript
38 lines
1.3 KiB
JavaScript
// Copyright 2021-2025 Buf Technologies, Inc.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
export class PluginOptionError extends Error {
|
|
constructor(option, reason) {
|
|
const detail = reason !== undefined ? reasonToString(reason) : "";
|
|
super(detail.length > 0
|
|
? `invalid option "${option}": ${detail}`
|
|
: `invalid option "${option}"`);
|
|
this.name = "PluginOptionError";
|
|
}
|
|
}
|
|
export function reasonToString(reason) {
|
|
if (reason instanceof Error) {
|
|
return reason.message;
|
|
}
|
|
if (typeof reason === "string") {
|
|
return reason;
|
|
}
|
|
return String(reason);
|
|
}
|
|
export function isPluginOptionError(arg) {
|
|
if (!(arg instanceof Error)) {
|
|
return false;
|
|
}
|
|
return arg.name === "PluginOptionError";
|
|
}
|