Source: tracking/connector/Shell.js

(function() {
    /**
     * @augments Help4.jscore.ControlBase
     * @property {function} callback
     */
    Help4.tracking.connector.Shell = class extends Help4.jscore.ControlBase {
        /**
         * @override
         * @param {Help4.tracking.Tracking.Connector} params
         */
        constructor(params) {
            const {TYPES: T} = Help4.jscore.ControlBase;

            super(params, {
                params: {
                    callback: {type: T.instance, init: Help4.noop, readonly: true}
                }
            });
        }

        /**
         * @param {Help4.tracking.Tracking.Data} data
         * @returns {Promise<void>}
         */
        track(data) {
            this.callback(data);
            return Help4.Promise.resolve();
        }
    }
})();