UNPKG

@roots/bud-api

Version:

bud.js core module

45 lines (35 loc) 1.2 kB
import type {Bud} from '@roots/bud-framework' import {BudError} from '@roots/bud-support/errors' import type {Parameters} from './types.js' import {handleCallback} from './handleCallback.js' import {handleRecords} from './handleRecords.js' import {handleSignifierValuePair} from './handleSignifierValuePair.js' import {isCallback} from './isCallback.js' import {isRecords} from './isRecords.js' import {isSignifier} from './isSignifier.js' import {isValue} from './isValue.js' export type {Parameters} export interface alias { (...parameters: Parameters): Bud } export const alias: alias = function (this: Bud, ...input) { if (isCallback(input[0])) { const [callback] = input return handleCallback(this, callback) } if (isRecords(input[0])) { const [records] = input return handleRecords(this, records) } if (!isSignifier(input[0])) throw new BudError( `bud.alias received invalid input. param[0] must be a string.`, ) if (!isValue(input[1])) { throw new BudError( `bud.alias received invalid input. param[1] must be a string.`, ) } const [signifier, value] = input return handleSignifierValuePair(this, signifier, value) }