@gent-js/gent 0.1.4

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.
Files changed (336) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +136 -0
  3. package/dist/generated/packageEnv.d.ts +5 -0
  4. package/dist/generated/packageEnv.js +7 -0
  5. package/dist/generated/packageEnv.js.map +1 -0
  6. package/dist/src/buildDocumentFromJsonTemplate.d.ts +3 -0
  7. package/dist/src/buildDocumentFromJsonTemplate.js +27 -0
  8. package/dist/src/buildDocumentFromJsonTemplate.js.map +1 -0
  9. package/dist/src/buildDocumentFromTextTemplate.d.ts +3 -0
  10. package/dist/src/buildDocumentFromTextTemplate.js +27 -0
  11. package/dist/src/buildDocumentFromTextTemplate.js.map +1 -0
  12. package/dist/src/cli.d.ts +2 -0
  13. package/dist/src/cli.js +103 -0
  14. package/dist/src/cli.js.map +1 -0
  15. package/dist/src/cliConsts.d.ts +3 -0
  16. package/dist/src/cliConsts.js +3 -0
  17. package/dist/src/cliConsts.js.map +1 -0
  18. package/dist/src/cliTypes.d.ts +7 -0
  19. package/dist/src/cliTypes.js +2 -0
  20. package/dist/src/cliTypes.js.map +1 -0
  21. package/dist/src/command/commandManager/commandManager.d.ts +7 -0
  22. package/dist/src/command/commandManager/commandManager.js +83 -0
  23. package/dist/src/command/commandManager/commandManager.js.map +1 -0
  24. package/dist/src/command/commandParser/commandParser.d.ts +11 -0
  25. package/dist/src/command/commandParser/commandParser.js +90 -0
  26. package/dist/src/command/commandParser/commandParser.js.map +1 -0
  27. package/dist/src/command/commandParser/parseCommand.d.ts +2 -0
  28. package/dist/src/command/commandParser/parseCommand.js +19 -0
  29. package/dist/src/command/commandParser/parseCommand.js.map +1 -0
  30. package/dist/src/command/commandParser/types.d.ts +33 -0
  31. package/dist/src/command/commandParser/types.js +2 -0
  32. package/dist/src/command/commandParser/types.js.map +1 -0
  33. package/dist/src/command/commandParser/visitor.d.ts +2 -0
  34. package/dist/src/command/commandParser/visitor.js +160 -0
  35. package/dist/src/command/commandParser/visitor.js.map +1 -0
  36. package/dist/src/command/commands/date/anytime.d.ts +2 -0
  37. package/dist/src/command/commands/date/anytime.js +8 -0
  38. package/dist/src/command/commands/date/anytime.js.map +1 -0
  39. package/dist/src/command/commands/date/timestamp.d.ts +2 -0
  40. package/dist/src/command/commands/date/timestamp.js +71 -0
  41. package/dist/src/command/commands/date/timestamp.js.map +1 -0
  42. package/dist/src/command/commands/finance/creditCardCVV.d.ts +2 -0
  43. package/dist/src/command/commands/finance/creditCardCVV.js +8 -0
  44. package/dist/src/command/commands/finance/creditCardCVV.js.map +1 -0
  45. package/dist/src/command/commands/finance/creditCardIssuer.d.ts +2 -0
  46. package/dist/src/command/commands/finance/creditCardIssuer.js +8 -0
  47. package/dist/src/command/commands/finance/creditCardIssuer.js.map +1 -0
  48. package/dist/src/command/commands/finance/creditCardNumber.d.ts +6 -0
  49. package/dist/src/command/commands/finance/creditCardNumber.js +12 -0
  50. package/dist/src/command/commands/finance/creditCardNumber.js.map +1 -0
  51. package/dist/src/command/commands/hacker/hacker.noun.d.ts +2 -0
  52. package/dist/src/command/commands/hacker/hacker.noun.js +8 -0
  53. package/dist/src/command/commands/hacker/hacker.noun.js.map +1 -0
  54. package/dist/src/command/commands/index.d.ts +1 -0
  55. package/dist/src/command/commands/index.js +95 -0
  56. package/dist/src/command/commands/index.js.map +1 -0
  57. package/dist/src/command/commands/internet/domainName.d.ts +2 -0
  58. package/dist/src/command/commands/internet/domainName.js +8 -0
  59. package/dist/src/command/commands/internet/domainName.js.map +1 -0
  60. package/dist/src/command/commands/internet/email.d.ts +2 -0
  61. package/dist/src/command/commands/internet/email.js +8 -0
  62. package/dist/src/command/commands/internet/email.js.map +1 -0
  63. package/dist/src/command/commands/internet/httpMethod.d.ts +2 -0
  64. package/dist/src/command/commands/internet/httpMethod.js +8 -0
  65. package/dist/src/command/commands/internet/httpMethod.js.map +1 -0
  66. package/dist/src/command/commands/internet/httpStatusCode.d.ts +2 -0
  67. package/dist/src/command/commands/internet/httpStatusCode.js +8 -0
  68. package/dist/src/command/commands/internet/httpStatusCode.js.map +1 -0
  69. package/dist/src/command/commands/internet/ip.d.ts +2 -0
  70. package/dist/src/command/commands/internet/ip.js +8 -0
  71. package/dist/src/command/commands/internet/ip.js.map +1 -0
  72. package/dist/src/command/commands/internet/ipv4.d.ts +2 -0
  73. package/dist/src/command/commands/internet/ipv4.js +8 -0
  74. package/dist/src/command/commands/internet/ipv4.js.map +1 -0
  75. package/dist/src/command/commands/internet/ipv6.d.ts +2 -0
  76. package/dist/src/command/commands/internet/ipv6.js +8 -0
  77. package/dist/src/command/commands/internet/ipv6.js.map +1 -0
  78. package/dist/src/command/commands/internet/mac.d.ts +2 -0
  79. package/dist/src/command/commands/internet/mac.js +8 -0
  80. package/dist/src/command/commands/internet/mac.js.map +1 -0
  81. package/dist/src/command/commands/internet/password.d.ts +6 -0
  82. package/dist/src/command/commands/internet/password.js +12 -0
  83. package/dist/src/command/commands/internet/password.js.map +1 -0
  84. package/dist/src/command/commands/internet/pri.d.ts +2 -0
  85. package/dist/src/command/commands/internet/pri.js +13 -0
  86. package/dist/src/command/commands/internet/pri.js.map +1 -0
  87. package/dist/src/command/commands/internet/url.d.ts +2 -0
  88. package/dist/src/command/commands/internet/url.js +8 -0
  89. package/dist/src/command/commands/internet/url.js.map +1 -0
  90. package/dist/src/command/commands/internet/userAgent.d.ts +2 -0
  91. package/dist/src/command/commands/internet/userAgent.js +8 -0
  92. package/dist/src/command/commands/internet/userAgent.js.map +1 -0
  93. package/dist/src/command/commands/internet/username.d.ts +2 -0
  94. package/dist/src/command/commands/internet/username.js +8 -0
  95. package/dist/src/command/commands/internet/username.js.map +1 -0
  96. package/dist/src/command/commands/location/country.d.ts +2 -0
  97. package/dist/src/command/commands/location/country.js +8 -0
  98. package/dist/src/command/commands/location/country.js.map +1 -0
  99. package/dist/src/command/commands/location/countryCode.d.ts +7 -0
  100. package/dist/src/command/commands/location/countryCode.js +13 -0
  101. package/dist/src/command/commands/location/countryCode.js.map +1 -0
  102. package/dist/src/command/commands/location/timeZone.d.ts +2 -0
  103. package/dist/src/command/commands/location/timeZone.js +8 -0
  104. package/dist/src/command/commands/location/timeZone.js.map +1 -0
  105. package/dist/src/command/commands/lorem/lorem.sentences.d.ts +7 -0
  106. package/dist/src/command/commands/lorem/lorem.sentences.js +14 -0
  107. package/dist/src/command/commands/lorem/lorem.sentences.js.map +1 -0
  108. package/dist/src/command/commands/number/int.d.ts +7 -0
  109. package/dist/src/command/commands/number/int.js +13 -0
  110. package/dist/src/command/commands/number/int.js.map +1 -0
  111. package/dist/src/command/commands/number/pid.d.ts +2 -0
  112. package/dist/src/command/commands/number/pid.js +14 -0
  113. package/dist/src/command/commands/number/pid.js.map +1 -0
  114. package/dist/src/command/commands/others/length.d.ts +7 -0
  115. package/dist/src/command/commands/others/length.js +13 -0
  116. package/dist/src/command/commands/others/length.js.map +1 -0
  117. package/dist/src/command/commands/phone/imei.d.ts +2 -0
  118. package/dist/src/command/commands/phone/imei.js +8 -0
  119. package/dist/src/command/commands/phone/imei.js.map +1 -0
  120. package/dist/src/command/commands/phone/phone.number.d.ts +6 -0
  121. package/dist/src/command/commands/phone/phone.number.js +12 -0
  122. package/dist/src/command/commands/phone/phone.number.js.map +1 -0
  123. package/dist/src/command/commands/string/alpha.d.ts +7 -0
  124. package/dist/src/command/commands/string/alpha.js +13 -0
  125. package/dist/src/command/commands/string/alpha.js.map +1 -0
  126. package/dist/src/command/commands/string/alphanumeric.d.ts +7 -0
  127. package/dist/src/command/commands/string/alphanumeric.js +13 -0
  128. package/dist/src/command/commands/string/alphanumeric.js.map +1 -0
  129. package/dist/src/command/commands/string/binary.d.ts +7 -0
  130. package/dist/src/command/commands/string/binary.js +13 -0
  131. package/dist/src/command/commands/string/binary.js.map +1 -0
  132. package/dist/src/command/commands/string/hexadecimal.d.ts +7 -0
  133. package/dist/src/command/commands/string/hexadecimal.js +13 -0
  134. package/dist/src/command/commands/string/hexadecimal.js.map +1 -0
  135. package/dist/src/command/commands/string/numeric.d.ts +6 -0
  136. package/dist/src/command/commands/string/numeric.js +12 -0
  137. package/dist/src/command/commands/string/numeric.js.map +1 -0
  138. package/dist/src/command/commands/string/octal.d.ts +7 -0
  139. package/dist/src/command/commands/string/octal.js +13 -0
  140. package/dist/src/command/commands/string/octal.js.map +1 -0
  141. package/dist/src/command/commands/string/ulid.d.ts +2 -0
  142. package/dist/src/command/commands/string/ulid.js +8 -0
  143. package/dist/src/command/commands/string/ulid.js.map +1 -0
  144. package/dist/src/command/commands/string/uuid.d.ts +2 -0
  145. package/dist/src/command/commands/string/uuid.js +8 -0
  146. package/dist/src/command/commands/string/uuid.js.map +1 -0
  147. package/dist/src/command/commands/system/directoryPath.d.ts +2 -0
  148. package/dist/src/command/commands/system/directoryPath.js +8 -0
  149. package/dist/src/command/commands/system/directoryPath.js.map +1 -0
  150. package/dist/src/command/commands/system/filePath.d.ts +2 -0
  151. package/dist/src/command/commands/system/filePath.js +8 -0
  152. package/dist/src/command/commands/system/filePath.js.map +1 -0
  153. package/dist/src/command/commands/system/mimeType.d.ts +2 -0
  154. package/dist/src/command/commands/system/mimeType.js +8 -0
  155. package/dist/src/command/commands/system/mimeType.js.map +1 -0
  156. package/dist/src/command/commands/system/networkInterface.d.ts +2 -0
  157. package/dist/src/command/commands/system/networkInterface.js +8 -0
  158. package/dist/src/command/commands/system/networkInterface.js.map +1 -0
  159. package/dist/src/command/commands/system/semver.d.ts +2 -0
  160. package/dist/src/command/commands/system/semver.js +8 -0
  161. package/dist/src/command/commands/system/semver.js.map +1 -0
  162. package/dist/src/command/consts.d.ts +3 -0
  163. package/dist/src/command/consts.js +4 -0
  164. package/dist/src/command/consts.js.map +1 -0
  165. package/dist/src/command/index.d.ts +4 -0
  166. package/dist/src/command/index.js +3 -0
  167. package/dist/src/command/index.js.map +1 -0
  168. package/dist/src/command/type.d.ts +22 -0
  169. package/dist/src/command/type.js +2 -0
  170. package/dist/src/command/type.js.map +1 -0
  171. package/dist/src/command/utils.d.ts +2 -0
  172. package/dist/src/command/utils.js +9 -0
  173. package/dist/src/command/utils.js.map +1 -0
  174. package/dist/src/commandDocument/buildCommandDocumentFragments.d.ts +4 -0
  175. package/dist/src/commandDocument/buildCommandDocumentFragments.js +12 -0
  176. package/dist/src/commandDocument/buildCommandDocumentFragments.js.map +1 -0
  177. package/dist/src/commandDocument/createCommandDocumentFragment.d.ts +3 -0
  178. package/dist/src/commandDocument/createCommandDocumentFragment.js +14 -0
  179. package/dist/src/commandDocument/createCommandDocumentFragment.js.map +1 -0
  180. package/dist/src/commandDocument/index.d.ts +1 -0
  181. package/dist/src/commandDocument/index.js +2 -0
  182. package/dist/src/commandDocument/index.js.map +1 -0
  183. package/dist/src/commandTemplate/index.d.ts +2 -0
  184. package/dist/src/commandTemplate/index.js +3 -0
  185. package/dist/src/commandTemplate/index.js.map +1 -0
  186. package/dist/src/commandTemplate/parseAndEmbedCommandExpression.d.ts +3 -0
  187. package/dist/src/commandTemplate/parseAndEmbedCommandExpression.js +12 -0
  188. package/dist/src/commandTemplate/parseAndEmbedCommandExpression.js.map +1 -0
  189. package/dist/src/commandTemplate/types.d.ts +3 -0
  190. package/dist/src/commandTemplate/types.js +2 -0
  191. package/dist/src/commandTemplate/types.js.map +1 -0
  192. package/dist/src/common/weightedItemFeeder.d.ts +15 -0
  193. package/dist/src/common/weightedItemFeeder.js +67 -0
  194. package/dist/src/common/weightedItemFeeder.js.map +1 -0
  195. package/dist/src/consts.d.ts +14 -0
  196. package/dist/src/consts.js +17 -0
  197. package/dist/src/consts.js.map +1 -0
  198. package/dist/src/createDocumentFeeder.d.ts +5 -0
  199. package/dist/src/createDocumentFeeder.js +64 -0
  200. package/dist/src/createDocumentFeeder.js.map +1 -0
  201. package/dist/src/createGeneratingDocumentStream.d.ts +4 -0
  202. package/dist/src/createGeneratingDocumentStream.js +33 -0
  203. package/dist/src/createGeneratingDocumentStream.js.map +1 -0
  204. package/dist/src/createGeneratingLogStream.d.ts +4 -0
  205. package/dist/src/createGeneratingLogStream.js +21 -0
  206. package/dist/src/createGeneratingLogStream.js.map +1 -0
  207. package/dist/src/debugFileWriter.d.ts +5 -0
  208. package/dist/src/debugFileWriter.js +33 -0
  209. package/dist/src/debugFileWriter.js.map +1 -0
  210. package/dist/src/document/createDocumentContextIterator.d.ts +2 -0
  211. package/dist/src/document/createDocumentContextIterator.js +15 -0
  212. package/dist/src/document/createDocumentContextIterator.js.map +1 -0
  213. package/dist/src/document/generatingDocument.d.ts +7 -0
  214. package/dist/src/document/generatingDocument.js +13 -0
  215. package/dist/src/document/generatingDocument.js.map +1 -0
  216. package/dist/src/document/index.d.ts +4 -0
  217. package/dist/src/document/index.js +4 -0
  218. package/dist/src/document/index.js.map +1 -0
  219. package/dist/src/document/types.d.ts +20 -0
  220. package/dist/src/document/types.js +2 -0
  221. package/dist/src/document/types.js.map +1 -0
  222. package/dist/src/document/utils.d.ts +2 -0
  223. package/dist/src/document/utils.js +9 -0
  224. package/dist/src/document/utils.js.map +1 -0
  225. package/dist/src/index.d.ts +1 -0
  226. package/dist/src/index.js +2 -0
  227. package/dist/src/index.js.map +1 -0
  228. package/dist/src/json/abstractJsonable.d.ts +12 -0
  229. package/dist/src/json/abstractJsonable.js +33 -0
  230. package/dist/src/json/abstractJsonable.js.map +1 -0
  231. package/dist/src/json/createJsonable.d.ts +3 -0
  232. package/dist/src/json/createJsonable.js +31 -0
  233. package/dist/src/json/createJsonable.js.map +1 -0
  234. package/dist/src/json/createJsonableTransformer.d.ts +4 -0
  235. package/dist/src/json/createJsonableTransformer.js +251 -0
  236. package/dist/src/json/createJsonableTransformer.js.map +1 -0
  237. package/dist/src/json/index.d.ts +6 -0
  238. package/dist/src/json/index.js +4 -0
  239. package/dist/src/json/index.js.map +1 -0
  240. package/dist/src/json/jsonConsts.d.ts +1 -0
  241. package/dist/src/json/jsonConsts.js +9 -0
  242. package/dist/src/json/jsonConsts.js.map +1 -0
  243. package/dist/src/json/jsonTypes.d.ts +8 -0
  244. package/dist/src/json/jsonTypes.js +2 -0
  245. package/dist/src/json/jsonTypes.js.map +1 -0
  246. package/dist/src/json/jsonableClasses/arrayJsonable.d.ts +11 -0
  247. package/dist/src/json/jsonableClasses/arrayJsonable.js +40 -0
  248. package/dist/src/json/jsonableClasses/arrayJsonable.js.map +1 -0
  249. package/dist/src/json/jsonableClasses/booleanJsonable.d.ts +8 -0
  250. package/dist/src/json/jsonableClasses/booleanJsonable.js +15 -0
  251. package/dist/src/json/jsonableClasses/booleanJsonable.js.map +1 -0
  252. package/dist/src/json/jsonableClasses/nullJsonable.d.ts +8 -0
  253. package/dist/src/json/jsonableClasses/nullJsonable.js +11 -0
  254. package/dist/src/json/jsonableClasses/nullJsonable.js.map +1 -0
  255. package/dist/src/json/jsonableClasses/numberJsonable.d.ts +9 -0
  256. package/dist/src/json/jsonableClasses/numberJsonable.js +18 -0
  257. package/dist/src/json/jsonableClasses/numberJsonable.js.map +1 -0
  258. package/dist/src/json/jsonableClasses/objectJsonable.d.ts +10 -0
  259. package/dist/src/json/jsonableClasses/objectJsonable.js +14 -0
  260. package/dist/src/json/jsonableClasses/objectJsonable.js.map +1 -0
  261. package/dist/src/json/jsonableClasses/stringJsonable.d.ts +9 -0
  262. package/dist/src/json/jsonableClasses/stringJsonable.js +15 -0
  263. package/dist/src/json/jsonableClasses/stringJsonable.js.map +1 -0
  264. package/dist/src/json/jsonableParametersConsts.d.ts +7 -0
  265. package/dist/src/json/jsonableParametersConsts.js +8 -0
  266. package/dist/src/json/jsonableParametersConsts.js.map +1 -0
  267. package/dist/src/json/jsonableParametersTypes.d.ts +32 -0
  268. package/dist/src/json/jsonableParametersTypes.js +2 -0
  269. package/dist/src/json/jsonableParametersTypes.js.map +1 -0
  270. package/dist/src/json/jsonableTypes.d.ts +11 -0
  271. package/dist/src/json/jsonableTypes.js +2 -0
  272. package/dist/src/json/jsonableTypes.js.map +1 -0
  273. package/dist/src/json/parseJsonable.d.ts +2 -0
  274. package/dist/src/json/parseJsonable.js +19 -0
  275. package/dist/src/json/parseJsonable.js.map +1 -0
  276. package/dist/src/json/stringifyJsonable.d.ts +6 -0
  277. package/dist/src/json/stringifyJsonable.js +43 -0
  278. package/dist/src/json/stringifyJsonable.js.map +1 -0
  279. package/dist/src/json/utils.d.ts +2 -0
  280. package/dist/src/json/utils.js +9 -0
  281. package/dist/src/json/utils.js.map +1 -0
  282. package/dist/src/output/createFileOutput.d.ts +2 -0
  283. package/dist/src/output/createFileOutput.js +28 -0
  284. package/dist/src/output/createFileOutput.js.map +1 -0
  285. package/dist/src/output/createTcpOutput.d.ts +3 -0
  286. package/dist/src/output/createTcpOutput.js +15 -0
  287. package/dist/src/output/createTcpOutput.js.map +1 -0
  288. package/dist/src/output/createUdpOutput.d.ts +3 -0
  289. package/dist/src/output/createUdpOutput.js +5 -0
  290. package/dist/src/output/createUdpOutput.js.map +1 -0
  291. package/dist/src/output/initializeOutput.d.ts +3 -0
  292. package/dist/src/output/initializeOutput.js +38 -0
  293. package/dist/src/output/initializeOutput.js.map +1 -0
  294. package/dist/src/output/tcpDocumentStream.d.ts +16 -0
  295. package/dist/src/output/tcpDocumentStream.js +107 -0
  296. package/dist/src/output/tcpDocumentStream.js.map +1 -0
  297. package/dist/src/output/throttlingDocumentStream.d.ts +21 -0
  298. package/dist/src/output/throttlingDocumentStream.js +69 -0
  299. package/dist/src/output/throttlingDocumentStream.js.map +1 -0
  300. package/dist/src/output/udpDocumentStream.d.ts +13 -0
  301. package/dist/src/output/udpDocumentStream.js +47 -0
  302. package/dist/src/output/udpDocumentStream.js.map +1 -0
  303. package/dist/src/output/updStream.d.ts +17 -0
  304. package/dist/src/output/updStream.js +78 -0
  305. package/dist/src/output/updStream.js.map +1 -0
  306. package/dist/src/run.d.ts +4 -0
  307. package/dist/src/run.js +55 -0
  308. package/dist/src/run.js.map +1 -0
  309. package/dist/src/template/consts.d.ts +2 -0
  310. package/dist/src/template/consts.js +3 -0
  311. package/dist/src/template/consts.js.map +1 -0
  312. package/dist/src/template/index.d.ts +4 -0
  313. package/dist/src/template/index.js +4 -0
  314. package/dist/src/template/index.js.map +1 -0
  315. package/dist/src/template/templateParser/parseTemplate.d.ts +2 -0
  316. package/dist/src/template/templateParser/parseTemplate.js +11 -0
  317. package/dist/src/template/templateParser/parseTemplate.js.map +1 -0
  318. package/dist/src/template/templateParser/templateParser.d.ts +11 -0
  319. package/dist/src/template/templateParser/templateParser.js +87 -0
  320. package/dist/src/template/templateParser/templateParser.js.map +1 -0
  321. package/dist/src/template/templateParser/visitor.d.ts +4 -0
  322. package/dist/src/template/templateParser/visitor.js +60 -0
  323. package/dist/src/template/templateParser/visitor.js.map +1 -0
  324. package/dist/src/template/types.d.ts +5 -0
  325. package/dist/src/template/types.js +2 -0
  326. package/dist/src/template/types.js.map +1 -0
  327. package/dist/src/template/utils.d.ts +2 -0
  328. package/dist/src/template/utils.js +4 -0
  329. package/dist/src/template/utils.js.map +1 -0
  330. package/dist/src/types.d.ts +68 -0
  331. package/dist/src/types.js +3 -0
  332. package/dist/src/types.js.map +1 -0
  333. package/dist/src/utils.d.ts +18 -0
  334. package/dist/src/utils.js +321 -0
  335. package/dist/src/utils.js.map +1 -0
  336. package/package.json +47 -0
@@ -0,0 +1,321 @@
1
+ import * as fs from "node:fs";
2
+ import * as fsPromises from "node:fs/promises";
3
+ import * as nodePath from "node:path";
4
+ import { normalizeWeight } from "./common/weightedItemFeeder.js";
5
+ import { DEFAULT_TEMPLATE_WEIGHT, DefaultEps, DefaultTcpFraming, DefaultTrailerReplacer, NetworkOutputTypes, OutputTypes, TcpFramingTypes, TemplateModes, } from "./consts.js";
6
+ // region type guards
7
+ export function isString(value) {
8
+ return typeof value === "string";
9
+ }
10
+ export function isNonNullObject(value) {
11
+ if (typeof value !== "object" || value === null) {
12
+ return false;
13
+ }
14
+ return true;
15
+ }
16
+ export function isTemplateMode(value) {
17
+ if (typeof value !== "string") {
18
+ return false;
19
+ }
20
+ const candidates = TemplateModes;
21
+ return candidates.includes(value);
22
+ }
23
+ export function isOutputType(value) {
24
+ if (typeof value !== "string") {
25
+ return false;
26
+ }
27
+ const candidates = OutputTypes;
28
+ return candidates.includes(value);
29
+ }
30
+ export function isNetworkOutputType(value) {
31
+ if (typeof value !== "string") {
32
+ return false;
33
+ }
34
+ const candidates = NetworkOutputTypes;
35
+ return candidates.includes(value);
36
+ }
37
+ export function isTcpFramingType(value) {
38
+ if (typeof value !== "string") {
39
+ return false;
40
+ }
41
+ const candidates = TcpFramingTypes;
42
+ return candidates.includes(value);
43
+ }
44
+ // endregion
45
+ // region parsers
46
+ export function parseString(value) {
47
+ if (!isString(value)) {
48
+ return undefined;
49
+ }
50
+ return value;
51
+ }
52
+ export function parseNonNaNInteger(value) {
53
+ if (Number.isInteger(value)) {
54
+ return value;
55
+ }
56
+ if (typeof value !== "string") {
57
+ return undefined;
58
+ }
59
+ const numValue = Number.parseInt(value);
60
+ if (Number.isNaN(numValue)) {
61
+ return undefined;
62
+ }
63
+ return numValue;
64
+ }
65
+ export function parseNonNaNFloat(value) {
66
+ if (typeof value === "number") {
67
+ if (Number.isNaN(value)) {
68
+ return undefined;
69
+ }
70
+ return value;
71
+ }
72
+ if (typeof value !== "string") {
73
+ return undefined;
74
+ }
75
+ const numValue = Number.parseFloat(value);
76
+ if (Number.isNaN(numValue)) {
77
+ return undefined;
78
+ }
79
+ return numValue;
80
+ }
81
+ export function parseDate(value) {
82
+ if (!isString(value)) {
83
+ return undefined;
84
+ }
85
+ const dateNumber = Date.parse(value);
86
+ if (Number.isNaN(dateNumber)) {
87
+ return undefined;
88
+ }
89
+ return new Date(dateNumber);
90
+ }
91
+ export function parseAndResolveFilePath(value, basePath) {
92
+ if (!isString(value)) {
93
+ return undefined;
94
+ }
95
+ if (nodePath.isAbsolute(value)) {
96
+ return value;
97
+ }
98
+ else {
99
+ return nodePath.resolve(basePath, value);
100
+ }
101
+ }
102
+ export async function tryReadFile(path) {
103
+ try {
104
+ await fsPromises.access(path, fs.constants.R_OK);
105
+ }
106
+ catch (error) {
107
+ console.log(error);
108
+ throw new Error(`cannot access the file. ${path}`);
109
+ }
110
+ let contentString;
111
+ try {
112
+ contentString = await fsPromises.readFile(path, {
113
+ encoding: "utf8",
114
+ });
115
+ }
116
+ catch (error) {
117
+ console.log(error);
118
+ throw new Error(`failed to read the file. ${path}`);
119
+ }
120
+ return contentString;
121
+ }
122
+ export function normalizeProgramOptions(possibleProgramOptions, basePath) {
123
+ if (!isNonNullObject(possibleProgramOptions)) {
124
+ return undefined;
125
+ }
126
+ let from = parseDate(possibleProgramOptions["from"]);
127
+ let to = parseDate(possibleProgramOptions["to"]);
128
+ if (from === undefined || to === undefined) {
129
+ const now = Date.now();
130
+ from = new Date(now - 1000 * 60 * 60 * 24);
131
+ to = new Date(now);
132
+ }
133
+ let count = parseNonNaNInteger(possibleProgramOptions["count"]);
134
+ if (count === undefined) {
135
+ count = 0;
136
+ }
137
+ let out = normalizeOutputOptions(possibleProgramOptions["out"], basePath);
138
+ if (out === undefined) {
139
+ console.error(`Invalid out option. (${out})`);
140
+ return undefined;
141
+ }
142
+ const debug = possibleProgramOptions["debug"] === true;
143
+ let templateOptionsArray;
144
+ const possibleTemplateOptionsArray = possibleProgramOptions["templates"];
145
+ if (Array.isArray(possibleTemplateOptionsArray)) {
146
+ templateOptionsArray =
147
+ possibleTemplateOptionsArray.flatMap((possibleTemplateOptions) => {
148
+ if (!isNonNullObject(possibleTemplateOptions)) {
149
+ return [];
150
+ }
151
+ const possiblePath = possibleTemplateOptions["path"];
152
+ const path = parseString(possiblePath);
153
+ if (path === undefined) {
154
+ console.error(`invalid file path.(${possiblePath})`);
155
+ return [];
156
+ }
157
+ const resolvedFilePath = parseAndResolveFilePath(path, basePath);
158
+ if (resolvedFilePath === undefined) {
159
+ console.error(`failed to resolve the file path.(${path})`);
160
+ return [];
161
+ }
162
+ const possibleMode = possibleTemplateOptions["mode"];
163
+ let mode;
164
+ if (isTemplateMode(possibleMode)) {
165
+ mode = possibleMode;
166
+ }
167
+ else {
168
+ mode = determineTemplateModeByFile(resolvedFilePath);
169
+ }
170
+ const weight = parseNonNaNFloat(possibleTemplateOptions["weight"]) ??
171
+ DEFAULT_TEMPLATE_WEIGHT;
172
+ const normalizedWeight = normalizeWeight(weight);
173
+ return {
174
+ mode: mode,
175
+ path: resolvedFilePath,
176
+ weight: normalizedWeight,
177
+ };
178
+ });
179
+ }
180
+ if (templateOptionsArray === undefined || templateOptionsArray.length === 0) {
181
+ console.error("no effective template specified.");
182
+ return undefined;
183
+ }
184
+ return {
185
+ debug,
186
+ from,
187
+ to,
188
+ count,
189
+ out,
190
+ templates: templateOptionsArray,
191
+ };
192
+ }
193
+ function normalizeOutputOptions(possibleOutputOptions, basePath) {
194
+ if (typeof possibleOutputOptions === "string") {
195
+ // shorthand
196
+ return {
197
+ type: "file",
198
+ path: possibleOutputOptions,
199
+ };
200
+ }
201
+ if (!isNonNullObject(possibleOutputOptions)) {
202
+ return undefined;
203
+ }
204
+ const possibleType = parseString(possibleOutputOptions["type"]);
205
+ if (!isOutputType(possibleType)) {
206
+ console.error(`invalid output type.(${possibleType})`);
207
+ return undefined;
208
+ }
209
+ const possiblePath = parseAndResolveFilePath(possibleOutputOptions["path"], basePath);
210
+ if (possiblePath === undefined) {
211
+ console.error(`output path must be specified.(${possiblePath})`);
212
+ return undefined;
213
+ }
214
+ if (possibleType == "file") {
215
+ const possibleSize = parseString(possibleOutputOptions["size"]);
216
+ if (possibleSize === undefined) {
217
+ return {
218
+ type: possibleType,
219
+ path: possiblePath,
220
+ };
221
+ }
222
+ else {
223
+ return {
224
+ type: possibleType,
225
+ path: possiblePath,
226
+ size: possibleSize,
227
+ };
228
+ }
229
+ }
230
+ else if (isNetworkOutputType(possibleType)) {
231
+ const possibleAddress = parseString(possibleOutputOptions["address"]);
232
+ const possiblePort = parseNonNaNInteger(possibleOutputOptions["port"]);
233
+ const possibleEps = parseNonNaNInteger(possibleOutputOptions["eps"]) ?? DefaultEps;
234
+ if (possibleAddress === undefined || possiblePort === undefined) {
235
+ console.error("invalid udp output options");
236
+ return undefined;
237
+ }
238
+ if (possibleType === "udp") {
239
+ return {
240
+ type: possibleType,
241
+ path: possiblePath,
242
+ address: possibleAddress,
243
+ port: possiblePort,
244
+ eps: possibleEps,
245
+ };
246
+ }
247
+ else if (possibleType === "tcp") {
248
+ const possibleFraming = parseString(possibleOutputOptions["framing"]) ?? DefaultTcpFraming;
249
+ if (!isTcpFramingType(possibleFraming)) {
250
+ console.error(`invalid framing type.(${possibleFraming})`);
251
+ return undefined;
252
+ }
253
+ if (possibleFraming === "octet-counting") {
254
+ return {
255
+ type: possibleType,
256
+ path: possiblePath,
257
+ address: possibleAddress,
258
+ port: possiblePort,
259
+ eps: possibleEps,
260
+ framing: possibleFraming,
261
+ };
262
+ }
263
+ else if (possibleFraming === "lf") {
264
+ const possibleTrailerReplacer = parseString(possibleOutputOptions["trailerReplacer"]) ??
265
+ DefaultTrailerReplacer;
266
+ return {
267
+ type: possibleType,
268
+ path: possiblePath,
269
+ address: possibleAddress,
270
+ port: possiblePort,
271
+ eps: possibleEps,
272
+ framing: possibleFraming,
273
+ trailerReplacer: possibleTrailerReplacer,
274
+ };
275
+ }
276
+ else {
277
+ assertNever(possibleFraming);
278
+ }
279
+ }
280
+ else {
281
+ assertNever(possibleType);
282
+ }
283
+ }
284
+ else {
285
+ return assertNever(possibleType);
286
+ }
287
+ }
288
+ export function determineTemplateModeByFile(filePath) {
289
+ return nodePath.extname(filePath) === ".json" ? "json" : "text";
290
+ }
291
+ // endregion
292
+ // region misc
293
+ export function pickFirst(input) {
294
+ if (input === undefined) {
295
+ return undefined;
296
+ }
297
+ else if (Array.isArray(input)) {
298
+ return input[0];
299
+ }
300
+ else {
301
+ return input;
302
+ }
303
+ }
304
+ export function pickMany(input) {
305
+ if (input === undefined) {
306
+ return [];
307
+ }
308
+ else if (Array.isArray(input)) {
309
+ return input;
310
+ }
311
+ else {
312
+ return [input];
313
+ }
314
+ }
315
+ // endregion
316
+ // region misc
317
+ export function assertNever(x) {
318
+ throw new Error(`Unexpected object: ${x}`);
319
+ }
320
+ // endregion
321
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@gent-js/gent",
3
+ "version": "0.1.4",
4
+ "description": "template base dummy text data generator.",
5
+ "homepage": "https://github.com/tomo-waka/gent",
6
+ "license": "MIT",
7
+ "author": "Tomokazu Wakabayashi",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "type": "module",
12
+ "main": "dist/src/index.js",
13
+ "bin": {
14
+ "gent": "dist/src/cli.js"
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "https://github.com/tomo-waka/gent.git"
19
+ },
20
+ "scripts": {
21
+ "build": "npm run build:tsc",
22
+ "build:tsc": "tsc -p tsconfig.build.json",
23
+ "generate:dts": "tsx scripts/generateParserCstDts.ts",
24
+ "generate:package-env": "tsx scripts/generatePackageEnv.ts",
25
+ "prepare": "npm run build",
26
+ "start": "tsx src/cli.ts --template sample/syslog_RFC3164(ISO_Date).template.log --count 5 --out out/out.log --debug",
27
+ "start-json": "tsx src/cli.ts --template sample/aws_CloudWatch.json --count 5 --out out/out.log --debug",
28
+ "start-meta": "tsx src/cli.ts --meta sample/meta.json",
29
+ "test": "echo \"Error: no test specified\" && exit 1",
30
+ "version": "npm run generate:package-env"
31
+ },
32
+ "dependencies": {
33
+ "@faker-js/faker": "~9",
34
+ "@types/luxon": "~3",
35
+ "chevrotain": "~11",
36
+ "commander": "~12",
37
+ "glob": "~11",
38
+ "luxon": "~3",
39
+ "rotating-file-stream": "~3"
40
+ },
41
+ "devDependencies": {
42
+ "@types/node": "~22",
43
+ "prettier": "~3",
44
+ "tsx": "~4",
45
+ "typescript": "~5.6"
46
+ }
47
+ }