Manual Reference Source Test

src/typedef.jsdoc

/**
*  A dotted key is useful to quickly access a subset of data
*  stored into the ObjectArray as if it was still a
*  vanilla `Object`.
*  Basically, a dotted key is constructed like a chain of property
*  for an object.
*
*  @typedef {String} dottedKey
*
*  @example
*  // Create an ObjectArray with subdata
*  var oa = new ObjectArray({
*    set1: {
*      subset1: 'foo',
*      subset2: {
*        subsub1: 'bar',
*        subsub2: 'baz'
*      }
*    }
*  });
*
*  oa.pull('set1.subset1'); // returns 'foo'
*  oa.pull('set1.subset1.subsub2'); // returns 'baz'
*
*/

/**
*  The function passed as a callback in a {@link forEach} iteration.
*
*  Four arguments will be provided to the callback :
*  1. `value` {{@link Object}}  : Value stored in the current iteration key
*  2. `key` {{@link String}}  : Current key in iteration
*  3. `index` {{@link Object}}  : Current index in iteration
*  4. `path` {{@link Object}|{@link undefined}}  : Path to the key
*  It will be `undefined` if the key is at first level
*
*  @typedef {Function} ForEachCallback
*/

/**
*  The function passed as a callback in a {@link reduce} iteration.
*
*  Four arguments will be provided to the callback :
*  1. `acc` {{@link Object}}  : Recursive accumulator value
*  2. `value` {{@link Object}}  : Value stored in the current iteration key
*  2. `key` {{@link String}}  : Current key in iteration
*  4. `path` {{@link Object}|{@link undefined}}  : Path to the key
*  It will be `undefined` if the key is at first level
*
*  @typedef {Function} ReducerCallback
*/

/**
*  Returned object by getset
*
*  @typedef {Object} GetSetObject
*  @property {number|string|array|object} get Value returned by the getter
*  @property  {boolean} set `true` if setter mode or `false`
*/