@gent-js/gent 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +18 -4
  2. package/dist/generated/packageEnv.d.ts +1 -1
  3. package/dist/generated/packageEnv.js +1 -1
  4. package/dist/src/common/utils.d.ts +5 -0
  5. package/dist/src/common/utils.js +8 -0
  6. package/dist/src/common/utils.js.map +1 -0
  7. package/dist/src/json/abstractJsonable.d.ts +1 -2
  8. package/dist/src/json/abstractJsonable.js.map +1 -1
  9. package/dist/src/json/createJsonable.js +10 -1
  10. package/dist/src/json/createJsonable.js.map +1 -1
  11. package/dist/src/json/createJsonableTransformer.js +50 -12
  12. package/dist/src/json/createJsonableTransformer.js.map +1 -1
  13. package/dist/src/json/jsonTypes.d.ts +8 -1
  14. package/dist/src/json/jsonableClasses/arrayJsonable.d.ts +4 -4
  15. package/dist/src/json/jsonableClasses/arrayJsonable.js.map +1 -1
  16. package/dist/src/json/jsonableClasses/jsonStringJsonable.d.ts +10 -0
  17. package/dist/src/json/jsonableClasses/jsonStringJsonable.js +15 -0
  18. package/dist/src/json/jsonableClasses/jsonStringJsonable.js.map +1 -0
  19. package/dist/src/json/jsonableParametersTypes.d.ts +10 -3
  20. package/dist/src/json/jsonableTypes.d.ts +6 -3
  21. package/dist/src/json/stringifyJsonable.js +11 -2
  22. package/dist/src/json/stringifyJsonable.js.map +1 -1
  23. package/dist/src/json/utils.d.ts +1 -1
  24. package/dist/src/json/utils.js.map +1 -1
  25. package/package.json +2 -2
  26. package/dist/src/output/tcpDocumentStream.d.ts +0 -16
  27. package/dist/src/output/tcpDocumentStream.js +0 -107
  28. package/dist/src/output/tcpDocumentStream.js.map +0 -1
  29. package/dist/src/output/throttlingDocumentStream.d.ts +0 -21
  30. package/dist/src/output/throttlingDocumentStream.js +0 -69
  31. package/dist/src/output/throttlingDocumentStream.js.map +0 -1
  32. package/dist/src/template/documentTransformStream.d.ts +0 -19
  33. package/dist/src/template/documentTransformStream.js +0 -118
  34. package/dist/src/template/documentTransformStream.js.map +0 -1
  35. package/dist/src/template/documentTransformTypes.d.ts +0 -25
  36. package/dist/src/template/documentTransformTypes.js +0 -2
  37. package/dist/src/template/documentTransformTypes.js.map +0 -1
package/README.md CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  ![GenT logo](https://github.com/tomo-waka/gent/raw/main/media/gent_logo.png)
4
4
 
5
- ![NPM Version](https://img.shields.io/npm/v/%40gent-js%2Fgent)
6
- ![NPM License](https://img.shields.io/npm/l/%40gent-js%2Fgent)
5
+ [![NPM Version](https://img.shields.io/npm/v/%40gent-js%2Fgent)](https://www.npmjs.com/package/@gent-js/gent)
6
+ [![NPM License](https://img.shields.io/npm/l/%40gent-js%2Fgent)](https://github.com/tomo-waka/gent/blob/main/LICENSE)
7
7
 
8
8
  ## Introduction
9
9
 
@@ -31,7 +31,7 @@ GenT is a template-based data generator. The generated data is used as test data
31
31
  install with npm globally.
32
32
 
33
33
  ```shell
34
- npm install -g gent
34
+ npm install -g @gent-js/gent
35
35
  ```
36
36
 
37
37
  Then, create a template. Save the following content as a text file in any directory, for instance `{dir path}/template.log`.
@@ -87,7 +87,7 @@ Some commands accept command option, command and option syntax is like shell com
87
87
 
88
88
  supporting template commands and their options are below.
89
89
 
90
- [Command List](./docs/templateCommands)
90
+ [Command List](./docs/template-commands.md)
91
91
 
92
92
  ## Meta template sample
93
93
 
@@ -139,3 +139,17 @@ supporting template commands and their options are below.
139
139
  "{{content}}": "{{int}}"
140
140
  }
141
141
  ```
142
+ ## Output
143
+
144
+ in cli, specify output path with `out` option.
145
+ ```shell
146
+ gent --template {dir path}/template.log --count 3 --out path-to-out.log
147
+ ```
148
+ in meta file, specify output path with `out` key.
149
+ ```json
150
+ {
151
+ "out": "path-to-out.log"
152
+ }
153
+ ```
154
+
155
+ moreover, you can use various output method and options in meta file. see [output](./docs/output.md) for details.
@@ -1,6 +1,6 @@
1
1
  export declare const packageEnv: {
2
2
  readonly fullName: "@gent-js/gent";
3
3
  readonly name: "gent";
4
- readonly version: "0.1.6";
4
+ readonly version: "0.1.7";
5
5
  readonly description: "template-based data generator.";
6
6
  };
@@ -2,7 +2,7 @@
2
2
  export const packageEnv = {
3
3
  fullName: "@gent-js/gent",
4
4
  name: "gent",
5
- version: "0.1.6",
5
+ version: "0.1.7",
6
6
  description: "template-based data generator."
7
7
  };
8
8
  //# sourceMappingURL=packageEnv.js.map
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ReadonlyArray のためのタイプガード
3
+ * https://github.com/microsoft/TypeScript/issues/17002
4
+ */
5
+ export declare function isReadonlyArray<T extends ReadonlyArray<unknown>>(value: T | unknown): value is T;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * ReadonlyArray のためのタイプガード
3
+ * https://github.com/microsoft/TypeScript/issues/17002
4
+ */
5
+ export function isReadonlyArray(value) {
6
+ return Array.isArray(value);
7
+ }
8
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/common/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAkB;IAElB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import type { DocumentContext } from "../document/index.js";
2
- import type { JsonValueType } from "./jsonableTypes.js";
3
- import type { JsonValue } from "./jsonTypes.js";
2
+ import type { JsonValue, JsonValueType } from "./jsonTypes.js";
4
3
  export declare abstract class AbstractJsonable {
5
4
  readonly probability: number | undefined;
6
5
  readonly weight: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"abstractJsonable.js","sourceRoot":"","sources":["../../../src/json/abstractJsonable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EACL,eAAe,EACf,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAIvC,MAAM,OAAgB,gBAAgB;IAIlB;IACA;IAFlB,YACkB,WAA+B,EAC/B,MAA0B;QAD1B,gBAAW,GAAX,WAAW,CAAoB;QAC/B,WAAM,GAAN,MAAM,CAAoB;IACzC,CAAC;IAEM,eAAe,CACvB,UAA2B,EAC3B,OAAwB;QAExB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,eAAe,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,eAAe,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACnC,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,eAAe;SACrB,CAAC,CAAC;QACH,OAAO,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;IACtC,CAAC;IAOM,MAAM,CACX,UAA2B,EAC3B,OAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;CACF"}
1
+ {"version":3,"file":"abstractJsonable.js","sourceRoot":"","sources":["../../../src/json/abstractJsonable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EACL,eAAe,EACf,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAGvC,MAAM,OAAgB,gBAAgB;IAIlB;IACA;IAFlB,YACkB,WAA+B,EAC/B,MAA0B;QAD1B,gBAAW,GAAX,WAAW,CAAoB;QAC/B,WAAM,GAAN,MAAM,CAAoB;IACzC,CAAC;IAEM,eAAe,CACvB,UAA2B,EAC3B,OAAwB;QAExB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,eAAe,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,eAAe,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACnC,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,eAAe;SACrB,CAAC,CAAC;QACH,OAAO,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;IACtC,CAAC;IAOM,MAAM,CACX,UAA2B,EAC3B,OAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import { assertNever } from "../utils.js";
2
2
  import { ArrayJsonable } from "./jsonableClasses/arrayJsonable.js";
3
3
  import { BooleanJsonable } from "./jsonableClasses/booleanJsonable.js";
4
+ import { JsonStringJsonable } from "./jsonableClasses/jsonStringJsonable.js";
4
5
  import { NullJsonable } from "./jsonableClasses/nullJsonable.js";
5
6
  import { NumberJsonable } from "./jsonableClasses/numberJsonable.js";
6
7
  import { ObjectJsonable } from "./jsonableClasses/objectJsonable.js";
@@ -13,7 +14,15 @@ export function createJsonable(parameters) {
13
14
  return new ArrayJsonable(parameters.content, parameters.length, parameters.probability, parameters.weight);
14
15
  }
15
16
  else if (parameters.type === "string") {
16
- return new StringJsonable(parameters.content, parameters.probability, parameters.weight);
17
+ if (parameters.subType === "string") {
18
+ return new StringJsonable(parameters.content, parameters.probability, parameters.weight);
19
+ }
20
+ else if (parameters.subType === "json") {
21
+ return new JsonStringJsonable(parameters.content, parameters.probability, parameters.weight);
22
+ }
23
+ else {
24
+ return assertNever(parameters);
25
+ }
17
26
  }
18
27
  else if (parameters.type === "number") {
19
28
  return new NumberJsonable(parameters.content, parameters.probability, parameters.weight);
@@ -1 +1 @@
1
- {"version":3,"file":"createJsonable.js","sourceRoot":"","sources":["../../../src/json/createJsonable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,MAAM,UAAU,cAAc,CAC5B,UAAmC;IAEnC,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,cAAc,CACvB,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,CAClB,CAAC;IACJ,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACvC,OAAO,IAAI,aAAa,CACtB,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,CAClB,CAAC;IACJ,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,IAAI,cAAc,CACvB,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,CAClB,CAAC;IACJ,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,IAAI,cAAc,CACvB,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,CAClB,CAAC;IACJ,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,IAAI,eAAe,CACxB,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,CAClB,CAAC;IACJ,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACtC,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"createJsonable.js","sourceRoot":"","sources":["../../../src/json/createJsonable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,MAAM,UAAU,cAAc,CAC5B,UAAmC;IAEnC,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,cAAc,CACvB,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,CAClB,CAAC;IACJ,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACvC,OAAO,IAAI,aAAa,CACtB,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,CAClB,CAAC;IACJ,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxC,IAAI,UAAU,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,IAAI,cAAc,CACvB,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,CAClB,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACzC,OAAO,IAAI,kBAAkB,CAC3B,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,CAClB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,IAAI,cAAc,CACvB,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,CAClB,CAAC;IACJ,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,IAAI,eAAe,CACxB,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,CAClB,CAAC;IACJ,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACtC,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;AACH,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { parseCommand } from "../command/index.js";
2
2
  import { buildCommandDocumentFragments } from "../commandDocument/index.js";
3
3
  import { parseAndEmbedCommandExpression, } from "../commandTemplate/index.js";
4
+ import { isReadonlyArray } from "../common/utils.js";
4
5
  import { normalizeWeight } from "../common/weightedItemFeeder.js";
5
6
  import { EXPRESSION_BLOCK_END, EXPRESSION_BLOCK_START, isStringOnlyTemplateFragments, parseTemplate, } from "../template/index.js";
6
7
  import { isNonNullObject, parseNonNaNFloat, parseNonNaNInteger, } from "../utils.js";
@@ -33,19 +34,20 @@ export function createJsonableTransformer(commandManager, documentOptions) {
33
34
  else {
34
35
  return createJsonable({
35
36
  type: "string",
37
+ subType: "string",
36
38
  content: documentContent,
37
39
  probability: undefined,
38
40
  weight: undefined,
39
41
  });
40
42
  }
41
43
  }
42
- else if (Array.isArray(value)) {
44
+ else if (isReadonlyArray(value)) {
43
45
  // array
44
46
  const arrayJsonableParameters = tryParseArrayJsonableParameters(value, commandDocumentFragmentsBuilder, jsonableTransformer);
45
47
  if (arrayJsonableParameters !== undefined) {
46
48
  return createJsonable(arrayJsonableParameters);
47
49
  }
48
- return transformIntoJsonableValueArray(value, jsonableTransformer);
50
+ return transformIntoJsonableArray(value, jsonableTransformer);
49
51
  }
50
52
  else {
51
53
  // object
@@ -58,7 +60,7 @@ export function createJsonableTransformer(commandManager, documentOptions) {
58
60
  };
59
61
  return jsonableTransformer;
60
62
  }
61
- function transformIntoJsonableValueArray(content, jsonableTransformer) {
63
+ function transformIntoJsonableArray(content, jsonableTransformer) {
62
64
  return content
63
65
  .map((item) => jsonableTransformer(item))
64
66
  .filter((jsonableValue) => jsonableValue !== undefined);
@@ -97,7 +99,7 @@ function tryParseArrayJsonableParameters(array, commandDocumentFragmentsBuilder,
97
99
  }
98
100
  return {
99
101
  type: "array",
100
- content: transformIntoJsonableValueArray(items, jsonableTransformer),
102
+ content: transformIntoJsonableArray(items, jsonableTransformer),
101
103
  length: lengthContent,
102
104
  probability: undefined,
103
105
  weight: undefined,
@@ -115,16 +117,19 @@ function tryParseJsonableParameters(jsonObject, commandDocumentFragmentsBuilder,
115
117
  const memberValue = jsonObject[memberKey];
116
118
  const possibleParameterName = tryExtractJsonableParameterExpression(memberKey);
117
119
  if (possibleParameterName === JsonableTypeParameterName) {
120
+ // explicitly specified "type"
118
121
  if (!isJsonValueType(memberValue)) {
119
122
  return;
120
123
  }
121
124
  jsonValueType = memberValue;
122
125
  }
123
126
  else if (possibleParameterName === JsonableContentParameterName) {
127
+ // specify "content" and also implicitly indicate "object" type
124
128
  contentValue = memberValue;
125
129
  hasShorthandObjectJsonableTrigger = true;
126
130
  }
127
131
  else if (possibleParameterName === JsonableProbabilityParameterName) {
132
+ // specify "probability" and also implicitly indicate "object" type
128
133
  probabilityValue = memberValue;
129
134
  hasShorthandObjectJsonableTrigger = true;
130
135
  }
@@ -132,6 +137,7 @@ function tryParseJsonableParameters(jsonObject, commandDocumentFragmentsBuilder,
132
137
  lengthValue = memberValue;
133
138
  }
134
139
  else if (possibleParameterName === JsonableWeightParameterName) {
140
+ // specify "weight" and also implicitly indicate "object" type
135
141
  weightValue = memberValue;
136
142
  hasShorthandObjectJsonableTrigger = true;
137
143
  }
@@ -141,10 +147,11 @@ function tryParseJsonableParameters(jsonObject, commandDocumentFragmentsBuilder,
141
147
  });
142
148
  let actualJsonValueType;
143
149
  if (jsonValueType !== undefined) {
150
+ // explicit type
144
151
  actualJsonValueType = jsonValueType;
145
152
  }
146
153
  else if (hasShorthandObjectJsonableTrigger) {
147
- // shorthand object
154
+ // shorthand object (implicit type)
148
155
  actualJsonValueType = "object";
149
156
  contentValue = contentValue ?? otherMembers;
150
157
  }
@@ -175,25 +182,56 @@ function tryParseJsonableParameters(jsonObject, commandDocumentFragmentsBuilder,
175
182
  return undefined;
176
183
  }
177
184
  const lengthContent = parseDocumentContent(lengthValue, commandDocumentFragmentsBuilder);
178
- let jsonableValueArray;
185
+ let jsonableArray;
179
186
  if (Array.isArray(contentValue)) {
180
- jsonableValueArray = transformIntoJsonableValueArray(contentValue, jsonableTransformer);
187
+ jsonableArray = transformIntoJsonableArray(contentValue, jsonableTransformer);
181
188
  }
182
189
  else {
183
- jsonableValueArray = [];
190
+ jsonableArray = [];
184
191
  }
185
192
  // => return JsonableValueParameters
186
193
  return {
187
194
  type: actualJsonValueType,
188
- content: jsonableValueArray,
195
+ content: jsonableArray,
189
196
  length: lengthContent,
190
197
  ...createCommonJsonableParameters(probabilityValue, weightValue),
191
198
  };
192
199
  }
193
- else if (actualJsonValueType === "string" ||
194
- actualJsonValueType === "number" ||
200
+ else if (actualJsonValueType === "string") {
201
+ // ## string case
202
+ if (typeof contentValue !== "string") {
203
+ if (contentValue === undefined) {
204
+ // => return undefined
205
+ return undefined;
206
+ }
207
+ // string-json
208
+ let jsonableValue;
209
+ jsonableValue = jsonableTransformer(contentValue);
210
+ if (jsonableValue === undefined) {
211
+ // => return undefined
212
+ return undefined;
213
+ }
214
+ // string-json
215
+ return {
216
+ type: actualJsonValueType,
217
+ subType: "json",
218
+ content: jsonableValue,
219
+ ...createCommonJsonableParameters(probabilityValue, weightValue),
220
+ };
221
+ }
222
+ // string-string
223
+ const content = parseDocumentContent(contentValue, commandDocumentFragmentsBuilder);
224
+ // => return JsonableValueParameters
225
+ return {
226
+ type: actualJsonValueType,
227
+ subType: "string",
228
+ content: content,
229
+ ...createCommonJsonableParameters(probabilityValue, weightValue),
230
+ };
231
+ }
232
+ else if (actualJsonValueType === "number" ||
195
233
  actualJsonValueType === "boolean") {
196
- // ## string | number | boolean case
234
+ // ## number | boolean case
197
235
  if (typeof contentValue !== "string") {
198
236
  // => return undefined
199
237
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"createJsonableTransformer.js","sourceRoot":"","sources":["../../../src/json/createJsonableTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createJsonableTransformer.js","sourceRoot":"","sources":["../../../src/json/createJsonableTransformer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,14 @@
1
- export type JsonValue = JsonObject | JsonValue[] | JsonString | JsonNumber | JsonBoolean | JsonNull;
1
+ import type { JsonValueTypes } from "./jsonConsts.js";
2
+ export type JsonValueType = (typeof JsonValueTypes)[number];
3
+ export type JsonValue = JsonObject | JsonArray | JsonString | JsonNumber | JsonBoolean | JsonNull;
2
4
  export type JsonObject = {
5
+ readonly [key: string]: JsonValue;
6
+ };
7
+ export type MutableJsonObject = {
3
8
  [key: string]: JsonValue;
4
9
  };
10
+ export type JsonArray = readonly JsonValue[];
11
+ export type MutableJsonArray = JsonValue[];
5
12
  export type JsonString = string;
6
13
  export type JsonNumber = number;
7
14
  export type JsonBoolean = boolean;
@@ -1,11 +1,11 @@
1
1
  import { type DocumentContent, type DocumentContext } from "../../document/index.js";
2
2
  import { AbstractJsonable } from "../abstractJsonable.js";
3
- import type { JsonableValue } from "../jsonableTypes.js";
4
- import type { JsonValue } from "../jsonTypes.js";
3
+ import type { JsonableArray } from "../jsonableTypes.js";
4
+ import type { JsonArray } from "../jsonTypes.js";
5
5
  export declare class ArrayJsonable extends AbstractJsonable {
6
6
  private readonly lengthContent;
7
7
  readonly type: "array";
8
8
  private readonly weightedItemFeeder;
9
- constructor(items: readonly JsonableValue[], lengthContent: DocumentContent, probability: number | undefined, weight: number | undefined);
10
- protected toJSONImpl(keyOrIndex: string | number, context: DocumentContext): JsonValue[] | undefined;
9
+ constructor(items: JsonableArray, lengthContent: DocumentContent, probability: number | undefined, weight: number | undefined);
10
+ protected toJSONImpl(keyOrIndex: string | number, context: DocumentContext): JsonArray | undefined;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"arrayJsonable.js","sourceRoot":"","sources":["../../../../src/json/jsonableClasses/arrayJsonable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAGL,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,OAAO,aAAc,SAAQ,gBAAgB;IAM9B;IALH,IAAI,GAAG,OAAgB,CAAC;IACvB,kBAAkB,CAAoC;IAEvE,YACE,KAA+B,EACd,aAA8B,EAC/C,WAA+B,EAC/B,MAA0B;QAE1B,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAJV,kBAAa,GAAb,aAAa,CAAiB;QAK/C,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAiB,CAAC;QACnE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,IAAI,YAAY,gBAAgB,EAAE,CAAC;gBACrC,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAES,UAAU,CAClB,UAA2B,EAC3B,OAAwB;QAExB,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;gBAC/C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,SAAS,GAAG,8BAA8B,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC5B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"arrayJsonable.js","sourceRoot":"","sources":["../../../../src/json/jsonableClasses/arrayJsonable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAGL,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,OAAO,aAAc,SAAQ,gBAAgB;IAM9B;IALH,IAAI,GAAG,OAAgB,CAAC;IACvB,kBAAkB,CAAoC;IAEvE,YACE,KAAoB,EACH,aAA8B,EAC/C,WAA+B,EAC/B,MAA0B;QAE1B,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAJV,kBAAa,GAAb,aAAa,CAAiB;QAK/C,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAiB,CAAC;QACnE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,IAAI,YAAY,gBAAgB,EAAE,CAAC;gBACrC,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAES,UAAU,CAClB,UAA2B,EAC3B,OAAwB;QAExB,MAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;gBAC/C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,SAAS,GAAG,8BAA8B,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC5B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,10 @@
1
+ import { type DocumentContext } from "../../document/index.js";
2
+ import { AbstractJsonable } from "../abstractJsonable.js";
3
+ import type { JsonableValue } from "../jsonableTypes.js";
4
+ import type { JsonString } from "../jsonTypes.js";
5
+ export declare class JsonStringJsonable extends AbstractJsonable {
6
+ private readonly content;
7
+ readonly type: "string";
8
+ constructor(content: JsonableValue, probability: number | undefined, weight: number | undefined);
9
+ protected toJSONImpl(keyOrIndex: string | number, context: DocumentContext): JsonString | undefined;
10
+ }
@@ -0,0 +1,15 @@
1
+ import { AbstractJsonable } from "../abstractJsonable.js";
2
+ import { stringifyJsonable } from "../stringifyJsonable.js";
3
+ export class JsonStringJsonable extends AbstractJsonable {
4
+ content;
5
+ type = "string";
6
+ constructor(content, probability, weight) {
7
+ super(probability, weight);
8
+ this.content = content;
9
+ }
10
+ toJSONImpl(keyOrIndex, context) {
11
+ const output = stringifyJsonable(this.content, keyOrIndex, context);
12
+ return output;
13
+ }
14
+ }
15
+ //# sourceMappingURL=jsonStringJsonable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonStringJsonable.js","sourceRoot":"","sources":["../../../../src/json/jsonableClasses/jsonStringJsonable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IAInC;IAHH,IAAI,GAAG,QAAiB,CAAC;IAEzC,YACmB,OAAsB,EACvC,WAA+B,EAC/B,MAA0B;QAE1B,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAJV,YAAO,GAAP,OAAO,CAAe;IAKzC,CAAC;IAES,UAAU,CAClB,UAA2B,EAC3B,OAAwB;QAExB,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
1
  import type { DocumentContent } from "../document/index.js";
2
- import type { JsonableObject, JsonableValue, JsonValueType } from "./jsonableTypes.js";
2
+ import type { JsonableArray, JsonableObject, JsonableValue } from "./jsonableTypes.js";
3
+ import type { JsonValueType } from "./jsonTypes.js";
3
4
  export interface PrimitiveJsonableParameters {
4
5
  readonly type: JsonValueType;
5
6
  readonly probability: number | undefined;
@@ -11,13 +12,19 @@ export interface ObjectJsonableParameters extends PrimitiveJsonableParameters {
11
12
  }
12
13
  export interface ArrayJsonableParameters extends PrimitiveJsonableParameters {
13
14
  readonly type: "array";
14
- readonly content: readonly JsonableValue[];
15
+ readonly content: JsonableArray;
15
16
  readonly length: DocumentContent;
16
17
  }
17
18
  export interface StringJsonableParameters extends PrimitiveJsonableParameters {
18
19
  readonly type: "string";
20
+ readonly subType: "string";
19
21
  readonly content: DocumentContent;
20
22
  }
23
+ export interface JsonStringJsonableParameters extends PrimitiveJsonableParameters {
24
+ readonly type: "string";
25
+ readonly subType: "json";
26
+ readonly content: JsonableValue;
27
+ }
21
28
  export interface NumberJsonableParameters extends PrimitiveJsonableParameters {
22
29
  readonly type: "number";
23
30
  readonly content: DocumentContent;
@@ -29,4 +36,4 @@ export interface BooleanJsonableParameters extends PrimitiveJsonableParameters {
29
36
  export interface NullJsonableParameters extends PrimitiveJsonableParameters {
30
37
  readonly type: "null";
31
38
  }
32
- export type JsonableValueParameters = ObjectJsonableParameters | ArrayJsonableParameters | StringJsonableParameters | NumberJsonableParameters | BooleanJsonableParameters | NullJsonableParameters;
39
+ export type JsonableValueParameters = ObjectJsonableParameters | ArrayJsonableParameters | StringJsonableParameters | JsonStringJsonableParameters | NumberJsonableParameters | BooleanJsonableParameters | NullJsonableParameters;
@@ -1,11 +1,14 @@
1
1
  import type { AbstractJsonable } from "./abstractJsonable.js";
2
- import type { JsonValueTypes } from "./jsonConsts.js";
3
2
  import type { JsonBoolean, JsonNull, JsonNumber, JsonString, JsonValue } from "./jsonTypes.js";
4
- export type JsonValueType = (typeof JsonValueTypes)[number];
5
- export type JsonableValue = AbstractJsonable | JsonableObject | JsonableValue[] | JsonString | JsonNumber | JsonBoolean | JsonNull;
3
+ export type JsonableValue = JsonableObject | JsonableArray | AbstractJsonable | JsonString | JsonNumber | JsonBoolean | JsonNull;
6
4
  export type JsonableObject = {
5
+ readonly [key: string]: JsonableValue;
6
+ };
7
+ export type MutableJsonableObject = {
7
8
  [key: string]: JsonableValue;
8
9
  };
10
+ export type JsonableArray = readonly JsonableValue[];
11
+ export type MutableJsonableArray = JsonableValue[];
9
12
  export interface JsonableTransformer {
10
13
  (value: JsonValue): JsonableValue | undefined;
11
14
  }
@@ -1,10 +1,19 @@
1
+ import { isReadonlyArray } from "../common/utils.js";
1
2
  import { AbstractJsonable } from "./abstractJsonable.js";
2
3
  export function stringifyJsonable(value, keyOrIndex, context) {
3
4
  const jsonValue = transformJsonableIntoJsonValue(value, keyOrIndex, context);
4
5
  if (jsonValue === undefined) {
5
6
  return "";
6
7
  }
7
- return JSON.stringify(jsonValue);
8
+ let jsonString;
9
+ try {
10
+ jsonString = JSON.stringify(jsonValue);
11
+ }
12
+ catch (error) {
13
+ console.error(error);
14
+ jsonString = undefined;
15
+ }
16
+ return jsonString;
8
17
  }
9
18
  export function transformJsonableIntoJsonValue(value, keyOrIndex, context) {
10
19
  if (value instanceof AbstractJsonable) {
@@ -16,7 +25,7 @@ export function transformJsonableIntoJsonValue(value, keyOrIndex, context) {
16
25
  typeof value === "string") {
17
26
  return value;
18
27
  }
19
- else if (Array.isArray(value)) {
28
+ else if (isReadonlyArray(value)) {
20
29
  return value
21
30
  .map((item) => transformJsonableIntoJsonValue(item, keyOrIndex, context))
22
31
  .filter((jsonValue) => jsonValue !== undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"stringifyJsonable.js","sourceRoot":"","sources":["../../../src/json/stringifyJsonable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,MAAM,UAAU,iBAAiB,CAC/B,KAAoB,EACpB,UAA2B,EAC3B,OAAwB;IAExB,MAAM,SAAS,GAAG,8BAA8B,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,KAAoB,EACpB,UAA2B,EAC3B,OAAwB;IAExB,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;SAAM,IACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,SAAS;QAC1B,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ,EACzB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK;aACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,8BAA8B,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;aACxE,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,OAAO,qCAAqC,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,cAA8B,EAC9B,UAA2B,EAC3B,OAAwB;IAExB,IAAI,UAAU,GAAe,EAAE,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAChD,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,MAAM,eAAe,GAAG,8BAA8B,CACpD,WAAW,EACX,SAAS,EACT,OAAO,CACR,CAAC;QACF,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QACD,UAAU,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"stringifyJsonable.js","sourceRoot":"","sources":["../../../src/json/stringifyJsonable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,MAAM,UAAU,iBAAiB,CAC/B,KAAoB,EACpB,UAA2B,EAC3B,OAAwB;IAExB,MAAM,SAAS,GAAG,8BAA8B,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,UAA8B,CAAC;IACnC,IAAI,CAAC;QACH,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,KAAoB,EACpB,UAA2B,EAC3B,OAAwB;IAExB,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;SAAM,IACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,SAAS;QAC1B,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ,EACzB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,KAAK;aACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,8BAA8B,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;aACxE,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,OAAO,qCAAqC,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,cAA8B,EAC9B,UAA2B,EAC3B,OAAwB;IAExB,IAAI,UAAU,GAAsB,EAAE,CAAC;IACvC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAChD,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,MAAM,eAAe,GAAG,8BAA8B,CACpD,WAAW,EACX,SAAS,EACT,OAAO,CACR,CAAC;QACF,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QACD,UAAU,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1,2 +1,2 @@
1
- import type { JsonValueType } from "./jsonableTypes.js";
1
+ import type { JsonValueType } from "./jsonTypes.js";
2
2
  export declare function isJsonValueType(value: unknown): value is JsonValueType;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/json/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAsB,cAAc,CAAC;IACrD,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/json/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAsB,cAAc,CAAC;IACrD,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gent-js/gent",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "template-based data generator.",
5
5
  "homepage": "https://github.com/tomo-waka/gent",
6
6
  "license": "MIT",
@@ -25,7 +25,7 @@
25
25
  "prepare": "npm run build",
26
26
  "start": "tsx src/cli.ts --template sample/syslog_RFC3164(ISO_Date).template.log --count 5 --out out/out.log --debug",
27
27
  "start-json": "tsx src/cli.ts --template sample/aws_CloudWatch.json --count 5 --out out/out.log --debug",
28
- "start-meta": "tsx src/cli.ts --meta sample/udp_meta.json",
28
+ "start-meta": "tsx src/cli.ts --meta sample/meta.json",
29
29
  "test": "echo \"Error: no test specified\" && exit 1",
30
30
  "version": "npm run generate:package-env"
31
31
  },
@@ -1,16 +0,0 @@
1
- import { GeneratingDocument } from "../document/index.js";
2
- import type { TcpOutputOptions } from "../types.js";
3
- import { ThrottlingDocumentStream } from "./throttlingDocumentStream.js";
4
- export declare class TcpDocumentStream extends ThrottlingDocumentStream {
5
- private readonly address;
6
- private readonly port;
7
- private readonly framing;
8
- private readonly trailerReplacer;
9
- private family;
10
- private client;
11
- constructor(options: TcpOutputOptions);
12
- _construct(callback: (error?: Error | null) => void): void;
13
- _throttledWrite(chunk: GeneratingDocument, encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
14
- protected _throttledFinal(callback: (error?: Error | null) => void): void;
15
- protected _throttledDestroy(error: Error | null, callback: (error?: Error | null) => void): void;
16
- }
@@ -1,107 +0,0 @@
1
- import { Buffer } from "node:buffer";
2
- import * as dnsPromises from "node:dns/promises";
3
- import * as net from "node:net";
4
- import { TrailerMap } from "../consts.js";
5
- import { ThrottlingDocumentStream } from "./throttlingDocumentStream.js";
6
- const SP = " ";
7
- export class TcpDocumentStream extends ThrottlingDocumentStream {
8
- address;
9
- port;
10
- framing;
11
- trailerReplacer;
12
- family;
13
- client;
14
- constructor(options) {
15
- super(options.eps);
16
- this.address = options.address;
17
- this.port = options.port;
18
- if (options.framing === "octet-counting") {
19
- this.framing = options.framing;
20
- }
21
- else {
22
- this.framing = options.framing;
23
- this.trailerReplacer = options.trailerReplacer;
24
- }
25
- }
26
- _construct(callback) {
27
- dnsPromises
28
- .lookup(this.address, {
29
- verbatim: true,
30
- })
31
- .then((lookupAddress) => {
32
- this.family = lookupAddress.family;
33
- callback();
34
- })
35
- .catch((reason) => callback(reason));
36
- }
37
- _throttledWrite(chunk, encoding, callback) {
38
- const family = this.family;
39
- if (family === undefined) {
40
- callback(new Error("called write before family has not been determined."));
41
- return;
42
- }
43
- let client = this.client;
44
- if (client === undefined) {
45
- const tcpOptions = {
46
- host: this.address,
47
- port: this.port,
48
- family: this.family,
49
- };
50
- client = net.connect(tcpOptions);
51
- this.client = client;
52
- }
53
- const outputString = chunk.stamp();
54
- let output;
55
- if (this.framing === "lf") {
56
- const trailerReplacer = this.trailerReplacer;
57
- if (trailerReplacer !== undefined) {
58
- const trailer = TrailerMap[this.framing];
59
- output = outputString.replaceAll(trailer, trailerReplacer) + trailer;
60
- }
61
- else {
62
- const trailer = TrailerMap[this.framing];
63
- output = outputString + trailer;
64
- }
65
- }
66
- else if (this.framing === "octet-counting") {
67
- const messageBuf8 = Buffer.from(outputString, "utf-8");
68
- const lengthCount = messageBuf8.length.toString();
69
- const lengthBuf8 = Buffer.from(lengthCount + SP, "utf-8");
70
- output = Buffer.concat([lengthBuf8, messageBuf8]);
71
- }
72
- else {
73
- callback(new Error(`unexpected framing type ${this.framing}`));
74
- return;
75
- }
76
- client.write(output, (error) => {
77
- if (error !== null) {
78
- callback(error);
79
- return;
80
- }
81
- callback();
82
- });
83
- }
84
- _throttledFinal(callback) {
85
- const client = this.client;
86
- if (client === undefined) {
87
- callback();
88
- return;
89
- }
90
- client.end(callback);
91
- }
92
- _throttledDestroy(error, callback) {
93
- const client = this.client;
94
- if (client === undefined) {
95
- callback(error);
96
- return;
97
- }
98
- if (error !== null) {
99
- client.destroy(error);
100
- }
101
- else {
102
- client.destroy();
103
- }
104
- callback(error);
105
- }
106
- }
107
- //# sourceMappingURL=tcpDocumentStream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tcpDocumentStream.js","sourceRoot":"","sources":["../../../src/output/tcpDocumentStream.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import * as stream from "node:stream";
2
- import { GeneratingDocument } from "../document/index.js";
3
- export declare abstract class ThrottlingDocumentStream extends stream.Writable {
4
- private readonly window;
5
- private readonly eventPerWindow;
6
- private readonly windowInternalTimeout;
7
- private eventInCurrentWindow;
8
- private pendingWriteTasks;
9
- private nThWindow;
10
- private totalNumOfEvent;
11
- protected constructor(eps: number, debug?: boolean);
12
- private debugReport;
13
- _write(chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
14
- protected abstract _throttledWrite(chunk: GeneratingDocument, encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
15
- private _flushPendingWriteTasks;
16
- private _clearWindowInternal;
17
- _final(callback: (error?: Error | null) => void): void;
18
- protected abstract _throttledFinal(callback: (error?: Error | null) => void): void;
19
- _destroy(error: Error | null, callback: (error?: Error | null) => void): void;
20
- protected abstract _throttledDestroy(error: Error | null, callback: (error?: Error | null) => void): void;
21
- }
@@ -1,69 +0,0 @@
1
- import * as stream from "node:stream";
2
- import { GeneratingDocument } from "../document/index.js";
3
- const Per1000Window = 1000;
4
- const Per100Window = 100;
5
- export class ThrottlingDocumentStream extends stream.Writable {
6
- window;
7
- eventPerWindow;
8
- windowInternalTimeout;
9
- eventInCurrentWindow;
10
- pendingWriteTasks = [];
11
- nThWindow = 0;
12
- totalNumOfEvent = 0;
13
- constructor(eps, debug = false) {
14
- super({
15
- objectMode: true,
16
- });
17
- if (eps < Per100Window) {
18
- this.window = Per1000Window;
19
- }
20
- else {
21
- this.window = Per100Window;
22
- }
23
- this.eventPerWindow = Math.ceil(eps * (this.window / 1000));
24
- this.eventInCurrentWindow = 0;
25
- this.windowInternalTimeout = setInterval(() => {
26
- this._flushPendingWriteTasks();
27
- if (debug) {
28
- this.debugReport();
29
- }
30
- this.eventInCurrentWindow = 0;
31
- }, this.window);
32
- }
33
- debugReport() {
34
- this.totalNumOfEvent = this.totalNumOfEvent + this.eventInCurrentWindow;
35
- this.nThWindow = this.nThWindow + 1;
36
- console.log(`[${this.nThWindow}] => ${this.eventInCurrentWindow}/${this.totalNumOfEvent}`);
37
- }
38
- _write(chunk, encoding, callback) {
39
- if (!(chunk instanceof GeneratingDocument)) {
40
- callback(new Error(`Unexpected chunk type(${typeof chunk}). Cannot process any chunk type except Document.`));
41
- return;
42
- }
43
- if (this.eventInCurrentWindow < this.eventPerWindow) {
44
- this._throttledWrite(chunk, encoding, callback);
45
- this.eventInCurrentWindow = this.eventInCurrentWindow + 1;
46
- return;
47
- }
48
- this.pendingWriteTasks.push([chunk, encoding, callback]);
49
- }
50
- _flushPendingWriteTasks() {
51
- const tasks = this.pendingWriteTasks;
52
- this.pendingWriteTasks = [];
53
- tasks.forEach(([chunk, encoding, callback]) => this._throttledWrite(chunk, encoding, callback));
54
- }
55
- _clearWindowInternal() {
56
- clearInterval(this.windowInternalTimeout);
57
- }
58
- _final(callback) {
59
- this._flushPendingWriteTasks();
60
- this._clearWindowInternal();
61
- this._throttledFinal(callback);
62
- }
63
- _destroy(error, callback) {
64
- this._flushPendingWriteTasks();
65
- this._clearWindowInternal();
66
- this._throttledDestroy(error, callback);
67
- }
68
- }
69
- //# sourceMappingURL=throttlingDocumentStream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"throttlingDocumentStream.js","sourceRoot":"","sources":["../../../src/output/throttlingDocumentStream.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import * as stream from "node:stream";
2
- import type { DocumentTransformOptions } from "./documentTransformTypes.js";
3
- export declare class DocumentTransformStream extends stream.Transform {
4
- private readonly documentTransformer;
5
- private readonly timeWindow;
6
- private readonly numOfEventPerTimeWindow;
7
- private readonly timeWindowIntervalTimeout;
8
- private numOfEventInCurrentTimeWindow;
9
- private pendingTransformTasks;
10
- private nThTimeWindow;
11
- private totalNumOfEvent;
12
- constructor(options: DocumentTransformOptions, debug?: boolean);
13
- private debugReport;
14
- _transform(chunk: any, encoding: BufferEncoding, callback: stream.TransformCallback): void;
15
- _flush(callback: stream.TransformCallback): void;
16
- private __transformDocument;
17
- private __flushPendingTransformTasks;
18
- private __clearWindowInternal;
19
- }
@@ -1,118 +0,0 @@
1
- import { Buffer } from "node:buffer";
2
- import * as stream from "node:stream";
3
- import { GeneratingDocument } from "../document/index.js";
4
- const Per1000Window = 1000;
5
- const Per100Window = 100;
6
- export class DocumentTransformStream extends stream.Transform {
7
- documentTransformer;
8
- timeWindow;
9
- numOfEventPerTimeWindow;
10
- timeWindowIntervalTimeout;
11
- numOfEventInCurrentTimeWindow;
12
- pendingTransformTasks = [];
13
- nThTimeWindow = 0;
14
- totalNumOfEvent = 0;
15
- constructor(options, debug = false) {
16
- super({
17
- highWaterMark: 0,
18
- objectMode: true,
19
- });
20
- const transformMode = options.transformMode;
21
- if (transformMode === "object") {
22
- this.documentTransformer = undefined;
23
- }
24
- else if (transformMode === "buffer") {
25
- const framing = options.framing;
26
- if (framing === "octet-counting") {
27
- this.documentTransformer = transformDocumentIntoOctetCountingBuffer;
28
- }
29
- else if (framing === "non-transparent") {
30
- this.documentTransformer = createNonTransparentDocumentTransformer(options.trailer, options.trailerReplacer);
31
- }
32
- else {
33
- throw new Error(`Unexpected framingMethod: ${framing}`);
34
- }
35
- }
36
- else {
37
- throw new Error(`Unexpected transferMode: ${transformMode}`);
38
- }
39
- if (options.eps < Per100Window) {
40
- this.timeWindow = Per1000Window;
41
- }
42
- else {
43
- this.timeWindow = Per100Window;
44
- }
45
- this.numOfEventPerTimeWindow = Math.ceil(options.eps * (this.timeWindow / 1000));
46
- this.numOfEventInCurrentTimeWindow = 0;
47
- this.timeWindowIntervalTimeout = setInterval(() => {
48
- this.__flushPendingTransformTasks();
49
- if (debug) {
50
- this.debugReport();
51
- }
52
- this.numOfEventInCurrentTimeWindow = 0;
53
- }, this.timeWindow);
54
- }
55
- debugReport() {
56
- this.totalNumOfEvent =
57
- this.totalNumOfEvent + this.numOfEventInCurrentTimeWindow;
58
- this.nThTimeWindow = this.nThTimeWindow + 1;
59
- console.log(`[${this.nThTimeWindow}] => ${this.numOfEventInCurrentTimeWindow}/${this.totalNumOfEvent}`);
60
- }
61
- _transform(chunk, encoding, callback) {
62
- if (!(chunk instanceof GeneratingDocument)) {
63
- callback(new Error(`Unexpected chunk type(${typeof chunk}). Cannot process any chunk type except Document.`));
64
- return;
65
- }
66
- if (this.numOfEventInCurrentTimeWindow < this.numOfEventPerTimeWindow) {
67
- this.numOfEventInCurrentTimeWindow =
68
- this.numOfEventInCurrentTimeWindow + 1;
69
- this.__transformDocument(chunk, encoding, callback);
70
- return;
71
- }
72
- this.pendingTransformTasks.push([chunk, encoding, callback]);
73
- }
74
- _flush(callback) {
75
- this.__flushPendingTransformTasks();
76
- this.__clearWindowInternal();
77
- callback();
78
- }
79
- __transformDocument(document, encoding, callback) {
80
- const documentTransformer = this.documentTransformer;
81
- if (documentTransformer === undefined) {
82
- callback(null, document);
83
- return;
84
- }
85
- const bufferArray = documentTransformer(document, encoding);
86
- bufferArray.forEach((buffer) => this.push(buffer, encoding));
87
- callback();
88
- }
89
- __flushPendingTransformTasks() {
90
- const tasks = this.pendingTransformTasks;
91
- this.pendingTransformTasks = [];
92
- tasks.forEach(([document, encoding, callback]) => this.__transformDocument(document, encoding, callback));
93
- }
94
- __clearWindowInternal() {
95
- clearInterval(this.timeWindowIntervalTimeout);
96
- }
97
- }
98
- const SP = " ";
99
- function transformDocumentIntoOctetCountingBuffer(document, encoding) {
100
- const outputString = document.stamp();
101
- const messageBuf8 = Buffer.from(outputString, encoding);
102
- const lengthCount = messageBuf8.length.toString();
103
- const lengthBuf8 = Buffer.from(lengthCount + SP, encoding);
104
- return [lengthBuf8, messageBuf8];
105
- }
106
- function createNonTransparentDocumentTransformer(trailer, trailerReplacer) {
107
- return (document, encoding) => {
108
- let outputString = document.stamp();
109
- if (trailerReplacer !== undefined) {
110
- outputString = outputString.replaceAll(trailer, trailerReplacer);
111
- }
112
- return [
113
- Buffer.from(outputString, encoding),
114
- Buffer.from(trailer, encoding),
115
- ];
116
- };
117
- }
118
- //# sourceMappingURL=documentTransformStream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"documentTransformStream.js","sourceRoot":"","sources":["../../../src/template/documentTransformStream.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- export type TransformMode = "object" | "buffer";
2
- interface PrimitiveDocumentTransformOptions {
3
- readonly transformMode: TransformMode;
4
- readonly eps: number;
5
- }
6
- export interface DocumentObjectTransformOptions extends PrimitiveDocumentTransformOptions {
7
- readonly transformMode: "object";
8
- }
9
- export type FramingMethod = "octet-counting" | "non-transparent";
10
- interface DocumentBufferTransformOptions extends PrimitiveDocumentTransformOptions {
11
- readonly transformMode: "buffer";
12
- readonly framing: FramingMethod;
13
- }
14
- export interface DocumentOctetCountingTransformOptions extends DocumentBufferTransformOptions {
15
- readonly transformMode: "buffer";
16
- readonly framing: "octet-counting";
17
- }
18
- export interface DocumentNonTransparentTransformOptions extends DocumentBufferTransformOptions {
19
- readonly transformMode: "buffer";
20
- readonly framing: "non-transparent";
21
- readonly trailer: string;
22
- readonly trailerReplacer: string | undefined;
23
- }
24
- export type DocumentTransformOptions = DocumentObjectTransformOptions | DocumentOctetCountingTransformOptions | DocumentNonTransparentTransformOptions;
25
- export {};
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=documentTransformTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"documentTransformTypes.js","sourceRoot":"","sources":["../../../src/template/documentTransformTypes.ts"],"names":[],"mappings":""}