app
JST Connector Studio: manufacturer 3D mate editor
Public Unreviewedby John Lauer
Interactive Babylon 9.5 studio for JST wire-to-board connectors: load a system (PH/XH/SH/GH/ZH), see the JST manufacturer housing+wire+ds2sf footprint mate in a looping animation next to the KiCad hou
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
function T(m, W) {
return W.forEach(function(p) {
p && typeof p != "string" && !Array.isArray(p) && Object.keys(p).forEach(function(g) {
if (g !== "default" && !(g in m)) {
var a = Object.getOwnPropertyDescriptor(p, g);
Object.defineProperty(m, g, a.get ? a : {
enumerable: !0,
get: function() {
return p[g];
}
});
}
});
}), Object.freeze(m);
}
var j = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function R(m) {
return m && m.__esModule && Object.prototype.hasOwnProperty.call(m, "default") ? m.default : m;
}
var M = { exports: {} };
(function(m, W) {
(function(p, g) {
m.exports = g();
})(j, function() {
return function(p) {
function g(h) {
if (a[h]) return a[h].exports;
var c = a[h] = { exports: {}, id: h, loaded: !1 };
return p[h].call(c.exports, c, c.exports, g), c.loaded = !0, c.exports;
}
var a = {};
return g.m = p, g.c = a, g.p = "", g(0);
}([function(p, g, a) {
var h, c, v = function(s, t) {
function u() {
this.constructor = s;
}
for (var d in t) y.call(t, d) && (s[d] = t[d]);
return u.prototype = t.prototype, s.prototype = new u(), s.__super__ = t.prototype, s;
}, y = {}.hasOwnProperty, i = [].indexOf || function(s) {
for (var t = 0, u = this.length; t < u; t++) if (t in this && this[t] === s) return t;
return -1;
};
h = a(1).EventEmitter, a(2), c = function(s) {
function t(e) {
var r, n, o;
this.running = !1, this.options = {}, this.frames = [], this.groups = /* @__PURE__ */ new Map(), this.freeWorkers = [], this.activeWorkers = [], this.setOptions(e);
for (n in u) o = u[n], (r = this.options)[n] == null && (r[n] = o);
}
var u, d;
return v(t, s), u = { workerScript: "gif.worker.js", workers: 2, repeat: 0, background: "#fff", quality: 10, width: null, height: null, transparent: null, debug: !1 }, d = { delay: 500, copy: !1 }, t.prototype.setOption = function(e, r) {
if (this.options[e] = r, this._canvas != null && (e === "width" || e === "height")) return this._canvas[e] = r;
}, t.prototype.setOptions = function(e) {
var r, n, o;
n = [];
for (r in e) y.call(e, r) && (o = e[r], n.push(this.setOption(r, o)));
return n;
}, t.prototype.addFrame = function(e, r) {
var n, o, l;
r == null && (r = {}), n = {}, n.transparent = this.options.transparent;
for (l in d) n[l] = r[l] || d[l];
if (this.options.width == null && this.setOption("width", e.width), this.options.height == null && this.setOption("height", e.height), typeof ImageData < "u" && ImageData !== null && e instanceof ImageData) n.data = e.data;
else if (typeof CanvasRenderingContext2D < "u" && CanvasRenderingContext2D !== null && e instanceof CanvasRenderingContext2D || typeof WebGLRenderingContext < "u" && WebGLRenderingContext !== null && e instanceof WebGLRenderingContext) r.copy ? n.data = this.getContextData(e) : n.context = e;
else {
if (e.childNodes == null) throw new Error("Invalid image");
r.copy ? n.data = this.getImageData(e) : n.image = e;
}
return o = this.frames.length, o > 0 && n.data && (this.groups.has(n.data) ? this.groups.get(n.data).push(o) : this.groups.set(n.data, [o])), this.frames.push(n);
}, t.prototype.render = function() {
var e, r, n;
if (this.running) throw new Error("Already running");
if (this.options.width == null || this.options.height == null) throw new Error("Width and height must be set prior to rendering");
if (this.running = !0, this.nextFrame = 0, this.finishedFrames = 0, this.imageParts = function() {
var o, l, f;
for (f = [], o = 0, l = this.frames.length; 0 <= l ? o < l : o > l; 0 <= l ? ++o : --o) f.push(null);
return f;
}.call(this), r = this.spawnWorkers(), this.options.globalPalette === !0) this.renderNextFrame();
else for (e = 0, n = r; 0 <= n ? e < n : e > n; 0 <= n ? ++e : --e) this.renderNextFrame();
return this.emit("start"), this.emit("progress", 0);
}, t.prototype.abort = function() {
for (var e; e = this.activeWorkers.shift(), e != null; )
this.log("killing active worker"), e.terminate();
return this.running = !1, this.emit("abort");
}, t.prototype.spawnWorkers = function() {
var e, r, n;
return e = Math.min(this.options.workers, this.frames.length), function() {
n = [];
for (var o = r = this.freeWorkers.length; r <= e ? o < e : o > e; r <= e ? o++ : o--) n.push(o);
return n;
}.apply(this).forEach(/* @__PURE__ */ function(o) {
return function(l) {
var f;
return o.log("spawning worker " + l), f = new Worker(o.options.workerScript), f.onmessage = function(_) {
return o.activeWorkers.splice(o.activeWorkers.indexOf(f), 1), o.freeWorkers.push(f), o.frameFinished(_.data, !1);
}, o.freeWorkers.push(f);
};
}(this)), e;
}, t.prototype.frameFinished = function(e, r) {
var n, o, l, f;
if (this.finishedFrames++, r ? (n = this.frames.indexOf(e), o = this.groups.get(e.data)[0], this.log("frame " + (n + 1) + " is duplicate of " + o + " - " + this.activeWorkers.length + " active"), this.imageParts[n] = { indexOfFirstInGroup: o }) : (this.log("frame " + (e.index + 1) + " finished - " + this.activeWorkers.length + " active"), this.emit("progress", this.finishedFrames / this.frames.length), this.imageParts[e.index] = e), this.options.globalPalette === !0 && !r && (this.options.globalPalette = e.globalPalette, this.log("global palette analyzed"), this.frames.length > 2)) for (l = 1, f = this.freeWorkers.length; 1 <= f ? l < f : l > f; 1 <= f ? ++l : --l) this.renderNextFrame();
return i.call(this.imageParts, null) >= 0 ? this.renderNextFrame() : this.finishRendering();
}, t.prototype.finishRendering = function() {
var e, r, n, o, l, f, _, x, w, C, P, D, I, b, k, A, L, E, O, F;
for (L = this.imageParts, l = f = 0, C = L.length; f < C; l = ++f) r = L[l], r.indexOfFirstInGroup && (this.imageParts[l] = this.imageParts[r.indexOfFirstInGroup]);
for (w = 0, E = this.imageParts, _ = 0, P = E.length; _ < P; _++) r = E[_], w += (r.data.length - 1) * r.pageSize + r.cursor;
for (w += r.pageSize - r.cursor, this.log("rendering finished - filesize " + Math.round(w / 1e3) + "kb"), e = new Uint8Array(w), k = 0, O = this.imageParts, x = 0, D = O.length; x < D; x++) for (r = O[x], F = r.data, n = b = 0, I = F.length; b < I; n = ++b) A = F[n], e.set(A, k), k += n === r.data.length - 1 ? r.cursor : r.pageSize;
return o = new Blob([e], { type: "image/gif" }), this.emit("finished", o, e);
}, t.prototype.renderNextFrame = function() {
var e, r, n, o;
if (this.freeWorkers.length === 0) throw new Error("No free workers");
if (!(this.nextFrame >= this.frames.length)) return e = this.frames[this.nextFrame++], r = this.frames.indexOf(e), r > 0 && this.groups.has(e.data) && this.groups.get(e.data)[0] !== r ? void setTimeout(/* @__PURE__ */ function(l) {
return function() {
return l.frameFinished(e, !0);
};
}(this), 0) : (o = this.freeWorkers.shift(), n = this.getTask(e), this.log("starting frame " + (n.index + 1) + " of " + this.frames.length), this.activeWorkers.push(o), o.postMessage(n));
}, t.prototype.getContextData = function(e) {
return e.getImageData(0, 0, this.options.width, this.options.height).data;
}, t.prototype.getImageData = function(e) {
var r;
return this._canvas == null && (this._canvas = document.createElement("canvas"), this._canvas.width = this.options.width, this._canvas.height = this.options.height), r = this._canvas.getContext("2d"), r.setFill = this.options.background, r.fillRect(0, 0, this.options.width, this.options.height), r.drawImage(e, 0, 0), this.getContextData(r);
}, t.prototype.getTask = function(e) {
var r, n;
if (r = this.frames.indexOf(e), n = { index: r, last: r === this.frames.length - 1, delay: e.delay, transparent: e.transparent, width: this.options.width, height: this.options.height, quality: this.options.quality, dither: this.options.dither, globalPalette: this.options.globalPalette, repeat: this.options.repeat, canTransfer: !0 }, e.data != null) n.data = e.data;
else if (e.context != null) n.data = this.getContextData(e.context);
else {
if (e.image == null) throw new Error("Invalid frame");
n.data = this.getImageData(e.image);
}
return n;
}, t.prototype.log = function(e) {
if (this.options.debug) return console.log(e);
}, t;
}(h), p.exports = c;
}, function(p, g) {
function a() {
this._events = this._events || {}, this._maxListeners = this._maxListeners || void 0;
}
function h(i) {
return typeof i == "function";
}
function c(i) {
return typeof i == "number";
}
function v(i) {
return typeof i == "object" && i !== null;
}
function y(i) {
return i === void 0;
}
p.exports = a, a.EventEmitter = a, a.prototype._events = void 0, a.prototype._maxListeners = void 0, a.defaultMaxListeners = 10, a.prototype.setMaxListeners = function(i) {
if (!c(i) || i < 0 || isNaN(i)) throw TypeError("n must be a positive number");
return this._maxListeners = i, this;
}, a.prototype.emit = function(i) {
var s, t, u, d, e, r;
if (this._events || (this._events = {}), i === "error" && (!this._events.error || v(this._events.error) && !this._events.error.length)) {
if (s = arguments[1], s instanceof Error) throw s;
var n = new Error('Uncaught, unspecified "error" event. (' + s + ")");
throw n.context = s, n;
}
if (t = this._events[i], y(t)) return !1;
if (h(t)) switch (arguments.length) {
case 1:
t.call(this);
break;
case 2:
t.call(this, arguments[1]);
break;
case 3:
t.call(this, arguments[1], arguments[2]);
break;
default:
d = Array.prototype.slice.call(arguments, 1), t.apply(this, d);
}
else if (v(t)) for (d = Array.prototype.slice.call(arguments, 1), r = t.slice(), u = r.length, e = 0; e < u; e++) r[e].apply(this, d);
return !0;
}, a.prototype.addListener = function(i, s) {
var t;
if (!h(s)) throw TypeError("listener must be a function");
return this._events || (this._events = {}), this._events.newListener && this.emit("newListener", i, h(s.listener) ? s.listener : s), this._events[i] ? v(this._events[i]) ? this._events[i].push(s) : this._events[i] = [this._events[i], s] : this._events[i] = s, v(this._events[i]) && !this._events[i].warned && (t = y(this._maxListeners) ? a.defaultMaxListeners : this._maxListeners, t && t > 0 && this._events[i].length > t && (this._events[i].warned = !0, console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.", this._events[i].length), typeof console.trace == "function" && console.trace())), this;
}, a.prototype.on = a.prototype.addListener, a.prototype.once = function(i, s) {
function t() {
this.removeListener(i, t), u || (u = !0, s.apply(this, arguments));
}
if (!h(s)) throw TypeError("listener must be a function");
var u = !1;
return t.listener = s, this.on(i, t), this;
}, a.prototype.removeListener = function(i, s) {
var t, u, d, e;
if (!h(s)) throw TypeError("listener must be a function");
if (!this._events || !this._events[i]) return this;
if (t = this._events[i], d = t.length, u = -1, t === s || h(t.listener) && t.listener === s) delete this._events[i], this._events.removeListener && this.emit("removeListener", i, s);
else if (v(t)) {
for (e = d; e-- > 0; ) if (t[e] === s || t[e].listener && t[e].listener === s) {
u = e;
break;
}
if (u < 0) return this;
t.length === 1 ? (t.length = 0, delete this._events[i]) : t.splice(u, 1), this._events.removeListener && this.emit("removeListener", i, s);
}
return this;
}, a.prototype.removeAllListeners = function(i) {
var s, t;
if (!this._events) return this;
if (!this._events.removeListener) return arguments.length === 0 ? this._events = {} : this._events[i] && delete this._events[i], this;
if (arguments.length === 0) {
for (s in this._events) s !== "removeListener" && this.removeAllListeners(s);
return this.removeAllListeners("removeListener"), this._events = {}, this;
}
if (t = this._events[i], h(t)) this.removeListener(i, t);
else if (t) for (; t.length; ) this.removeListener(i, t[t.length - 1]);
return delete this._events[i], this;
}, a.prototype.listeners = function(i) {
return this._events && this._events[i] ? h(this._events[i]) ? [this._events[i]] : this._events[i].slice() : [];
}, a.prototype.listenerCount = function(i) {
if (this._events) {
var s = this._events[i];
if (h(s)) return 1;
if (s) return s.length;
}
return 0;
}, a.listenerCount = function(i, s) {
return i.listenerCount(s);
};
}, function(p, g) {
var a, h, c, v, y;
y = navigator.userAgent.toLowerCase(), v = navigator.platform.toLowerCase(), a = y.match(/(opera|ie|firefox|chrome|version)[\s\/:]([\w\d\.]+)?.*?(safari|version[\s\/:]([\w\d\.]+)|$)/) || [null, "unknown", 0], c = a[1] === "ie" && document.documentMode, h = { name: a[1] === "version" ? a[3] : a[1], version: c || parseFloat(a[1] === "opera" && a[4] ? a[4] : a[2]), platform: { name: y.match(/ip(?:ad|od|hone)/) ? "ios" : (y.match(/(?:webos|android)/) || v.match(/mac|win|linux/) || ["other"])[0] } }, h[h.name] = !0, h[h.name + parseInt(h.version, 10)] = !0, h.platform[h.platform.name] = !0, p.exports = h;
}]);
});
})(M);
var N = M.exports, G = /* @__PURE__ */ R(N), z = /* @__PURE__ */ T({
__proto__: null,
default: G
}, [N]);
export {
z as g
};