@roots/bud-api
Version:
bud.js core module
26 lines (25 loc) • 1.04 kB
JavaScript
import { BudError } from '@roots/bud-support/errors';
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 const alias = function (...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);
};