/** * Resolve a field key (ex: "members.user") * into a list of key path "members[0].user". * * @param {Mixed} value * @param {String} field * @return {List<KeyPath>} keyPaths */ resolveFieldPath(value, field) { const { valueType } = this; const parts = fieldPath.split(field); const part = parts.shift(); const next = fieldPath.join(...parts); const innerValue = value.get(part); if (is.undef(innerValue)) { return List(); } return valueType.resolveFieldPath(innerValue, next) .map(path => fieldPath.join(field, path)); }
if (is.undef(innerValue)) { return List();