Namespace Pot.Complex
Defined in: <pot.js>.
| Constructor Attributes | Constructor Name and Description |
|---|---|
|
Complex.
|
| Method Attributes | Method Name and Description |
|---|---|
| <static> |
Pot.Complex.compareVersions(ver1, ver2, (operator))
Compare two version strings.
|
| <static> |
Pot.Complex.convertToBase(value, from, to)
Convert to the base 2 to 62 string from the base x string.
|
| <static> |
Pot.Complex.limit(x, min, max)
Return the value that limited in the range of
maximum value from minimum value.
|
| <static> |
Pot.Complex.numeric(value, (defaults))
Cast the value to numerical value.
|
Method Detail
<static>
{Function}
Pot.Complex.compareVersions(ver1, ver2, (operator))
Compare two version strings.
Version strings are dot-separated sequences of
version-parts.
Numbers are base-10, and are zero if left out.
Strings are compared basic
textual versions (e.g., "beta" and "alpha" etc.).
function compareVersionsRepr(a, b) {
var x = compareVersions(a, b);
if (x == 0) {
return a + ' == ' + b;
} else if (x > 0) {
return a + ' > ' + b;
} else {
return a + ' < ' + b;
}
}
debug(compareVersionsRepr('1.0pre', '1.0'));
// @results '1.0pre < 1.0'
debug(compareVersions('8.2.5rc', '8.2.5a'));
// @results 1
debug(compareVersions('8.2.50', '8.2.52'));
// @results -1
debug(compareVersions('5.3.0-dev', '5.3.0'));
// @results -1
debug(compareVersions('4.1.0.52', '4.01.0.51'));
// @results 1
debug(compareVersions('1.01a', '1.01'));
// @results -1
debug(compareVersions('1.0.0', '1.0.00'));
// @results 0
debug(compareVersions('2.1.0', '2.0.0', '<'));
// @results false
debug(compareVersions('2.1.0', '2.0.0', '>'));
// @results true
debug(compareVersions('2.1.0a', '2.1.0a', '=='));
// @results true
- Parameters:
- {String|Number} ver1
- The first version.
- {String|Number} ver2
- The second version.
- {String} (operator)
- (Optional) Comparison operator.
- Returns:
- {Number} If `ver1` and `ver2` are two version being compared, and the return value: - is smaller than 0, then A < B. - equals 0 then Version, then A == B. - is bigger than 0, then A > B.
<static>
{Function}
Pot.Complex.convertToBase(value, from, to)
Convert to the base 2 to 62 string from the base x string.
That can work for big scale integers.
The maximum base number is 62.
The base number '0' will be not converted.
var value = 'FFFFFFFF'; var result = convertToBase(value, 16, 10); debug(result); // @results result = '4294967295'
var value = '9223372036854775807'; var result = convertToBase(value, 10, 16); debug(result); // @results result = '7FFFFFFFFFFFFFFF'
var value = '11010100010011011010011101111' +
'10110011001101101100111001101';
var result = convertToBase(value, 2, 62);
debug(result);
// @results result = 'HelloWorld'
- Parameters:
- {Number|String} value
- the numeric or alphameric value.
- {Number} from
- the base number is in.
- {Number} to
- the base to convert number to.
- Returns:
- {String} the numbers of result which was converted to base to base.
<static>
{Function}
Pot.Complex.limit(x, min, max)
Return the value that limited in the range of
maximum value from minimum value.
var result = limit(5, 10, 50); debug(result); // @results 10
var result = limit(80, 10, 50); debug(result); // @results 50
var result = limit(5, 2, 8); debug(result); // @results 5
var result = limit(-5, -10, -50); debug(result); // @results -10
var result = limit(-80, -10, -50); debug(result); // @results -50
var result = limit('F', 'A', 'C');
debug(result);
// @results 'C'
var result = limit('b', 'a', 'z');
debug(result);
// @results 'b'
var result = limit(1, 2, 4, 5, 10, 20); debug(result); // @results 2
var result = limit(100, 2, 4, 5, 10, 20); debug(result); // @results 20
- Parameters:
- {Number|String|*} x
- A target value.
- {Number|String|*} min
- The minimum value, or maximum value.
- {Number|String|*} max
- The maximum value, or minimum value.
- Returns:
- {Number|String|*} The value in the range of `max` from `min`.
<static>
{Function}
Pot.Complex.numeric(value, (defaults))
Cast the value to numerical value.
All type of object can be convert.
debug(numeric(0)); // 0
debug(numeric(1234567890)); // 1234567890
debug(numeric(new Number(25))); // 25
debug(numeric(null)); // 0
debug(numeric((void 0))); // 0
debug(numeric(true)); // 1
debug(numeric(false)); // 0
debug(numeric('abc')); // 2748
debug(numeric('0xFF')); // 255
debug(numeric('1e8')); // 100000000
debug(numeric('10px')); // 10
debug(numeric('1,000,000ms.')); // 1000000
debug(numeric('-512 +1')); // -512
debug(numeric([])); // 0
debug(numeric(['hoge'])); // 1
debug(numeric(new Date())); // 1323446177282
- Parameters:
- {String|*} value
- The target value to convert numeric value.
- {Number} (defaults)
- The default value if `value` is not numeric.
- Returns:
- {Number} Return the numeric value.