@bbn/bbn 1.0.348 → 1.0.350

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,7 +35,8 @@
35
35
  * @param {Array} arr The subject array
36
36
  * @param {(String|Object|Function)} prop A property's name or a filter object or function
37
37
  * @param {*} val The value with which comparing the given property
38
- * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare
38
+ * @param {Number|false|String} operator The operator to use for comparison with the value as used in bbn.fn.compare
39
+ * @param {Number|false} from The index to start from, if false the search starts from the end
39
40
  * @returns {Object|Boolean} The item if found, false otherwise
40
41
  */
41
- export default function getRow(arr: any[], prop: object | string, val?: any, operator?: string): any | false;
42
+ export default function getRow(arr: any[], prop: object | string, val?: any, operator?: number | false | string, from?: false | number): any | false;
@@ -36,13 +36,15 @@ import search from './search.js';
36
36
  * @param {Array} arr The subject array
37
37
  * @param {(String|Object|Function)} prop A property's name or a filter object or function
38
38
  * @param {*} val The value with which comparing the given property
39
- * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare
39
+ * @param {Number|false|String} operator The operator to use for comparison with the value as used in bbn.fn.compare
40
+ * @param {Number|false} from The index to start from, if false the search starts from the end
40
41
  * @returns {Object|Boolean} The item if found, false otherwise
41
42
  */
42
- export default function getRow(arr, prop, val, operator) {
43
+ export default function getRow(arr, prop, val, operator, from) {
43
44
  if (val === void 0) { val = null; }
44
45
  if (operator === void 0) { operator = '='; }
45
- var idx = search(arr, prop, val, operator);
46
+ if (from === void 0) { from = 0; }
47
+ var idx = search(arr, prop, val, operator, from);
46
48
  if (idx > -1) {
47
49
  return arr[idx];
48
50
  }
@@ -94,7 +94,7 @@ import { Filter } from './filterToConditions.js';
94
94
  * @param {(String|Object|Function)} prop A property's name or a filter object or function
95
95
  * @param {*} val The value with which comparing the given property
96
96
  * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare
97
- * @param {Number} startFrom The index from which the search should start
97
+ * @param {Number|false} startFrom The index from which the search should start
98
98
  * @returns {Number} The index if found, otherwise -1
99
99
  */
100
100
  export default function search(arr: any[], prop: Filter | object | string | ((a: any, i: string | number | symbol) => boolean), val?: any, operator?: number | false | string, startFrom?: number | false): number;
@@ -98,7 +98,7 @@ import numProperties from './numProperties.js';
98
98
  * @param {(String|Object|Function)} prop A property's name or a filter object or function
99
99
  * @param {*} val The value with which comparing the given property
100
100
  * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare
101
- * @param {Number} startFrom The index from which the search should start
101
+ * @param {Number|false} startFrom The index from which the search should start
102
102
  * @returns {Number} The index if found, otherwise -1
103
103
  */
104
104
  export default function search(arr, prop, val, operator, startFrom) {
@@ -140,7 +140,7 @@ export default function search(arr, prop, val, operator, startFrom) {
140
140
  };
141
141
  }
142
142
  else {
143
- startFrom = typeof (operator) === 'number' ? operator : 0;
143
+ startFrom = (typeof operator === 'number') || (operator === false) ? operator : 0;
144
144
  operator = val;
145
145
  if (isObject(prop)) {
146
146
  filter = prop;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bbn/bbn",
3
- "version": "1.0.348",
3
+ "version": "1.0.350",
4
4
  "description": "Javascript toolkit",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",