mirror of
https://github.com/idanoo/GoScrobble
synced 2025-07-01 21:52:19 +00:00
0.2.0 - Mid migration
This commit is contained in:
parent
139e6a915e
commit
7e38fdbd7d
42393 changed files with 5358157 additions and 62 deletions
82
web/node_modules/postcss-convert-values/dist/lib/convert.js
generated
vendored
Normal file
82
web/node_modules/postcss-convert-values/dist/lib/convert.js
generated
vendored
Normal file
|
@ -0,0 +1,82 @@
|
|||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
exports.default = function (number, unit, { time, length, angle }) {
|
||||
let value = dropLeadingZero(number) + (unit ? unit : '');
|
||||
let converted;
|
||||
|
||||
if (length !== false && unit.toLowerCase() in lengthConv) {
|
||||
converted = transform(number, unit, lengthConv);
|
||||
}
|
||||
|
||||
if (time !== false && unit.toLowerCase() in timeConv) {
|
||||
converted = transform(number, unit, timeConv);
|
||||
}
|
||||
|
||||
if (angle !== false && unit.toLowerCase() in angleConv) {
|
||||
converted = transform(number, unit, angleConv);
|
||||
}
|
||||
|
||||
if (converted && converted.length < value.length) {
|
||||
value = converted;
|
||||
}
|
||||
|
||||
return value;
|
||||
};
|
||||
|
||||
const lengthConv = {
|
||||
in: 96,
|
||||
px: 1,
|
||||
pt: 4 / 3,
|
||||
pc: 16
|
||||
};
|
||||
|
||||
const timeConv = {
|
||||
s: 1000,
|
||||
ms: 1
|
||||
};
|
||||
|
||||
const angleConv = {
|
||||
turn: 360,
|
||||
deg: 1
|
||||
};
|
||||
|
||||
function dropLeadingZero(number) {
|
||||
const value = String(number);
|
||||
|
||||
if (number % 1) {
|
||||
if (value[0] === '0') {
|
||||
return value.slice(1);
|
||||
}
|
||||
|
||||
if (value[0] === '-' && value[1] === '0') {
|
||||
return '-' + value.slice(2);
|
||||
}
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
function transform(number, unit, conversion) {
|
||||
const lowerCasedUnit = unit.toLowerCase();
|
||||
let one, base;
|
||||
let convertionUnits = Object.keys(conversion).filter(u => {
|
||||
if (conversion[u] === 1) {
|
||||
one = u;
|
||||
}
|
||||
return lowerCasedUnit !== u;
|
||||
});
|
||||
|
||||
if (lowerCasedUnit === one) {
|
||||
base = number / conversion[lowerCasedUnit];
|
||||
} else {
|
||||
base = number * conversion[lowerCasedUnit];
|
||||
}
|
||||
|
||||
return convertionUnits.map(u => dropLeadingZero(base / conversion[u]) + u).reduce((a, b) => a.length < b.length ? a : b);
|
||||
}
|
||||
|
||||
module.exports = exports['default'];
|
Loading…
Add table
Add a link
Reference in a new issue