@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,47 @@
|
|
|
1
|
+
import * as dgram from "node:dgram";
|
|
2
|
+
import * as dnsPromises from "node:dns/promises";
|
|
3
|
+
import { ThrottlingDocumentStream } from "./throttlingDocumentStream.js";
|
|
4
|
+
export class UdpDocumentStream extends ThrottlingDocumentStream {
|
|
5
|
+
address;
|
|
6
|
+
port;
|
|
7
|
+
socketType;
|
|
8
|
+
constructor(options) {
|
|
9
|
+
super(options.eps);
|
|
10
|
+
this.address = options.address;
|
|
11
|
+
this.port = options.port;
|
|
12
|
+
}
|
|
13
|
+
_construct(callback) {
|
|
14
|
+
dnsPromises
|
|
15
|
+
.lookup(this.address, {
|
|
16
|
+
verbatim: true,
|
|
17
|
+
})
|
|
18
|
+
.then((lookupAddress) => {
|
|
19
|
+
this.socketType = lookupAddress.family === 4 ? "udp4" : "udp6";
|
|
20
|
+
callback();
|
|
21
|
+
})
|
|
22
|
+
.catch((reason) => callback(reason));
|
|
23
|
+
}
|
|
24
|
+
_throttledWrite(chunk, encoding, callback) {
|
|
25
|
+
const socketType = this.socketType;
|
|
26
|
+
if (socketType === undefined) {
|
|
27
|
+
callback(new Error("called write before socketType has not been determined."));
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const client = dgram.createSocket(socketType);
|
|
31
|
+
client.send(chunk.stamp(), this.port, this.address, (error) => {
|
|
32
|
+
client.close();
|
|
33
|
+
if (error !== null) {
|
|
34
|
+
callback(error);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
callback();
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
_throttledFinal(callback) {
|
|
41
|
+
callback();
|
|
42
|
+
}
|
|
43
|
+
_throttledDestroy(error, callback) {
|
|
44
|
+
callback(error);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=udpDocumentStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"udpDocumentStream.js","sourceRoot":"","sources":["../../../src/output/udpDocumentStream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,MAAM,OAAO,iBAAkB,SAAQ,wBAAwB;IAC5C,OAAO,CAAS;IAChB,IAAI,CAAS;IAEtB,UAAU,CAA+B;IAEjD,YAAY,OAAyB;QACnC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAEe,UAAU,CAAC,QAAwC;QACjE,WAAW;aACR,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;YACpB,QAAQ,EAAE,IAAI;SACf,CAAC;aACD,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;YACtB,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/D,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC;IAEe,eAAe,CAC7B,KAAyB,EACzB,QAAwB,EACxB,QAAwC;QAExC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,QAAQ,CACN,IAAI,KAAK,CAAC,yDAAyD,CAAC,CACrE,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5D,MAAM,CAAC,KAAK,EAAE,CAAC;YAEf,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;YACD,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAES,eAAe,CAAC,QAAwC;QAChE,QAAQ,EAAE,CAAC;IACb,CAAC;IAES,iBAAiB,CACzB,KAAmB,EACnB,QAAwC;QAExC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as stream from "node:stream";
|
|
2
|
+
export interface UdpStreamOptions extends stream.WritableOptions {
|
|
3
|
+
readonly address: string;
|
|
4
|
+
readonly port: number;
|
|
5
|
+
}
|
|
6
|
+
export declare class UpdStream extends stream.Writable {
|
|
7
|
+
private readonly address;
|
|
8
|
+
private readonly port;
|
|
9
|
+
private chunks;
|
|
10
|
+
private chunkSize;
|
|
11
|
+
private client;
|
|
12
|
+
constructor(options: UdpStreamOptions);
|
|
13
|
+
_construct(callback: (error?: Error | null) => void): void;
|
|
14
|
+
_write(chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
|
|
15
|
+
_final(callback: (error?: Error | null) => void): void;
|
|
16
|
+
_destroy(error: Error | null, callback: (error?: Error | null) => void): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import * as dgram from "node:dgram";
|
|
2
|
+
import * as dnsPromises from "node:dns/promises";
|
|
3
|
+
import * as stream from "node:stream";
|
|
4
|
+
export class UpdStream extends stream.Writable {
|
|
5
|
+
address;
|
|
6
|
+
port;
|
|
7
|
+
chunks;
|
|
8
|
+
chunkSize;
|
|
9
|
+
client;
|
|
10
|
+
constructor(options) {
|
|
11
|
+
super(options);
|
|
12
|
+
this.address = options.address;
|
|
13
|
+
this.port = options.port;
|
|
14
|
+
this.chunks = [];
|
|
15
|
+
this.chunkSize = 0;
|
|
16
|
+
}
|
|
17
|
+
_construct(callback) {
|
|
18
|
+
dnsPromises
|
|
19
|
+
.lookup(this.address, {
|
|
20
|
+
verbatim: true,
|
|
21
|
+
})
|
|
22
|
+
.then((lookupAddress) => {
|
|
23
|
+
const socketType = lookupAddress.family === 4 ? "udp4" : "udp6";
|
|
24
|
+
this.client = dgram.createSocket(socketType);
|
|
25
|
+
callback();
|
|
26
|
+
})
|
|
27
|
+
.catch((reason) => callback(reason));
|
|
28
|
+
}
|
|
29
|
+
_write(chunk, encoding, callback) {
|
|
30
|
+
const client = this.client;
|
|
31
|
+
if (client === undefined) {
|
|
32
|
+
callback(new Error("called write while client has not been initialized."));
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
this.chunks.push(chunk);
|
|
36
|
+
this.chunkSize = this.chunkSize + chunk.length;
|
|
37
|
+
if (this.chunkSize > this.writableHighWaterMark) {
|
|
38
|
+
client.send(Buffer.concat(this.chunks), this.port, this.address, (error) => {
|
|
39
|
+
if (error !== null) {
|
|
40
|
+
callback(error);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.chunks = [];
|
|
44
|
+
this.chunkSize = 0;
|
|
45
|
+
callback();
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
callback();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
_final(callback) {
|
|
53
|
+
const client = this.client;
|
|
54
|
+
if (client === undefined) {
|
|
55
|
+
callback(new Error("called write while client has not been initialized."));
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
client.send(Buffer.concat(this.chunks), this.port, this.address, (error) => {
|
|
59
|
+
if (error !== null) {
|
|
60
|
+
callback(error);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
this.chunks = [];
|
|
64
|
+
this.chunkSize = 0;
|
|
65
|
+
callback();
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
_destroy(error, callback) {
|
|
69
|
+
console.log("closing udp stream.");
|
|
70
|
+
if (this.client !== undefined) {
|
|
71
|
+
this.client.close(callback);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
callback(error);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=updStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updStream.js","sourceRoot":"","sources":["../../../src/output/updStream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAOtC,MAAM,OAAO,SAAU,SAAQ,MAAM,CAAC,QAAQ;IAC3B,OAAO,CAAS;IAChB,IAAI,CAAS;IAEtB,MAAM,CAAQ;IACd,SAAS,CAAS;IAClB,MAAM,CAA2B;IAEzC,YAAY,OAAyB;QACnC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAEe,UAAU,CAAC,QAAwC;QACjE,WAAW;aACR,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;YACpB,QAAQ,EAAE,IAAI;SACf,CAAC;aACD,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;YACtB,MAAM,UAAU,GACd,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC7C,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC;IAEe,MAAM,CACpB,KAAU,EACV,QAAwB,EACxB,QAAwC;QAExC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,CACN,IAAI,KAAK,CAAC,qDAAqD,CAAC,CACjE,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;QAC/C,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAC1B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAChB,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBAEnB,QAAQ,EAAE,CAAC;YACb,CAAC,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAEe,MAAM,CAAC,QAAwC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,CACN,IAAI,KAAK,CAAC,qDAAqD,CAAC,CACjE,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAC1B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YAEnB,QAAQ,EAAE,CAAC;QACb,CAAC,CACF,CAAC;IACJ,CAAC;IAEe,QAAQ,CACtB,KAAmB,EACnB,QAAwC;QAExC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;CACF"}
|
package/dist/src/run.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
import * as fsPromises from "node:fs/promises";
|
|
3
|
+
import * as nodePath from "node:path";
|
|
4
|
+
import { FAILED, SUCCEEDED } from "./cliConsts.js";
|
|
5
|
+
import { commandManager } from "./command/index.js";
|
|
6
|
+
import { createDocumentFeeder } from "./createDocumentFeeder.js";
|
|
7
|
+
import { createGeneratingDocumentStream } from "./createGeneratingDocumentStream.js";
|
|
8
|
+
import { debugFileWriter } from "./debugFileWriter.js";
|
|
9
|
+
import { initializeOutput } from "./output/initializeOutput.js";
|
|
10
|
+
import "./command/commands/index.js";
|
|
11
|
+
export async function run(programOptions) {
|
|
12
|
+
const { debug, count, out, templates } = programOptions;
|
|
13
|
+
// region out path
|
|
14
|
+
const outPath = out.path;
|
|
15
|
+
const outDirPath = nodePath.dirname(outPath);
|
|
16
|
+
let existsOutDir = false;
|
|
17
|
+
try {
|
|
18
|
+
const stats = await fsPromises.stat(outDirPath);
|
|
19
|
+
if (stats.isDirectory()) {
|
|
20
|
+
existsOutDir = true;
|
|
21
|
+
}
|
|
22
|
+
await fsPromises.access(outDirPath, fs.constants.W_OK);
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
existsOutDir = false;
|
|
26
|
+
}
|
|
27
|
+
if (!existsOutDir) {
|
|
28
|
+
try {
|
|
29
|
+
await fsPromises.mkdir(outDirPath, { recursive: true });
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error(`failed to create out path directory. ${outDirPath}`);
|
|
33
|
+
console.log(error);
|
|
34
|
+
return FAILED;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
await fsPromises.access(outDirPath, fs.constants.W_OK);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
console.error(`cannot access out directory. ${outDirPath}`);
|
|
42
|
+
console.log(error);
|
|
43
|
+
return FAILED;
|
|
44
|
+
}
|
|
45
|
+
if (debug) {
|
|
46
|
+
debugFileWriter.setBaseDirectory(outDirPath);
|
|
47
|
+
}
|
|
48
|
+
// endregion
|
|
49
|
+
const documentFeeder = await createDocumentFeeder(templates, programOptions, commandManager);
|
|
50
|
+
const documentStream = createGeneratingDocumentStream(documentFeeder, count, out.type !== "file");
|
|
51
|
+
const writeStream = await initializeOutput(out);
|
|
52
|
+
documentStream.pipe(writeStream);
|
|
53
|
+
return SUCCEEDED;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,6BAA6B,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,cAA8B;IACtD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC;IAExD,kBAAkB;IAElB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;IACzB,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,YAAY,GAAY,KAAK,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,MAAM,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,UAAU,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,YAAY;IAEZ,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAC/C,SAAS,EACT,cAAc,EACd,cAAc,CACf,CAAC;IAEF,MAAM,cAAc,GAAG,8BAA8B,CACnD,cAAc,EACd,KAAK,EACL,GAAG,CAAC,IAAI,KAAK,MAAM,CACpB,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAChD,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEjC,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/template/consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAa,CAAC;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAa,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { ExpressionTemplateFragment, StringTemplateFragment, TemplateFragment, } from "./types.js";
|
|
2
|
+
export { parseTemplate } from "./templateParser/parseTemplate.js";
|
|
3
|
+
export { isStringOnlyTemplateFragments } from "./utils.js";
|
|
4
|
+
export { EXPRESSION_BLOCK_START, EXPRESSION_BLOCK_END } from "./consts.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/template/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { toAstVisitor } from "./visitor.js";
|
|
2
|
+
export function parseTemplate(input) {
|
|
3
|
+
const parsedTemplate = toAstVisitor(input);
|
|
4
|
+
if (Array.isArray(parsedTemplate)) {
|
|
5
|
+
return parsedTemplate;
|
|
6
|
+
}
|
|
7
|
+
else {
|
|
8
|
+
return [parsedTemplate];
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=parseTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseTemplate.js","sourceRoot":"","sources":["../../../../src/template/templateParser/parseTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,OAAO,cAAc,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CstParser } from "chevrotain";
|
|
2
|
+
export declare function lex(input: string): import("chevrotain").ILexingResult;
|
|
3
|
+
declare class TemplateParser extends CstParser {
|
|
4
|
+
constructor();
|
|
5
|
+
template: import("chevrotain").ParserMethod<[], import("chevrotain").CstNode>;
|
|
6
|
+
private templateFragment;
|
|
7
|
+
private literalBlock;
|
|
8
|
+
private expressionBlock;
|
|
9
|
+
}
|
|
10
|
+
export declare const templateParser: TemplateParser;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { createToken, CstParser, Lexer } from "chevrotain";
|
|
2
|
+
import { EXPRESSION_BLOCK_END, EXPRESSION_BLOCK_START } from "../consts.js";
|
|
3
|
+
// region token
|
|
4
|
+
const LiteralBlock = createToken({
|
|
5
|
+
name: "LiteralBlock",
|
|
6
|
+
pattern: matchLiteralBlock,
|
|
7
|
+
line_breaks: true,
|
|
8
|
+
});
|
|
9
|
+
const ExpressionBlock = createToken({
|
|
10
|
+
name: "ExpressionBlock",
|
|
11
|
+
pattern: matchExpressionBlock,
|
|
12
|
+
line_breaks: false,
|
|
13
|
+
});
|
|
14
|
+
const allTokens = [ExpressionBlock, LiteralBlock];
|
|
15
|
+
// endregion
|
|
16
|
+
// region matcher
|
|
17
|
+
function matchLiteralBlock(text, startOffset) {
|
|
18
|
+
const endOffset = text.indexOf(EXPRESSION_BLOCK_START, startOffset);
|
|
19
|
+
if (endOffset === -1) {
|
|
20
|
+
return [text.substring(startOffset)];
|
|
21
|
+
}
|
|
22
|
+
else if (endOffset === startOffset) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
let matchedString = text.substring(startOffset, endOffset);
|
|
27
|
+
return [matchedString];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function matchExpressionBlock(text, startOffset) {
|
|
31
|
+
for (let i = 0; i < EXPRESSION_BLOCK_START.length; i++) {
|
|
32
|
+
if (text.at(i + startOffset) !== EXPRESSION_BLOCK_START.at(i)) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const startOfBlockEnd = text.indexOf(EXPRESSION_BLOCK_END, startOffset);
|
|
37
|
+
if (startOfBlockEnd === -1) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const endOffset = startOfBlockEnd + EXPRESSION_BLOCK_END.length;
|
|
41
|
+
if (endOffset === startOffset) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
let matchedString = text.substring(startOffset, endOffset);
|
|
46
|
+
return [matchedString];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// endregion
|
|
50
|
+
// region lexer
|
|
51
|
+
const lexer = new Lexer(allTokens);
|
|
52
|
+
export function lex(input) {
|
|
53
|
+
const lexingResult = lexer.tokenize(input);
|
|
54
|
+
if (lexingResult.errors.length > 0) {
|
|
55
|
+
throw Error(`lexing errors detected
|
|
56
|
+
${lexingResult.errors[0]?.message}`);
|
|
57
|
+
}
|
|
58
|
+
return lexingResult;
|
|
59
|
+
}
|
|
60
|
+
// endregion
|
|
61
|
+
// region parser
|
|
62
|
+
class TemplateParser extends CstParser {
|
|
63
|
+
constructor() {
|
|
64
|
+
super(allTokens);
|
|
65
|
+
this.performSelfAnalysis();
|
|
66
|
+
}
|
|
67
|
+
template = this.RULE("template", () => {
|
|
68
|
+
this.MANY(() => {
|
|
69
|
+
this.SUBRULE(this.templateFragment);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
templateFragment = this.RULE("templateFragment", () => {
|
|
73
|
+
this.OR([
|
|
74
|
+
{ ALT: () => this.SUBRULE(this.literalBlock) },
|
|
75
|
+
{ ALT: () => this.SUBRULE(this.expressionBlock) },
|
|
76
|
+
]);
|
|
77
|
+
});
|
|
78
|
+
literalBlock = this.RULE("literalBlock", () => {
|
|
79
|
+
this.CONSUME(LiteralBlock);
|
|
80
|
+
});
|
|
81
|
+
expressionBlock = this.RULE("expressionBlock", () => {
|
|
82
|
+
this.CONSUME(ExpressionBlock);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
export const templateParser = new TemplateParser();
|
|
86
|
+
// endregion
|
|
87
|
+
//# sourceMappingURL=templateParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateParser.js","sourceRoot":"","sources":["../../../../src/template/templateParser/templateParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { pickFirst } from "../../utils.js";
|
|
2
|
+
import { EXPRESSION_BLOCK_END, EXPRESSION_BLOCK_START } from "../consts.js";
|
|
3
|
+
import { lex, templateParser } from "./templateParser.js";
|
|
4
|
+
const emptyLiteralFragment = "";
|
|
5
|
+
const BaseVisitor = templateParser.getBaseCstVisitorConstructor();
|
|
6
|
+
class TemplateVisitor extends BaseVisitor {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.validateVisitor();
|
|
10
|
+
}
|
|
11
|
+
template(children, param) {
|
|
12
|
+
const templateFragmentNodes = children.templateFragment;
|
|
13
|
+
if (templateFragmentNodes === undefined) {
|
|
14
|
+
return [emptyLiteralFragment];
|
|
15
|
+
}
|
|
16
|
+
return templateFragmentNodes.flatMap((templateFragmentNode) => this.visit(templateFragmentNode));
|
|
17
|
+
}
|
|
18
|
+
templateFragment(children, param) {
|
|
19
|
+
const literalBlockCstNode = pickFirst(children.literalBlock);
|
|
20
|
+
const expressionBlockCstNode = pickFirst(children.expressionBlock);
|
|
21
|
+
if (literalBlockCstNode !== undefined) {
|
|
22
|
+
return this.visit(literalBlockCstNode);
|
|
23
|
+
}
|
|
24
|
+
else if (expressionBlockCstNode !== undefined) {
|
|
25
|
+
return this.visit(expressionBlockCstNode);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
literalBlock(children, param) {
|
|
32
|
+
const literalBlockToken = pickFirst(children.LiteralBlock);
|
|
33
|
+
if (literalBlockToken === undefined) {
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
return literalBlockToken.image;
|
|
37
|
+
}
|
|
38
|
+
expressionBlock(children, param) {
|
|
39
|
+
const expressionBlockToken = pickFirst(children.ExpressionBlock);
|
|
40
|
+
if (expressionBlockToken === undefined) {
|
|
41
|
+
return [];
|
|
42
|
+
}
|
|
43
|
+
const expressionBlock = expressionBlockToken.image;
|
|
44
|
+
const expression = expressionBlock.substring(EXPRESSION_BLOCK_START.length, expressionBlock.length - EXPRESSION_BLOCK_END.length);
|
|
45
|
+
return {
|
|
46
|
+
expression: expression,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const visitor = new TemplateVisitor();
|
|
51
|
+
export function toAstVisitor(input) {
|
|
52
|
+
const lexResult = lex(input);
|
|
53
|
+
templateParser.input = lexResult.tokens;
|
|
54
|
+
const cst = templateParser.template();
|
|
55
|
+
if (templateParser.errors.length > 0) {
|
|
56
|
+
throw Error("parsing errors detected!\n" + templateParser.errors[0]?.message);
|
|
57
|
+
}
|
|
58
|
+
return visitor.visit(cst);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=visitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../../../src/template/templateParser/visitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAW1D,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC,MAAM,WAAW,GAAG,cAAc,CAAC,4BAA4B,EAAgB,CAAC;AAEhF,MAAM,eACJ,SAAQ,WAAW;IAGnB;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEM,QAAQ,CAAC,QAA6B,EAAE,KAAe;QAC5D,MAAM,qBAAqB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QACxD,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,qBAAqB,CAAC,OAAO,CAClC,CAAC,oBAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAC3D,CAAC;IACJ,CAAC;IAEM,gBAAgB,CACrB,QAAqC,EACrC,KAAe;QAEf,MAAM,mBAAmB,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC7D,MAAM,sBAAsB,GAAG,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAEnE,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEM,YAAY,CAAC,QAAiC,EAAE,KAAe;QACpE,MAAM,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,iBAAiB,CAAC,KAAK,CAAC;IACjC,CAAC;IAEM,eAAe,CACpB,QAAoC,EACpC,KAAe;QAEf,MAAM,oBAAoB,GAAG,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACjE,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,eAAe,GAAG,oBAAoB,CAAC,KAAK,CAAC;QACnD,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAC1C,sBAAsB,CAAC,MAAM,EAC7B,eAAe,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CACrD,CAAC;QACF,OAAO;YACL,UAAU,EAAE,UAAU;SACvB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;AAEtC,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,cAAc,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;IACxC,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;IACtC,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,KAAK,CACT,4BAA4B,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/template/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/template/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,6BAA6B,CAC3C,iBAA8C;IAE9C,OAAO,iBAAiB,CAAC,KAAK,CAC5B,CAAC,gBAAgB,EAAE,EAAE,CAAC,OAAO,gBAAgB,KAAK,QAAQ,CAC3D,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { NetworkOutputTypes, NonTransparentFramingTypes, OutputTypes, TcpFramingTypes, TemplateModes } from "./consts.js";
|
|
2
|
+
export interface TypeTaggedStructure {
|
|
3
|
+
readonly type: string;
|
|
4
|
+
}
|
|
5
|
+
export type MetaTemplateJson = {
|
|
6
|
+
readonly debug?: boolean;
|
|
7
|
+
readonly from?: string;
|
|
8
|
+
readonly to?: string;
|
|
9
|
+
readonly count?: number;
|
|
10
|
+
readonly out: OutputOptions | ShorthandOutputOptions;
|
|
11
|
+
readonly templates: readonly {
|
|
12
|
+
readonly mode?: TemplateMode;
|
|
13
|
+
readonly path: string;
|
|
14
|
+
readonly weight?: number;
|
|
15
|
+
}[];
|
|
16
|
+
};
|
|
17
|
+
export type TemplateMode = (typeof TemplateModes)[number];
|
|
18
|
+
export interface ProgramOptions {
|
|
19
|
+
readonly debug: boolean;
|
|
20
|
+
readonly from: Date;
|
|
21
|
+
readonly to: Date;
|
|
22
|
+
readonly count: number;
|
|
23
|
+
readonly out: OutputOptions;
|
|
24
|
+
readonly templates: readonly TemplateOptions[];
|
|
25
|
+
}
|
|
26
|
+
export interface TemplateOptions {
|
|
27
|
+
readonly mode: TemplateMode;
|
|
28
|
+
readonly path: string;
|
|
29
|
+
readonly weight: number;
|
|
30
|
+
}
|
|
31
|
+
export type ShorthandOutputOptions = string;
|
|
32
|
+
export type OutputOptions = FileOutputOptions | UdpOutputOptions | TcpOutputOptions;
|
|
33
|
+
export type OutputType = (typeof OutputTypes)[number];
|
|
34
|
+
export type NetworkOutputType = (typeof NetworkOutputTypes)[number];
|
|
35
|
+
interface PrimitiveOutputOptions {
|
|
36
|
+
readonly type: OutputType;
|
|
37
|
+
readonly path: string;
|
|
38
|
+
}
|
|
39
|
+
export interface FileOutputOptions extends PrimitiveOutputOptions {
|
|
40
|
+
readonly type: "file";
|
|
41
|
+
readonly size?: string;
|
|
42
|
+
}
|
|
43
|
+
interface NetworkOutputOptions extends PrimitiveOutputOptions {
|
|
44
|
+
readonly type: NetworkOutputType;
|
|
45
|
+
readonly address: string;
|
|
46
|
+
readonly port: number;
|
|
47
|
+
readonly eps: number;
|
|
48
|
+
}
|
|
49
|
+
export interface UdpOutputOptions extends NetworkOutputOptions {
|
|
50
|
+
readonly type: "udp";
|
|
51
|
+
}
|
|
52
|
+
export type NonTransparentFramingType = (typeof NonTransparentFramingTypes)[number];
|
|
53
|
+
export type TcpFramingType = (typeof TcpFramingTypes)[number];
|
|
54
|
+
interface PrimitiveTcpOutputOptions extends NetworkOutputOptions {
|
|
55
|
+
readonly type: "tcp";
|
|
56
|
+
readonly framing: TcpFramingType;
|
|
57
|
+
}
|
|
58
|
+
interface TcpOctetCountingOutputOptions extends PrimitiveTcpOutputOptions {
|
|
59
|
+
readonly type: "tcp";
|
|
60
|
+
readonly framing: "octet-counting";
|
|
61
|
+
}
|
|
62
|
+
interface TcpNonFramingOutputOptions extends PrimitiveTcpOutputOptions {
|
|
63
|
+
readonly type: "tcp";
|
|
64
|
+
readonly framing: NonTransparentFramingType;
|
|
65
|
+
readonly trailerReplacer: string;
|
|
66
|
+
}
|
|
67
|
+
export type TcpOutputOptions = TcpOctetCountingOutputOptions | TcpNonFramingOutputOptions;
|
|
68
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAwGA,YAAY"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { NetworkOutputType, OutputType, ProgramOptions, TcpFramingType, TemplateMode } from "./types.js";
|
|
2
|
+
export declare function isString(value: unknown): value is string;
|
|
3
|
+
export declare function isNonNullObject(value: unknown): value is Record<string, unknown>;
|
|
4
|
+
export declare function isTemplateMode(value: unknown): value is TemplateMode;
|
|
5
|
+
export declare function isOutputType(value: unknown): value is OutputType;
|
|
6
|
+
export declare function isNetworkOutputType(value: unknown): value is NetworkOutputType;
|
|
7
|
+
export declare function isTcpFramingType(value: unknown): value is TcpFramingType;
|
|
8
|
+
export declare function parseString(value: unknown): string | undefined;
|
|
9
|
+
export declare function parseNonNaNInteger(value: unknown): number | undefined;
|
|
10
|
+
export declare function parseNonNaNFloat(value: unknown): number | undefined;
|
|
11
|
+
export declare function parseDate(value: unknown): Date | undefined;
|
|
12
|
+
export declare function parseAndResolveFilePath(value: unknown, basePath: string): string | undefined;
|
|
13
|
+
export declare function tryReadFile(path: string): Promise<string>;
|
|
14
|
+
export declare function normalizeProgramOptions(possibleProgramOptions: unknown, basePath: string): ProgramOptions | undefined;
|
|
15
|
+
export declare function determineTemplateModeByFile(filePath: string): TemplateMode;
|
|
16
|
+
export declare function pickFirst<T>(input: T | T[] | undefined): T | undefined;
|
|
17
|
+
export declare function pickMany<T>(input: T | T[] | undefined): T[];
|
|
18
|
+
export declare function assertNever(x: never): never;
|