UNPKG

mapql

Version:

A MongoDB inspired ES6 Map() query langauge.

26 lines (24 loc) 909 B
/*! * A MongoDB inspired ES6 Map() query language. - Copyright (c) 2017 Louis T. (https://lou.ist/) * Licensed under the MIT license https://raw.githubusercontent.com/LouisT/MapQL/master/LICENSE */ 'use strict'; let Helpers = require('../../Helpers'); module.exports = { '$pop': { fn: function (key, val, entry) { if (Helpers.is(entry.value, 'Object')) { Helpers.dotNotation(key, entry.value, { value: (current) => { if (Array.isArray(current)) { current[(val == -1 ? 'pop' : 'shift')](); } return (current !== Helpers._null ? current : []); } }); } else if (Helpers.is(entry.value, 'Array')) { entry.value[(val == -1 ? 'pop' : 'shift')](); } } } };