Innovenergy_trunk/frontend/node_modules/monocle-ts/es6/Index/NonEmptyArray.js

25 lines
640 B
JavaScript
Raw Permalink Normal View History

/**
* @since 1.5.0
*/
import { Index, Optional } from '..';
import { updateAt } from 'fp-ts/es6/NonEmptyArray';
import { lookup } from 'fp-ts/es6/Array';
import { isNone } from 'fp-ts/es6/Option';
/**
* @category constructor
* @since 1.5.0
*/
export function indexNonEmptyArray() {
return new Index(function (i) {
return new Optional(function (s) { return lookup(i, s); }, function (a) { return function (nea) {
var onea = updateAt(i, a)(nea);
if (isNone(onea)) {
return nea;
}
else {
return onea.value;
}
}; });
});
}