@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.
- package/LICENSE +21 -0
- package/README.md +136 -0
- package/dist/generated/packageEnv.d.ts +5 -0
- package/dist/generated/packageEnv.js +7 -0
- package/dist/generated/packageEnv.js.map +1 -0
- package/dist/src/buildDocumentFromJsonTemplate.d.ts +3 -0
- package/dist/src/buildDocumentFromJsonTemplate.js +27 -0
- package/dist/src/buildDocumentFromJsonTemplate.js.map +1 -0
- package/dist/src/buildDocumentFromTextTemplate.d.ts +3 -0
- package/dist/src/buildDocumentFromTextTemplate.js +27 -0
- package/dist/src/buildDocumentFromTextTemplate.js.map +1 -0
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.js +103 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/cliConsts.d.ts +3 -0
- package/dist/src/cliConsts.js +3 -0
- package/dist/src/cliConsts.js.map +1 -0
- package/dist/src/cliTypes.d.ts +7 -0
- package/dist/src/cliTypes.js +2 -0
- package/dist/src/cliTypes.js.map +1 -0
- package/dist/src/command/commandManager/commandManager.d.ts +7 -0
- package/dist/src/command/commandManager/commandManager.js +83 -0
- package/dist/src/command/commandManager/commandManager.js.map +1 -0
- package/dist/src/command/commandParser/commandParser.d.ts +11 -0
- package/dist/src/command/commandParser/commandParser.js +90 -0
- package/dist/src/command/commandParser/commandParser.js.map +1 -0
- package/dist/src/command/commandParser/parseCommand.d.ts +2 -0
- package/dist/src/command/commandParser/parseCommand.js +19 -0
- package/dist/src/command/commandParser/parseCommand.js.map +1 -0
- package/dist/src/command/commandParser/types.d.ts +33 -0
- package/dist/src/command/commandParser/types.js +2 -0
- package/dist/src/command/commandParser/types.js.map +1 -0
- package/dist/src/command/commandParser/visitor.d.ts +2 -0
- package/dist/src/command/commandParser/visitor.js +160 -0
- package/dist/src/command/commandParser/visitor.js.map +1 -0
- package/dist/src/command/commands/date/anytime.d.ts +2 -0
- package/dist/src/command/commands/date/anytime.js +8 -0
- package/dist/src/command/commands/date/anytime.js.map +1 -0
- package/dist/src/command/commands/date/timestamp.d.ts +2 -0
- package/dist/src/command/commands/date/timestamp.js +71 -0
- package/dist/src/command/commands/date/timestamp.js.map +1 -0
- package/dist/src/command/commands/finance/creditCardCVV.d.ts +2 -0
- package/dist/src/command/commands/finance/creditCardCVV.js +8 -0
- package/dist/src/command/commands/finance/creditCardCVV.js.map +1 -0
- package/dist/src/command/commands/finance/creditCardIssuer.d.ts +2 -0
- package/dist/src/command/commands/finance/creditCardIssuer.js +8 -0
- package/dist/src/command/commands/finance/creditCardIssuer.js.map +1 -0
- package/dist/src/command/commands/finance/creditCardNumber.d.ts +6 -0
- package/dist/src/command/commands/finance/creditCardNumber.js +12 -0
- package/dist/src/command/commands/finance/creditCardNumber.js.map +1 -0
- package/dist/src/command/commands/hacker/hacker.noun.d.ts +2 -0
- package/dist/src/command/commands/hacker/hacker.noun.js +8 -0
- package/dist/src/command/commands/hacker/hacker.noun.js.map +1 -0
- package/dist/src/command/commands/index.d.ts +1 -0
- package/dist/src/command/commands/index.js +95 -0
- package/dist/src/command/commands/index.js.map +1 -0
- package/dist/src/command/commands/internet/domainName.d.ts +2 -0
- package/dist/src/command/commands/internet/domainName.js +8 -0
- package/dist/src/command/commands/internet/domainName.js.map +1 -0
- package/dist/src/command/commands/internet/email.d.ts +2 -0
- package/dist/src/command/commands/internet/email.js +8 -0
- package/dist/src/command/commands/internet/email.js.map +1 -0
- package/dist/src/command/commands/internet/httpMethod.d.ts +2 -0
- package/dist/src/command/commands/internet/httpMethod.js +8 -0
- package/dist/src/command/commands/internet/httpMethod.js.map +1 -0
- package/dist/src/command/commands/internet/httpStatusCode.d.ts +2 -0
- package/dist/src/command/commands/internet/httpStatusCode.js +8 -0
- package/dist/src/command/commands/internet/httpStatusCode.js.map +1 -0
- package/dist/src/command/commands/internet/ip.d.ts +2 -0
- package/dist/src/command/commands/internet/ip.js +8 -0
- package/dist/src/command/commands/internet/ip.js.map +1 -0
- package/dist/src/command/commands/internet/ipv4.d.ts +2 -0
- package/dist/src/command/commands/internet/ipv4.js +8 -0
- package/dist/src/command/commands/internet/ipv4.js.map +1 -0
- package/dist/src/command/commands/internet/ipv6.d.ts +2 -0
- package/dist/src/command/commands/internet/ipv6.js +8 -0
- package/dist/src/command/commands/internet/ipv6.js.map +1 -0
- package/dist/src/command/commands/internet/mac.d.ts +2 -0
- package/dist/src/command/commands/internet/mac.js +8 -0
- package/dist/src/command/commands/internet/mac.js.map +1 -0
- package/dist/src/command/commands/internet/password.d.ts +6 -0
- package/dist/src/command/commands/internet/password.js +12 -0
- package/dist/src/command/commands/internet/password.js.map +1 -0
- package/dist/src/command/commands/internet/pri.d.ts +2 -0
- package/dist/src/command/commands/internet/pri.js +13 -0
- package/dist/src/command/commands/internet/pri.js.map +1 -0
- package/dist/src/command/commands/internet/url.d.ts +2 -0
- package/dist/src/command/commands/internet/url.js +8 -0
- package/dist/src/command/commands/internet/url.js.map +1 -0
- package/dist/src/command/commands/internet/userAgent.d.ts +2 -0
- package/dist/src/command/commands/internet/userAgent.js +8 -0
- package/dist/src/command/commands/internet/userAgent.js.map +1 -0
- package/dist/src/command/commands/internet/username.d.ts +2 -0
- package/dist/src/command/commands/internet/username.js +8 -0
- package/dist/src/command/commands/internet/username.js.map +1 -0
- package/dist/src/command/commands/location/country.d.ts +2 -0
- package/dist/src/command/commands/location/country.js +8 -0
- package/dist/src/command/commands/location/country.js.map +1 -0
- package/dist/src/command/commands/location/countryCode.d.ts +7 -0
- package/dist/src/command/commands/location/countryCode.js +13 -0
- package/dist/src/command/commands/location/countryCode.js.map +1 -0
- package/dist/src/command/commands/location/timeZone.d.ts +2 -0
- package/dist/src/command/commands/location/timeZone.js +8 -0
- package/dist/src/command/commands/location/timeZone.js.map +1 -0
- package/dist/src/command/commands/lorem/lorem.sentences.d.ts +7 -0
- package/dist/src/command/commands/lorem/lorem.sentences.js +14 -0
- package/dist/src/command/commands/lorem/lorem.sentences.js.map +1 -0
- package/dist/src/command/commands/number/int.d.ts +7 -0
- package/dist/src/command/commands/number/int.js +13 -0
- package/dist/src/command/commands/number/int.js.map +1 -0
- package/dist/src/command/commands/number/pid.d.ts +2 -0
- package/dist/src/command/commands/number/pid.js +14 -0
- package/dist/src/command/commands/number/pid.js.map +1 -0
- package/dist/src/command/commands/others/length.d.ts +7 -0
- package/dist/src/command/commands/others/length.js +13 -0
- package/dist/src/command/commands/others/length.js.map +1 -0
- package/dist/src/command/commands/phone/imei.d.ts +2 -0
- package/dist/src/command/commands/phone/imei.js +8 -0
- package/dist/src/command/commands/phone/imei.js.map +1 -0
- package/dist/src/command/commands/phone/phone.number.d.ts +6 -0
- package/dist/src/command/commands/phone/phone.number.js +12 -0
- package/dist/src/command/commands/phone/phone.number.js.map +1 -0
- package/dist/src/command/commands/string/alpha.d.ts +7 -0
- package/dist/src/command/commands/string/alpha.js +13 -0
- package/dist/src/command/commands/string/alpha.js.map +1 -0
- package/dist/src/command/commands/string/alphanumeric.d.ts +7 -0
- package/dist/src/command/commands/string/alphanumeric.js +13 -0
- package/dist/src/command/commands/string/alphanumeric.js.map +1 -0
- package/dist/src/command/commands/string/binary.d.ts +7 -0
- package/dist/src/command/commands/string/binary.js +13 -0
- package/dist/src/command/commands/string/binary.js.map +1 -0
- package/dist/src/command/commands/string/hexadecimal.d.ts +7 -0
- package/dist/src/command/commands/string/hexadecimal.js +13 -0
- package/dist/src/command/commands/string/hexadecimal.js.map +1 -0
- package/dist/src/command/commands/string/numeric.d.ts +6 -0
- package/dist/src/command/commands/string/numeric.js +12 -0
- package/dist/src/command/commands/string/numeric.js.map +1 -0
- package/dist/src/command/commands/string/octal.d.ts +7 -0
- package/dist/src/command/commands/string/octal.js +13 -0
- package/dist/src/command/commands/string/octal.js.map +1 -0
- package/dist/src/command/commands/string/ulid.d.ts +2 -0
- package/dist/src/command/commands/string/ulid.js +8 -0
- package/dist/src/command/commands/string/ulid.js.map +1 -0
- package/dist/src/command/commands/string/uuid.d.ts +2 -0
- package/dist/src/command/commands/string/uuid.js +8 -0
- package/dist/src/command/commands/string/uuid.js.map +1 -0
- package/dist/src/command/commands/system/directoryPath.d.ts +2 -0
- package/dist/src/command/commands/system/directoryPath.js +8 -0
- package/dist/src/command/commands/system/directoryPath.js.map +1 -0
- package/dist/src/command/commands/system/filePath.d.ts +2 -0
- package/dist/src/command/commands/system/filePath.js +8 -0
- package/dist/src/command/commands/system/filePath.js.map +1 -0
- package/dist/src/command/commands/system/mimeType.d.ts +2 -0
- package/dist/src/command/commands/system/mimeType.js +8 -0
- package/dist/src/command/commands/system/mimeType.js.map +1 -0
- package/dist/src/command/commands/system/networkInterface.d.ts +2 -0
- package/dist/src/command/commands/system/networkInterface.js +8 -0
- package/dist/src/command/commands/system/networkInterface.js.map +1 -0
- package/dist/src/command/commands/system/semver.d.ts +2 -0
- package/dist/src/command/commands/system/semver.js +8 -0
- package/dist/src/command/commands/system/semver.js.map +1 -0
- package/dist/src/command/consts.d.ts +3 -0
- package/dist/src/command/consts.js +4 -0
- package/dist/src/command/consts.js.map +1 -0
- package/dist/src/command/index.d.ts +4 -0
- package/dist/src/command/index.js +3 -0
- package/dist/src/command/index.js.map +1 -0
- package/dist/src/command/type.d.ts +22 -0
- package/dist/src/command/type.js +2 -0
- package/dist/src/command/type.js.map +1 -0
- package/dist/src/command/utils.d.ts +2 -0
- package/dist/src/command/utils.js +9 -0
- package/dist/src/command/utils.js.map +1 -0
- package/dist/src/commandDocument/buildCommandDocumentFragments.d.ts +4 -0
- package/dist/src/commandDocument/buildCommandDocumentFragments.js +12 -0
- package/dist/src/commandDocument/buildCommandDocumentFragments.js.map +1 -0
- package/dist/src/commandDocument/createCommandDocumentFragment.d.ts +3 -0
- package/dist/src/commandDocument/createCommandDocumentFragment.js +14 -0
- package/dist/src/commandDocument/createCommandDocumentFragment.js.map +1 -0
- package/dist/src/commandDocument/index.d.ts +1 -0
- package/dist/src/commandDocument/index.js +2 -0
- package/dist/src/commandDocument/index.js.map +1 -0
- package/dist/src/commandTemplate/index.d.ts +2 -0
- package/dist/src/commandTemplate/index.js +3 -0
- package/dist/src/commandTemplate/index.js.map +1 -0
- package/dist/src/commandTemplate/parseAndEmbedCommandExpression.d.ts +3 -0
- package/dist/src/commandTemplate/parseAndEmbedCommandExpression.js +12 -0
- package/dist/src/commandTemplate/parseAndEmbedCommandExpression.js.map +1 -0
- package/dist/src/commandTemplate/types.d.ts +3 -0
- package/dist/src/commandTemplate/types.js +2 -0
- package/dist/src/commandTemplate/types.js.map +1 -0
- package/dist/src/common/weightedItemFeeder.d.ts +15 -0
- package/dist/src/common/weightedItemFeeder.js +67 -0
- package/dist/src/common/weightedItemFeeder.js.map +1 -0
- package/dist/src/consts.d.ts +14 -0
- package/dist/src/consts.js +17 -0
- package/dist/src/consts.js.map +1 -0
- package/dist/src/createDocumentFeeder.d.ts +5 -0
- package/dist/src/createDocumentFeeder.js +64 -0
- package/dist/src/createDocumentFeeder.js.map +1 -0
- package/dist/src/createGeneratingDocumentStream.d.ts +4 -0
- package/dist/src/createGeneratingDocumentStream.js +33 -0
- package/dist/src/createGeneratingDocumentStream.js.map +1 -0
- package/dist/src/createGeneratingLogStream.d.ts +4 -0
- package/dist/src/createGeneratingLogStream.js +21 -0
- package/dist/src/createGeneratingLogStream.js.map +1 -0
- package/dist/src/debugFileWriter.d.ts +5 -0
- package/dist/src/debugFileWriter.js +33 -0
- package/dist/src/debugFileWriter.js.map +1 -0
- package/dist/src/document/createDocumentContextIterator.d.ts +2 -0
- package/dist/src/document/createDocumentContextIterator.js +15 -0
- package/dist/src/document/createDocumentContextIterator.js.map +1 -0
- package/dist/src/document/generatingDocument.d.ts +7 -0
- package/dist/src/document/generatingDocument.js +13 -0
- package/dist/src/document/generatingDocument.js.map +1 -0
- package/dist/src/document/index.d.ts +4 -0
- package/dist/src/document/index.js +4 -0
- package/dist/src/document/index.js.map +1 -0
- package/dist/src/document/types.d.ts +20 -0
- package/dist/src/document/types.js +2 -0
- package/dist/src/document/types.js.map +1 -0
- package/dist/src/document/utils.d.ts +2 -0
- package/dist/src/document/utils.js +9 -0
- package/dist/src/document/utils.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/json/abstractJsonable.d.ts +12 -0
- package/dist/src/json/abstractJsonable.js +33 -0
- package/dist/src/json/abstractJsonable.js.map +1 -0
- package/dist/src/json/createJsonable.d.ts +3 -0
- package/dist/src/json/createJsonable.js +31 -0
- package/dist/src/json/createJsonable.js.map +1 -0
- package/dist/src/json/createJsonableTransformer.d.ts +4 -0
- package/dist/src/json/createJsonableTransformer.js +251 -0
- package/dist/src/json/createJsonableTransformer.js.map +1 -0
- package/dist/src/json/index.d.ts +6 -0
- package/dist/src/json/index.js +4 -0
- package/dist/src/json/index.js.map +1 -0
- package/dist/src/json/jsonConsts.d.ts +1 -0
- package/dist/src/json/jsonConsts.js +9 -0
- package/dist/src/json/jsonConsts.js.map +1 -0
- package/dist/src/json/jsonTypes.d.ts +8 -0
- package/dist/src/json/jsonTypes.js +2 -0
- package/dist/src/json/jsonTypes.js.map +1 -0
- package/dist/src/json/jsonableClasses/arrayJsonable.d.ts +11 -0
- package/dist/src/json/jsonableClasses/arrayJsonable.js +40 -0
- package/dist/src/json/jsonableClasses/arrayJsonable.js.map +1 -0
- package/dist/src/json/jsonableClasses/booleanJsonable.d.ts +8 -0
- package/dist/src/json/jsonableClasses/booleanJsonable.js +15 -0
- package/dist/src/json/jsonableClasses/booleanJsonable.js.map +1 -0
- package/dist/src/json/jsonableClasses/nullJsonable.d.ts +8 -0
- package/dist/src/json/jsonableClasses/nullJsonable.js +11 -0
- package/dist/src/json/jsonableClasses/nullJsonable.js.map +1 -0
- package/dist/src/json/jsonableClasses/numberJsonable.d.ts +9 -0
- package/dist/src/json/jsonableClasses/numberJsonable.js +18 -0
- package/dist/src/json/jsonableClasses/numberJsonable.js.map +1 -0
- package/dist/src/json/jsonableClasses/objectJsonable.d.ts +10 -0
- package/dist/src/json/jsonableClasses/objectJsonable.js +14 -0
- package/dist/src/json/jsonableClasses/objectJsonable.js.map +1 -0
- package/dist/src/json/jsonableClasses/stringJsonable.d.ts +9 -0
- package/dist/src/json/jsonableClasses/stringJsonable.js +15 -0
- package/dist/src/json/jsonableClasses/stringJsonable.js.map +1 -0
- package/dist/src/json/jsonableParametersConsts.d.ts +7 -0
- package/dist/src/json/jsonableParametersConsts.js +8 -0
- package/dist/src/json/jsonableParametersConsts.js.map +1 -0
- package/dist/src/json/jsonableParametersTypes.d.ts +32 -0
- package/dist/src/json/jsonableParametersTypes.js +2 -0
- package/dist/src/json/jsonableParametersTypes.js.map +1 -0
- package/dist/src/json/jsonableTypes.d.ts +11 -0
- package/dist/src/json/jsonableTypes.js +2 -0
- package/dist/src/json/jsonableTypes.js.map +1 -0
- package/dist/src/json/parseJsonable.d.ts +2 -0
- package/dist/src/json/parseJsonable.js +19 -0
- package/dist/src/json/parseJsonable.js.map +1 -0
- package/dist/src/json/stringifyJsonable.d.ts +6 -0
- package/dist/src/json/stringifyJsonable.js +43 -0
- package/dist/src/json/stringifyJsonable.js.map +1 -0
- package/dist/src/json/utils.d.ts +2 -0
- package/dist/src/json/utils.js +9 -0
- package/dist/src/json/utils.js.map +1 -0
- package/dist/src/output/createFileOutput.d.ts +2 -0
- package/dist/src/output/createFileOutput.js +28 -0
- package/dist/src/output/createFileOutput.js.map +1 -0
- package/dist/src/output/createTcpOutput.d.ts +3 -0
- package/dist/src/output/createTcpOutput.js +15 -0
- package/dist/src/output/createTcpOutput.js.map +1 -0
- package/dist/src/output/createUdpOutput.d.ts +3 -0
- package/dist/src/output/createUdpOutput.js +5 -0
- package/dist/src/output/createUdpOutput.js.map +1 -0
- package/dist/src/output/initializeOutput.d.ts +3 -0
- package/dist/src/output/initializeOutput.js +38 -0
- package/dist/src/output/initializeOutput.js.map +1 -0
- package/dist/src/output/tcpDocumentStream.d.ts +16 -0
- package/dist/src/output/tcpDocumentStream.js +107 -0
- package/dist/src/output/tcpDocumentStream.js.map +1 -0
- package/dist/src/output/throttlingDocumentStream.d.ts +21 -0
- package/dist/src/output/throttlingDocumentStream.js +69 -0
- package/dist/src/output/throttlingDocumentStream.js.map +1 -0
- package/dist/src/output/udpDocumentStream.d.ts +13 -0
- package/dist/src/output/udpDocumentStream.js +47 -0
- package/dist/src/output/udpDocumentStream.js.map +1 -0
- package/dist/src/output/updStream.d.ts +17 -0
- package/dist/src/output/updStream.js +78 -0
- package/dist/src/output/updStream.js.map +1 -0
- package/dist/src/run.d.ts +4 -0
- package/dist/src/run.js +55 -0
- package/dist/src/run.js.map +1 -0
- package/dist/src/template/consts.d.ts +2 -0
- package/dist/src/template/consts.js +3 -0
- package/dist/src/template/consts.js.map +1 -0
- package/dist/src/template/index.d.ts +4 -0
- package/dist/src/template/index.js +4 -0
- package/dist/src/template/index.js.map +1 -0
- package/dist/src/template/templateParser/parseTemplate.d.ts +2 -0
- package/dist/src/template/templateParser/parseTemplate.js +11 -0
- package/dist/src/template/templateParser/parseTemplate.js.map +1 -0
- package/dist/src/template/templateParser/templateParser.d.ts +11 -0
- package/dist/src/template/templateParser/templateParser.js +87 -0
- package/dist/src/template/templateParser/templateParser.js.map +1 -0
- package/dist/src/template/templateParser/visitor.d.ts +4 -0
- package/dist/src/template/templateParser/visitor.js +60 -0
- package/dist/src/template/templateParser/visitor.js.map +1 -0
- package/dist/src/template/types.d.ts +5 -0
- package/dist/src/template/types.js +2 -0
- package/dist/src/template/types.js.map +1 -0
- package/dist/src/template/utils.d.ts +2 -0
- package/dist/src/template/utils.js +4 -0
- package/dist/src/template/utils.js.map +1 -0
- package/dist/src/types.d.ts +68 -0
- package/dist/src/types.js +3 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/utils.d.ts +18 -0
- package/dist/src/utils.js +321 -0
- package/dist/src/utils.js.map +1 -0
- package/package.json +47 -0
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/command/type.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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,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 @@
|
|
|
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,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,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,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 @@
|
|
|
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"}
|