source/index.js
function protect_proto(parsed_query_object) {
        const unsafe_keys = Object.getOwnPropertyNames(Object.prototype);
        const safe_query_object = Object.assign({}, parsed_query_object);
        for (const key of unsafe_keys) {
            '__proto__' !== key // __proto__ is ignored by javascript
                && undefined !== safe_query_object[key]
                && safe_query_object[key] !== Object.prototype[key]
                && protect_prop(key)
                ; // eslint-disable-line indent
        }
        return safe_query_object;

        // -----------

        function protect_prop(key) {
            safe_query_object[ `$$$${ key }` ] = safe_query_object[key];
            delete safe_query_object[key];
            return true;
        }
    }
function protect_proto(parsed_query_object) {
        const unsafe_keys = Object.getOwnPropertyNames(Object.prototype);
        const safe_query_object = Object.assign({}, parsed_query_object);
        for (const key of unsafe_keys) {
            '__proto__' !== key // __proto__ is ignored by javascript
                && undefined !== safe_query_object[key]
                && safe_query_object[key] !== Object.prototype[key]
                && protect_prop(key)
                ; // eslint-disable-line indent
        }
        return safe_query_object;

        // -----------

        function protect_prop(key) {
            safe_query_object[ `$$$${ key }` ] = safe_query_object[key];
            delete safe_query_object[key];
            return true;
        }
    }
-----------