@bffr/tools
Advanced tools
Comparing version 0.0.3 to 0.0.4
declare type CSSInput = REM | PX; | ||
declare type REM = `${number}rem` | `${number} rem`; | ||
declare type PX = `${number}px` | `${number} px`; | ||
declare type CSSUnitType = 'rem' | 'px'; | ||
export declare function CSSUnit<T extends CSSInput>(input: T, base?: number): number & { | ||
value: number; | ||
type: string; | ||
type: CSSUnitType; | ||
base: number; | ||
@@ -14,2 +15,12 @@ rem: number; | ||
}; | ||
export declare function createCSSUnit(value: number, type: CSSUnitType, base?: number): number & { | ||
value: number; | ||
type: CSSUnitType; | ||
base: number; | ||
rem: number; | ||
px: number; | ||
} & { | ||
valueOf: () => number; | ||
toString: () => string; | ||
}; | ||
export {}; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.CSSUnit = void 0; | ||
exports.createCSSUnit = exports.CSSUnit = void 0; | ||
function CSSUnit(input, base = 16) { | ||
const [value, type] = [ | ||
Number(input.replace(/([^.0-9])/g, '')), | ||
input.replace(/[^pxrem]/g, ''), | ||
input.toLowerCase().replace(/[^pxrem]/g, ''), | ||
]; | ||
return createCSSUnit(value, type, base); | ||
} | ||
exports.CSSUnit = CSSUnit; | ||
function createCSSUnit(value, type, base = 16) { | ||
const [rem, px] = type === 'rem' ? [value, value * base] : [value / base, value]; | ||
return Object.assign(Number(value), { value, type, base, rem, px }, { valueOf: () => value, toString: () => `${value}${type}` }); | ||
} | ||
exports.CSSUnit = CSSUnit; | ||
exports.createCSSUnit = createCSSUnit; | ||
//# sourceMappingURL=cssunit.js.map |
{ | ||
"name": "@bffr/tools", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"description": "Hammers, saws, and more pure function tools.", | ||
@@ -5,0 +5,0 @@ "main": "./dist/index.js", |
type CSSInput = REM | PX; | ||
type REM = `${number}rem` | `${number} rem`; | ||
type PX = `${number}px` | `${number} px`; | ||
type CSSUnitType = 'rem' | 'px'; | ||
export function CSSUnit<T extends CSSInput>(input: T, base: number = 16) { | ||
export function CSSUnit<T extends CSSInput>(input: T, base = 16) { | ||
const [value, type] = [ | ||
Number(input.replace(/([^.0-9])/g, '')), | ||
input.replace(/[^pxrem]/g, ''), | ||
input.toLowerCase().replace(/[^pxrem]/g, ''), | ||
]; | ||
return createCSSUnit(value, type as CSSUnitType, base); | ||
} | ||
export function createCSSUnit(value: number, type: CSSUnitType, base = 16) { | ||
const [rem, px] = | ||
@@ -12,0 +17,0 @@ type === 'rem' ? [value, value * base] : [value / base, value]; |
Sorry, the diff of this file is not supported yet
51738
1151