geomcli 0.5.14 → 0.5.15
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/index.js +1 -1
- package/package.json +2 -1
- package/dist/index.js.map +0 -1
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "geomcli",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.15",
|
|
4
4
|
"description": "the nodejs companion library of geometrix",
|
|
5
5
|
"private": false,
|
|
6
6
|
"repository": {
|
|
@@ -65,6 +65,7 @@
|
|
|
65
65
|
},
|
|
66
66
|
"files": [
|
|
67
67
|
"dist",
|
|
68
|
+
"!dist/**/*.map",
|
|
68
69
|
"!dist/**/*.test.*",
|
|
69
70
|
"!dist/**/*.spec.*"
|
|
70
71
|
],
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/geom_write.ts","../src/geom_cli.ts","../package.json"],"sourcesContent":["// geom_write.ts\n\nimport type { tGeomFunc, tParamVal } from 'geometrix';\nimport {\n\tEFormat,\n\tfileBinContent,\n\tfileTextContent,\n\tfileSuffix,\n\tfileBin,\n\tcreateParamFile,\n\tparseParamFile\n} from 'geometrix';\nimport fs from 'fs';\n\nfunction dateString(): string {\n\tconst re1 = /[-:]/g;\n\tconst re2 = /\\..*$/;\n\tconst rDateStr = new Date().toISOString().replace(re1, '').replace(re2, '').replace('T', '_');\n\treturn rDateStr;\n}\n\nfunction createDir(iDir: string): string {\n\tlet rlog = '';\n\tif (!fs.existsSync(iDir)) {\n\t\tfs.mkdirSync(iDir, { recursive: true });\n\t\trlog += `info203: mkdir ${iDir}\\n`;\n\t}\n\treturn rlog;\n}\n\nasync function write_binFile(fName: string, fContent: Blob): Promise<string> {\n\tlet rlog = '';\n\tconst buffer = await fContent.arrayBuffer();\n\tconst arrBufView = new DataView(buffer);\n\tfs.writeFileSync(fName, arrBufView);\n\trlog += `info304: bin-file ${fName} has been written\\n`;\n\treturn rlog;\n}\n\nfunction write_textFile(fName: string, fContent: string): string {\n\tlet rlog = '';\n\tfs.writeFileSync(fName, fContent);\n\trlog += `info405: text-file ${fName} has been written\\n`;\n\treturn rlog;\n}\n\nfunction checkDirFName(iDir: string, fName: string): string {\n\tconst reSlash = /\\//;\n\tif (reSlash.test(fName)) {\n\t\tthrow `err932: the filename ${fName} contains a slash '/'`;\n\t}\n\tif (iDir === '') {\n\t\tthrow `err074: geom_write output-directory is an empty string!`;\n\t}\n\tconst fName2 = `${iDir}/${fName}`;\n\treturn fName2;\n}\n\nfunction writeParams(\n\tiPartName: string,\n\tidparams: tParamVal,\n\toDir: string,\n\toFileName: string\n): string {\n\tconst re1 = /[-:]/g;\n\tconst re2 = /\\..*$/;\n\tconst datestr = new Date().toISOString().replace(re1, '').replace(re2, '').replace('T', '_');\n\tlet file_name = `px_${iPartName}_${datestr}.json`;\n\tif (oFileName !== '') {\n\t\tfile_name = oFileName;\n\t}\n\tconst paramNb = Object.keys(idparams).length;\n\tconst fName2 = checkDirFName(oDir, file_name);\n\tlet rlog = `Write ${paramNb} parameters in file ${fName2}\\n`;\n\tconst file_content = createParamFile(datestr, idparams, 'Written by geom_cli');\n\trlog += createDir(oDir);\n\twrite_textFile(fName2, file_content);\n\treturn rlog;\n}\n\nfunction readParams(paramPath: string, printLog: boolean): tParamVal {\n\tlet rParamVal: tParamVal = {};\n\tif (paramPath !== '') {\n\t\tlet rlog = `Read parameter file ${paramPath}\\n`;\n\t\tif (!fs.existsSync(paramPath)) {\n\t\t\tthrow `err533: file ${paramPath} doesn't exist!`;\n\t\t}\n\t\tconst fContentStr = fs.readFileSync(paramPath, 'utf8');\n\t\tconst [obj] = parseParamFile(fContentStr);\n\t\t//const [obj, tlog] = parseParamFile(fContentStr);\n\t\t//rlog += tlog;\n\t\trlog += `file lastModif: ${obj.lastModif}\\n`;\n\t\trlog += `file comment: ${obj.comment}\\n`;\n\t\trlog += `info307: ${Object.keys(obj.pVal).length} parameters from file`;\n\t\trParamVal = obj.pVal;\n\t\tif (printLog) {\n\t\t\tconsole.log(rlog);\n\t\t}\n\t}\n\treturn rParamVal;\n}\n\nasync function geom_write(\n\tiPartName: string,\n\tfgeom: tGeomFunc,\n\tsimTime: number,\n\tiParam: tParamVal,\n\tiFormat: EFormat,\n\tiFace = '',\n\tiDir = '.',\n\tiFname = ''\n): Promise<string> {\n\tlet rlog = '';\n\tconst fSuffix = fileSuffix(iFormat);\n\tconst fBin = fileBin(iFormat);\n\tlet nFace = 'all';\n\tif (iFace !== '') {\n\t\tnFace = iFace;\n\t}\n\tlet fName = iFname;\n\tif (fName === '') {\n\t\tfName = iPartName + '_' + nFace + '_' + dateString() + fSuffix;\n\t}\n\tconst fName2 = checkDirFName(iDir, fName);\n\trlog += createDir(iDir);\n\tif (fBin) {\n\t\tconst fContent = await fileBinContent(fgeom, simTime, iParam, iFormat);\n\t\trlog += await write_binFile(fName2, fContent);\n\t} else {\n\t\tconst fContent = fileTextContent(fgeom, iParam, nFace, iFormat);\n\t\trlog += write_textFile(fName2, fContent);\n\t}\n\treturn rlog;\n}\n\nexport { geom_write, writeParams, readParams };\n","// geom_cli.ts\n\nimport type { tParamVal, tGeom, tSubDesign, tPageDef, tAllPageDef, tSubInst } from 'geometrix';\nimport { PType, EFormat, designParam, prefixLog, paramListToVal } from 'geometrix';\nimport { geom_write, writeParams, readParams } from './geom_write';\nimport yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport { version } from '../package.json';\n\nfunction get_design_array(dList: tAllPageDef): string[] {\n\tconst rDesignArray = Object.keys(dList);\n\treturn rDesignArray;\n}\n\nfunction selectDesign(dList: tAllPageDef, selD: string): tPageDef {\n\tif (!Object.keys(dList).includes(selD)) {\n\t\tconsole.log(`err918: design ${selD} is not defined`);\n\t\tprocess.exit(1);\n\t}\n\treturn dList[selD];\n}\n\nfunction selectDesignN(dList: tAllPageDef, selD: string): string {\n\tconst theD = selectDesign(dList, selD);\n\tconst dName = theD.pDef.partName;\n\treturn dName;\n}\n\nfunction parseModif(modif: string[], printLog: boolean): tParamVal {\n\tconst pVal: tParamVal = {};\n\tconst arrayLen = modif.length;\n\tif (arrayLen % 2 === 1) {\n\t\tthrow `err903: length ${arrayLen} of modif string array is odd!`;\n\t}\n\tfor (let i = 0; i < arrayLen / 2; i++) {\n\t\tconst valStr = modif[2 * i + 1];\n\t\tconst val = parseFloat(valStr);\n\t\tif (isNaN(val)) {\n\t\t\tthrow `err908: ${valStr} is not a number!`;\n\t\t}\n\t\tpVal[modif[2 * i]] = val;\n\t}\n\tconst pValLen = Object.keys(pVal).length;\n\tif (printLog && pValLen > 0) {\n\t\tconst rlog = `info308: ${pValLen} parameters of modifier`;\n\t\tconsole.log(rlog);\n\t}\n\treturn pVal;\n}\n\nfunction computeGeom(\n\tdList: tAllPageDef,\n\tselD: string,\n\tparamPath: string,\n\tmodif: string[],\n\tprintLog: boolean\n): tGeom {\n\tconst theD = selectDesign(dList, selD);\n\tlet rlog = `Compute design ${selD} (${theD.pDef.partName}):\\n`;\n\tconst dParam = designParam(theD.pDef);\n\ttry {\n\t\tdParam.applyParamVal(readParams(paramPath, printLog));\n\t\tdParam.applyParamVal(parseModif(modif, printLog));\n\t} catch (emsg) {\n\t\tconsole.log('err271: error while applying new parameters');\n\t\tconsole.log(emsg);\n\t\tprocess.exit(1);\n\t}\n\tconst simtime = 0;\n\tconst dGeom = theD.pGeom(simtime, dParam.getParamVal());\n\t//checkGeom(dGeom);\n\trlog += prefixLog(dGeom.logstr, dParam.partName);\n\tif (dGeom.calcErr) {\n\t\trlog += `err907: Error while computing ${theD.pDef.partName}\\n`;\n\t\tconsole.log(rlog);\n\t\tprocess.exit(1);\n\t} else {\n\t\trlog += `${theD.pDef.partName} successfully computed\\n`;\n\t}\n\tif (printLog) {\n\t\tconsole.log(rlog);\n\t}\n\treturn dGeom;\n}\n\nfunction get_figure_array(\n\tdList: tAllPageDef,\n\tselD: string,\n\tparamPath: string,\n\tmodif: string[]\n): string[] {\n\tconst dGeom = computeGeom(dList, selD, paramPath, modif, false);\n\tconst rfigN = Object.keys(dGeom.fig);\n\treturn rfigN;\n}\n\nfunction get_subdesign_array(\n\tdList: tAllPageDef,\n\tselD: string,\n\tparamPath: string,\n\tmodif: string[]\n): tSubDesign {\n\tconst dGeom = computeGeom(dList, selD, paramPath, modif, false);\n\tconst subd = dGeom.sub;\n\treturn subd;\n}\n\nfunction get_subd(\n\tdList: tAllPageDef,\n\tselD: string,\n\tsubdN: string,\n\tparamPath: string,\n\tmodif: string[],\n\tprintLog: boolean\n): tSubInst {\n\tconst theD = selectDesign(dList, selD);\n\tconst dGeom = computeGeom(dList, selD, paramPath, modif, printLog);\n\tif (!Object.keys(dGeom.sub).includes(subdN)) {\n\t\tconsole.log(`err207: sub-design ${subdN} not defined in partName ${theD.pDef.partName}`);\n\t\tprocess.exit(1);\n\t}\n\tconst rSubd = dGeom.sub[subdN];\n\tif (printLog) {\n\t\tconst rlog = `Subdesign ${subdN} (${rSubd.partName}) of ${selD} (${theD.pDef.partName}):\\n`;\n\t\tconsole.log(rlog);\n\t}\n\treturn rSubd;\n}\n\nconst c_fileFormat = [\n\t'json_param',\n\t'svg_all_figures',\n\t'dxf_all_figures',\n\t'pax_all',\n\t'scad_3d_openscad',\n\t'js_3d_openjscad',\n\t'zip_all'\n];\n\nfunction get_outopt_array(\n\tdList: tAllPageDef,\n\tselD: string,\n\tparamPath: string,\n\tmodif: string[]\n): string[] {\n\tconst rOutOpt: string[] = [];\n\tconst figN = get_figure_array(dList, selD, paramPath, modif);\n\tconst subdN = Object.keys(get_subdesign_array(dList, selD, paramPath, modif));\n\tfor (const figNi of figN) {\n\t\trOutOpt.push(`svg__${figNi}`);\n\t}\n\tfor (const figNi of figN) {\n\t\trOutOpt.push(`dxf__${figNi}`);\n\t}\n\tfor (const subdNi of subdN) {\n\t\trOutOpt.push(`json_sub_param_${subdNi}`);\n\t}\n\tfor (const ffi of c_fileFormat) {\n\t\trOutOpt.push(`${ffi}`);\n\t}\n\treturn rOutOpt;\n}\n\nenum EWrite {\n\teEGOPARAMS,\n\teSUBDPARAMS,\n\teOTHERS\n}\n\ninterface tEFormat {\n\teWrite: EWrite;\n\teFormat: EFormat;\n\teFace: string;\n\teSubdesign: string;\n}\n\nfunction decompose_outopt(outopt: string): tEFormat {\n\tlet rWrite = EWrite.eOTHERS;\n\tlet rFormat = EFormat.ePAX;\n\tlet rFace = 'all';\n\tlet rSubD = '';\n\tconst reSvg = /^svg__/;\n\tconst reDxf = /^dxf__/;\n\tconst reSubP = /^json_sub_param_/;\n\tif (outopt.match(reSvg)) {\n\t\trFace = outopt.replace(reSvg, '');\n\t\trFormat = EFormat.eSVG;\n\t\trWrite = EWrite.eOTHERS;\n\t} else if (outopt.match(reDxf)) {\n\t\trFace = outopt.replace(reDxf, '');\n\t\trFormat = EFormat.eDXF;\n\t\trWrite = EWrite.eOTHERS;\n\t} else if (outopt.match(reSubP)) {\n\t\trSubD = outopt.replace(reSubP, '');\n\t\trWrite = EWrite.eSUBDPARAMS;\n\t} else {\n\t\tswitch (outopt) {\n\t\t\tcase 'json_param':\n\t\t\t\trWrite = EWrite.eEGOPARAMS;\n\t\t\t\tbreak;\n\t\t\tcase 'svg_all_figures':\n\t\t\t\trFormat = EFormat.eSVGALL;\n\t\t\t\trWrite = EWrite.eOTHERS;\n\t\t\t\tbreak;\n\t\t\tcase 'dxf_all_figures':\n\t\t\t\trFormat = EFormat.eDXFALL;\n\t\t\t\trWrite = EWrite.eOTHERS;\n\t\t\t\tbreak;\n\t\t\tcase 'pax_all':\n\t\t\t\trFormat = EFormat.ePAX;\n\t\t\t\trWrite = EWrite.eOTHERS;\n\t\t\t\tbreak;\n\t\t\tcase 'scad_3d_openscad':\n\t\t\t\trFormat = EFormat.eOPENSCAD;\n\t\t\t\trWrite = EWrite.eOTHERS;\n\t\t\t\tbreak;\n\t\t\tcase 'js_3d_openjscad':\n\t\t\t\trFormat = EFormat.eJSCAD;\n\t\t\t\trWrite = EWrite.eOTHERS;\n\t\t\t\tbreak;\n\t\t\tcase 'zip_all':\n\t\t\t\trFormat = EFormat.eZIP;\n\t\t\t\trWrite = EWrite.eOTHERS;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\trFormat = EFormat.ePAX;\n\t\t\t\trWrite = EWrite.eOTHERS;\n\t\t}\n\t}\n\tconst eFormat: tEFormat = { eWrite: rWrite, eFormat: rFormat, eFace: rFace, eSubdesign: rSubD };\n\treturn eFormat;\n}\n\nfunction list_designs(dList: tAllPageDef, detail: boolean) {\n\tlet rlog = 'List of available designs:\\n';\n\tfor (const [idx, dname] of get_design_array(dList).entries()) {\n\t\trlog += `${(idx + 1).toString().padStart(4, ' ')} : ${dname}\\n`;\n\t\tif (detail) {\n\t\t\trlog += ` ${dList[dname].pDef.partName}\\n`;\n\t\t\trlog += ` ${dList[dname].pTitle}\\n`;\n\t\t\trlog += ` ${dList[dname].pDescription}\\n`;\n\t\t}\n\t}\n\tconsole.log(rlog);\n}\n\nfunction list_parameters(dList: tAllPageDef, selD: string, paramPath: string, modif: string[]) {\n\tconst theD = selectDesign(dList, selD);\n\tlet rlog = `List of parameters of the design ${selD} (${theD.pDef.partName}):\\n`;\n\tconst dParam = designParam(theD.pDef);\n\ttry {\n\t\tdParam.applyParamVal(readParams(paramPath, true));\n\t\tdParam.applyParamVal(parseModif(modif, true));\n\t} catch (emsg) {\n\t\tconsole.log('err272: error while applying new parameters');\n\t\tconsole.log(emsg);\n\t\tprocess.exit(1);\n\t}\n\tconst paramVal = dParam.getParamVal();\n\tconst nameLength = 20;\n\tconst unitLength = 8;\n\tconst nameLabel = 'name'.padEnd(nameLength, ' ');\n\tconst unitLabel = 'unit'.padEnd(unitLength, ' ');\n\trlog += ` # : ${nameLabel} current ${unitLabel} init min max step\\n`;\n\tfor (const [idx, pa] of theD.pDef.params.entries()) {\n\t\tconst idx2 = (idx + 1).toString().padStart(4, ' ');\n\t\tconst pname = pa.name.padEnd(nameLength, ' ');\n\t\tconst pcurr = paramVal[pa.name];\n\t\tconst pcurrP = pcurr.toString().padStart(6, ' ');\n\t\tconst punit = pa.unit.padEnd(unitLength, ' ');\n\t\tconst pinit = pa.init.toString().padStart(6, ' ');\n\t\tswitch (pa.pType) {\n\t\t\tcase PType.eCheckbox:\n\t\t\t\trlog += `${idx2} : ${pname} checkbox ${pcurr} ${pa.init}\\n`;\n\t\t\t\tbreak;\n\t\t\tcase PType.eDropdown:\n\t\t\t\trlog += `${idx2} : ${pname} ${pcurr} ${pa.init}`;\n\t\t\t\tfor (const [optI, optN] of pa.dropdown.entries()) {\n\t\t\t\t\trlog += ` ${optI}:${optN}`;\n\t\t\t\t}\n\t\t\t\trlog += '\\n';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\trlog += `${idx2} : ${pname} ${pcurrP} ${punit} ${pinit} ${pa.min} ${pa.max} ${pa.step}\\n`;\n\t\t}\n\t}\n\tconsole.log(rlog);\n}\n\nfunction list_figures(dList: tAllPageDef, selD: string, paramPath: string, modif: string[]) {\n\tconst dPartName = selectDesignN(dList, selD);\n\tconst figN = get_figure_array(dList, selD, paramPath, modif);\n\tlet rlog = `List of figures of the design ${selD} (${dPartName}):\\n`;\n\tfor (const [idx, figNi] of figN.entries()) {\n\t\tconst idx2 = (idx + 1).toString().padStart(4, ' ');\n\t\trlog += `${idx2} : ${figNi}\\n`;\n\t}\n\tconsole.log(rlog);\n}\n\nfunction list_subdesigns(dList: tAllPageDef, selD: string, paramPath: string, modif: string[]) {\n\tconst dPartName = selectDesignN(dList, selD);\n\tconst subdA = get_subdesign_array(dList, selD, paramPath, modif);\n\tconst subdN = Object.keys(subdA);\n\tlet rlog = `List of sub-designs of the design ${selD} (${dPartName}):\\n`;\n\tfor (const [idx, subdNi] of subdN.entries()) {\n\t\tconst idx2 = (idx + 1).toString().padStart(4, ' ');\n\t\tconst subd = subdA[subdNi];\n\t\tconst ori = `[ ${subd.orientation[0]}, ${subd.orientation[1]}, ${subd.orientation[2]}]`;\n\t\tconst pos = `[ ${subd.position[0]}, ${subd.position[1]}, ${subd.position[2]}]`;\n\t\tconst subdNp = subdNi.padEnd(15, ' ');\n\t\tconst subdPp = subd.partName.padEnd(15, ' ');\n\t\trlog += `${idx2} : ${subdNp} ${subdPp} orientation: ${ori} position: ${pos}\\n`;\n\t}\n\tconsole.log(rlog);\n}\n\nfunction list_subd_parameters(\n\tdList: tAllPageDef,\n\tselD: string,\n\tsubdN: string,\n\tparamPath: string,\n\tmodif: string[]\n) {\n\tconst subdParam = get_subd(dList, selD, subdN, paramPath, modif, true).dparam;\n\tconst nameLength = 20;\n\tconst nameLabel = 'name'.padEnd(nameLength, ' ');\n\tlet rlog = ` # : ${nameLabel} value init changed\\n`;\n\tfor (const [idx, ipaN] of Object.keys(subdParam).entries()) {\n\t\tconst idx2 = (idx + 1).toString().padStart(4, ' ');\n\t\tconst paN = ipaN.padEnd(nameLength, ' ');\n\t\tconst pa = subdParam[ipaN];\n\t\tconst paVal = pa.val.toString().padStart(6, ' ');\n\t\tconst paInit = pa.init.toString().padStart(6, ' ');\n\t\trlog += `${idx2} : ${paN} ${paVal} ${paInit} ${pa.chg ? 'changed' : ''}\\n`;\n\t}\n\tconsole.log(rlog);\n}\n\nfunction list_outopt(dList: tAllPageDef, selD: string, paramPath: string, modif: string[]) {\n\tconst dPartName = selectDesignN(dList, selD);\n\tlet rlog = `List of outputs of the design ${selD} (${dPartName}):\\n`;\n\tconst outOpt = get_outopt_array(dList, selD, paramPath, modif);\n\tfor (const [idx, oneOpt] of outOpt.entries()) {\n\t\tconst idx2 = (idx + 1).toString().padStart(4, ' ');\n\t\trlog += `${idx2} : ${oneOpt}\\n`;\n\t}\n\tconsole.log(rlog);\n}\n\nlet cmd_write = false;\nasync function geom_cli(iArgs: string[], dList: tAllPageDef, outDir = 'output') {\n\tconst argv = yargs(hideBin(iArgs))\n\t\t.scriptName('geom_cli')\n\t\t.version(version)\n\t\t.usage('Usage: $0 <global-options> command <command-argument>')\n\t\t.example([\n\t\t\t['$0 list-designs', 'list the available designs'],\n\t\t\t['$0 list-designs-detailed', 'list the available designs with detailed information'],\n\t\t\t['$0 -d heliostat/rake compute-log', 'compute and print the log'],\n\t\t\t['$0 -d heliostat/swing list-outopt', 'list possible output-format-options'],\n\t\t\t['$0 -d heliostat/rod write zip_all', 'write a zip file']\n\t\t])\n\t\t.option('design', {\n\t\t\talias: 'd',\n\t\t\ttype: 'string',\n\t\t\tdescription: 'design to be used by the command',\n\t\t\tdefault: ''\n\t\t})\n\t\t.option('param', {\n\t\t\talias: 'p',\n\t\t\ttype: 'string',\n\t\t\tarray: false,\n\t\t\tdescription: 'path to the input parameter file',\n\t\t\tdefault: ''\n\t\t})\n\t\t.option('modif', {\n\t\t\talias: 'm',\n\t\t\tnargs: 2,\n\t\t\ttype: 'string',\n\t\t\tdescription: 'modify parameter values <paramName> <paramValue>',\n\t\t\tdefault: ''\n\t\t})\n\t\t.option('outDir', {\n\t\t\talias: 'o',\n\t\t\ttype: 'string',\n\t\t\tdescription: 'the path of the directory where to write the output files',\n\t\t\tdefault: outDir\n\t\t})\n\t\t.option('outFileName', {\n\t\t\ttype: 'string',\n\t\t\tdescription: 'Rename the output filename',\n\t\t\tdefault: ''\n\t\t})\n\t\t.command(['list-designs', 'list'], 'list the available designs', {}, () => {\n\t\t\tlist_designs(dList, false);\n\t\t})\n\t\t.command('list-designs-detailed', 'list the available designs with details', {}, () => {\n\t\t\tlist_designs(dList, true);\n\t\t})\n\t\t.command('list-parameters', 'list the parameters of the selected design', {}, (argv) => {\n\t\t\t//console.log(argv)\n\t\t\tlist_parameters(\n\t\t\t\tdList,\n\t\t\t\targv.design as string,\n\t\t\t\targv.param as string,\n\t\t\t\targv.modif as string[]\n\t\t\t);\n\t\t})\n\t\t.command('list-figures', 'list the figures of the selected design', {}, (argv) => {\n\t\t\tlist_figures(\n\t\t\t\tdList,\n\t\t\t\targv.design as string,\n\t\t\t\targv.param as string,\n\t\t\t\targv.modif as string[]\n\t\t\t);\n\t\t})\n\t\t.command('list-subdesigns', 'list the subdesigns of the selected design', {}, (argv) => {\n\t\t\tlist_subdesigns(\n\t\t\t\tdList,\n\t\t\t\targv.design as string,\n\t\t\t\targv.param as string,\n\t\t\t\targv.modif as string[]\n\t\t\t);\n\t\t})\n\t\t.command(\n\t\t\t'list-subd-parameters <subdN>',\n\t\t\t'list the parameters of subdesigns',\n\t\t\t{},\n\t\t\t(argv) => {\n\t\t\t\tlist_subd_parameters(\n\t\t\t\t\tdList,\n\t\t\t\t\targv.design as string,\n\t\t\t\t\targv.subdN as string,\n\t\t\t\t\targv.param as string,\n\t\t\t\t\targv.modif as string[]\n\t\t\t\t);\n\t\t\t}\n\t\t)\n\t\t.command('compute-log', 'Compute and print the log without writing file', {}, (argv) => {\n\t\t\tcomputeGeom(\n\t\t\t\tdList,\n\t\t\t\targv.design as string,\n\t\t\t\targv.param as string,\n\t\t\t\targv.modif as string[],\n\t\t\t\ttrue\n\t\t\t);\n\t\t})\n\t\t.command(\n\t\t\t'list-outopt',\n\t\t\t'list the possible output format options of the selected design',\n\t\t\t{},\n\t\t\t(argv) => {\n\t\t\t\tlist_outopt(\n\t\t\t\t\tdList,\n\t\t\t\t\targv.design as string,\n\t\t\t\t\targv.param as string,\n\t\t\t\t\targv.modif as string[]\n\t\t\t\t);\n\t\t\t}\n\t\t)\n\t\t.command('write <outopt>', 'write the output format file', {}, () => {\n\t\t\tcmd_write = true;\n\t\t})\n\t\t.demandCommand(1)\n\t\t.help()\n\t\t.strict()\n\t\t.parseSync();\n\t//console.log(argv.$0);\n\t//console.log(argv.design);\n\t//console.log(argv.param);\n\t//console.log(argv.modif);\n\t//console.log(argv.outDir);\n\t//console.log(argv);\n\tif (cmd_write) {\n\t\tconst iOutDir = argv.outDir;\n\t\tif (iOutDir === '') {\n\t\t\tconsole.log(\"err638: option 'outDir' is set to empty string. Nothing written!\");\n\t\t\tprocess.exit(1);\n\t\t}\n\t\tconst selD = argv.design;\n\t\tconst outopt = argv.outopt as string;\n\t\tconst paramPath = argv.param;\n\t\tconst paramModif = argv.modif as unknown as string[];\n\t\tconst theD = selectDesign(dList, selD);\n\t\t// check if outopt is valid\n\t\tconst outOpt = get_outopt_array(dList, selD, paramPath, paramModif);\n\t\tif (!outOpt.includes(outopt)) {\n\t\t\tconsole.log(`err639: outopt ${outopt} is not a valid option`);\n\t\t\tprocess.exit(1);\n\t\t}\n\t\t// end of check of outopt\n\t\t//let rlog = `Write ${outopt} of ${selD} (${theD.pDef.partName}):\\n`;\n\t\tlet rlog = '';\n\t\tconst oOpt = decompose_outopt(outopt);\n\t\tconst dParam = designParam(theD.pDef);\n\t\ttry {\n\t\t\tdParam.applyParamVal(readParams(paramPath, false));\n\t\t\tdParam.applyParamVal(parseModif(paramModif, false));\n\t\t} catch (emsg) {\n\t\t\tconsole.log('err273: error while applying new parameters');\n\t\t\tconsole.log(emsg);\n\t\t\tprocess.exit(1);\n\t\t}\n\t\tcomputeGeom(dList, selD, paramPath, paramModif, true);\n\t\ttry {\n\t\t\tif (oOpt.eWrite === EWrite.eEGOPARAMS) {\n\t\t\t\trlog += writeParams(\n\t\t\t\t\tdParam.partName,\n\t\t\t\t\tdParam.getParamVal(),\n\t\t\t\t\tiOutDir,\n\t\t\t\t\targv.outFileName\n\t\t\t\t);\n\t\t\t} else if (oOpt.eWrite === EWrite.eSUBDPARAMS) {\n\t\t\t\tconst subD = get_subd(dList, selD, oOpt.eSubdesign, paramPath, paramModif, false);\n\t\t\t\trlog += writeParams(\n\t\t\t\t\tsubD.partName,\n\t\t\t\t\tparamListToVal(subD.dparam),\n\t\t\t\t\tiOutDir,\n\t\t\t\t\targv.outFileName\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tconst simtime = 0;\n\t\t\t\trlog += await geom_write(\n\t\t\t\t\tdParam.partName,\n\t\t\t\t\ttheD.pGeom,\n\t\t\t\t\tsimtime,\n\t\t\t\t\tdParam.getParamVal(),\n\t\t\t\t\toOpt.eFormat, // output-format\n\t\t\t\t\t//EFormat.eSVG,\n\t\t\t\t\t//EFormat.eDXF,\n\t\t\t\t\t//EFormat.ePAX,\n\t\t\t\t\t//EFormat.eOPENSCAD,\n\t\t\t\t\t//EFormat.eJSCAD,\n\t\t\t\t\t//EFormat.eZIP,\n\t\t\t\t\toOpt.eFace, // selected-2d-face\n\t\t\t\t\tiOutDir, // output-directory\n\t\t\t\t\targv.outFileName // output-filename\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (emsg) {\n\t\t\tconsole.log('err279: error while writing file');\n\t\t\tconsole.log(emsg);\n\t\t\tprocess.exit(1);\n\t\t}\n\t\tconsole.log(rlog);\n\t}\n}\n\nexport { geom_cli };\n","{\n\t\"name\": \"geomcli\",\n\t\"version\": \"0.5.14\",\n\t\"description\": \"the nodejs companion library of geometrix\",\n\t\"private\": false,\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"git+https://github.com/charlyoleg2/parametrix.git\"\n\t},\n\t\"homepage\": \"https://github.com/charlyoleg2/parametrix/tree/main/pkg/geomcli#readme\",\n\t\"keywords\": [\n\t\t\"cad\",\n\t\t\"programmatic\",\n\t\t\"2D\",\n\t\t\"circle\",\n\t\t\"stroke\",\n\t\t\"arc\",\n\t\t\"gear\"\n\t],\n\t\"author\": \"charlyoleg\",\n\t\"tsup\": {\n\t\t\"entry\": [\n\t\t\t\"src/index.ts\"\n\t\t],\n\t\t\"format\": \"esm\",\n\t\t\"splitting\": false,\n\t\t\"dts\": true,\n\t\t\"sourcemap\": true,\n\t\t\"clean\": true\n\t},\n\t\"scripts\": {\n\t\t\"dev\": \"tsup --watch\",\n\t\t\"build\": \"tsup\",\n\t\t\"check\": \"tsc --noEmit\",\n\t\t\"pretty\": \"prettier --check .\",\n\t\t\"format\": \"prettier --write .\",\n\t\t\"lint\": \"eslint .\",\n\t\t\"test:unit\": \"vitest\",\n\t\t\"test:unit:once\": \"vitest --run\",\n\t\t\"ci\": \"run-s check build pretty lint test:unit:once\",\n\t\t\"clean\": \"shx rm -fr build dist node_modules\"\n\t},\n\t\"dependencies\": {\n\t\t\"geometrix\": \"^0.5.1\",\n\t\t\"yargs\": \"^17.7.2\"\n\t},\n\t\"devDependencies\": {\n\t\t\"@types/yargs\": \"^17.0.32\",\n\t\t\"@typescript-eslint/eslint-plugin\": \"^6.16.0\",\n\t\t\"@typescript-eslint/parser\": \"^6.16.0\",\n\t\t\"eslint\": \"^8.56.0\",\n\t\t\"eslint-config-prettier\": \"^9.1.0\",\n\t\t\"npm-run-all\": \"^4.1.5\",\n\t\t\"prettier\": \"^3.1.1\",\n\t\t\"shx\": \"^0.3.4\",\n\t\t\"tsup\": \"^8.0.1\",\n\t\t\"typescript\": \"^5.3.3\",\n\t\t\"vitest\": \"^1.1.0\"\n\t},\n\t\"exports\": {\n\t\t\".\": {\n\t\t\t\"types\": \"./dist/index.d.ts\",\n\t\t\t\"default\": \"./dist/index.js\"\n\t\t}\n\t},\n\t\"files\": [\n\t\t\"dist\",\n\t\t\"!dist/**/*.test.*\",\n\t\t\"!dist/**/*.spec.*\"\n\t],\n\t\"types\": \"./dist/index.d.ts\",\n\t\"type\": \"module\"\n}\n"],"mappings":"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","names":["EFormat","EFormat","argv"]}
|