@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,8 @@
1
+ import { faker } from "@faker-js/faker";
2
+ export const semver = {
3
+ name: "semver",
4
+ run: () => {
5
+ return faker.system.semver();
6
+ },
7
+ };
8
+ //# sourceMappingURL=semver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semver.js","sourceRoot":"","sources":["../../../../../src/command/commands/system/semver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC,MAAM,CAAC,MAAM,MAAM,GAAkB;IACnC,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,GAAG,EAAE;QACR,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const GlobalOption_Variations: "variations";
2
+ export declare const GlobalOption_Escape: "escape";
3
+ export declare const EscapeStyles: readonly ["json", "doubleQuote"];
@@ -0,0 +1,4 @@
1
+ export const GlobalOption_Variations = "variations";
2
+ export const GlobalOption_Escape = "escape";
3
+ export const EscapeStyles = ["json", "doubleQuote"];
4
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/command/consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAqB,CAAC;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAiB,CAAC;AACrD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,aAAa,CAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ export type { StructuredCommandExpression } from "./type.js";
2
+ export type { CommandManager } from "./commandManager/commandManager.js";
3
+ export { parseCommand } from "./commandParser/parseCommand.js";
4
+ export { commandManager } from "./commandManager/commandManager.js";
@@ -0,0 +1,3 @@
1
+ export { parseCommand } from "./commandParser/parseCommand.js";
2
+ export { commandManager } from "./commandManager/commandManager.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/command/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { ContextualStringOut, DocumentOptions } from "../document/index.js";
2
+ import type { EscapeStyles } from "./consts.js";
3
+ export interface StructuredCommandExpression {
4
+ readonly expression: string;
5
+ readonly name: string;
6
+ readonly arguments?: readonly string[];
7
+ readonly options?: Readonly<CommandOptions>;
8
+ }
9
+ interface PrimitiveCommand {
10
+ readonly name: string;
11
+ }
12
+ export interface StaticCommand extends PrimitiveCommand {
13
+ readonly run: ContextualStringOut;
14
+ }
15
+ export interface ProgrammableCommand extends PrimitiveCommand {
16
+ build(commandOptions: Readonly<CommandOptions> | undefined, documentOptions: DocumentOptions): ContextualStringOut;
17
+ }
18
+ export type Command = StaticCommand | ProgrammableCommand;
19
+ export type CommandOptionValue = string | number | boolean;
20
+ export type CommandOptions = Record<string, CommandOptionValue>;
21
+ export type EscapeStyle = (typeof EscapeStyles)[number];
22
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/command/type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import type { EscapeStyle } from "./type.js";
2
+ export declare function isEscapeStyle(value: unknown): value is EscapeStyle;
@@ -0,0 +1,9 @@
1
+ import { EscapeStyles } from "./consts.js";
2
+ export function isEscapeStyle(value) {
3
+ if (typeof value !== "string") {
4
+ return false;
5
+ }
6
+ const candidates = EscapeStyles;
7
+ return candidates.includes(value);
8
+ }
9
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/command/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAsB,YAAY,CAAC;IACnD,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { CommandManager } from "../command/index.js";
2
+ import type { CommandParsedTemplateFragment } from "../commandTemplate/index.js";
3
+ import type { DocumentFragment, DocumentOptions } from "../document/index.js";
4
+ export declare function buildCommandDocumentFragments(parsedTemplateFragments: readonly CommandParsedTemplateFragment[], commandManager: CommandManager, documentOptions: DocumentOptions): DocumentFragment[];
@@ -0,0 +1,12 @@
1
+ import { createCommandDocumentFragment } from "./createCommandDocumentFragment.js";
2
+ export function buildCommandDocumentFragments(parsedTemplateFragments, commandManager, documentOptions) {
3
+ return parsedTemplateFragments.map((parsedTemplateFragment) => {
4
+ if (typeof parsedTemplateFragment === "string") {
5
+ return parsedTemplateFragment;
6
+ }
7
+ else {
8
+ return createCommandDocumentFragment(parsedTemplateFragment, commandManager, documentOptions);
9
+ }
10
+ });
11
+ }
12
+ //# sourceMappingURL=buildCommandDocumentFragments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildCommandDocumentFragments.js","sourceRoot":"","sources":["../../../src/commandDocument/buildCommandDocumentFragments.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF,MAAM,UAAU,6BAA6B,CAC3C,uBAAiE,EACjE,cAA8B,EAC9B,eAAgC;IAEhC,OAAO,uBAAuB,CAAC,GAAG,CAChC,CAAC,sBAAsB,EAAE,EAAE;QACzB,IAAI,OAAO,sBAAsB,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,sBAAsB,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,6BAA6B,CAClC,sBAAsB,EACtB,cAAc,EACd,eAAe,CAChB,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CommandManager, StructuredCommandExpression } from "../command/index.js";
2
+ import type { ContextualDocumentFragment, DocumentOptions } from "../document/types.js";
3
+ export declare function createCommandDocumentFragment(structuredCommandExpression: StructuredCommandExpression, commandManager: CommandManager, documentOptions: DocumentOptions): ContextualDocumentFragment;
@@ -0,0 +1,14 @@
1
+ class CommandDocumentFragmentImpl {
2
+ contextualStringOut;
3
+ constructor(structuredCommandExpression, commandManager, documentOptions) {
4
+ const commandOptions = structuredCommandExpression.options;
5
+ this.contextualStringOut = commandManager.getCommandContextualStringOut(structuredCommandExpression.name, commandOptions, documentOptions);
6
+ }
7
+ toString(context) {
8
+ return this.contextualStringOut(context);
9
+ }
10
+ }
11
+ export function createCommandDocumentFragment(structuredCommandExpression, commandManager, documentOptions) {
12
+ return new CommandDocumentFragmentImpl(structuredCommandExpression, commandManager, documentOptions);
13
+ }
14
+ //# sourceMappingURL=createCommandDocumentFragment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCommandDocumentFragment.js","sourceRoot":"","sources":["../../../src/commandDocument/createCommandDocumentFragment.ts"],"names":[],"mappings":"AAWA,MAAM,2BAA2B;IACd,mBAAmB,CAAsB;IAE1D,YACE,2BAAwD,EACxD,cAA8B,EAC9B,eAAgC;QAEhC,MAAM,cAAc,GAAG,2BAA2B,CAAC,OAAO,CAAC;QAC3D,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,6BAA6B,CACrE,2BAA2B,CAAC,IAAI,EAChC,cAAc,EACd,eAAe,CAChB,CAAC;IACJ,CAAC;IAEM,QAAQ,CAAC,OAAwB;QACtC,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,UAAU,6BAA6B,CAC3C,2BAAwD,EACxD,cAA8B,EAC9B,eAAgC;IAEhC,OAAO,IAAI,2BAA2B,CACpC,2BAA2B,EAC3B,cAAc,EACd,eAAe,CAChB,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export { buildCommandDocumentFragments } from "./buildCommandDocumentFragments.js";
@@ -0,0 +1,2 @@
1
+ export { buildCommandDocumentFragments } from "./buildCommandDocumentFragments.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commandDocument/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./types.js";
2
+ export { parseAndEmbedCommandExpression } from "./parseAndEmbedCommandExpression.js";
@@ -0,0 +1,3 @@
1
+ export * from "./types.js";
2
+ export { parseAndEmbedCommandExpression } from "./parseAndEmbedCommandExpression.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commandTemplate/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { TemplateFragment } from "../template/index.js";
2
+ import type { CommandParsedTemplateFragment } from "./types.js";
3
+ export declare function parseAndEmbedCommandExpression(templateFragments: readonly TemplateFragment[]): CommandParsedTemplateFragment[];
@@ -0,0 +1,12 @@
1
+ import { parseCommand } from "../command/index.js";
2
+ export function parseAndEmbedCommandExpression(templateFragments) {
3
+ return templateFragments.map((templateFragment) => {
4
+ if (typeof templateFragment === "string") {
5
+ return templateFragment;
6
+ }
7
+ else {
8
+ return parseCommand(templateFragment.expression);
9
+ }
10
+ });
11
+ }
12
+ //# sourceMappingURL=parseAndEmbedCommandExpression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseAndEmbedCommandExpression.js","sourceRoot":"","sources":["../../../src/commandTemplate/parseAndEmbedCommandExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,MAAM,UAAU,8BAA8B,CAC5C,iBAA8C;IAE9C,OAAO,iBAAiB,CAAC,GAAG,CAC1B,CAAC,gBAAgB,EAAE,EAAE;QACnB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,gBAAgB,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { StructuredCommandExpression } from "../command/index.js";
2
+ import type { StringTemplateFragment } from "../template/index.js";
3
+ export type CommandParsedTemplateFragment = StringTemplateFragment | StructuredCommandExpression;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commandTemplate/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ export interface WeightedItem<Item> {
2
+ readonly content: Item;
3
+ readonly weight?: number;
4
+ }
5
+ export declare class WeightedItemFeeder<Item> {
6
+ private totalWeight;
7
+ private normalizedWeightedItems;
8
+ constructor(...weightedItems: WeightedItem<Item>[]);
9
+ get size(): number;
10
+ addItem(item: Item, weight?: number): void;
11
+ addWeightedItem(weightedItem: WeightedItem<Item>): void;
12
+ getItem(): Item | undefined;
13
+ private updateTotalWeight;
14
+ }
15
+ export declare function normalizeWeight(value: number): number;
@@ -0,0 +1,67 @@
1
+ import { faker } from "@faker-js/faker";
2
+ const DEFAULT_WEIGHT = 1;
3
+ const MIN_WEIGHT = 0;
4
+ const MAX_WEIGHT = 2 ** 16;
5
+ export class WeightedItemFeeder {
6
+ totalWeight = -1;
7
+ normalizedWeightedItems;
8
+ constructor(...weightedItems) {
9
+ this.normalizedWeightedItems = weightedItems.map(normalizeWeightedItem);
10
+ this.updateTotalWeight();
11
+ }
12
+ get size() {
13
+ return this.normalizedWeightedItems.length;
14
+ }
15
+ addItem(item, weight = DEFAULT_WEIGHT) {
16
+ const weightedItem = {
17
+ content: item,
18
+ weight: weight,
19
+ };
20
+ this.addWeightedItem(weightedItem);
21
+ }
22
+ addWeightedItem(weightedItem) {
23
+ this.normalizedWeightedItems.push(normalizeWeightedItem(weightedItem));
24
+ this.updateTotalWeight();
25
+ }
26
+ getItem() {
27
+ const totalWeight = this.totalWeight;
28
+ if (totalWeight < MIN_WEIGHT) {
29
+ return undefined;
30
+ }
31
+ const targetAccumWeight = faker.number.float({
32
+ min: MIN_WEIGHT,
33
+ max: totalWeight,
34
+ });
35
+ let accumWeight = MIN_WEIGHT;
36
+ const weightedItem = this.normalizedWeightedItems.find(({ weight }) => {
37
+ accumWeight = accumWeight + weight;
38
+ if (targetAccumWeight <= accumWeight) {
39
+ return true;
40
+ }
41
+ return false;
42
+ });
43
+ return weightedItem?.content;
44
+ }
45
+ updateTotalWeight() {
46
+ this.totalWeight = this.normalizedWeightedItems.reduce((sum, { weight }) => {
47
+ return sum + weight;
48
+ }, 0);
49
+ }
50
+ }
51
+ function normalizeWeightedItem(weightedItem) {
52
+ let weight;
53
+ if (typeof weightedItem.weight === "number") {
54
+ weight = weightedItem.weight;
55
+ }
56
+ else {
57
+ weight = DEFAULT_WEIGHT;
58
+ }
59
+ return {
60
+ content: weightedItem.content,
61
+ weight: normalizeWeight(weight),
62
+ };
63
+ }
64
+ export function normalizeWeight(value) {
65
+ return Math.min(Math.max(value, MIN_WEIGHT), MAX_WEIGHT);
66
+ }
67
+ //# sourceMappingURL=weightedItemFeeder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weightedItemFeeder.js","sourceRoot":"","sources":["../../../src/common/weightedItemFeeder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAWxC,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,CAAC;AAE3B,MAAM,OAAO,kBAAkB;IACrB,WAAW,GAAW,CAAC,CAAC,CAAC;IACzB,uBAAuB,CAAiC;IAEhE,YAAY,GAAG,aAAmC;QAChD,IAAI,CAAC,uBAAuB,GAAG,aAAa,CAAC,GAAG,CAE9C,qBAAqB,CAAC,CAAC;QACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC;IAC7C,CAAC;IAEM,OAAO,CAAC,IAAU,EAAE,SAAiB,cAAc;QACxD,MAAM,YAAY,GAAiC;YACjD,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,MAAM;SACf,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAEM,eAAe,CAAC,YAAgC;QACrD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEM,OAAO;QACZ,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,WAAW,GAAG,UAAU,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YAC3C,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,WAAW;SACjB,CAAC,CAAC;QACH,IAAI,WAAW,GAAG,UAAU,CAAC;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACpE,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;YACnC,IAAI,iBAAiB,IAAI,WAAW,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,EAAE,OAAO,CAAC;IAC/B,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CACpD,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YAClB,OAAO,GAAG,GAAG,MAAM,CAAC;QACtB,CAAC,EACD,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AAED,SAAS,qBAAqB,CAC5B,YAAgC;IAEhC,IAAI,MAAc,CAAC;IACnB,IAAI,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,cAAc,CAAC;IAC1B,CAAC;IACD,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { NonTransparentFramingType, TcpFramingType } from "./types.js";
2
+ export declare const DEFAULT_TEMPLATE_WEIGHT = 1;
3
+ export declare const TemplateModes: readonly ["text", "json"];
4
+ export declare const NetworkOutputTypes: readonly ["udp", "tcp"];
5
+ export declare const OutputTypes: readonly ["file", "udp", "tcp"];
6
+ export declare const DefaultEps = 3000;
7
+ export declare const OctetCounting: "octet-counting";
8
+ export declare const NonTransparentFramingTypes: readonly ["lf"];
9
+ export declare const TcpFramingTypes: readonly ["octet-counting", "lf"];
10
+ export declare const DefaultTcpFraming: TcpFramingType;
11
+ export declare const DefaultTrailerReplacer: " ";
12
+ export declare const TrailerMap: {
13
+ [Key in NonTransparentFramingType]: string;
14
+ };
@@ -0,0 +1,17 @@
1
+ export const DEFAULT_TEMPLATE_WEIGHT = 1;
2
+ export const TemplateModes = ["text", "json"];
3
+ export const NetworkOutputTypes = ["udp", "tcp"];
4
+ export const OutputTypes = ["file", ...NetworkOutputTypes];
5
+ export const DefaultEps = 3000;
6
+ export const OctetCounting = "octet-counting";
7
+ export const NonTransparentFramingTypes = ["lf"];
8
+ export const TcpFramingTypes = [
9
+ OctetCounting,
10
+ ...NonTransparentFramingTypes,
11
+ ];
12
+ export const DefaultTcpFraming = "lf";
13
+ export const DefaultTrailerReplacer = " ";
14
+ export const TrailerMap = {
15
+ lf: "\n",
16
+ };
17
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/consts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAC;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAU,CAAC;AAC1D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAU,CAAC;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAyB,CAAC;AACvD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAI,CAAU,CAAC;AAC1D,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,aAAa;IACb,GAAG,0BAA0B;CACrB,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAmB,IAAI,CAAC;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAY,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAmD;IACxE,EAAE,EAAE,IAAI;CACA,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { CommandManager } from "./command/index.js";
2
+ import { WeightedItemFeeder } from "./common/weightedItemFeeder.js";
3
+ import type { DocumentContent } from "./document/index.js";
4
+ import type { ProgramOptions, TemplateOptions } from "./types.js";
5
+ export declare function createDocumentFeeder(templateOptionsArray: readonly TemplateOptions[], programOptions: ProgramOptions, commandManager: CommandManager): Promise<WeightedItemFeeder<DocumentContent>>;
@@ -0,0 +1,64 @@
1
+ import * as fs from "node:fs";
2
+ import * as fsPromises from "node:fs/promises";
3
+ import { buildDocumentFromJsonTemplate } from "./buildDocumentFromJsonTemplate.js";
4
+ import { buildDocumentFromTextTemplate } from "./buildDocumentFromTextTemplate.js";
5
+ import { WeightedItemFeeder, } from "./common/weightedItemFeeder.js";
6
+ import { assertNever } from "./utils.js";
7
+ export async function createDocumentFeeder(templateOptionsArray, programOptions, commandManager) {
8
+ const { from, to, count } = programOptions;
9
+ const sharedDocumentOptions = {
10
+ from: from,
11
+ to: to,
12
+ total: count,
13
+ };
14
+ const documentFeeder = new WeightedItemFeeder();
15
+ const weightedDocuments = await Promise.all(templateOptionsArray.map(async (templateOptions) => createWeightedDocument(templateOptions, sharedDocumentOptions, commandManager)));
16
+ weightedDocuments.forEach((weightedDocument) => {
17
+ if (weightedDocument === undefined) {
18
+ return;
19
+ }
20
+ documentFeeder.addWeightedItem(weightedDocument);
21
+ });
22
+ return documentFeeder;
23
+ }
24
+ async function createWeightedDocument(templateOptions, sharedDocumentOptions, commandManager) {
25
+ const { mode, path, weight } = templateOptions;
26
+ const documentOptions = {
27
+ shared: sharedDocumentOptions,
28
+ path: path,
29
+ };
30
+ try {
31
+ await fsPromises.access(path, fs.constants.R_OK);
32
+ }
33
+ catch (error) {
34
+ console.error(`cannot access template file. ${path}`);
35
+ console.log(error);
36
+ return undefined;
37
+ }
38
+ let templateString;
39
+ try {
40
+ templateString = await fsPromises.readFile(path, {
41
+ encoding: "utf8",
42
+ });
43
+ }
44
+ catch (error) {
45
+ console.log(error);
46
+ return undefined;
47
+ }
48
+ let documentContent;
49
+ if (mode === "text") {
50
+ documentContent = buildDocumentFromTextTemplate(templateString, commandManager, documentOptions);
51
+ }
52
+ else if (mode === "json") {
53
+ documentContent = buildDocumentFromJsonTemplate(templateString, commandManager, documentOptions);
54
+ }
55
+ else {
56
+ assertNever(mode);
57
+ }
58
+ const weightDocument = {
59
+ content: documentContent,
60
+ weight: weight,
61
+ };
62
+ return weightDocument;
63
+ }
64
+ //# sourceMappingURL=createDocumentFeeder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDocumentFeeder.js","sourceRoot":"","sources":["../../src/createDocumentFeeder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF,OAAO,EAEL,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAOxC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,oBAAgD,EAChD,cAA8B,EAC9B,cAA8B;IAE9B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;IAC3C,MAAM,qBAAqB,GAA0B;QACnD,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,KAAK;KACb,CAAC;IAEF,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAmB,CAAC;IAEjE,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CAGzC,oBAAoB,CAAC,GAAG,CAEtB,KAAK,EAAE,eAAe,EAAE,EAAE,CAC1B,sBAAsB,CACpB,eAAe,EACf,qBAAqB,EACrB,cAAc,CACf,CACF,CACF,CAAC;IACF,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE;QAC7C,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QACD,cAAc,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,eAAgC,EAChC,qBAA4C,EAC5C,cAA8B;IAE9B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;IAE/C,MAAM,eAAe,GAAoB;QACvC,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,IAAI;KACX,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,cAAkC,CAAC;IACvC,IAAI,CAAC;QACH,cAAc,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC/C,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,eAAgC,CAAC;IACrC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,eAAe,GAAG,6BAA6B,CAC7C,cAAc,EACd,cAAc,EACd,eAAe,CAChB,CAAC;IACJ,CAAC;SAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,eAAe,GAAG,6BAA6B,CAC7C,cAAc,EACd,cAAc,EACd,eAAe,CAChB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,cAAc,GAAkC;QACpD,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,MAAM;KACf,CAAC;IAEF,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Readable } from "node:stream";
2
+ import { WeightedItemFeeder } from "./common/weightedItemFeeder.js";
3
+ import { type DocumentContent } from "./document/index.js";
4
+ export declare function createGeneratingDocumentStream(documentFeeder: WeightedItemFeeder<DocumentContent>, count: number, objectMode?: boolean): Readable;
@@ -0,0 +1,33 @@
1
+ import { Readable } from "node:stream";
2
+ import { createDocumentContextIterator, GeneratingDocument, } from "./document/index.js";
3
+ export function createGeneratingDocumentStream(documentFeeder, count, objectMode = false) {
4
+ if (objectMode) {
5
+ return Readable.from(generateGeneratingDocument(documentFeeder, count), {
6
+ objectMode: true,
7
+ });
8
+ }
9
+ else {
10
+ return Readable.from(generate(documentFeeder, count), {
11
+ objectMode: false,
12
+ });
13
+ }
14
+ }
15
+ function* generateGeneratingDocument(documentFeeder, count) {
16
+ const documentContextIterator = createDocumentContextIterator(count);
17
+ for (let context of documentContextIterator) {
18
+ let document = documentFeeder.getItem();
19
+ if (document === undefined) {
20
+ console.error("no document found.");
21
+ document = "";
22
+ }
23
+ yield new GeneratingDocument(document, context);
24
+ }
25
+ }
26
+ function* generate(documentFeeder, count) {
27
+ const generatingDocumentIterator = generateGeneratingDocument(documentFeeder, count);
28
+ for (let generatingDocument of generatingDocumentIterator) {
29
+ const output = generatingDocument.stamp();
30
+ yield output + "\n";
31
+ }
32
+ }
33
+ //# sourceMappingURL=createGeneratingDocumentStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createGeneratingDocumentStream.js","sourceRoot":"","sources":["../../src/createGeneratingDocumentStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EACL,6BAA6B,EAE7B,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,8BAA8B,CAC5C,cAAmD,EACnD,KAAa,EACb,aAAsB,KAAK;IAE3B,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE;YACtE,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE;YACpD,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,QAAQ,CAAC,CAAC,0BAA0B,CAClC,cAAmD,EACnD,KAAa;IAEb,MAAM,uBAAuB,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACrE,KAAK,IAAI,OAAO,IAAI,uBAAuB,EAAE,CAAC;QAC5C,IAAI,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACpC,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,QAAQ,CAAC,CAAC,QAAQ,CAChB,cAAmD,EACnD,KAAa;IAEb,MAAM,0BAA0B,GAAG,0BAA0B,CAC3D,cAAc,EACd,KAAK,CACN,CAAC;IACF,KAAK,IAAI,kBAAkB,IAAI,0BAA0B,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Readable } from "node:stream";
2
+ import { WeightedItemFeeder } from "./common/weightedItemFeeder.js";
3
+ import type { DocumentContent } from "./document/index.js";
4
+ export declare function createGeneratingLogStream(documentFeeder: WeightedItemFeeder<DocumentContent>, count: number): Readable;
@@ -0,0 +1,21 @@
1
+ import { Readable } from "node:stream";
2
+ import { createDocumentContextIterator, stampDocumentContent, } from "./document/index.js";
3
+ export function createGeneratingLogStream(documentFeeder, count) {
4
+ return Readable.from(generate(documentFeeder, count));
5
+ }
6
+ function* generate(documentFeeder, count) {
7
+ const documentContextIterator = createDocumentContextIterator(count);
8
+ for (let documentContext of documentContextIterator) {
9
+ const document = documentFeeder.getItem();
10
+ let output;
11
+ if (document === undefined) {
12
+ console.error("no document found.");
13
+ output = "";
14
+ }
15
+ else {
16
+ output = stampDocumentContent(document, documentContext);
17
+ }
18
+ yield output + "\n";
19
+ }
20
+ }
21
+ //# sourceMappingURL=createGeneratingLogStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createGeneratingLogStream.js","sourceRoot":"","sources":["../../src/createGeneratingLogStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,yBAAyB,CACvC,cAAmD,EACnD,KAAa;IAEb,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,QAAQ,CAAC,CAAC,QAAQ,CAChB,cAAmD,EACnD,KAAa;IAEb,MAAM,uBAAuB,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACrE,KAAK,IAAI,eAAe,IAAI,uBAAuB,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;QAC1C,IAAI,MAAc,CAAC;QACnB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACpC,MAAM,GAAG,EAAE,CAAC;QACd,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,oBAAoB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface DebugFileWriter {
2
+ setBaseDirectory(directoryPath: string): void;
3
+ writeFile(fileName: string, content: string): void;
4
+ }
5
+ export declare const debugFileWriter: DebugFileWriter;
@@ -0,0 +1,33 @@
1
+ import * as fsPromises from "node:fs/promises";
2
+ import * as nodePath from "node:path";
3
+ class DebugFileWriterImpl {
4
+ baseDirectoryPath;
5
+ setBaseDirectory(directoryPath) {
6
+ this.baseDirectoryPath = directoryPath;
7
+ }
8
+ writeFile(fileName, content) {
9
+ const baseDirectoryPath = this.baseDirectoryPath;
10
+ if (baseDirectoryPath === undefined) {
11
+ return;
12
+ }
13
+ const outFilePath = nodePath.resolve(baseDirectoryPath, fileName);
14
+ this.__writeFile(outFilePath, content).catch((error) => console.error(error));
15
+ }
16
+ async __writeFile(filePath, content) {
17
+ let outFile;
18
+ try {
19
+ outFile = await fsPromises.open(filePath, "w");
20
+ await outFile.writeFile(content);
21
+ }
22
+ catch (error) {
23
+ throw new Error("Error occurred during writing output.");
24
+ }
25
+ finally {
26
+ if (outFile !== undefined) {
27
+ await outFile.close();
28
+ }
29
+ }
30
+ }
31
+ }
32
+ export const debugFileWriter = new DebugFileWriterImpl();
33
+ //# sourceMappingURL=debugFileWriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugFileWriter.js","sourceRoot":"","sources":["../../src/debugFileWriter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AAQtC,MAAM,mBAAmB;IACf,iBAAiB,CAAqB;IAEvC,gBAAgB,CAAC,aAAqB;QAC3C,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC;IACzC,CAAC;IAEM,SAAS,CAAC,QAAgB,EAAE,OAAe;QAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAElE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACrD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CACrB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,OAAe;QACzD,IAAI,OAA+B,CAAC;QACpC,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC/C,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAoB,IAAI,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { DocumentContext } from "./types.js";
2
+ export declare function createDocumentContextIterator(count: number, initialIndex?: number): IterableIterator<DocumentContext>;
@@ -0,0 +1,15 @@
1
+ class DocumentContextImpl {
2
+ index;
3
+ constructor(index) {
4
+ this.index = index;
5
+ }
6
+ }
7
+ export function createDocumentContextIterator(count, initialIndex) {
8
+ return generate(count, initialIndex);
9
+ }
10
+ function* generate(length, startIndex = 0) {
11
+ for (let i = startIndex; i < length; i++) {
12
+ yield new DocumentContextImpl(i);
13
+ }
14
+ }
15
+ //# sourceMappingURL=createDocumentContextIterator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDocumentContextIterator.js","sourceRoot":"","sources":["../../../src/document/createDocumentContextIterator.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB;IACK;IAA5B,YAA4B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;CAC9C;AAED,MAAM,UAAU,6BAA6B,CAC3C,KAAa,EACb,YAAqB;IAErB,OAAO,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACvC,CAAC;AAED,QAAQ,CAAC,CAAC,QAAQ,CAChB,MAAc,EACd,aAAqB,CAAC;IAEtB,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { DocumentContent, DocumentContext } from "./types.js";
2
+ export declare class GeneratingDocument {
3
+ private readonly content;
4
+ private readonly context;
5
+ constructor(content: DocumentContent, context: DocumentContext);
6
+ stamp(): string;
7
+ }
@@ -0,0 +1,13 @@
1
+ import { stampDocument } from "./utils.js";
2
+ export class GeneratingDocument {
3
+ content;
4
+ context;
5
+ constructor(content, context) {
6
+ this.content = content;
7
+ this.context = context;
8
+ }
9
+ stamp() {
10
+ return stampDocument(this.content, this.context);
11
+ }
12
+ }
13
+ //# sourceMappingURL=generatingDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generatingDocument.js","sourceRoot":"","sources":["../../../src/document/generatingDocument.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,OAAO,kBAAkB;IAEV;IACA;IAFnB,YACmB,OAAwB,EACxB,OAAwB;QADxB,YAAO,GAAP,OAAO,CAAiB;QACxB,YAAO,GAAP,OAAO,CAAiB;IACxC,CAAC;IAEG,KAAK;QACV,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export type { ContextualStringOut, ContextualDocumentFragment, DocumentContent, DocumentContext, DocumentFragment, DocumentOptions, SharedDocumentOptions, } from "./types.js";
2
+ export { GeneratingDocument } from "./generatingDocument.js";
3
+ export { createDocumentContextIterator } from "./createDocumentContextIterator.js";
4
+ export { stampDocument } from "./utils.js";
@@ -0,0 +1,4 @@
1
+ export { GeneratingDocument } from "./generatingDocument.js";
2
+ export { createDocumentContextIterator } from "./createDocumentContextIterator.js";
3
+ export { stampDocument } from "./utils.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/document/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}