mirror of
https://github.com/graycoreio/github-actions-magento2.git
synced 2026-06-19 06:41:20 +00:00
23 lines
778 B
TypeScript
23 lines
778 B
TypeScript
import { Kind } from './types';
|
|
|
|
/**
|
|
* Type guard for the `kind` input. Use this when you have an
|
|
* `unknown` value (e.g. from `core.getInput`) and want to narrow it
|
|
* without throwing.
|
|
*/
|
|
export const isKind = (value: unknown): value is Kind =>
|
|
value === 'store' || value === 'extension';
|
|
|
|
/**
|
|
* Narrows an `unknown` (typically the raw action input) to `Kind` or
|
|
* throws a user-facing error naming the accepted values. Prefer this
|
|
* at the action boundary so a bad `kind` fails fast with a clear
|
|
* message rather than later as an obscure dispatch miss.
|
|
*/
|
|
export const assertKind = (value: unknown): Kind => {
|
|
if (!isKind(value)) {
|
|
throw new Error(`check-config: \`kind\` must be 'store' or 'extension' (got ${JSON.stringify(value)})`);
|
|
}
|
|
return value;
|
|
}
|