Begin rust rewrite
This commit is contained in:
parent
0dc8c22491
commit
dfcbd9cecf
22 changed files with 23822 additions and 1096 deletions
333
js/browser.js
Normal file
333
js/browser.js
Normal file
|
@ -0,0 +1,333 @@
|
|||
/*!
|
||||
* uevent (v2.2.0)
|
||||
* @copyright 2015-2022 Damien "Mistic" Sorel <contact@git.strangeplanet.fr>
|
||||
* @licence MIT
|
||||
*/
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
||||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.uEvent = {}));
|
||||
})(this, (function (exports) { 'use strict';
|
||||
|
||||
var returnTrue = function returnTrue() {
|
||||
return true;
|
||||
};
|
||||
|
||||
var returnFalse = function returnFalse() {
|
||||
return false;
|
||||
};
|
||||
|
||||
var Event = /*#__PURE__*/function () {
|
||||
/**
|
||||
* @param {*} target
|
||||
* @param {String} type
|
||||
* @param {Array} args
|
||||
*/
|
||||
function Event(target, type, args) {
|
||||
Object.defineProperties(this, {
|
||||
'target': {
|
||||
get: function get() {
|
||||
return target;
|
||||
},
|
||||
set: function set() {},
|
||||
enumerable: true
|
||||
},
|
||||
'type': {
|
||||
get: function get() {
|
||||
return type;
|
||||
},
|
||||
set: function set() {},
|
||||
enumerable: true
|
||||
},
|
||||
'args': {
|
||||
get: function get() {
|
||||
return args;
|
||||
},
|
||||
set: function set() {},
|
||||
enumerable: true
|
||||
}
|
||||
});
|
||||
this.isDefaultPrevented = returnFalse;
|
||||
this.isPropagationStopped = returnFalse;
|
||||
}
|
||||
|
||||
var _proto = Event.prototype;
|
||||
|
||||
_proto.preventDefault = function preventDefault() {
|
||||
this.isDefaultPrevented = returnTrue;
|
||||
};
|
||||
|
||||
_proto.stopPropagation = function stopPropagation() {
|
||||
this.isPropagationStopped = returnTrue;
|
||||
};
|
||||
|
||||
return Event;
|
||||
}();
|
||||
|
||||
var Event_1 = Event;
|
||||
|
||||
/**
|
||||
* @typedef {Object.<String, Function>} Callbacks
|
||||
*/
|
||||
|
||||
var EventEmitter = /*#__PURE__*/function () {
|
||||
function EventEmitter() {}
|
||||
|
||||
var _proto = EventEmitter.prototype;
|
||||
|
||||
/**
|
||||
* Add one or many event handlers
|
||||
*
|
||||
* @example
|
||||
* obj.on('event', callback)
|
||||
* obj.on('event', listener) // listener has an `handleEvent` method
|
||||
* obj.on('event1 event2', callback)
|
||||
* obj.on({ event1: callback1, event2: callback2 })
|
||||
*
|
||||
* @param {String|Callbacks} events
|
||||
* @param {Function} [callback]
|
||||
* @return {this}
|
||||
*/
|
||||
_proto.on = function on(events, callback) {
|
||||
var _this = this;
|
||||
|
||||
this.__events = this.__events || {};
|
||||
|
||||
if (typeof events === 'object') {
|
||||
for (var event in events) {
|
||||
if (events.hasOwnProperty(event)) {
|
||||
this.__events[event] = this.__events[event] || [];
|
||||
|
||||
this.__events[event].push(events[event]);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
events.split(' ').forEach(function (event) {
|
||||
_this.__events[event] = _this.__events[event] || [];
|
||||
|
||||
_this.__events[event].push(callback);
|
||||
});
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* Remove one or many or all event handlers
|
||||
*
|
||||
* @example
|
||||
* obj.off('event')
|
||||
* obj.off('event', callback)
|
||||
* obj.off('event1 event2')
|
||||
* obj.off({ event1: callback1, event2: callback2 })
|
||||
* obj.off()
|
||||
*
|
||||
* @param {String|Callbacks} [events]
|
||||
* @param {Function} [callback]
|
||||
* @return {this}
|
||||
*/
|
||||
;
|
||||
|
||||
_proto.off = function off(events, callback) {
|
||||
var _this2 = this;
|
||||
|
||||
if (typeof events === 'object') {
|
||||
for (var event in events) {
|
||||
if (events.hasOwnProperty(event)) {
|
||||
if (this.__events && event in this.__events) {
|
||||
var index = this.__events[event].indexOf(events[event]);
|
||||
|
||||
if (index !== -1) this.__events[event].splice(index, 1);
|
||||
}
|
||||
|
||||
if (this.__once && event in this.__once) {
|
||||
var _index = this.__once[event].indexOf(events[event]);
|
||||
|
||||
if (_index !== -1) this.__once[event].splice(_index, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (!!events) {
|
||||
events.split(' ').forEach(function (event) {
|
||||
if (_this2.__events && event in _this2.__events) {
|
||||
if (callback) {
|
||||
var _index2 = _this2.__events[event].indexOf(callback);
|
||||
|
||||
if (_index2 !== -1) _this2.__events[event].splice(_index2, 1);
|
||||
} else {
|
||||
_this2.__events[event].length = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (_this2.__once && event in _this2.__once) {
|
||||
if (callback) {
|
||||
var _index3 = _this2.__once[event].indexOf(callback);
|
||||
|
||||
if (_index3 !== -1) _this2.__once[event].splice(_index3, 1);
|
||||
} else {
|
||||
_this2.__once[event].length = 0;
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.__events = {};
|
||||
this.__once = {};
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* Add one or many event handlers that will be called only once
|
||||
* This handlers are only applicable to "trigger", not "change"
|
||||
*
|
||||
* @example
|
||||
* obj.once('event', callback)
|
||||
* obj.once('event1 event2', callback)
|
||||
* obj.once({ event1: callback1, event2: callback2 })
|
||||
*
|
||||
* @param {String|Callbacks} events
|
||||
* @param {Function} [callback]
|
||||
* @return {this}
|
||||
*/
|
||||
;
|
||||
|
||||
_proto.once = function once(events, callback) {
|
||||
var _this3 = this;
|
||||
|
||||
this.__once = this.__once || {};
|
||||
|
||||
if (typeof events === 'object') {
|
||||
for (var event in events) {
|
||||
if (events.hasOwnProperty(event)) {
|
||||
this.__once[event] = this.__once[event] || [];
|
||||
|
||||
this.__once[event].push(events[event]);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
events.split(' ').forEach(function (event) {
|
||||
_this3.__once[event] = _this3.__once[event] || [];
|
||||
|
||||
_this3.__once[event].push(callback);
|
||||
});
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* Trigger all handlers for an event
|
||||
*
|
||||
* @param {String} event
|
||||
* @param {*...} [arguments]
|
||||
* @return {Event}
|
||||
*/
|
||||
;
|
||||
|
||||
_proto.trigger = function trigger(event
|
||||
/* , args... */
|
||||
) {
|
||||
var args = Array.prototype.slice.call(arguments, 1);
|
||||
var e = new Event_1(this, event, args);
|
||||
|
||||
if (this.__events && event in this.__events) {
|
||||
for (var i = 0, l = this.__events[event].length; i < l; i++) {
|
||||
var f = this.__events[event][i];
|
||||
|
||||
if (typeof f === 'object') {
|
||||
f.handleEvent(e);
|
||||
} else {
|
||||
f.call.apply(f, [this, e].concat(args));
|
||||
}
|
||||
|
||||
if (e.isPropagationStopped()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this.__once && event in this.__once) {
|
||||
for (var _i = 0, _l = this.__once[event].length; _i < _l; _i++) {
|
||||
var _f = this.__once[event][_i];
|
||||
|
||||
if (typeof _f === 'object') {
|
||||
_f.handleEvent(e);
|
||||
} else {
|
||||
_f.call.apply(_f, [this, e].concat(args));
|
||||
}
|
||||
|
||||
if (e.isPropagationStopped()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
delete this.__once[event];
|
||||
}
|
||||
|
||||
return e;
|
||||
}
|
||||
/**
|
||||
* Trigger all modificators for an event, each handler must return a value
|
||||
*
|
||||
* @param {String} event
|
||||
* @param {*} value
|
||||
* @param {*...} [arguments]
|
||||
* @return {*} modified value
|
||||
*/
|
||||
;
|
||||
|
||||
_proto.change = function change(event, value
|
||||
/* , args... */
|
||||
) {
|
||||
var args = Array.prototype.slice.call(arguments, 2);
|
||||
var e = new Event_1(this, event, args);
|
||||
e.value = value;
|
||||
|
||||
if (this.__events && event in this.__events) {
|
||||
for (var i = 0, l = this.__events[event].length; i < l; i++) {
|
||||
var f = this.__events[event][i];
|
||||
|
||||
if (typeof f === 'object') {
|
||||
e.value = f.handleEvent(e);
|
||||
} else {
|
||||
e.value = f.call.apply(f, [this, e, e.value].concat(args));
|
||||
}
|
||||
|
||||
if (e.isPropagationStopped()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return e.value;
|
||||
};
|
||||
|
||||
return EventEmitter;
|
||||
}();
|
||||
|
||||
var EventEmitter_1 = EventEmitter;
|
||||
|
||||
function mixin(target) {
|
||||
target = typeof target === 'function' ? target.prototype : target;
|
||||
['on', 'off', 'once', 'trigger', 'change'].forEach(function (name) {
|
||||
target[name] = EventEmitter_1.prototype[name];
|
||||
});
|
||||
return target;
|
||||
}
|
||||
|
||||
var uEvent = {
|
||||
EventEmitter: EventEmitter_1,
|
||||
Event: Event_1,
|
||||
mixin: mixin
|
||||
};
|
||||
var uEvent_1 = uEvent.EventEmitter;
|
||||
var uEvent_2 = uEvent.Event;
|
||||
var uEvent_3 = uEvent.mixin;
|
||||
|
||||
exports.Event = uEvent_2;
|
||||
exports.EventEmitter = uEvent_1;
|
||||
exports["default"] = uEvent;
|
||||
exports.mixin = uEvent_3;
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
}));
|
||||
//# sourceMappingURL=browser.js.map
|
Loading…
Add table
Add a link
Reference in a new issue