mirror of
https://github.com/owncast/owncast.git
synced 2024-10-10 19:16:02 +00:00
![dependabot[bot]](/assets/img/avatar_default.png)
* Commit updated Javascript packages * Bump preact from 10.5.4 to 10.5.5 in /build/javascript (#265) * Trying a new github workflow to install javascript packages * Bump tailwindcss from 1.9.2 to 1.9.4 in /build/javascript (#266) Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 1.9.2 to 1.9.4. - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v1.9.2...v1.9.4) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Commit updated Javascript packages * Bump preact from 10.5.4 to 10.5.5 in /build/javascript Bumps [preact](https://github.com/preactjs/preact) from 10.5.4 to 10.5.5. - [Release notes](https://github.com/preactjs/preact/releases) - [Commits](https://github.com/preactjs/preact/compare/10.5.4...10.5.5) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Gabe Kangas <gabek@real-ity.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Owncast <owncast@owncast.online> * Bump @justinribeiro/lite-youtube in /build/javascript Bumps [@justinribeiro/lite-youtube](https://github.com/justinribeiro/lite-youtube) from 0.9.0 to 0.9.1. - [Release notes](https://github.com/justinribeiro/lite-youtube/releases) - [Commits](https://github.com/justinribeiro/lite-youtube/commits) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Owncast <owncast@owncast.online> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Gabe Kangas <gabek@real-ity.com>
121 lines
2.2 KiB
JavaScript
121 lines
2.2 KiB
JavaScript
var minus = "-".charCodeAt(0);
|
|
var plus = "+".charCodeAt(0);
|
|
var dot = ".".charCodeAt(0);
|
|
var exp = "e".charCodeAt(0);
|
|
var EXP = "E".charCodeAt(0);
|
|
|
|
// Check if three code points would start a number
|
|
// https://www.w3.org/TR/css-syntax-3/#starts-with-a-number
|
|
function likeNumber(value) {
|
|
var code = value.charCodeAt(0);
|
|
var nextCode;
|
|
|
|
if (code === plus || code === minus) {
|
|
nextCode = value.charCodeAt(1);
|
|
|
|
if (nextCode >= 48 && nextCode <= 57) {
|
|
return true;
|
|
}
|
|
|
|
var nextNextCode = value.charCodeAt(2);
|
|
|
|
if (nextCode === dot && nextNextCode >= 48 && nextNextCode <= 57) {
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
if (code === dot) {
|
|
nextCode = value.charCodeAt(1);
|
|
|
|
if (nextCode >= 48 && nextCode <= 57) {
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
if (code >= 48 && code <= 57) {
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
// Consume a number
|
|
// https://www.w3.org/TR/css-syntax-3/#consume-number
|
|
module.exports = function(value) {
|
|
var pos = 0;
|
|
var length = value.length;
|
|
var code;
|
|
var nextCode;
|
|
var nextNextCode;
|
|
|
|
if (length === 0 || !likeNumber(value)) {
|
|
return false;
|
|
}
|
|
|
|
code = value.charCodeAt(pos);
|
|
|
|
if (code === plus || code === minus) {
|
|
pos++;
|
|
}
|
|
|
|
while (pos < length) {
|
|
code = value.charCodeAt(pos);
|
|
|
|
if (code < 48 || code > 57) {
|
|
break;
|
|
}
|
|
|
|
pos += 1;
|
|
}
|
|
|
|
code = value.charCodeAt(pos);
|
|
nextCode = value.charCodeAt(pos + 1);
|
|
|
|
if (code === dot && nextCode >= 48 && nextCode <= 57) {
|
|
pos += 2;
|
|
|
|
while (pos < length) {
|
|
code = value.charCodeAt(pos);
|
|
|
|
if (code < 48 || code > 57) {
|
|
break;
|
|
}
|
|
|
|
pos += 1;
|
|
}
|
|
}
|
|
|
|
code = value.charCodeAt(pos);
|
|
nextCode = value.charCodeAt(pos + 1);
|
|
nextNextCode = value.charCodeAt(pos + 2);
|
|
|
|
if (
|
|
(code === exp || code === EXP) &&
|
|
((nextCode >= 48 && nextCode <= 57) ||
|
|
((nextCode === plus || nextCode === minus) &&
|
|
nextNextCode >= 48 &&
|
|
nextNextCode <= 57))
|
|
) {
|
|
pos += nextCode === plus || nextCode === minus ? 3 : 2;
|
|
|
|
while (pos < length) {
|
|
code = value.charCodeAt(pos);
|
|
|
|
if (code < 48 || code > 57) {
|
|
break;
|
|
}
|
|
|
|
pos += 1;
|
|
}
|
|
}
|
|
|
|
return {
|
|
number: value.slice(0, pos),
|
|
unit: value.slice(pos)
|
|
};
|
|
};
|