@jetio/validator 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +1362 -0
- package/dist/cli.js +219 -0
- package/dist/compileSchema.d.ts +148 -0
- package/dist/compileSchema.js +2199 -0
- package/dist/compileSchema.js.map +1 -0
- package/dist/formats.d.ts +41 -0
- package/dist/formats.js +166 -0
- package/dist/formats.js.map +1 -0
- package/dist/index.cjs.js +6167 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.esm.js +6148 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/jet-validator.d.ts +88 -0
- package/dist/jet-validator.js +983 -0
- package/dist/jet-validator.js.map +1 -0
- package/dist/resolver.d.ts +348 -0
- package/dist/resolver.js +2459 -0
- package/dist/resolver.js.map +1 -0
- package/dist/scripts/load-metaschemas.d.ts +1 -0
- package/dist/scripts/metaschema-loader.d.ts +2 -0
- package/dist/src/compileSchema.d.ts +148 -0
- package/dist/src/formats.d.ts +41 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/jet-validator.d.ts +88 -0
- package/dist/src/resolver.d.ts +348 -0
- package/dist/src/types/format.d.ts +7 -0
- package/dist/src/types/keywords.d.ts +78 -0
- package/dist/src/types/schema.d.ts +123 -0
- package/dist/src/types/standalone.d.ts +4 -0
- package/dist/src/types/validation.d.ts +49 -0
- package/dist/src/utilities/index.d.ts +11 -0
- package/dist/src/utilities/schema.d.ts +10 -0
- package/dist/types/format.d.ts +7 -0
- package/dist/types/format.js +3 -0
- package/dist/types/format.js.map +1 -0
- package/dist/types/keywords.d.ts +78 -0
- package/dist/types/keywords.js +4 -0
- package/dist/types/keywords.js.map +1 -0
- package/dist/types/schema.d.ts +123 -0
- package/dist/types/schema.js +3 -0
- package/dist/types/schema.js.map +1 -0
- package/dist/types/standalone.d.ts +4 -0
- package/dist/types/standalone.js +3 -0
- package/dist/types/standalone.js.map +1 -0
- package/dist/types/validation.d.ts +49 -0
- package/dist/types/validation.js +3 -0
- package/dist/types/validation.js.map +1 -0
- package/dist/utilities/index.d.ts +11 -0
- package/dist/utilities/index.js +146 -0
- package/dist/utilities/index.js.map +1 -0
- package/dist/utilities/schema.d.ts +10 -0
- package/dist/utilities/schema.js +232 -0
- package/dist/utilities/schema.js.map +1 -0
- package/dist/validator.umd.js +6196 -0
- package/package.json +79 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { ArraySchema, ObjectSchema, SchemaDefinition } from "./types/schema";
|
|
2
|
+
import { ValidatorOptions } from "./types/validation";
|
|
3
|
+
import { CompiledValidateFunction } from "./types/keywords";
|
|
4
|
+
import { JetValidator } from "./jet-validator";
|
|
5
|
+
export type Extra = {
|
|
6
|
+
before: string;
|
|
7
|
+
after: string;
|
|
8
|
+
refAfter?: string;
|
|
9
|
+
};
|
|
10
|
+
interface ErrorInfo {
|
|
11
|
+
keyword: string;
|
|
12
|
+
value: string;
|
|
13
|
+
message: string;
|
|
14
|
+
expected?: string;
|
|
15
|
+
dataPath?: string;
|
|
16
|
+
schemaPath?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* PathContext: Lightweight object containing only path strings.
|
|
20
|
+
* Created on every recursion but only contains 4 strings (cheap to allocate).
|
|
21
|
+
*
|
|
22
|
+
* TrackingState: Mutable state for unevaluated* tracking.
|
|
23
|
+
* Mutated in place when possible to avoid allocations.
|
|
24
|
+
* Only spread when crossing schema boundaries that introduce new tracking requirements.
|
|
25
|
+
*
|
|
26
|
+
* this.options: Immutable config stored in class instance.
|
|
27
|
+
* Never passed as parameter - accessed via this.options.
|
|
28
|
+
*
|
|
29
|
+
* Performance: This design reduces allocations by ~60% compared to
|
|
30
|
+
* spreading a single 13-property object on every recursion.
|
|
31
|
+
*/
|
|
32
|
+
interface PathContext {
|
|
33
|
+
schema: string;
|
|
34
|
+
data: string;
|
|
35
|
+
$data: string;
|
|
36
|
+
alt?: string;
|
|
37
|
+
alt2?: string;
|
|
38
|
+
}
|
|
39
|
+
interface TrackingState {
|
|
40
|
+
isSubschema?: boolean;
|
|
41
|
+
parentHasUnevaluatedProperties?: boolean;
|
|
42
|
+
hasOwnUnevaluatedProperties?: boolean;
|
|
43
|
+
shouldTrackEvaluatedProperties?: boolean;
|
|
44
|
+
parentHasUnevaluatedItems?: boolean;
|
|
45
|
+
hasOwnUnevaluatedItems?: boolean;
|
|
46
|
+
shouldTrackEvaluatedItems?: boolean;
|
|
47
|
+
parentUnevaluatedPropVar?: string;
|
|
48
|
+
unevaluatedPropVar?: string;
|
|
49
|
+
parentUnevaluatedItemVar?: string;
|
|
50
|
+
unevaluatedItemVar?: string;
|
|
51
|
+
unEvaluatedPropertiesSetVar?: string;
|
|
52
|
+
unEvaluatedItemsSetVar?: string;
|
|
53
|
+
}
|
|
54
|
+
export declare class Compiler {
|
|
55
|
+
private refables;
|
|
56
|
+
private ranRefables;
|
|
57
|
+
private refCall;
|
|
58
|
+
private schema;
|
|
59
|
+
private options;
|
|
60
|
+
private errorVariableDeclared;
|
|
61
|
+
private errorVariable;
|
|
62
|
+
private compiledKeywords;
|
|
63
|
+
regexCache: Map<string, string>;
|
|
64
|
+
private validateKeywords;
|
|
65
|
+
private allKeywords;
|
|
66
|
+
private jetValidator;
|
|
67
|
+
private notLogic;
|
|
68
|
+
private noreturn;
|
|
69
|
+
private neutralError;
|
|
70
|
+
private compileContext;
|
|
71
|
+
private standAlone;
|
|
72
|
+
private hasCompileKeyword;
|
|
73
|
+
needslen_of: boolean;
|
|
74
|
+
needsStringify: boolean;
|
|
75
|
+
needsDeepEqual: boolean;
|
|
76
|
+
mainFunctionName: string;
|
|
77
|
+
hoistedFunctions: string[];
|
|
78
|
+
constructor(refables: any[] | undefined, schema: SchemaDefinition | boolean, options: Partial<ValidatorOptions>, jetValidator: JetValidator, allKeywords: Set<string>, compileContext: {
|
|
79
|
+
hasUnevaluatedProperties: boolean;
|
|
80
|
+
hasUnevaluatedItems: boolean;
|
|
81
|
+
hasRootReference: boolean;
|
|
82
|
+
referencedFunctions: string[];
|
|
83
|
+
uses$Data: boolean;
|
|
84
|
+
}, standalone?: boolean);
|
|
85
|
+
getCompiledKeywords(): {
|
|
86
|
+
compiledKeywords: Map<string, CompiledValidateFunction>;
|
|
87
|
+
validateKeywords: Set<string>;
|
|
88
|
+
hasCompileKeyword: boolean;
|
|
89
|
+
};
|
|
90
|
+
private createSubschemaOptions;
|
|
91
|
+
private handleCustomKeywords;
|
|
92
|
+
private handleCodeKeyword;
|
|
93
|
+
private handleCompileKeyword;
|
|
94
|
+
private handleValidateKeyword;
|
|
95
|
+
compileSchema(rootSchema: SchemaDefinition | boolean, pathContext?: PathContext, trackingState?: TrackingState, accessPattern?: string, extra?: Extra, inlined?: boolean, first?: boolean): string;
|
|
96
|
+
initializeDefault(src: string[], schema: SchemaDefinition, varName: string, accessPattern: string, inlined: boolean): void;
|
|
97
|
+
private initializePropertyTracking;
|
|
98
|
+
private initializeItemTracking;
|
|
99
|
+
inilineRefFunction(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
100
|
+
initializeRefables(pathContext: PathContext): void;
|
|
101
|
+
initializeSchemaRefables(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
102
|
+
handleReference(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): string | void;
|
|
103
|
+
private buildRefCallArgs;
|
|
104
|
+
handleLogicalOperators(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
105
|
+
handleNotOperator(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, extra: Extra): void;
|
|
106
|
+
handleAnyOfOperator(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
107
|
+
handleOneOfOperator(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
108
|
+
handleAllOfOperator(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
109
|
+
handleConditionalLogic(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
110
|
+
handleElseIfConditions(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, previousIfValid: string, elseIfVariableArray: string[]): any;
|
|
111
|
+
handleElseIfThen(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, elseIfVariableArray: any, extra: Extra): void;
|
|
112
|
+
handleTypeValidation(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
113
|
+
private generateTypeCheck;
|
|
114
|
+
handlePrimitive(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, extra: Extra): void;
|
|
115
|
+
private handleConst;
|
|
116
|
+
private handleMinLength;
|
|
117
|
+
private handleMaxLength;
|
|
118
|
+
private handleMinimum;
|
|
119
|
+
private handleMaximum;
|
|
120
|
+
private handleExclusiveMinimum;
|
|
121
|
+
private handleExclusiveMaximum;
|
|
122
|
+
handleMultipleOf(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, extra: Extra): void;
|
|
123
|
+
handlePattern(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, extra: Extra): void;
|
|
124
|
+
handleEnum(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, extra: Extra): void;
|
|
125
|
+
handleFormat(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, extra: Extra): void;
|
|
126
|
+
handleObject(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, trackingState: TrackingState, condition: boolean, extra: Extra): void;
|
|
127
|
+
handleRequiredProperties(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
128
|
+
collectAllAllowedProperties(schema: SchemaDefinition | boolean): {
|
|
129
|
+
allowedProperties: Set<string>;
|
|
130
|
+
patternProperties: string[];
|
|
131
|
+
};
|
|
132
|
+
handlePatternProperties(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
133
|
+
handleAdditionalProperties(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
134
|
+
handlePropertyConstraints(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, extra: Extra): void;
|
|
135
|
+
handlePropertyNames(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, extra: Extra): void;
|
|
136
|
+
handleDependentSchemas(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
137
|
+
private handleRequiredFields;
|
|
138
|
+
private handleDependentSchema;
|
|
139
|
+
handleObjectProperties(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, trackingState: TrackingState, propertyKeys: string[], extra: Extra): void;
|
|
140
|
+
handleUnevaluatedProperties(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
141
|
+
handleArray(src: string[], schema: ArraySchema, varName: string, pathContext: PathContext, trackingState: TrackingState, condition: boolean, extra: Extra): void;
|
|
142
|
+
handleArrayConstraints(src: string[], schema: ArraySchema, varName: string, pathContext: PathContext, extra: Extra): void;
|
|
143
|
+
handleArrayItems(src: string[], schema: ArraySchema, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
144
|
+
handleArrayContains(src: string[], schema: ArraySchema, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
145
|
+
handleUnevaluatedItems(src: string[], schema: ArraySchema, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
|
|
146
|
+
buildErrorReturn(pathContext: PathContext, error: ErrorInfo, spreads?: string): string;
|
|
147
|
+
}
|
|
148
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
declare function format_date(str: string): boolean;
|
|
2
|
+
declare function format_time(str: string): boolean;
|
|
3
|
+
declare function format_date_time(str: string): boolean;
|
|
4
|
+
declare function format_iso_time(str: string): boolean;
|
|
5
|
+
declare function format_iso_date_time(str: string): boolean;
|
|
6
|
+
declare function format_regex(str: string): boolean;
|
|
7
|
+
declare function format_int32(value: number): boolean;
|
|
8
|
+
declare function format_int64(value: number): boolean;
|
|
9
|
+
export declare const FULL_FORMAT_VALIDATORS: {
|
|
10
|
+
readonly email: RegExp;
|
|
11
|
+
readonly ipv4: RegExp;
|
|
12
|
+
readonly ipv6: RegExp;
|
|
13
|
+
readonly uuid: RegExp;
|
|
14
|
+
readonly hostname: RegExp;
|
|
15
|
+
readonly url: RegExp;
|
|
16
|
+
readonly "uri-template": RegExp;
|
|
17
|
+
readonly duration: RegExp;
|
|
18
|
+
readonly "json-pointer": RegExp;
|
|
19
|
+
readonly "json-pointer-uri-fragment": RegExp;
|
|
20
|
+
readonly "relative-json-pointer": RegExp;
|
|
21
|
+
readonly uri: RegExp;
|
|
22
|
+
readonly "uri-reference": RegExp;
|
|
23
|
+
readonly byte: RegExp;
|
|
24
|
+
readonly date: typeof format_date;
|
|
25
|
+
readonly time: typeof format_time;
|
|
26
|
+
readonly "date-time": typeof format_date_time;
|
|
27
|
+
readonly "iso-time": typeof format_iso_time;
|
|
28
|
+
readonly "iso-date-time": typeof format_iso_date_time;
|
|
29
|
+
readonly regex: typeof format_regex;
|
|
30
|
+
readonly int32: typeof format_int32;
|
|
31
|
+
readonly int64: typeof format_int64;
|
|
32
|
+
readonly "idn-email": RegExp;
|
|
33
|
+
readonly "idn-hostname": RegExp;
|
|
34
|
+
readonly iri: RegExp;
|
|
35
|
+
readonly "iri-reference": RegExp;
|
|
36
|
+
};
|
|
37
|
+
export declare const FAST_FORMAT_VALIDATORS: Record<string, RegExp | ((value: any) => boolean)>;
|
|
38
|
+
export declare function getSupportedFormats(): string[];
|
|
39
|
+
export declare function getFormatValidator(formatName: string, mode?: "fast" | "full"): Function | RegExp | undefined;
|
|
40
|
+
export declare const PREDEFINED_FORMATS: readonly ["email", "ipv4", "ipv6", "uuid", "hostname", "url", "date", "time", "date-time", "iso-time", "iso-date-time", "uri", "uri-reference", "uri-template", "json-pointer", "json-pointer-uri-fragment", "relative-json-pointer", "idn-email", "idn-hostname", "iri", "iri-reference", "duration", "byte", "regex", "int32", "int64"];
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { JetValidator } from "./jet-validator";
|
|
2
|
+
export * from "./resolver";
|
|
3
|
+
export * from "./formats";
|
|
4
|
+
export * from "./compileSchema";
|
|
5
|
+
export * from "./types/format";
|
|
6
|
+
export * from "./types/keywords";
|
|
7
|
+
export * from "./types/schema";
|
|
8
|
+
export * from "./types/validation";
|
|
9
|
+
export * from "./utilities";
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { SchemaDefinition } from "./types/schema";
|
|
2
|
+
import { ErrorAttachedValidatorFn, ValidationResult, ValidatorOptions } from "./types/validation";
|
|
3
|
+
import { CodeKeywordDefinition, CompileKeywordDefinition, KeywordDefinition, MacroKeywordDefinition, ValidateKeywordDefinition } from "./types/keywords";
|
|
4
|
+
import { FormatDefinition } from "./types/format";
|
|
5
|
+
export declare class JetValidator {
|
|
6
|
+
private schemas;
|
|
7
|
+
private metaSchemas;
|
|
8
|
+
private customKeywords;
|
|
9
|
+
private formatValidators;
|
|
10
|
+
private hasMacros;
|
|
11
|
+
private compilationCache;
|
|
12
|
+
options: Required<ValidatorOptions>;
|
|
13
|
+
private counter;
|
|
14
|
+
private aliases;
|
|
15
|
+
constructor(options?: ValidatorOptions);
|
|
16
|
+
addFormat(key: string, validator: FormatDefinition, options?: {
|
|
17
|
+
override?: boolean;
|
|
18
|
+
}): void;
|
|
19
|
+
removeFormat(key: string): void;
|
|
20
|
+
getFormat(format: string): FormatDefinition | undefined;
|
|
21
|
+
testFormat(value: string, format: string): boolean | Promise<boolean>;
|
|
22
|
+
isFormatRegistered(key: string): boolean;
|
|
23
|
+
getRegisteredFormats(): string[];
|
|
24
|
+
validateFormat(value: string, format: string): any;
|
|
25
|
+
getAllFormats(): Record<string, FormatDefinition>;
|
|
26
|
+
addKeyword(definition: MacroKeywordDefinition | CompileKeywordDefinition | ValidateKeywordDefinition | CodeKeywordDefinition): this;
|
|
27
|
+
removeKeyword(keyword: string): this;
|
|
28
|
+
hasMacroKeywords(): boolean;
|
|
29
|
+
getKeyword(keyword: string): MacroKeywordDefinition | CompileKeywordDefinition | ValidateKeywordDefinition | CodeKeywordDefinition | undefined;
|
|
30
|
+
private validateKeywordDefinition;
|
|
31
|
+
isKeywordAdded(key: string): boolean;
|
|
32
|
+
getAddedKeywords(): string[];
|
|
33
|
+
clearKeywords(): void;
|
|
34
|
+
getAllKeywords(): Map<string, KeywordDefinition>;
|
|
35
|
+
addSchema(schema: SchemaDefinition, id?: string): void;
|
|
36
|
+
getSchema(key: string): SchemaDefinition | undefined;
|
|
37
|
+
getCompiledSchema(key: string, config?: ValidatorOptions): Function;
|
|
38
|
+
getCompiledSchemaAsync(key: string, config?: ValidatorOptions): Promise<Function>;
|
|
39
|
+
isSchemaAdded(key: string): boolean;
|
|
40
|
+
getAddedSchemas(): string[];
|
|
41
|
+
removeSchema(pattern?: string | RegExp | object): void;
|
|
42
|
+
clearSchemas(): void;
|
|
43
|
+
getAllSchemas(): Record<string, SchemaDefinition>;
|
|
44
|
+
validate(schema: object | boolean | string, data: any, config?: ValidatorOptions): ValidationResult;
|
|
45
|
+
validateAsync(schema: object | boolean | string, data: any, config?: ValidatorOptions): Promise<ValidationResult>;
|
|
46
|
+
getMetaSchema($schema?: string, options?: ValidatorOptions): {
|
|
47
|
+
metaSchema: object | undefined;
|
|
48
|
+
metaSchemaId: string;
|
|
49
|
+
};
|
|
50
|
+
validateSchemaSync(schema: SchemaDefinition, options?: ValidatorOptions): {
|
|
51
|
+
valid: boolean;
|
|
52
|
+
errors: any;
|
|
53
|
+
};
|
|
54
|
+
validateSchemaAsync(schema: SchemaDefinition, options?: ValidatorOptions): Promise<{
|
|
55
|
+
valid: boolean;
|
|
56
|
+
errors: any;
|
|
57
|
+
}>;
|
|
58
|
+
addMetaSchema(schema: SchemaDefinition, key?: string): this;
|
|
59
|
+
clearRegistries(): void;
|
|
60
|
+
private compileResolved;
|
|
61
|
+
compile(fschema: object | boolean, config?: ValidatorOptions): ErrorAttachedValidatorFn;
|
|
62
|
+
compileAsync(fschema: SchemaDefinition | boolean, config?: ValidatorOptions): Promise<ErrorAttachedValidatorFn>;
|
|
63
|
+
logErrors(errors: any, indent?: number): void;
|
|
64
|
+
getFieldFromPath(dataPath: string): string;
|
|
65
|
+
getFullFieldPath(dataPath: string): string;
|
|
66
|
+
getFieldErrors(errors: any[]): Record<string, string[]>;
|
|
67
|
+
errorsText(errors: any[], options?: {
|
|
68
|
+
separator?: string;
|
|
69
|
+
dataVar?: string;
|
|
70
|
+
}): string;
|
|
71
|
+
generateStandalone(schema: object, sconfig?: ValidatorOptions): {
|
|
72
|
+
code: string;
|
|
73
|
+
functionName: string;
|
|
74
|
+
formatSetup?: string;
|
|
75
|
+
imports: string[];
|
|
76
|
+
};
|
|
77
|
+
private inlineUsedFormats;
|
|
78
|
+
private resolveFormats;
|
|
79
|
+
private inlineAllConfiguredFormats;
|
|
80
|
+
private resolve$DataFormat;
|
|
81
|
+
private createFormatObject;
|
|
82
|
+
private getSafeFormatName;
|
|
83
|
+
private formatNeedsExternalDeps;
|
|
84
|
+
private inlineFormatWithDeps;
|
|
85
|
+
private serializeFormatFunction;
|
|
86
|
+
private isSelfContained;
|
|
87
|
+
private generateFormatSetup;
|
|
88
|
+
}
|