mirror of
https://github.com/idanoo/GoScrobble
synced 2025-07-16 21:11:52 +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
14
web/node_modules/num2fraction/.editorconfig
generated
vendored
Normal file
14
web/node_modules/num2fraction/.editorconfig
generated
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
# editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
8
web/node_modules/num2fraction/.npmignore
generated
vendored
Normal file
8
web/node_modules/num2fraction/.npmignore
generated
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
.gitignore
|
||||
.travis.yml
|
||||
|
||||
node_modules/
|
||||
test/
|
||||
|
||||
gulpfile.js
|
||||
Gruntfile.js
|
22
web/node_modules/num2fraction/LICENSE
generated
vendored
Normal file
22
web/node_modules/num2fraction/LICENSE
generated
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 PostCSS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
87
web/node_modules/num2fraction/README.md
generated
vendored
Normal file
87
web/node_modules/num2fraction/README.md
generated
vendored
Normal file
|
@ -0,0 +1,87 @@
|
|||
# num2fraction
|
||||
|
||||
[](https://travis-ci.org/yisibl/num2fraction)
|
||||
[](https://www.npmjs.com/package/num2fraction)
|
||||
[](https://www.npmjs.com/package/num2fraction)
|
||||
[](http://opensource.org/licenses/MIT)
|
||||
|
||||
> Converting Number to Fraction with Node.js.
|
||||
|
||||
## Installation
|
||||
|
||||
```console
|
||||
npm install num2fraction
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var π = Math.PI
|
||||
var n2f = require('num2fraction')
|
||||
console.log(n2f(0)) // => 0
|
||||
console.log(n2f(.2)) // => 1/5
|
||||
console.log(n2f(1.1)) // => 11/10
|
||||
console.log(n2f(1.2)) // => 6/5
|
||||
console.log(n2f(1.3)) // => 13/10
|
||||
console.log(n2f(1.4)) // => 7/5
|
||||
console.log(n2f(1.5)) // => 3/2
|
||||
console.log(n2f(2)) // => 2/1
|
||||
console.log(n2f(2.1)) // => 21/10
|
||||
console.log(n2f(3)) // => 3/1
|
||||
console.log(n2f(2.555)) // => 511/200
|
||||
console.log(n2f(8.36)) // => 209/25
|
||||
console.log(n2f('3em')) // => 3/1
|
||||
console.log(n2f('1.5px')) // => 3/2
|
||||
console.log(n2f(7 / 9) // => 7/9
|
||||
console.log(n2f(8 / 9) // => 8/9
|
||||
console.log(n2f(512 / 999) // => 512/999
|
||||
console.log(n2f((2 * π / 3) / π) // => 2/3
|
||||
console.log(n2f((8 * 5) / (4 / 2)) // => 20/1
|
||||
```
|
||||
|
||||
## Example
|
||||
|
||||
Opera [old versions](http://www.opera.com/docs/specs/presto28/css/o-vendor/) support the non-standard `-o-min-device-pixel-ratio` or `-o-max-device-pixel-ratio` in CSS media queries.
|
||||
|
||||
```css
|
||||
@media
|
||||
only screen and (-webkit-min-device-pixel-ratio: 2),
|
||||
only screen and ( min--moz-device-pixel-ratio: 2),
|
||||
only screen and ( -o-min-device-pixel-ratio: 2/1), /* Opera */
|
||||
only screen and ( min-device-pixel-ratio: 2),
|
||||
only screen and ( min-resolution: 192dpi), /* fallback */
|
||||
only screen and ( min-resolution: 2dppx) {
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
## Changelog
|
||||
|
||||
### v1.2.2
|
||||
|
||||
* \+ Remove: Debug log message.
|
||||
|
||||
### v1.2.1
|
||||
|
||||
* \+ Fix: 0 must be converted to a string.
|
||||
|
||||
### v1.2.0
|
||||
|
||||
* \+ Fix: Accomodate rounding errors. (by @jamestalmage)
|
||||
* \+ Fix: The negative sign should be on numerator. (by @jamestalmage)
|
||||
|
||||
### v1.1.0
|
||||
|
||||
* \+ Use more precise (not fixed) precision factor for the calculation
|
||||
|
||||
### v1.0.1
|
||||
|
||||
* \- Remove "ci.testling.com"
|
||||
|
||||
### V1.0.0
|
||||
|
||||
> First release.
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE)
|
48
web/node_modules/num2fraction/index.js
generated
vendored
Normal file
48
web/node_modules/num2fraction/index.js
generated
vendored
Normal file
|
@ -0,0 +1,48 @@
|
|||
'use strict'
|
||||
|
||||
var abs = Math.abs
|
||||
var round = Math.round
|
||||
|
||||
function almostEq(a, b) {
|
||||
return abs(a - b) <= 9.5367432e-7
|
||||
}
|
||||
|
||||
//最大公约数 Greatest Common Divisor
|
||||
function GCD(a, b) {
|
||||
if (almostEq(b, 0)) return a
|
||||
return GCD(b, a % b)
|
||||
}
|
||||
|
||||
function findPrecision(n) {
|
||||
var e = 1
|
||||
|
||||
while (!almostEq(round(n * e) / e, n)) {
|
||||
e *= 10
|
||||
}
|
||||
|
||||
return e
|
||||
}
|
||||
|
||||
function num2fraction(num) {
|
||||
if (num === 0 || num === '0') return '0'
|
||||
|
||||
if (typeof num === 'string') {
|
||||
num = parseFloat(num)
|
||||
}
|
||||
|
||||
|
||||
var precision = findPrecision(num) //精确度
|
||||
var number = num * precision
|
||||
var gcd = abs(GCD(number, precision))
|
||||
|
||||
//分子
|
||||
var numerator = number / gcd
|
||||
//分母
|
||||
var denominator = precision / gcd
|
||||
|
||||
//分数
|
||||
return round(numerator) + '/' + round(denominator)
|
||||
}
|
||||
|
||||
module.exports = num2fraction
|
||||
|
31
web/node_modules/num2fraction/package.json
generated
vendored
Normal file
31
web/node_modules/num2fraction/package.json
generated
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"name": "num2fraction",
|
||||
"version": "1.2.2",
|
||||
"description": "Convert number to fraction",
|
||||
"main": "index.js",
|
||||
"author": {
|
||||
"name": "yisi",
|
||||
"email": "yiorsi@gmail.com",
|
||||
"url": "http://iyunlu.com/view"
|
||||
},
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:yisibl/num2fraction.git"
|
||||
},
|
||||
"keywords": [
|
||||
"fraction",
|
||||
"number",
|
||||
"math",
|
||||
"maths",
|
||||
"arithmetic",
|
||||
"gcd",
|
||||
"rational"
|
||||
],
|
||||
"devDependencies": {
|
||||
"tape": "^3.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tape test/*.js"
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue