xl1 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ls1/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #! /usr/bin/env node
2
- "use strict";var _chunkNEJSZOZXjs = require('../chunk-NEJSZOZX.js');var w=_chunkNEJSZOZXjs.b.call(void 0, (R,y)=>{var x=_chunkNEJSZOZXjs.a.call(void 0, "sqlite3").verbose(),b=class{constructor(t){this.db=new x.Database(t,e=>{e&&console.error("Error opening database:",e)})}close(){return new Promise((t,e)=>{this.db.close(s=>{s?e(s):t()})})}debug(t,...e){t.debug&&console.log("[SQLite Debug]",...e)}generateCreateTableSql(t,e,s){if(!t||t.length===0)return null;let i=t[0],r=Object.keys(i).map((n,c)=>{let l="TEXT";return s&&n.toLocaleLowerCase()===s.toLocaleLowerCase()?`"${n}" ${l} PRIMARY KEY`:`"${n}" ${l}`});return`CREATE TABLE IF NOT EXISTS "${e}" (${r.join(", ")})`}generateUpsertSql(t,e,s){if(!t||t.length===0)return null;let i=Object.keys(t[0]),r=i.map(()=>"?").join(", "),a=i.slice(1).map(n=>`"${n}"=excluded."${n}"`).join(", ");return`INSERT INTO "${e}" (${i.map(n=>`"${n}"`).join(", ")})
2
+ "use strict";var _chunkNEJSZOZXjs = require('../chunk-NEJSZOZX.js');var y=_chunkNEJSZOZXjs.b.call(void 0, (j,T)=>{var $=_chunkNEJSZOZXjs.a.call(void 0, "sqlite3").verbose(),p=class{constructor(t){this.db=new $.Database(t,e=>{e&&console.error("Error opening database:",e)})}close(){return new Promise((t,e)=>{this.db.close(s=>{s?e(s):t()})})}debug(t,...e){t.debug&&console.log("[SQLite Debug]",...e)}generateCreateTableSql(t,e,s){if(!t||t.length===0)return null;let i=t[0],r=Object.keys(i).map((n,c)=>{let l="TEXT";return s&&n.toLocaleLowerCase()===s.toLocaleLowerCase()?`"${n}" ${l} PRIMARY KEY`:`"${n}" ${l}`});return`CREATE TABLE IF NOT EXISTS "${e}" (${r.join(", ")})`}generateUpsertSql(t,e,s){if(!t||t.length===0)return null;let i=Object.keys(t[0]),r=i.map(()=>"?").join(", "),a=i.slice(1).map(n=>`"${n}"=excluded."${n}"`).join(", ");return`INSERT INTO "${e}" (${i.map(n=>`"${n}"`).join(", ")})
3
3
  VALUES (${r})
4
4
  ON CONFLICT("${s}") DO UPDATE SET ${a}`}generateInsertSql(t,e){if(!t||t.length===0)return null;let s=Object.keys(t[0]),i=s.map(()=>"?").join(", ");return`INSERT INTO "${e}" (${s.map(r=>`"${r}"`).join(", ")})
5
5
  VALUES (${i})`}generateUpdateSql(t,e,s){if(!t||t.length===0)return null;let r=Object.keys(t[0]).filter(a=>a.toLowerCase()!==s.toLowerCase()).map(a=>`"${a}"=?`).join(", ");return`UPDATE "${e}" SET ${r}
6
- WHERE "${s}"=?`}async createTable(t,e,s,i){let r=this.generateCreateTableSql(t,e,s);if(!r)throw new Error("No data provided for table creation");return this.debug(i,"Creating table with SQL:",r),new Promise((a,n)=>{this.db.run(r,c=>{c?(this.debug(i,"Error creating table:",c),n(c)):(this.debug(i,"Table created successfully"),a())})})}async addIndex(t,e,s){let i=`CREATE INDEX IF NOT EXISTS idx_${t}_${e} ON "${t}" ("${e}")`;return this.debug(s,"Creating index with SQL:",i),new Promise((r,a)=>{this.db.run(i,n=>{n?(this.debug(s,"Error creating index:",n),a(n)):(this.debug(s,"Index created successfully"),r())})})}async tableExists(t,e){let s="SELECT name FROM sqlite_master WHERE type='table' AND name=?";return this.debug(e,"Checking table existence:",s,[t]),new Promise((i,r)=>{this.db.get(s,[t],(a,n)=>{a?(this.debug(e,"Error checking table existence:",a),r(a)):(this.debug(e,"Table exists:",!!n),i(!!n))})})}async alterTable(t,e,s){this.debug(s,"Checking columns for table:",e);let r=(await this.query(`PRAGMA table_info("${e}");`,[],s)).map(c=>c.name),n=Object.keys(t[0]).filter(c=>!r.includes(c));if(this.debug(s,"Columns to add:",n),n.length>0)for(let c of n){let l=`ALTER TABLE "${e}" ADD COLUMN "${c}" TEXT;`;this.debug(s,"Altering table with SQL:",l),await new Promise((d,h)=>{this.db.run(l,g=>{g?(this.debug(s,"Error altering table:",g),h(g)):(this.debug(s,`Column "${c}" added successfully`),d())})})}}async insert(t,e){if(!t||t.length===0)throw new Error("No data provided");let{tableName:s,primaryKey:i,isAlterTable:r}=e;this.debug(e,"Starting insert operation:",{tableName:s,primaryKey:i,isAlterTable:r});try{await this.tableExists(s,e)?r&&(this.debug(e,"Table exists, checking for alterations"),await this.alterTable(t,s,e)):(this.debug(e,"Table does not exist, creating new table"),await this.createTable(t,s,i,e));let n=this.generateInsertSql(t,s);return this.debug(e,"Generated insert SQL:",n),new Promise((c,l)=>{let d=this.db.prepare(n);this.db.serialize(()=>{this.debug(e,"Beginning transaction"),this.db.run("BEGIN TRANSACTION"),t.forEach((h,g)=>{let m=Object.values(h);this.debug(e,`Processing row ${g+1}/${t.length}:`),d.run(m)}),d.finalize(),this.db.run("COMMIT",h=>{h?(this.debug(e,"Error committing transaction:",h),l(h)):(this.debug(e,"Transaction committed successfully"),c())})})})}catch(a){throw this.debug(e,"Error in insert:",a),a}}async update(t,e){if(!t||t.length===0)throw new Error("No data provided");let{tableName:s,primaryKey:i}=e;if(!i)throw new Error("Primary key is required for update operation");this.debug(e,"Starting update operation:",{tableName:s,primaryKey:i});try{let r=this.generateUpdateSql(t,s,i);return this.debug(e,"Generated update SQL:",r),new Promise((a,n)=>{let c=this.db.prepare(r);this.db.serialize(()=>{this.debug(e,"Beginning transaction"),this.db.run("BEGIN TRANSACTION"),t.forEach((l,d)=>{let g=Object.keys(l).filter(m=>m.toLowerCase()!==i.toLowerCase()).map(m=>l[m]);g.push(l[i]),this.debug(e,`Processing row ${d+1}/${t.length}:`),c.run(g)}),c.finalize(),this.db.run("COMMIT",l=>{l?(this.debug(e,"Error committing transaction:",l),n(l)):(this.debug(e,"Transaction committed successfully"),a())})})})}catch(r){throw this.debug(e,"Error in update:",r),r}}async upsert(t,e){if(!t||t.length===0)throw new Error("No data provided");let{tableName:s,primaryKey:i,isAlterTable:r}=e;this.debug(e,"Starting upsert operation:",{tableName:s,primaryKey:i,isAlterTable:r});try{await this.tableExists(s,e)?r&&(this.debug(e,"Table exists, checking for alterations"),await this.alterTable(t,s,e)):(this.debug(e,"Table does not exist, creating new table"),await this.createTable(t,s,i,e)),i&&(this.debug(e,"Creating index for primary key:",i),await this.addIndex(s,i,e));let n=this.generateUpsertSql(t,s,i);return this.debug(e,"Generated upsert SQL:",n),new Promise((c,l)=>{let d=this.db.prepare(n);this.db.serialize(()=>{this.debug(e,"Beginning transaction"),this.db.run("BEGIN TRANSACTION"),t.forEach((h,g)=>{let m=Object.values(h);this.debug(e,`Processing row ${g+1}/${t.length}:`,m.length),d.run(m)}),d.finalize(),this.db.run("COMMIT",h=>{h?(this.debug(e,"Error committing transaction:",h),l(h)):(this.debug(e,"Transaction committed successfully"),c())})})})}catch(a){throw this.debug(e,"Error in upsert:",a),a}}async query(t,e=[],s){return this.debug(s,"Executing query:",t,"with params:",e),new Promise((i,r)=>{this.db.all(t,e,(a,n)=>{a?(this.debug(s,"Error executing query:",a),r(a)):(this.debug(s,"Query results:",n.length),i(n))})})}},q=async(u,t)=>{let{dbPath:e,tableName:s,primaryKey:i,isAlterTable:r}=t,a=new b(e);try{await a.upsert(u,t),console.log(`Data saved to ${s} successfully`)}catch(n){console.error(n)}finally{await a.close()}};y.exports={SqliteUtil:b,sqliteUpsert:q}});var $=_chunkNEJSZOZXjs.b.call(void 0, (v,S)=>{var C=_chunkNEJSZOZXjs.a.call(void 0, "fs"),o=_chunkNEJSZOZXjs.a.call(void 0, "path"),N=_chunkNEJSZOZXjs.a.call(void 0, "glob");function O(u){u=o.resolve(u);let t=[];try{return N.sync(o.join(u,"**"),{ignore:["**/node_modules/**","**/py_modules/**","**/vendor/**","**/.ipynb_checkpoints/**","**/.nuxt/**","**/tmp/**","**/dist/**","**/cache/**","**/.angular/**","**/.cache/**","**/.sfdx/**","**/.sf/**","**/.DS_Store","**/.AppleDouble","**/.LSOverride"],windowsPathsNoEscape:!0,nodir:!0}).forEach(s=>{let i=C.statSync(s);if(i.isFile()){let r={id:s,dir:o.parse(s).dir,fileName:o.parse(s).name,extension:o.parse(s).ext,dir1:o.basename(o.dirname(s)),dir2:o.basename(o.dirname(o.dirname(s))),dir3:o.basename(o.dirname(o.dirname(o.dirname(s)))),dir4:o.basename(o.dirname(o.dirname(o.dirname(o.dirname(s))))),size:i.size};t.push(r)}}),t}catch(e){return console.error("Error reading directory:",e),[]}}S.exports={getFilesInfo:O}});var{sqliteUpsert:A}=w(),{getFilesInfo:L}=$(),E=_chunkNEJSZOZXjs.a.call(void 0, "path"),f={command:"*",describe:"ls1",builder:{input:{alias:"i",describe:"input dir",demandOption:!0,type:"string"},output:{alias:"o",describe:"output",demandOption:!1,type:"string"}},handler(u){(async()=>{let t=L(u.input);u.output&&u.output.endsWith(".db")?A(t,{dbPath:u.output,tableName:E.basename(E.dirname(E.resolve(u.output)))+"_resource",primaryKey:"id",isAlterTable:!0}):console.log(JSON.stringify(t,null,2))})()}},j=()=>{let u=_chunkNEJSZOZXjs.a.call(void 0, "yargs").scriptName("ls1");u.command(f);let t=u.parse()};j();
6
+ WHERE "${s}"=?`}async createTable(t,e,s,i){let r=this.generateCreateTableSql(t,e,s);if(!r)throw new Error("No data provided for table creation");return this.debug(i,"Creating table with SQL:",r),new Promise((a,n)=>{this.db.run(r,c=>{c?(this.debug(i,"Error creating table:",c),n(c)):(this.debug(i,"Table created successfully"),a())})})}async addIndex(t,e,s){let i=`CREATE INDEX IF NOT EXISTS idx_${t}_${e} ON "${t}" ("${e}")`;return this.debug(s,"Creating index with SQL:",i),new Promise((r,a)=>{this.db.run(i,n=>{n?(this.debug(s,"Error creating index:",n),a(n)):(this.debug(s,"Index created successfully"),r())})})}async tableExists(t,e){let s="SELECT name FROM sqlite_master WHERE type='table' AND name=?";return this.debug(e,"Checking table existence:",s,[t]),new Promise((i,r)=>{this.db.get(s,[t],(a,n)=>{a?(this.debug(e,"Error checking table existence:",a),r(a)):(this.debug(e,"Table exists:",!!n),i(!!n))})})}async alterTable(t,e,s){this.debug(s,"Checking columns for table:",e);let r=(await this.query(`PRAGMA table_info("${e}");`,[],s)).map(c=>c.name),n=Object.keys(t[0]).filter(c=>!r.includes(c));if(this.debug(s,"Columns to add:",n),n.length>0)for(let c of n){let l=`ALTER TABLE "${e}" ADD COLUMN "${c}" TEXT;`;this.debug(s,"Altering table with SQL:",l),await new Promise((d,h)=>{this.db.run(l,g=>{g?(this.debug(s,"Error altering table:",g),h(g)):(this.debug(s,`Column "${c}" added successfully`),d())})})}}async insert(t,e){if(!t||t.length===0)throw new Error("No data provided");let{tableName:s,primaryKey:i,isAlterTable:r}=e;this.debug(e,"Starting insert operation:",{tableName:s,primaryKey:i,isAlterTable:r});try{await this.tableExists(s,e)?r&&(this.debug(e,"Table exists, checking for alterations"),await this.alterTable(t,s,e)):(this.debug(e,"Table does not exist, creating new table"),await this.createTable(t,s,i,e));let n=this.generateInsertSql(t,s);return this.debug(e,"Generated insert SQL:",n),new Promise((c,l)=>{let d=this.db.prepare(n);this.db.serialize(()=>{this.debug(e,"Beginning transaction"),this.db.run("BEGIN TRANSACTION"),t.forEach((h,g)=>{let m=Object.values(h);this.debug(e,`Processing row ${g+1}/${t.length}:`),d.run(m)}),d.finalize(),this.db.run("COMMIT",h=>{h?(this.debug(e,"Error committing transaction:",h),l(h)):(this.debug(e,"Transaction committed successfully"),c())})})})}catch(a){throw this.debug(e,"Error in insert:",a),a}}async update(t,e){if(!t||t.length===0)throw new Error("No data provided");let{tableName:s,primaryKey:i}=e;if(!i)throw new Error("Primary key is required for update operation");this.debug(e,"Starting update operation:",{tableName:s,primaryKey:i});try{let r=this.generateUpdateSql(t,s,i);return this.debug(e,"Generated update SQL:",r),new Promise((a,n)=>{let c=this.db.prepare(r);this.db.serialize(()=>{this.debug(e,"Beginning transaction"),this.db.run("BEGIN TRANSACTION"),t.forEach((l,d)=>{let g=Object.keys(l).filter(m=>m.toLowerCase()!==i.toLowerCase()).map(m=>l[m]);g.push(l[i]),this.debug(e,`Processing row ${d+1}/${t.length}:`),c.run(g)}),c.finalize(),this.db.run("COMMIT",l=>{l?(this.debug(e,"Error committing transaction:",l),n(l)):(this.debug(e,"Transaction committed successfully"),a())})})})}catch(r){throw this.debug(e,"Error in update:",r),r}}async upsert(t,e){if(!t||t.length===0)throw new Error("No data provided");let{tableName:s,primaryKey:i,isAlterTable:r}=e;this.debug(e,"Starting upsert operation:",{tableName:s,primaryKey:i,isAlterTable:r});try{await this.tableExists(s,e)?r&&(this.debug(e,"Table exists, checking for alterations"),await this.alterTable(t,s,e)):(this.debug(e,"Table does not exist, creating new table"),await this.createTable(t,s,i,e)),i&&(this.debug(e,"Creating index for primary key:",i),await this.addIndex(s,i,e));let n=this.generateUpsertSql(t,s,i);return this.debug(e,"Generated upsert SQL:",n),new Promise((c,l)=>{let d=this.db.prepare(n);this.db.serialize(()=>{this.debug(e,"Beginning transaction"),this.db.run("BEGIN TRANSACTION"),t.forEach((h,g)=>{let m=Object.values(h);this.debug(e,`Processing row ${g+1}/${t.length}:`,m.length),d.run(m)}),d.finalize(),this.db.run("COMMIT",h=>{h?(this.debug(e,"Error committing transaction:",h),l(h)):(this.debug(e,"Transaction committed successfully"),c())})})})}catch(a){throw this.debug(e,"Error in upsert:",a),a}}async query(t,e=[],s){return this.debug(s,"Executing query:",t,"with params:",e),new Promise((i,r)=>{this.db.all(t,e,(a,n)=>{a?(this.debug(s,"Error executing query:",a),r(a)):(this.debug(s,"Query results:",n.length),i(n))})})}},x=async(u,t)=>{let{dbPath:e,tableName:s,primaryKey:i,isAlterTable:r}=t,a=new p(e);try{await a.upsert(u,t),console.log(`Data saved to ${s} successfully`)}catch(n){console.error(n)}finally{await a.close()}};T.exports={SqliteUtil:p,sqliteUpsert:x}});var S=_chunkNEJSZOZXjs.b.call(void 0, (R,w)=>{var q=_chunkNEJSZOZXjs.a.call(void 0, "fs"),o=_chunkNEJSZOZXjs.a.call(void 0, "path"),C=_chunkNEJSZOZXjs.a.call(void 0, "glob");function N(u){u=o.resolve(u);let t=[];try{return C.sync(o.join(u,"**"),{ignore:["**/node_modules/**","**/py_modules/**","**/vendor/**","**/.ipynb_checkpoints/**","**/.nuxt/**","**/tmp/**","**/dist/**","**/cache/**","**/.angular/**","**/.cache/**","**/.sfdx/**","**/.sf/**","**/.DS_Store","**/.AppleDouble","**/.LSOverride"],windowsPathsNoEscape:!0,nodir:!0}).forEach(s=>{let i=q.statSync(s);if(i.isFile()){let r={id:s,dir:o.parse(s).dir,fileName:o.parse(s).name,extension:o.parse(s).ext,dir1:o.basename(o.dirname(s)),dir2:o.basename(o.dirname(o.dirname(s))),dir3:o.basename(o.dirname(o.dirname(o.dirname(s)))),dir4:o.basename(o.dirname(o.dirname(o.dirname(o.dirname(s))))),size:i.size};t.push(r)}}),t}catch(e){return console.error("Error reading directory:",e),[]}}w.exports={getFilesInfo:N}});var{sqliteUpsert:O}=y(),{getFilesInfo:A}=S(),k=_chunkNEJSZOZXjs.a.call(void 0, "path"),L={command:"*",describe:"ls1",builder:{input:{alias:"i",describe:"input dir",demandOption:!0,type:"string"},output:{alias:"o",describe:"output",demandOption:!1,type:"string"},table:{alias:"t",describe:"table",demandOption:!1,default:"sys_resource",type:"string"}},handler(u){(async()=>{let t=A(u.input);u.output&&u.output.endsWith(".db")?O(t,{dbPath:u.output,tableName:u.table,primaryKey:"id",isAlterTable:!0}):console.log(JSON.stringify(t,null,2))})()}},f=()=>{let u=_chunkNEJSZOZXjs.a.call(void 0, "yargs").scriptName("ls1");u.command(L);let t=u.parse()};f();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xl1",
3
- "version": "0.2.4",
3
+ "version": "0.2.5",
4
4
  "description": "just some xlsx script.",
5
5
  "bin": {
6
6
  "bash1": "dist/bash1/index.js",