//#region ../../node_modules/internmap/src/index.js
var e = class extends Map {
	constructor(e, t = i) {
		if (super(), Object.defineProperties(this, {
			_intern: { value: /* @__PURE__ */ new Map() },
			_key: { value: t }
		}), e != null) for (let [t, n] of e) this.set(t, n);
	}
	get(e) {
		return super.get(t(this, e));
	}
	has(e) {
		return super.has(t(this, e));
	}
	set(e, t) {
		return super.set(n(this, e), t);
	}
	delete(e) {
		return super.delete(r(this, e));
	}
};
function t({ _intern: e, _key: t }, n) {
	let r = t(n);
	return e.has(r) ? e.get(r) : n;
}
function n({ _intern: e, _key: t }, n) {
	let r = t(n);
	return e.has(r) ? e.get(r) : (e.set(r, n), n);
}
function r({ _intern: e, _key: t }, n) {
	let r = t(n);
	return e.has(r) && (n = e.get(r), e.delete(r)), n;
}
function i(e) {
	return typeof e == "object" && e ? e.valueOf() : e;
}
//#endregion
export { e as InternMap };
