"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Keybinding = void 0;
var Keybinding;
(function (Keybinding) {
    /**
     * Returns with the string representation of the binding.
     * Any additional properties which are not described on
     * the `Keybinding` API will be ignored.
     *
     * @param binding the binding to stringify.
     */
    function stringify(binding) {
        var copy = {
            command: binding.command,
            keybinding: binding.keybinding,
            context: binding.context,
            when: binding.when,
            args: binding.args
        };
        return JSON.stringify(copy);
    }
    Keybinding.stringify = stringify;
    /* Determine whether object is a KeyBinding */
    // eslint-disable-next-line @typescript-eslint/no-explicit-any
    function is(arg) {
        return !!arg && arg === Object(arg) && 'command' in arg && 'keybinding' in arg;
    }
    Keybinding.is = is;
})(Keybinding = exports.Keybinding || (exports.Keybinding = {}));
//# sourceMappingURL=keybinding.js.map