@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.
- package/README.md +18 -4
- package/dist/generated/packageEnv.d.ts +1 -1
- package/dist/generated/packageEnv.js +1 -1
- package/dist/src/common/utils.d.ts +5 -0
- package/dist/src/common/utils.js +8 -0
- package/dist/src/common/utils.js.map +1 -0
- package/dist/src/json/abstractJsonable.d.ts +1 -2
- package/dist/src/json/abstractJsonable.js.map +1 -1
- package/dist/src/json/createJsonable.js +10 -1
- package/dist/src/json/createJsonable.js.map +1 -1
- package/dist/src/json/createJsonableTransformer.js +50 -12
- package/dist/src/json/createJsonableTransformer.js.map +1 -1
- package/dist/src/json/jsonTypes.d.ts +8 -1
- package/dist/src/json/jsonableClasses/arrayJsonable.d.ts +4 -4
- package/dist/src/json/jsonableClasses/arrayJsonable.js.map +1 -1
- package/dist/src/json/jsonableClasses/jsonStringJsonable.d.ts +10 -0
- package/dist/src/json/jsonableClasses/jsonStringJsonable.js +15 -0
- package/dist/src/json/jsonableClasses/jsonStringJsonable.js.map +1 -0
- package/dist/src/json/jsonableParametersTypes.d.ts +10 -3
- package/dist/src/json/jsonableTypes.d.ts +6 -3
- package/dist/src/json/stringifyJsonable.js +11 -2
- package/dist/src/json/stringifyJsonable.js.map +1 -1
- package/dist/src/json/utils.d.ts +1 -1
- package/dist/src/json/utils.js.map +1 -1
- package/package.json +2 -2
- package/dist/src/output/tcpDocumentStream.d.ts +0 -16
- package/dist/src/output/tcpDocumentStream.js +0 -107
- package/dist/src/output/tcpDocumentStream.js.map +0 -1
- package/dist/src/output/throttlingDocumentStream.d.ts +0 -21
- package/dist/src/output/throttlingDocumentStream.js +0 -69
- package/dist/src/output/throttlingDocumentStream.js.map +0 -1
- package/dist/src/template/documentTransformStream.d.ts +0 -19
- package/dist/src/template/documentTransformStream.js +0 -118
- package/dist/src/template/documentTransformStream.js.map +0 -1
- package/dist/src/template/documentTransformTypes.d.ts +0 -25
- package/dist/src/template/documentTransformTypes.js +0 -2
- package/dist/src/template/documentTransformTypes.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|
|
|
5
|
-

|
|
6
|
-

|
|
5
|
+
[](https://www.npmjs.com/package/@gent-js/gent)
|
|
6
|
+
[](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/
|
|
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.
|
|
@@ -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 "./
|
|
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;
|
|
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
|
-
|
|
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;
|
|
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 (
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
185
|
+
let jsonableArray;
|
|
179
186
|
if (Array.isArray(contentValue)) {
|
|
180
|
-
|
|
187
|
+
jsonableArray = transformIntoJsonableArray(contentValue, jsonableTransformer);
|
|
181
188
|
}
|
|
182
189
|
else {
|
|
183
|
-
|
|
190
|
+
jsonableArray = [];
|
|
184
191
|
}
|
|
185
192
|
// => return JsonableValueParameters
|
|
186
193
|
return {
|
|
187
194
|
type: actualJsonValueType,
|
|
188
|
-
content:
|
|
195
|
+
content: jsonableArray,
|
|
189
196
|
length: lengthContent,
|
|
190
197
|
...createCommonJsonableParameters(probabilityValue, weightValue),
|
|
191
198
|
};
|
|
192
199
|
}
|
|
193
|
-
else if (actualJsonValueType === "string"
|
|
194
|
-
|
|
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
|
-
// ##
|
|
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":"AAAA,OAAO,EAAuB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAEL,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAMlE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,6BAA6B,EAC7B,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,EACzB,2BAA2B,EAC3B,eAAe,EACf,eAAe,GAChB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"createJsonableTransformer.js","sourceRoot":"","sources":["../../../src/json/createJsonableTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAEL,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAMlE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,6BAA6B,EAC7B,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,EACzB,2BAA2B,EAC3B,eAAe,EACf,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAqBvC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQ7C,MAAM,UAAU,yBAAyB,CACvC,cAA8B,EAC9B,eAAgC;IAEhC,MAAM,+BAA+B,GACnC,UACE,uBAAiE;QAEjE,OAAO,6BAA6B,CAClC,uBAAuB,EACvB,cAAc,EACd,eAAe,CAChB,CAAC;IACJ,CAAC,CAAC;IAEJ,MAAM,mBAAmB,GAAwB,UAC/C,KAAgB;QAEhB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO;YACP,OAAO,KAAK,CAAC;QACf,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YACtC,UAAU;YACV,OAAO,KAAK,CAAC;QACf,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,SAAS;YACT,OAAO,KAAK,CAAC;QACf,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,SAAS;YACT,MAAM,eAAe,GAAG,oBAAoB,CAC1C,KAAK,EACL,+BAA+B,CAChC,CAAC;YACF,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;gBACxC,OAAO,eAAe,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,OAAO,cAAc,CAAC;oBACpB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,QAAQ;oBACjB,OAAO,EAAE,eAAe;oBACxB,WAAW,EAAE,SAAS;oBACtB,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,QAAQ;YACR,MAAM,uBAAuB,GAAG,+BAA+B,CAC7D,KAAK,EACL,+BAA+B,EAC/B,mBAAmB,CACpB,CAAC;YACF,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO,cAAc,CAAC,uBAAuB,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,SAAS;YACT,MAAM,uBAAuB,GAAG,0BAA0B,CACxD,KAAK,EACL,+BAA+B,EAC/B,mBAAmB,CACpB,CAAC;YACF,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO,cAAc,CAAC,uBAAuB,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,2BAA2B,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC;IACF,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,SAAS,0BAA0B,CACjC,OAAkB,EAClB,mBAAwC;IAExC,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SACxC,MAAM,CAAgB,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,2BAA2B,CAClC,UAAsB,EACtB,mBAAwC;IAExC,IAAI,cAAc,GAA0B,EAAE,CAAC;IAC/C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC5C,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,MAAM,aAAa,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QACD,cAAc,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,+BAA+B,CACtC,KAAgB,EAChB,+BAAgE,EAChE,mBAAwC;IAExC,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,IAAI,aAA0C,CAAC;IAC/C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,kBAAkB,GAAG,qCAAqC,CAAC,IAAI,CAAC,CAAC;QAEvE,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,aAAa,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;YACvD,IAAI,aAAa,CAAC,IAAI,KAAK,2BAA2B,EAAE,CAAC;gBACvD,aAAa,GAAG,+BAA+B,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBACjE,OAAO;YACT,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,CAAC;QAC/D,MAAM,EAAE,aAAa;QACrB,WAAW,EAAE,SAAS;QACtB,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,UAAsB,EACtB,+BAAgE,EAChE,mBAAwC;IAExC,IAAI,aAAwC,CAAC;IAC7C,IAAI,YAAmC,CAAC;IACxC,IAAI,WAAkC,CAAC;IACvC,IAAI,gBAAuC,CAAC;IAC5C,IAAI,WAAkC,CAAC;IACvC,IAAI,iCAAiC,GAAG,KAAK,CAAC;IAC9C,MAAM,YAAY,GAAsB,EAAE,CAAC;IAC3C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC5C,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,qBAAqB,GACzB,qCAAqC,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,qBAAqB,KAAK,yBAAyB,EAAE,CAAC;YACxD,8BAA8B;YAC9B,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClC,OAAO;YACT,CAAC;YACD,aAAa,GAAG,WAAW,CAAC;QAC9B,CAAC;aAAM,IAAI,qBAAqB,KAAK,4BAA4B,EAAE,CAAC;YAClE,+DAA+D;YAC/D,YAAY,GAAG,WAAW,CAAC;YAC3B,iCAAiC,GAAG,IAAI,CAAC;QAC3C,CAAC;aAAM,IAAI,qBAAqB,KAAK,gCAAgC,EAAE,CAAC;YACtE,mEAAmE;YACnE,gBAAgB,GAAG,WAAW,CAAC;YAC/B,iCAAiC,GAAG,IAAI,CAAC;QAC3C,CAAC;aAAM,IAAI,qBAAqB,KAAK,2BAA2B,EAAE,CAAC;YACjE,WAAW,GAAG,WAAW,CAAC;QAC5B,CAAC;aAAM,IAAI,qBAAqB,KAAK,2BAA2B,EAAE,CAAC;YACjE,8DAA8D;YAC9D,WAAW,GAAG,WAAW,CAAC;YAC1B,iCAAiC,GAAG,IAAI,CAAC;QAC3C,CAAC;aAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,YAAY,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,mBAAkC,CAAC;IACvC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,gBAAgB;QAChB,mBAAmB,GAAG,aAAa,CAAC;IACtC,CAAC;SAAM,IAAI,iCAAiC,EAAE,CAAC;QAC7C,mCAAmC;QACnC,mBAAmB,GAAG,QAAQ,CAAC;QAC/B,YAAY,GAAG,YAAY,IAAI,YAAY,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,sBAAsB;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,mBAAmB,KAAK,QAAQ,EAAE,CAAC;QACrC,iBAAiB;QACjB,IAAI,cAA8B,CAAC;QACnC,IAAI,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,cAAc,GAAG,2BAA2B,CAC1C,YAAY,EACZ,mBAAmB,CACpB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,EAAE,CAAC;QACtB,CAAC;QACD,oCAAoC;QACpC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,cAAc;YACvB,GAAG,8BAA8B,CAAC,gBAAgB,EAAE,WAAW,CAAC;SACjE,CAAC;IACJ,CAAC;SAAM,IAAI,mBAAmB,KAAK,OAAO,EAAE,CAAC;QAC3C,gBAAgB;QAChB,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,sBAAsB;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,aAAa,GAAG,oBAAoB,CACxC,WAAW,EACX,+BAA+B,CAChC,CAAC;QACF,IAAI,aAA4B,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,aAAa,GAAG,0BAA0B,CACxC,YAAY,EACZ,mBAAmB,CACpB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,EAAE,CAAC;QACrB,CAAC;QACD,oCAAoC;QACpC,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,aAAa;YACrB,GAAG,8BAA8B,CAAC,gBAAgB,EAAE,WAAW,CAAC;SACjE,CAAC;IACJ,CAAC;SAAM,IAAI,mBAAmB,KAAK,QAAQ,EAAE,CAAC;QAC5C,iBAAiB;QACjB,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,sBAAsB;gBACtB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,cAAc;YACd,IAAI,aAAwC,CAAC;YAC7C,aAAa,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;YAClD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,sBAAsB;gBACtB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,cAAc;YACd,OAAO;gBACL,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,aAAa;gBACtB,GAAG,8BAA8B,CAAC,gBAAgB,EAAE,WAAW,CAAC;aACjE,CAAC;QACJ,CAAC;QACD,gBAAgB;QAChB,MAAM,OAAO,GAAG,oBAAoB,CAClC,YAAY,EACZ,+BAA+B,CAChC,CAAC;QACF,oCAAoC;QACpC,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,OAAO;YAChB,GAAG,8BAA8B,CAAC,gBAAgB,EAAE,WAAW,CAAC;SACjE,CAAC;IACJ,CAAC;SAAM,IACL,mBAAmB,KAAK,QAAQ;QAChC,mBAAmB,KAAK,SAAS,EACjC,CAAC;QACD,2BAA2B;QAC3B,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,sBAAsB;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,oBAAoB,CAClC,YAAY,EACZ,+BAA+B,CAChC,CAAC;QACF,oCAAoC;QACpC,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,OAAO;YAChB,GAAG,8BAA8B,CAAC,gBAAgB,EAAE,WAAW,CAAC;SACjE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,eAAe;QAEf,oCAAoC;QACpC,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,GAAG,8BAA8B,CAAC,gBAAgB,EAAE,WAAW,CAAC;SACjE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAa,EACb,+BAAgE;IAEhE,MAAM,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,6BAA6B,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,CAAC;QACN,MAAM,iBAAiB,GAAG,+BAA+B,CACvD,8BAA8B,CAAC,iBAAiB,CAAC,CAClD,CAAC;QACF,OAAO,iBAAiB,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,qCAAqC,CAC5C,KAAc;IAEd,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IACE,CAAC,KAAK,CAAC,UAAU,CAAC,sBAAsB,CAAC;QACzC,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EACrC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,SAAS,CACpB,sBAAsB,CAAC,MAAM,EAC7B,KAAK,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAC3C,CAAC;AACJ,CAAC;AAID,SAAS,8BAA8B,CACrC,gBAAuC,EACvC,WAAkC;IAElC,MAAM,WAAW,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACvD,MAAM,qBAAqB,GACzB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5E,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GACpB,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,OAAO;QACL,WAAW,EAAE,qBAAqB;QAClC,MAAM,EAAE,gBAAgB;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC;AACrE,CAAC"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
|
|
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 {
|
|
4
|
-
import type {
|
|
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:
|
|
10
|
-
protected toJSONImpl(keyOrIndex: string | number, context: DocumentContext):
|
|
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,
|
|
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
|
|
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:
|
|
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
|
|
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
|
-
|
|
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 (
|
|
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":"
|
|
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"}
|
package/dist/src/json/utils.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { JsonValueType } from "./
|
|
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":"
|
|
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.
|
|
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/
|
|
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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"documentTransformTypes.js","sourceRoot":"","sources":["../../../src/template/documentTransformTypes.ts"],"names":[],"mappings":""}
|