@nex-ui/system
Version:
A lightweight and performant styling library based on Emotion, focusing on component architecture and developer experience.
27 lines (24 loc) • 824 B
JavaScript
import { __DEV__, isString } from '@nex-ui/utils';
import { isValidAliasValue } from './utils.mjs';
function createAliases(aliases) {
const aliasMap = new Map();
for(const key in aliases){
// istanbul ignore if
if (!Object.hasOwn(aliases, key)) continue;
const value = aliases[key];
if (!isValidAliasValue(value)) {
if (__DEV__) {
console.error('[Nex UI] system: Expect the alias value to be a CSSProperty or CSSProperty[], but what is currently received is %o.', value);
}
continue;
}
aliasMap.set(key, isString(value) ? [
value
] : value);
}
return {
getPropertiesByAlias: (key)=>aliasMap.get(key),
isAlias: (key)=>aliasMap.has(key)
};
}
export { createAliases };