pwaLUPMIS2/node_modules/.vite/deps/chunk-NGFXCWUF.js
2026-03-04 12:59:40 +01:00

353 lines
8.9 KiB
JavaScript

import {
EventType_default,
VOID
} from "./chunk-K25ZO44T.js";
import {
clear
} from "./chunk-5RHQVMYD.js";
// node_modules/ol/Disposable.js
var Disposable = class {
constructor() {
this.disposed = false;
}
/**
* Clean up.
*/
dispose() {
if (!this.disposed) {
this.disposed = true;
this.disposeInternal();
}
}
/**
* Extension point for disposable objects.
* @protected
*/
disposeInternal() {
}
};
var Disposable_default = Disposable;
// node_modules/ol/events/Event.js
var BaseEvent = class {
/**
* @param {string} type Type.
*/
constructor(type) {
this.propagationStopped;
this.defaultPrevented;
this.type = type;
this.target = null;
}
/**
* Prevent default. This means that no emulated `click`, `singleclick` or `doubleclick` events
* will be fired.
* @api
*/
preventDefault() {
this.defaultPrevented = true;
}
/**
* Stop event propagation.
* @api
*/
stopPropagation() {
this.propagationStopped = true;
}
};
var Event_default = BaseEvent;
// node_modules/ol/events/Target.js
var Target = class extends Disposable_default {
/**
* @param {*} [target] Default event target for dispatched events.
*/
constructor(target) {
super();
this.eventTarget_ = target;
this.pendingRemovals_ = null;
this.dispatching_ = null;
this.listeners_ = null;
}
/**
* @param {string} type Type.
* @param {import("../events.js").Listener} listener Listener.
*/
addEventListener(type, listener) {
if (!type || !listener) {
return;
}
const listeners = this.listeners_ || (this.listeners_ = {});
const listenersForType = listeners[type] || (listeners[type] = []);
if (!listenersForType.includes(listener)) {
listenersForType.push(listener);
}
}
/**
* Dispatches an event and calls all listeners listening for events
* of this type. The event parameter can either be a string or an
* Object with a `type` property.
*
* @param {import("./Event.js").default|string} event Event object.
* @return {boolean|undefined} `false` if anyone called preventDefault on the
* event object or if any of the listeners returned false.
* @api
*/
dispatchEvent(event) {
const isString = typeof event === "string";
const type = isString ? event : event.type;
const listeners = this.listeners_ && this.listeners_[type];
if (!listeners) {
return;
}
const evt = isString ? new Event_default(event) : (
/** @type {Event} */
event
);
if (!evt.target) {
evt.target = this.eventTarget_ || this;
}
const dispatching = this.dispatching_ || (this.dispatching_ = {});
const pendingRemovals = this.pendingRemovals_ || (this.pendingRemovals_ = {});
if (!(type in dispatching)) {
dispatching[type] = 0;
pendingRemovals[type] = 0;
}
++dispatching[type];
let propagate;
for (let i = 0, ii = listeners.length; i < ii; ++i) {
if ("handleEvent" in listeners[i]) {
propagate = /** @type {import("../events.js").ListenerObject} */
listeners[i].handleEvent(evt);
} else {
propagate = /** @type {import("../events.js").ListenerFunction} */
listeners[i].call(this, evt);
}
if (propagate === false || evt.propagationStopped) {
propagate = false;
break;
}
}
if (--dispatching[type] === 0) {
let pr = pendingRemovals[type];
delete pendingRemovals[type];
while (pr--) {
this.removeEventListener(type, VOID);
}
delete dispatching[type];
}
return propagate;
}
/**
* Clean up.
* @override
*/
disposeInternal() {
this.listeners_ && clear(this.listeners_);
}
/**
* Get the listeners for a specified event type. Listeners are returned in the
* order that they will be called in.
*
* @param {string} type Type.
* @return {Array<import("../events.js").Listener>|undefined} Listeners.
*/
getListeners(type) {
return this.listeners_ && this.listeners_[type] || void 0;
}
/**
* @param {string} [type] Type. If not provided,
* `true` will be returned if this event target has any listeners.
* @return {boolean} Has listeners.
*/
hasListener(type) {
if (!this.listeners_) {
return false;
}
return type ? type in this.listeners_ : Object.keys(this.listeners_).length > 0;
}
/**
* @param {string} type Type.
* @param {import("../events.js").Listener} listener Listener.
*/
removeEventListener(type, listener) {
if (!this.listeners_) {
return;
}
const listeners = this.listeners_[type];
if (!listeners) {
return;
}
const index = listeners.indexOf(listener);
if (index !== -1) {
if (this.pendingRemovals_ && type in this.pendingRemovals_) {
listeners[index] = VOID;
++this.pendingRemovals_[type];
} else {
listeners.splice(index, 1);
if (listeners.length === 0) {
delete this.listeners_[type];
}
}
}
}
};
var Target_default = Target;
// node_modules/ol/events.js
function listen(target, type, listener, thisArg, once) {
if (once) {
const originalListener = listener;
listener = function(event) {
target.removeEventListener(type, listener);
return originalListener.call(thisArg ?? this, event);
};
} else if (thisArg && thisArg !== target) {
listener = listener.bind(thisArg);
}
const eventsKey = {
target,
type,
listener
};
target.addEventListener(type, listener);
return eventsKey;
}
function listenOnce(target, type, listener, thisArg) {
return listen(target, type, listener, thisArg, true);
}
function unlistenByKey(key) {
if (key && key.target) {
key.target.removeEventListener(key.type, key.listener);
clear(key);
}
}
// node_modules/ol/Observable.js
var Observable = class extends Target_default {
constructor() {
super();
this.on = /** @type {ObservableOnSignature<import("./events").EventsKey>} */
this.onInternal;
this.once = /** @type {ObservableOnSignature<import("./events").EventsKey>} */
this.onceInternal;
this.un = /** @type {ObservableOnSignature<void>} */
this.unInternal;
this.revision_ = 0;
}
/**
* Increases the revision counter and dispatches a 'change' event.
* @api
*/
changed() {
++this.revision_;
this.dispatchEvent(EventType_default.CHANGE);
}
/**
* Get the version number for this object. Each time the object is modified,
* its version number will be incremented.
* @return {number} Revision.
* @api
*/
getRevision() {
return this.revision_;
}
/**
* @param {string|Array<string>} type Type.
* @param {function((Event|import("./events/Event").default)): ?} listener Listener.
* @return {import("./events.js").EventsKey|Array<import("./events.js").EventsKey>} Event key.
* @protected
*/
onInternal(type, listener) {
if (Array.isArray(type)) {
const len = type.length;
const keys = new Array(len);
for (let i = 0; i < len; ++i) {
keys[i] = listen(this, type[i], listener);
}
return keys;
}
return listen(
this,
/** @type {string} */
type,
listener
);
}
/**
* @param {string|Array<string>} type Type.
* @param {function((Event|import("./events/Event").default)): ?} listener Listener.
* @return {import("./events.js").EventsKey|Array<import("./events.js").EventsKey>} Event key.
* @protected
*/
onceInternal(type, listener) {
let key;
if (Array.isArray(type)) {
const len = type.length;
key = new Array(len);
for (let i = 0; i < len; ++i) {
key[i] = listenOnce(this, type[i], listener);
}
} else {
key = listenOnce(
this,
/** @type {string} */
type,
listener
);
}
listener.ol_key = key;
return key;
}
/**
* Unlisten for a certain type of event.
* @param {string|Array<string>} type Type.
* @param {function((Event|import("./events/Event").default)): ?} listener Listener.
* @protected
*/
unInternal(type, listener) {
const key = (
/** @type {Object} */
listener.ol_key
);
if (key) {
unByKey(key);
} else if (Array.isArray(type)) {
for (let i = 0, ii = type.length; i < ii; ++i) {
this.removeEventListener(type[i], listener);
}
} else {
this.removeEventListener(type, listener);
}
}
};
Observable.prototype.on;
Observable.prototype.once;
Observable.prototype.un;
function unByKey(key) {
if (Array.isArray(key)) {
for (let i = 0, ii = key.length; i < ii; ++i) {
unlistenByKey(key[i]);
}
} else {
unlistenByKey(
/** @type {import("./events.js").EventsKey} */
key
);
}
}
var Observable_default = Observable;
export {
Disposable_default,
Event_default,
Target_default,
listen,
listenOnce,
unlistenByKey,
unByKey,
Observable_default
};
//# sourceMappingURL=chunk-NGFXCWUF.js.map