fleet.js
Version:
Fleet is a fork of Edom.js, a JavaScript library that allows you to interact with DOM.
8 lines • 4.05 kB
JavaScript
/*!
* Fleet v1.2.0
* https://github.com/RivoLink/fleet
*
* Date: 2025-09-03T20:20Z
*/
!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,!0):t(e)}("undefined"!=typeof window?window:this,(function(e,t){class r{static LS_KEY="__fleet";constructor(e=document){this.root=e,this.globals={}}$el(e){return"string"==typeof e?this.root.querySelector(e):e}$tag(e,t,r){return`<${e} class="${t}">${r}</${e}>`}$set(e,t){this.globals[e]=t}$get(e,t=null){return this.globals[e]||t}$save(e,t){const s=this.$json(localStorage.getItem(r.LS_KEY));s[e]=t,localStorage.setItem(r.LS_KEY,this.$stringify(s))}$load(e,t=null){const s=this.$json(localStorage.getItem(r.LS_KEY));return s&&s[e]?s[e]:t}$json(e){try{return JSON.parse(e)||{}}catch(e){return{}}}$stringify(e){return JSON.stringify(e||{})}init(e){return new r("string"==typeof e?document.querySelector(e)||document:e||document)}create(e){return Array.isArray(e)?e.map((e=>this.root.createElement(e))):this.root.createElement(e)}find(e){return this.root.getElementById(e)}select(e){return this.root.querySelector(e)}selectAll(e){return this.root.querySelectorAll(e)}child(e,t){return e.querySelector(t)}count(e){return this.root.querySelectorAll(e).length}setAttr(e,t){Object.entries(t).forEach((([t,r])=>{this.$el(e).setAttribute(t,r)}))}getAttr(e,t){return this.$el(e).getAttribute(t)}setData(e,t){Object.entries(t).forEach((([t,r])=>{this.$el(e).setAttribute(`data-${t}`,r)}))}getData(e,t){return this.$el(e).getAttribute(`data-${t}`)}setCSS(e,t){Object.entries(t).forEach((([t,r])=>{this.$el(e).style[t]=r}))}getCSS(e,t){return this.$el(e).style[t]}getComputedCSS(t,r){return e.getComputedStyle(this.$el(t)).getPropertyValue(r)}hasClass(e,t){return this.$el(e).classList.contains(t)}addClass(e,t){Array.isArray(e)||(e="string"==typeof e?this.root.querySelectorAll(e):[e]),(t=Array.isArray(t)?t:[t]).forEach((t=>e.forEach((e=>this.$el(e).classList.add(t)))))}removeClass(e,t){Array.isArray(e)||(e="string"==typeof e?this.root.querySelectorAll(e):[e]),(t=Array.isArray(t)?t:[t]).forEach((t=>e.forEach((e=>this.$el(e).classList.remove(t)))))}toggleClass(e,t,r){this.$el(e).classList.toggle(t,r)}setText(e,t){this.$el(e).innerText=t}getText(e){return this.$el(e).innerText}setHTML(e,t){this.$el(e).innerHTML=t}getHTML(e){return this.$el(e).innerHTML}addHTML(e,t){this.$el(e).innerHTML+=t}append(e,t){Array.isArray(t)?t.forEach((t=>this.$el(e).appendChild(this.$el(t)))):this.$el(e).appendChild(this.$el(t))}prepend(e,t){Array.isArray(t)?t.forEach((t=>this.$el(e).prepend(this.$el(t)))):this.$el(e).prepend(this.$el(t))}rotate(e,t){this.setCSS(e,{transform:`rotate(${t}deg)`})}loadScript(e){const t=this.create("script");this.setAttr(t,{src:e}),this.append(document.body,t)}addEvent(e,t,r){"string"==typeof e?this.selectAll(e).forEach((e=>e.addEventListener(t,r))):Array.isArray(e)?e.forEach((e=>this.$el(e).addEventListener(t,r))):this.$el(e).addEventListener(t,r)}removeEvent(e,t,r){"string"==typeof e?this.selectAll(e).forEach((e=>e.removeEventListener(t,r))):Array.isArray(e)?e.forEach((e=>this.$el(e).removeEventListener(t,r))):this.$el(e).removeEventListener(t,r)}formPost(e,t,r,s,o){const n=new XMLHttpRequest;n.open("POST",e,!0),n.setRequestHeader("Authorization","Bearer "+t),n.onload=()=>{s(this.$json(n.responseText),r)},n.onerror=()=>{o(r)},n.send(r)}jsonPost(e,t,r,s,o){const n=new XMLHttpRequest;n.open("POST",e,!0),n.setRequestHeader("Content-Type","application/json"),n.setRequestHeader("Authorization","Bearer "+t),n.onload=()=>{s(this.$json(n.responseText),r)},n.onerror=()=>{o(r)},n.send(JSON.stringify(r))}ajaxPost(e,t,r,s,o){this.__warned_ajaxPost||(console.warn("[DEPRECATED] ajaxPost() is deprecated. Use jsonPost() instead."),this.__warned_ajaxPost=!0),this.jsonPost(e,t,r,s,o)}ajaxGet(e,t,r,s){const o=new XMLHttpRequest;o.open("GET",e,!0),o.setRequestHeader("Authorization","Bearer "+t),o.onload=()=>{r(this.$json(o.responseText))},o.onerror=()=>{s()},o.send()}}const s=new r;return t||(e.fleet=s),s}));
//# sourceMappingURL=fleet.min.js.map