Skip to content

Instantly share code, notes, and snippets.

@basarat
Created January 29, 2016 01:27
Show Gist options
  • Save basarat/660bd0727f97b460d1e2 to your computer and use it in GitHub Desktop.
Save basarat/660bd0727f97b460d1e2 to your computer and use it in GitHub Desktop.
type PaddingUnit = number | string;
export function padding(all: PaddingUnit);
export function padding(topAndBottom: PaddingUnit, leftAndRight: PaddingUnit);
export function padding(top: PaddingUnit, right: PaddingUnit, bottom: PaddingUnit, left: PaddingUnit);
export function padding(a: PaddingUnit, b?: PaddingUnit, c?: PaddingUnit, d?: PaddingUnit) {
if (!b && !c && !d) {
b = c = d = a;
}
else if (!c && !d) {
c = a;
d = b;
}
return {
paddingTop: _toString(a),
paddingRight: _toString(b),
paddingBottom: _toString(c),
paddingLeft: _toString(d)
};
}
function _toString(value: PaddingUnit) {
if (typeof value === 'number') {
return value.toString() + 'px';
}
else {
return value.toString();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment