series-processing
Version:
Time-series processing for forex, market analysis, including MA, EMA,...
103 lines (95 loc) • 3.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
/**
* Add 2 series
*
* <output series> = <input 1 series> + <input 2 series>
* OR
* <output series> = <input 1 series> + <number>
*/
var add = exports.add = function add(outputKey, inputKey1, inputKey2) {
return function (record) {
if (typeof record === 'undefined') {
return null;
}
return _defineProperty({}, outputKey, (isNaN(inputKey1) ? record[inputKey1] || 0 : inputKey1) + (isNaN(inputKey2) ? record[inputKey2] || 0 : inputKey2));
};
};
/**
* Subtract 2 series
*
* <output series> = <input 1 series> - <input 2 series>
* OR
* <output series> = <input 1 series> - <number>
*/
var subt = exports.subt = function subt(outputKey, inputKey1, inputKey2) {
return function (record) {
if (typeof record === 'undefined') {
return null;
}
return _defineProperty({}, outputKey, (isNaN(inputKey1) ? record[inputKey1] || 0 : inputKey1) - (isNaN(inputKey2) ? record[inputKey2] || 0 : inputKey2));
};
};
/**
* Multiply 2 series
*
* <output series> = <input 1 series> * <input 2 series>
* OR
* <output series> = <input 1 series> * <number>
*/
var mult = exports.mult = function mult(outputKey, inputKey1, inputKey2) {
return function (record) {
if (typeof record === 'undefined') {
return null;
}
return _defineProperty({}, outputKey, (isNaN(inputKey1) ? record[inputKey1] || 0 : inputKey1) * (isNaN(inputKey2) ? record[inputKey2] || 0 : inputKey2));
};
};
/**
* Divide 2 series
*
* <output series> = <input 1 series> / <input 2 series>
* OR
* <output series> = <input 1 series> / <number>
*/
var div = exports.div = function div(outputKey, inputKey1, inputKey2) {
return function (record) {
if (typeof record === 'undefined') {
return null;
}
return _defineProperty({}, outputKey, (isNaN(inputKey1) ? record[inputKey1] || 0 : inputKey1) / (isNaN(inputKey2) ? record[inputKey2] || 0 : inputKey2));
};
};
/**
* Modular 2 series
*
* <output series> = <input 1 series> % <input 2 series>
* OR
* <output series> = <input 1 series> % <number>
*/
var mod = exports.mod = function mod(outputKey, inputKey1, inputKey2) {
return function (record) {
if (typeof record === 'undefined') {
return null;
}
return _defineProperty({}, outputKey, (isNaN(inputKey1) ? record[inputKey1] || 0 : inputKey1) % (isNaN(inputKey2) ? record[inputKey2] || 0 : inputKey2));
};
};
/**
* Pow 2 series
*
* <output series> = <input 1 series> * <input 2 series>
* OR
* <output series> = <input 1 series> * <number>
*/
var pow = exports.pow = function pow(outputKey, inputKey1, inputKey2) {
return function (record) {
if (typeof record === 'undefined') {
return null;
}
return _defineProperty({}, outputKey, Math.pow(isNaN(inputKey1) ? record[inputKey1] || 0 : inputKey1, isNaN(inputKey2) ? record[inputKey2] || 0 : inputKey2));
};
};