@typecad/typecad
Version:
🤖programmatically 💥create 🛰️hardware
1 lines • 6.42 kB
JavaScript
var __classPrivateFieldSet=this&&this['__classPrivateFieldSet']||function(_0x5c747f,_0x2ee296,_0x3d4887,_0x5b03cc,_0x190a65){if(_0x5b03cc==='m')throw new TypeError('Private\x20method\x20is\x20not\x20writable');function _0xac2cb6(_0x3ef470,_0x5fa26b){return a5_0x383d(_0x5fa26b- -0xd1,_0x3ef470);}if(_0x5b03cc==='a'&&!_0x190a65)throw new TypeError('Private\x20accessor\x20was\x20defined\x20without\x20a\x20setter');if(typeof _0x2ee296===_0xac2cb6(-0xcd,-0xd1)?_0x5c747f!==_0x2ee296||!_0x190a65:!_0x2ee296[_0xac2cb6(-0xd4,-0xd0)](_0x5c747f))throw new TypeError('Cannot\x20write\x20private\x20member\x20to\x20an\x20object\x20whose\x20class\x20did\x20not\x20declare\x20it');return _0x5b03cc==='a'?_0x190a65['call'](_0x5c747f,_0x3d4887):_0x190a65?_0x190a65['value']=_0x3d4887:_0x2ee296['set'](_0x5c747f,_0x3d4887),_0x3d4887;};function a5_0x160736(_0x2860b0,_0x66204e){return a5_0x383d(_0x2860b0- -0x39d,_0x66204e);}function a5_0x383d(_0x2c99bc,_0x383dec){const _0x42b464=a5_0x2c99();return a5_0x383d=function(_0x1fd373,_0x5beb31){_0x1fd373=_0x1fd373-0x0;let _0x5a0266=_0x42b464[_0x1fd373];return _0x5a0266;},a5_0x383d(_0x2c99bc,_0x383dec);}var __classPrivateFieldGet=this&&this['__classPrivateFieldGet']||function(_0x341a05,_0x5200d8,_0x3c6faa,_0xa3668){function _0x56af15(_0x2a9d2d,_0x43c0e5){return a5_0x383d(_0x2a9d2d-0x226,_0x43c0e5);}if(_0x3c6faa==='a'&&!_0xa3668)throw new TypeError('Private\x20accessor\x20was\x20defined\x20without\x20a\x20getter');if(typeof _0x5200d8==='function'?_0x341a05!==_0x5200d8||!_0xa3668:!_0x5200d8[_0x56af15(0x227,0x22d)](_0x341a05))throw new TypeError('Cannot\x20read\x20private\x20member\x20from\x20an\x20object\x20whose\x20class\x20did\x20not\x20declare\x20it');return _0x3c6faa==='m'?_0xa3668:_0x3c6faa==='a'?_0xa3668[_0x56af15(0x228,0x229)](_0x341a05):_0xa3668?_0xa3668['value']:_0x5200d8['get'](_0x341a05);},_KiCAD_possible_paths,_KiCAD_flatpak_paths,_KiCAD_isFlatpak,_KiCAD_flatpakInstallationPath;import a5_0xc6831b from'node:fs';import{platform}from'node:os';import{lookpathSync}from'find-bin';import{Config}from'./config';import{execSync}from'node:child_process';let conf=new Config();export let kicad_path;export let kicad_cli_path;function a5_0x2c99(){const _0x4700d2=['function','has','call','set','/var/lib/flatpak/app/org.kicad.KiCad/','true','kicad_path','detectFlatpakInstallation','bin/kicad-cli.exe','kicad-cli','kicad_cli','/var/lib/flatpak/runtime/org.kicad.kicad.Library','existsSync','/var/lib/flatpak/app/org.kicad.kicad/current','flatpak\x20info\x20org.kicad.KiCad','/var/lib/flatpak/runtime/org.kicad.kicad.Library/x86_64/stable/active/files/symbols','/var/lib/flatpak/runtime/org.kicad.kicad.Library/x86_64/stable/active/files/footprints'];a5_0x2c99=function(){return _0x4700d2;};return a5_0x2c99();}export let is_flatpak=![];export class KiCAD{constructor(){_KiCAD_possible_paths[_0x286512(-0x342,-0x33c)](this,['C:/Program\x20Files/KiCad/10.0/','C:/Program\x20Files/KiCad/9.0/','C:/Program\x20Files/KiCad/7.0/','C:/Program\x20Files/KiCad/8.0/','/usr/share/kicad/','/var/lib/flatpak/app/org.kicad.KiCad/current/','/Applications/KiCAD/KiCad.app/Contents/ShareSupport/']),_KiCAD_flatpak_paths['set'](this,[_0x286512(-0x332,-0x33b),'/var/lib/flatpak/app/org.kicad.KiCad/*/active/','/var/lib/flatpak/runtime/org.kicad.kicad.Library/x86_64/stable/active/files/']),_KiCAD_isFlatpak['set'](this,![]),_KiCAD_flatpakInstallationPath[_0x286512(-0x338,-0x33c)](this,void 0x0);const _0xb7ff42=conf['get']('use_flatpak');(_0xb7ff42===_0x286512(-0x337,-0x33a)||_0xb7ff42==='1')&&__classPrivateFieldSet(this,_KiCAD_isFlatpak,!![],'f');const _0xa280b9=conf['get'](_0x286512(-0x337,-0x339));_0xa280b9&&__classPrivateFieldGet(this,_KiCAD_possible_paths,'f')['push'](_0xa280b9);(__classPrivateFieldGet(this,_KiCAD_isFlatpak,'f')||!kicad_path)&&this[_0x286512(-0x33b,-0x338)]();if(!kicad_path)for(const _0x162873 of __classPrivateFieldGet(this,_KiCAD_possible_paths,'f')){if(_0x162873&&a5_0xc6831b['existsSync'](_0x162873)){kicad_path=_0x162873;_0x162873['includes']('flatpak')&&(__classPrivateFieldSet(this,_KiCAD_isFlatpak,!![],'f'),is_flatpak=!![]);break;}}if(kicad_path){if(__classPrivateFieldGet(this,_KiCAD_isFlatpak,'f'))kicad_cli_path='flatpak\x20run\x20--command=sh\x20org.kicad.kicad\x20-c\x20\x22kicad-cli\x22',is_flatpak=!![];else platform()=='win32'?kicad_cli_path=kicad_path+_0x286512(-0x33c,-0x337):kicad_cli_path=lookpathSync(_0x286512(-0x33b,-0x336));}conf['get']('kicad_cli')!=''&&(kicad_cli_path=conf['get'](_0x286512(-0x333,-0x335)));function _0x286512(_0x3ea640,_0x46305){return a5_0x383d(_0x46305- -0x33f,_0x3ea640);}conf['get']('kicad_path')!=''&&(kicad_path=conf['get'](_0x286512(-0x332,-0x339))),is_flatpak=__classPrivateFieldGet(this,_KiCAD_isFlatpak,'f');}[a5_0x160736(-0x396,-0x391)](){function _0x82037e(_0x5505af,_0x4c28f0){return a5_0x383d(_0x5505af- -0x51,_0x4c28f0);}if(a5_0xc6831b['existsSync']('/var/lib/flatpak/app/org.kicad.kicad')||a5_0xc6831b['existsSync'](_0x82037e(-0x46,-0x41))){__classPrivateFieldSet(this,_KiCAD_isFlatpak,!![],'f'),is_flatpak=!![];for(const _0x32c69f of __classPrivateFieldGet(this,_KiCAD_flatpak_paths,'f')){const _0x30ff9a=_0x32c69f['replace']('*/','*')['replace']('*','active');if(a5_0xc6831b[_0x82037e(-0x45,-0x46)](_0x30ff9a))return kicad_path=_0x30ff9a,__classPrivateFieldSet(this,_KiCAD_flatpakInstallationPath,_0x30ff9a,'f'),!![];}const _0x5029dd=_0x82037e(-0x44,-0x42);if(a5_0xc6831b[_0x82037e(-0x45,-0x4e)](_0x5029dd))return kicad_path=_0x5029dd,__classPrivateFieldSet(this,_KiCAD_flatpakInstallationPath,_0x5029dd,'f'),!![];return!![];}try{return execSync(_0x82037e(-0x43,-0x45),{'stdio':'ignore'}),__classPrivateFieldSet(this,_KiCAD_isFlatpak,!![],'f'),is_flatpak=!![],!![];}catch(_0x4265b1){return![];}}['isFlatpakInstallation'](){return __classPrivateFieldGet(this,_KiCAD_isFlatpak,'f');}['getLibraryPaths'](){function _0x10d35f(_0x41efe0,_0x531ba0){return a5_0x383d(_0x41efe0-0xa1,_0x531ba0);}return __classPrivateFieldGet(this,_KiCAD_isFlatpak,'f')?{'symbols':_0x10d35f(0xb0,0xaf),'footprints':_0x10d35f(0xb1,0xb4)}:platform()==='win32'?{'symbols':kicad_path?kicad_path+'share/kicad/symbols':'','footprints':kicad_path?kicad_path+'share/kicad/footprints':''}:{'symbols':kicad_path?kicad_path+'symbols':'','footprints':kicad_path?kicad_path+'footprints':''};}}_KiCAD_possible_paths=new WeakMap(),_KiCAD_flatpak_paths=new WeakMap(),_KiCAD_isFlatpak=new WeakMap(),_KiCAD_flatpakInstallationPath=new WeakMap();