From fe886ad33d2f0ebd56571ff4ec300441bd50378e Mon Sep 17 00:00:00 2001 From: Jeongho Nam Date: Fri, 6 Sep 2024 20:02:33 +0900 Subject: [PATCH 1/8] `typia.llm.schema()` function. Added `typia.llm.schema()` function which generates type schema information of the LLM function callimg by TypeScript type. --- benchmark/package.json | 2 +- debug/package.json | 2 +- debug/src/llm-schema.ts | 26 ++ debug/src/pattern.ts | 6 - errors/package.json | 2 +- package.json | 4 +- packages/typescript-json/package.json | 4 +- .../metadata/emplace_metadata_object.ts | 4 +- src/llm.ts | 20 + src/module.ts | 1 + .../internal/application_escaped.ts | 10 +- src/programmers/internal/llm_schema_array.ts | 22 + .../internal/llm_schema_escaped.ts | 61 +++ src/programmers/internal/llm_schema_native.ts | 17 + src/programmers/internal/llm_schema_object.ts | 129 ++++++ .../internal/llm_schema_station.ts | 185 ++++++++ src/programmers/internal/llm_schema_tuple.ts | 31 ++ .../json/JsonApplicationProgrammer.ts | 2 +- src/programmers/llm/LlmSchemaProgrammer.ts | 49 ++ src/transformers/CallExpressionTransformer.ts | 7 +- .../features/llm/LlmSchemaTransformer.ts | 52 +++ test-esm/package.json | 2 +- ...enerator.ts => TestJsonSchemaGenerator.ts} | 2 +- test/build/internal/TestLlmSchemaGenerator.ts | 80 ++++ test/build/internal/TestStructure.ts | 1 + test/build/template.ts | 10 +- test/package.json | 2 +- test/schemas/llm/type/ArrayAny.json | 53 +++ test/schemas/llm/type/ArrayAtomicAlias.json | 27 ++ test/schemas/llm/type/ArrayAtomicSimple.json | 27 ++ test/schemas/llm/type/ArrayHierarchical.json | 126 +++++ .../llm/type/ArrayHierarchicalPointer.json | 135 ++++++ test/schemas/llm/type/ArrayMatrix.json | 12 + test/schemas/llm/type/ArraySimple.json | 43 ++ test/schemas/llm/type/ArrayUnion.json | 25 + test/schemas/llm/type/AtomicAlias.json | 18 + test/schemas/llm/type/AtomicClass.json | 18 + test/schemas/llm/type/AtomicIntersection.json | 18 + test/schemas/llm/type/AtomicSimple.json | 18 + test/schemas/llm/type/AtomicUnion.json | 19 + test/schemas/llm/type/ClassGetter.json | 21 + test/schemas/llm/type/ClassMethod.json | 16 + .../llm/type/ClassPropertyAssignment.json | 34 ++ test/schemas/llm/type/CommentTagArray.json | 63 +++ .../llm/type/CommentTagArrayUnion.json | 52 +++ .../llm/type/CommentTagAtomicUnion.json | 34 ++ test/schemas/llm/type/CommentTagDefault.json | 121 +++++ test/schemas/llm/type/CommentTagFormat.json | 118 +++++ test/schemas/llm/type/CommentTagLength.json | 48 ++ .../llm/type/CommentTagObjectUnion.json | 34 ++ test/schemas/llm/type/CommentTagPattern.json | 28 ++ test/schemas/llm/type/CommentTagRange.json | 76 +++ test/schemas/llm/type/CommentTagType.json | 52 +++ .../llm/type/ConstantAtomicAbsorbed.json | 18 + .../llm/type/ConstantAtomicSimple.json | 28 ++ .../llm/type/ConstantAtomicTagged.json | 38 ++ .../schemas/llm/type/ConstantAtomicUnion.json | 42 ++ .../llm/type/ConstantAtomicWrapper.json | 45 ++ .../llm/type/ConstantConstEnumeration.json | 22 + .../schemas/llm/type/ConstantEnumeration.json | 22 + .../llm/type/ConstantIntersection.json | 27 ++ test/schemas/llm/type/DynamicArray.json | 20 + test/schemas/llm/type/DynamicComposite.json | 29 ++ test/schemas/llm/type/DynamicConstant.json | 33 ++ test/schemas/llm/type/DynamicEnumeration.json | 45 ++ test/schemas/llm/type/DynamicNever.json | 5 + test/schemas/llm/type/DynamicSimple.json | 17 + test/schemas/llm/type/DynamicTemplate.json | 18 + test/schemas/llm/type/DynamicUndefined.json | 5 + test/schemas/llm/type/DynamicUnion.json | 15 + test/schemas/llm/type/ObjectAlias.json | 55 +++ test/schemas/llm/type/ObjectDate.json | 37 ++ test/schemas/llm/type/ObjectDescription.json | 44 ++ test/schemas/llm/type/ObjectDynamic.json | 18 + test/schemas/llm/type/ObjectGeneric.json | 156 +++++++ test/schemas/llm/type/ObjectGenericAlias.json | 12 + test/schemas/llm/type/ObjectGenericArray.json | 53 +++ test/schemas/llm/type/ObjectGenericUnion.json | 319 +++++++++++++ test/schemas/llm/type/ObjectHierarchical.json | 277 +++++++++++ test/schemas/llm/type/ObjectInternal.json | 16 + test/schemas/llm/type/ObjectIntersection.json | 20 + test/schemas/llm/type/ObjectJsonTag.json | 31 ++ .../llm/type/ObjectLiteralProperty.json | 16 + test/schemas/llm/type/ObjectLiteralType.json | 20 + test/schemas/llm/type/ObjectNullable.json | 107 +++++ test/schemas/llm/type/ObjectOptional.json | 18 + test/schemas/llm/type/ObjectPrimitive.json | 69 +++ .../llm/type/ObjectPropertyNullable.json | 98 ++++ test/schemas/llm/type/ObjectSimple.json | 92 ++++ test/schemas/llm/type/ObjectTuple.json | 49 ++ test/schemas/llm/type/ObjectUndefined.json | 46 ++ .../llm/type/ObjectUnionComposite.json | 371 +++++++++++++++ .../llm/type/ObjectUnionCompositePointer.json | 389 ++++++++++++++++ test/schemas/llm/type/ObjectUnionDouble.json | 146 ++++++ .../schemas/llm/type/ObjectUnionExplicit.json | 375 +++++++++++++++ .../llm/type/ObjectUnionExplicitPointer.json | 393 ++++++++++++++++ .../schemas/llm/type/ObjectUnionImplicit.json | 432 ++++++++++++++++++ .../llm/type/ObjectUnionNonPredictable.json | 97 ++++ test/schemas/llm/type/TemplateAtomic.json | 51 +++ test/schemas/llm/type/TemplateConstant.json | 53 +++ test/schemas/llm/type/TemplateUnion.json | 80 ++++ test/schemas/llm/type/ToJsonArray.json | 42 ++ test/schemas/llm/type/ToJsonAtomicSimple.json | 18 + test/schemas/llm/type/ToJsonAtomicUnion.json | 19 + test/schemas/llm/type/ToJsonDouble.json | 16 + test/schemas/llm/type/ToJsonNull.json | 3 + test/schemas/llm/type/ToJsonTuple.json | 34 ++ test/schemas/llm/type/ToJsonUnion.json | 76 +++ test/schemas/llm/type/TupleHierarchical.json | 120 +++++ test/schemas/llm/type/TupleRestArray.json | 20 + test/schemas/llm/type/TupleRestAtomic.json | 17 + test/schemas/llm/type/TupleRestObject.json | 26 ++ test/schemas/llm/type/TypeTagArray.json | 68 +++ test/schemas/llm/type/TypeTagArrayUnion.json | 57 +++ test/schemas/llm/type/TypeTagAtomicUnion.json | 34 ++ test/schemas/llm/type/TypeTagCustom.json | 28 ++ test/schemas/llm/type/TypeTagDefault.json | 107 +++++ test/schemas/llm/type/TypeTagFormat.json | 118 +++++ test/schemas/llm/type/TypeTagLength.json | 48 ++ test/schemas/llm/type/TypeTagMatrix.json | 23 + test/schemas/llm/type/TypeTagObjectUnion.json | 34 ++ test/schemas/llm/type/TypeTagPattern.json | 28 ++ test/schemas/llm/type/TypeTagRange.json | 76 +++ test/schemas/llm/type/TypeTagTuple.json | 48 ++ test/schemas/llm/type/TypeTagType.json | 48 ++ .../llm.schema/test_llm_schema_ArrayAny.ts | 8 + .../test_llm_schema_ArrayAtomicAlias.ts | 8 + .../test_llm_schema_ArrayAtomicSimple.ts | 8 + .../test_llm_schema_ArrayHierarchical.ts | 8 + ...est_llm_schema_ArrayHierarchicalPointer.ts | 8 + .../llm.schema/test_llm_schema_ArrayMatrix.ts | 8 + .../llm.schema/test_llm_schema_ArraySimple.ts | 8 + .../llm.schema/test_llm_schema_ArrayUnion.ts | 8 + .../llm.schema/test_llm_schema_AtomicAlias.ts | 8 + .../llm.schema/test_llm_schema_AtomicClass.ts | 8 + .../test_llm_schema_AtomicIntersection.ts | 8 + .../test_llm_schema_AtomicSimple.ts | 8 + .../llm.schema/test_llm_schema_AtomicUnion.ts | 8 + .../llm.schema/test_llm_schema_ClassGetter.ts | 8 + .../llm.schema/test_llm_schema_ClassMethod.ts | 8 + ...test_llm_schema_ClassPropertyAssignment.ts | 8 + .../test_llm_schema_CommentTagArray.ts | 8 + .../test_llm_schema_CommentTagArrayUnion.ts | 8 + .../test_llm_schema_CommentTagAtomicUnion.ts | 8 + .../test_llm_schema_CommentTagDefault.ts | 8 + .../test_llm_schema_CommentTagFormat.ts | 8 + .../test_llm_schema_CommentTagLength.ts | 8 + .../test_llm_schema_CommentTagObjectUnion.ts | 8 + .../test_llm_schema_CommentTagPattern.ts | 8 + .../test_llm_schema_CommentTagRange.ts | 8 + .../test_llm_schema_CommentTagType.ts | 8 + .../test_llm_schema_ConstantAtomicAbsorbed.ts | 8 + .../test_llm_schema_ConstantAtomicSimple.ts | 8 + .../test_llm_schema_ConstantAtomicTagged.ts | 8 + .../test_llm_schema_ConstantAtomicUnion.ts | 8 + .../test_llm_schema_ConstantAtomicWrapper.ts | 8 + ...est_llm_schema_ConstantConstEnumeration.ts | 8 + .../test_llm_schema_ConstantEnumeration.ts | 8 + .../test_llm_schema_ConstantIntersection.ts | 8 + .../test_llm_schema_DynamicArray.ts | 8 + .../test_llm_schema_DynamicComposite.ts | 8 + .../test_llm_schema_DynamicConstant.ts | 8 + .../test_llm_schema_DynamicEnumeration.ts | 8 + .../test_llm_schema_DynamicNever.ts | 8 + .../test_llm_schema_DynamicSimple.ts | 8 + .../test_llm_schema_DynamicTemplate.ts | 8 + .../test_llm_schema_DynamicUndefined.ts | 8 + .../test_llm_schema_DynamicUnion.ts | 8 + .../llm.schema/test_llm_schema_ObjectAlias.ts | 8 + .../llm.schema/test_llm_schema_ObjectDate.ts | 8 + .../test_llm_schema_ObjectDescription.ts | 8 + .../test_llm_schema_ObjectDynamic.ts | 8 + .../test_llm_schema_ObjectGeneric.ts | 8 + .../test_llm_schema_ObjectGenericAlias.ts | 8 + .../test_llm_schema_ObjectGenericArray.ts | 8 + .../test_llm_schema_ObjectGenericUnion.ts | 8 + .../test_llm_schema_ObjectHierarchical.ts | 8 + .../test_llm_schema_ObjectInternal.ts | 8 + .../test_llm_schema_ObjectIntersection.ts | 8 + .../test_llm_schema_ObjectJsonTag.ts | 8 + .../test_llm_schema_ObjectLiteralProperty.ts | 8 + .../test_llm_schema_ObjectLiteralType.ts | 8 + .../test_llm_schema_ObjectNullable.ts | 8 + .../test_llm_schema_ObjectOptional.ts | 8 + .../test_llm_schema_ObjectPrimitive.ts | 8 + .../test_llm_schema_ObjectPropertyNullable.ts | 8 + .../test_llm_schema_ObjectSimple.ts | 8 + .../llm.schema/test_llm_schema_ObjectTuple.ts | 8 + .../test_llm_schema_ObjectUndefined.ts | 8 + .../test_llm_schema_ObjectUnionComposite.ts | 8 + ..._llm_schema_ObjectUnionCompositePointer.ts | 8 + .../test_llm_schema_ObjectUnionDouble.ts | 8 + .../test_llm_schema_ObjectUnionExplicit.ts | 8 + ...t_llm_schema_ObjectUnionExplicitPointer.ts | 8 + .../test_llm_schema_ObjectUnionImplicit.ts | 8 + ...st_llm_schema_ObjectUnionNonPredictable.ts | 8 + .../test_llm_schema_TemplateAtomic.ts | 8 + .../test_llm_schema_TemplateConstant.ts | 8 + .../test_llm_schema_TemplateUnion.ts | 8 + .../llm.schema/test_llm_schema_ToJsonArray.ts | 8 + .../test_llm_schema_ToJsonAtomicSimple.ts | 8 + .../test_llm_schema_ToJsonAtomicUnion.ts | 8 + .../test_llm_schema_ToJsonDouble.ts | 8 + .../llm.schema/test_llm_schema_ToJsonNull.ts | 8 + .../llm.schema/test_llm_schema_ToJsonTuple.ts | 8 + .../llm.schema/test_llm_schema_ToJsonUnion.ts | 8 + .../test_llm_schema_TupleHierarchical.ts | 8 + .../test_llm_schema_TupleRestArray.ts | 8 + .../test_llm_schema_TupleRestAtomic.ts | 8 + .../test_llm_schema_TupleRestObject.ts | 8 + .../test_llm_schema_TypeTagArray.ts | 8 + .../test_llm_schema_TypeTagArrayUnion.ts | 8 + .../test_llm_schema_TypeTagAtomicUnion.ts | 8 + .../test_llm_schema_TypeTagCustom.ts | 8 + .../test_llm_schema_TypeTagDefault.ts | 8 + .../test_llm_schema_TypeTagFormat.ts | 8 + .../test_llm_schema_TypeTagLength.ts | 8 + .../test_llm_schema_TypeTagMatrix.ts | 8 + .../test_llm_schema_TypeTagObjectUnion.ts | 8 + .../test_llm_schema_TypeTagPattern.ts | 8 + .../test_llm_schema_TypeTagRange.ts | 8 + .../test_llm_schema_TypeTagTuple.ts | 8 + .../llm.schema/test_llm_schema_TypeTagType.ts | 8 + test/src/internal/_test_llm_schema.ts | 35 ++ test/src/structures/ArrayRecursive.ts | 2 + .../structures/ArrayRecursiveUnionExplicit.ts | 2 + .../ArrayRecursiveUnionExplicitPointer.ts | 2 + .../structures/ArrayRecursiveUnionImplicit.ts | 2 + test/src/structures/ArrayRepeatedNullable.ts | 2 + test/src/structures/ArrayRepeatedOptional.ts | 2 + test/src/structures/ArrayRepeatedRequired.ts | 2 + test/src/structures/ArrayRepeatedUnion.ts | 2 + .../structures/ArrayRepeatedUnionWithTuple.ts | 2 + test/src/structures/DynamicTree.ts | 5 +- test/src/structures/ObjectPartial.ts | 2 + .../structures/ObjectPartialAndRequired.ts | 2 + test/src/structures/ObjectRecursive.ts | 1 + test/src/structures/ObjectRequired.ts | 2 + test/src/structures/UltimateUnion.ts | 2 + 239 files changed, 8266 insertions(+), 31 deletions(-) create mode 100644 debug/src/llm-schema.ts delete mode 100644 debug/src/pattern.ts create mode 100644 src/llm.ts create mode 100644 src/programmers/internal/llm_schema_array.ts create mode 100644 src/programmers/internal/llm_schema_escaped.ts create mode 100644 src/programmers/internal/llm_schema_native.ts create mode 100644 src/programmers/internal/llm_schema_object.ts create mode 100644 src/programmers/internal/llm_schema_station.ts create mode 100644 src/programmers/internal/llm_schema_tuple.ts create mode 100644 src/programmers/llm/LlmSchemaProgrammer.ts create mode 100644 src/transformers/features/llm/LlmSchemaTransformer.ts rename test/build/internal/{TestJsonApplicationGenerator.ts => TestJsonSchemaGenerator.ts} (98%) create mode 100644 test/build/internal/TestLlmSchemaGenerator.ts create mode 100644 test/schemas/llm/type/ArrayAny.json create mode 100644 test/schemas/llm/type/ArrayAtomicAlias.json create mode 100644 test/schemas/llm/type/ArrayAtomicSimple.json create mode 100644 test/schemas/llm/type/ArrayHierarchical.json create mode 100644 test/schemas/llm/type/ArrayHierarchicalPointer.json create mode 100644 test/schemas/llm/type/ArrayMatrix.json create mode 100644 test/schemas/llm/type/ArraySimple.json create mode 100644 test/schemas/llm/type/ArrayUnion.json create mode 100644 test/schemas/llm/type/AtomicAlias.json create mode 100644 test/schemas/llm/type/AtomicClass.json create mode 100644 test/schemas/llm/type/AtomicIntersection.json create mode 100644 test/schemas/llm/type/AtomicSimple.json create mode 100644 test/schemas/llm/type/AtomicUnion.json create mode 100644 test/schemas/llm/type/ClassGetter.json create mode 100644 test/schemas/llm/type/ClassMethod.json create mode 100644 test/schemas/llm/type/ClassPropertyAssignment.json create mode 100644 test/schemas/llm/type/CommentTagArray.json create mode 100644 test/schemas/llm/type/CommentTagArrayUnion.json create mode 100644 test/schemas/llm/type/CommentTagAtomicUnion.json create mode 100644 test/schemas/llm/type/CommentTagDefault.json create mode 100644 test/schemas/llm/type/CommentTagFormat.json create mode 100644 test/schemas/llm/type/CommentTagLength.json create mode 100644 test/schemas/llm/type/CommentTagObjectUnion.json create mode 100644 test/schemas/llm/type/CommentTagPattern.json create mode 100644 test/schemas/llm/type/CommentTagRange.json create mode 100644 test/schemas/llm/type/CommentTagType.json create mode 100644 test/schemas/llm/type/ConstantAtomicAbsorbed.json create mode 100644 test/schemas/llm/type/ConstantAtomicSimple.json create mode 100644 test/schemas/llm/type/ConstantAtomicTagged.json create mode 100644 test/schemas/llm/type/ConstantAtomicUnion.json create mode 100644 test/schemas/llm/type/ConstantAtomicWrapper.json create mode 100644 test/schemas/llm/type/ConstantConstEnumeration.json create mode 100644 test/schemas/llm/type/ConstantEnumeration.json create mode 100644 test/schemas/llm/type/ConstantIntersection.json create mode 100644 test/schemas/llm/type/DynamicArray.json create mode 100644 test/schemas/llm/type/DynamicComposite.json create mode 100644 test/schemas/llm/type/DynamicConstant.json create mode 100644 test/schemas/llm/type/DynamicEnumeration.json create mode 100644 test/schemas/llm/type/DynamicNever.json create mode 100644 test/schemas/llm/type/DynamicSimple.json create mode 100644 test/schemas/llm/type/DynamicTemplate.json create mode 100644 test/schemas/llm/type/DynamicUndefined.json create mode 100644 test/schemas/llm/type/DynamicUnion.json create mode 100644 test/schemas/llm/type/ObjectAlias.json create mode 100644 test/schemas/llm/type/ObjectDate.json create mode 100644 test/schemas/llm/type/ObjectDescription.json create mode 100644 test/schemas/llm/type/ObjectDynamic.json create mode 100644 test/schemas/llm/type/ObjectGeneric.json create mode 100644 test/schemas/llm/type/ObjectGenericAlias.json create mode 100644 test/schemas/llm/type/ObjectGenericArray.json create mode 100644 test/schemas/llm/type/ObjectGenericUnion.json create mode 100644 test/schemas/llm/type/ObjectHierarchical.json create mode 100644 test/schemas/llm/type/ObjectInternal.json create mode 100644 test/schemas/llm/type/ObjectIntersection.json create mode 100644 test/schemas/llm/type/ObjectJsonTag.json create mode 100644 test/schemas/llm/type/ObjectLiteralProperty.json create mode 100644 test/schemas/llm/type/ObjectLiteralType.json create mode 100644 test/schemas/llm/type/ObjectNullable.json create mode 100644 test/schemas/llm/type/ObjectOptional.json create mode 100644 test/schemas/llm/type/ObjectPrimitive.json create mode 100644 test/schemas/llm/type/ObjectPropertyNullable.json create mode 100644 test/schemas/llm/type/ObjectSimple.json create mode 100644 test/schemas/llm/type/ObjectTuple.json create mode 100644 test/schemas/llm/type/ObjectUndefined.json create mode 100644 test/schemas/llm/type/ObjectUnionComposite.json create mode 100644 test/schemas/llm/type/ObjectUnionCompositePointer.json create mode 100644 test/schemas/llm/type/ObjectUnionDouble.json create mode 100644 test/schemas/llm/type/ObjectUnionExplicit.json create mode 100644 test/schemas/llm/type/ObjectUnionExplicitPointer.json create mode 100644 test/schemas/llm/type/ObjectUnionImplicit.json create mode 100644 test/schemas/llm/type/ObjectUnionNonPredictable.json create mode 100644 test/schemas/llm/type/TemplateAtomic.json create mode 100644 test/schemas/llm/type/TemplateConstant.json create mode 100644 test/schemas/llm/type/TemplateUnion.json create mode 100644 test/schemas/llm/type/ToJsonArray.json create mode 100644 test/schemas/llm/type/ToJsonAtomicSimple.json create mode 100644 test/schemas/llm/type/ToJsonAtomicUnion.json create mode 100644 test/schemas/llm/type/ToJsonDouble.json create mode 100644 test/schemas/llm/type/ToJsonNull.json create mode 100644 test/schemas/llm/type/ToJsonTuple.json create mode 100644 test/schemas/llm/type/ToJsonUnion.json create mode 100644 test/schemas/llm/type/TupleHierarchical.json create mode 100644 test/schemas/llm/type/TupleRestArray.json create mode 100644 test/schemas/llm/type/TupleRestAtomic.json create mode 100644 test/schemas/llm/type/TupleRestObject.json create mode 100644 test/schemas/llm/type/TypeTagArray.json create mode 100644 test/schemas/llm/type/TypeTagArrayUnion.json create mode 100644 test/schemas/llm/type/TypeTagAtomicUnion.json create mode 100644 test/schemas/llm/type/TypeTagCustom.json create mode 100644 test/schemas/llm/type/TypeTagDefault.json create mode 100644 test/schemas/llm/type/TypeTagFormat.json create mode 100644 test/schemas/llm/type/TypeTagLength.json create mode 100644 test/schemas/llm/type/TypeTagMatrix.json create mode 100644 test/schemas/llm/type/TypeTagObjectUnion.json create mode 100644 test/schemas/llm/type/TypeTagPattern.json create mode 100644 test/schemas/llm/type/TypeTagRange.json create mode 100644 test/schemas/llm/type/TypeTagTuple.json create mode 100644 test/schemas/llm/type/TypeTagType.json create mode 100644 test/src/features/llm.schema/test_llm_schema_ArrayAny.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ArrayAtomicAlias.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ArrayAtomicSimple.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ArrayHierarchical.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ArrayHierarchicalPointer.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ArrayMatrix.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ArraySimple.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ArrayUnion.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_AtomicAlias.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_AtomicClass.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_AtomicIntersection.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_AtomicSimple.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_AtomicUnion.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ClassGetter.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ClassMethod.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ClassPropertyAssignment.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_CommentTagArray.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_CommentTagArrayUnion.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_CommentTagAtomicUnion.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_CommentTagDefault.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_CommentTagFormat.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_CommentTagLength.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_CommentTagObjectUnion.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_CommentTagPattern.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_CommentTagRange.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_CommentTagType.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ConstantAtomicAbsorbed.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ConstantAtomicSimple.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ConstantAtomicTagged.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ConstantAtomicUnion.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ConstantAtomicWrapper.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ConstantConstEnumeration.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ConstantEnumeration.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ConstantIntersection.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_DynamicArray.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_DynamicComposite.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_DynamicConstant.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_DynamicEnumeration.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_DynamicNever.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_DynamicSimple.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_DynamicTemplate.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_DynamicUndefined.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_DynamicUnion.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectAlias.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectDate.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectDescription.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectDynamic.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectGeneric.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectGenericAlias.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectGenericArray.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectGenericUnion.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectHierarchical.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectInternal.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectIntersection.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectJsonTag.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectLiteralProperty.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectLiteralType.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectNullable.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectOptional.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectPrimitive.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectPropertyNullable.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectSimple.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectTuple.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectUndefined.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectUnionComposite.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectUnionCompositePointer.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectUnionDouble.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectUnionExplicit.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectUnionExplicitPointer.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectUnionImplicit.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ObjectUnionNonPredictable.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TemplateAtomic.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TemplateConstant.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TemplateUnion.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ToJsonArray.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ToJsonAtomicSimple.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ToJsonAtomicUnion.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ToJsonDouble.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ToJsonNull.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ToJsonTuple.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_ToJsonUnion.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TupleHierarchical.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TupleRestArray.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TupleRestAtomic.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TupleRestObject.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TypeTagArray.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TypeTagArrayUnion.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TypeTagAtomicUnion.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TypeTagCustom.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TypeTagDefault.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TypeTagFormat.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TypeTagLength.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TypeTagMatrix.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TypeTagObjectUnion.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TypeTagPattern.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TypeTagRange.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TypeTagTuple.ts create mode 100644 test/src/features/llm.schema/test_llm_schema_TypeTagType.ts create mode 100644 test/src/internal/_test_llm_schema.ts diff --git a/benchmark/package.json b/benchmark/package.json index fb88f05244..7b9a3235f7 100644 --- a/benchmark/package.json +++ b/benchmark/package.json @@ -72,6 +72,6 @@ "suppress-warnings": "^1.0.2", "tstl": "^3.0.0", "uuid": "^9.0.1", - "typia": "../typia-6.10.0-dev.20240823.tgz" + "typia": "../typia-6.10.0-dev.20240906.tgz" } } \ No newline at end of file diff --git a/debug/package.json b/debug/package.json index 000fba0654..2233e6d8ee 100644 --- a/debug/package.json +++ b/debug/package.json @@ -17,7 +17,7 @@ }, "dependencies": { "tstl": "^3.0.0", - "typia": "../typia-6.8.0.tgz", + "typia": "../typia-6.10.0-dev.20240823.tgz", "uuid": "^10.0.0" } } \ No newline at end of file diff --git a/debug/src/llm-schema.ts b/debug/src/llm-schema.ts new file mode 100644 index 0000000000..5b755fc56e --- /dev/null +++ b/debug/src/llm-schema.ts @@ -0,0 +1,26 @@ +import { ILlmSchema } from "@samchon/openapi"; +import typia from "typia"; + +class Parent { + public toJSON(): Child { + return new Child(); + } +} +class Child { + public readonly id: number = 1; + public readonly flag: boolean = true; + + public toJSON(): IBrand { + return { + code: "code", + name: "name", + }; + } +} +interface IBrand { + code: string; + name: string; +} + +const schema: ILlmSchema = typia.llm.schema(); +console.log(schema); diff --git a/debug/src/pattern.ts b/debug/src/pattern.ts deleted file mode 100644 index bf41f3ef86..0000000000 --- a/debug/src/pattern.ts +++ /dev/null @@ -1,6 +0,0 @@ -import typia, { tags } from "typia"; - -typia.createIs< - string & - tags.Pattern<"^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$"> ->(); diff --git a/errors/package.json b/errors/package.json index 0b7760fbba..264bf2948d 100644 --- a/errors/package.json +++ b/errors/package.json @@ -32,6 +32,6 @@ "typescript": "^5.3.2" }, "dependencies": { - "typia": "../typia-6.10.0-dev.20240823.tgz" + "typia": "../typia-6.10.0-dev.20240906.tgz" } } \ No newline at end of file diff --git a/package.json b/package.json index 0adc5a2ec7..3dcd5040cb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "typia", - "version": "6.10.0-dev.20240823", + "version": "6.10.0-dev.20240906", "description": "Superfast runtime validators with only one line", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -67,7 +67,7 @@ }, "homepage": "https://typia.io", "dependencies": { - "@samchon/openapi": "^0.4.9", + "@samchon/openapi": "^0.5.0-dev.20240906-2", "commander": "^10.0.0", "comment-json": "^4.2.3", "inquirer": "^8.2.5", diff --git a/packages/typescript-json/package.json b/packages/typescript-json/package.json index 7c1a74f16c..ec296c5ed3 100644 --- a/packages/typescript-json/package.json +++ b/packages/typescript-json/package.json @@ -1,6 +1,6 @@ { "name": "typescript-json", - "version": "6.10.0-dev.20240823", + "version": "6.10.0-dev.20240906", "description": "Superfast runtime validators with only one line", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -63,7 +63,7 @@ }, "homepage": "https://typia.io", "dependencies": { - "typia": "6.10.0-dev.20240823" + "typia": "6.10.0-dev.20240906" }, "peerDependencies": { "typescript": ">=4.8.0 <5.6.0" diff --git a/src/factories/internal/metadata/emplace_metadata_object.ts b/src/factories/internal/metadata/emplace_metadata_object.ts index 887a32ce43..b322f70c43 100644 --- a/src/factories/internal/metadata/emplace_metadata_object.ts +++ b/src/factories/internal/metadata/emplace_metadata_object.ts @@ -51,14 +51,14 @@ export const emplace_metadata_object = ): MetadataProperty => { // COMMENTS AND TAGS const description: string | null = symbol - ? CommentFactory.description(symbol) ?? null + ? (CommentFactory.description(symbol) ?? null) : null; const jsDocTags: ts.JSDocTagInfo[] = ( symbol?.getJsDocTags() ?? [] ).filter(filter ?? (() => true)); // THE PROPERTY - const property = MetadataProperty.create({ + const property: MetadataProperty = MetadataProperty.create({ key, value, description, diff --git a/src/llm.ts b/src/llm.ts new file mode 100644 index 0000000000..8c1ebb0f9d --- /dev/null +++ b/src/llm.ts @@ -0,0 +1,20 @@ +import { ILlmSchema } from "@samchon/openapi"; + +export function schema(): never; +export function schema(): ILlmSchema; + +/** + * @internal + */ +export function schema(): never { + halt("schema"); +} + +/** + * @internal + */ +function halt(name: string): never { + throw new Error( + `Error on typia.llm.${name}(): no transform has been configured. Read and follow https://typia.io/docs/setup please.`, + ); +} diff --git a/src/module.ts b/src/module.ts index 6dc3d6427c..478196f1e6 100644 --- a/src/module.ts +++ b/src/module.ts @@ -8,6 +8,7 @@ import { TypeGuardError } from "./TypeGuardError"; export * as functional from "./functional"; export * as http from "./http"; +export * as llm from "./llm"; export * as json from "./json"; export * as misc from "./misc"; export * as notations from "./notations"; diff --git a/src/programmers/internal/application_escaped.ts b/src/programmers/internal/application_escaped.ts index 0e2a070156..8005840cfb 100644 --- a/src/programmers/internal/application_escaped.ts +++ b/src/programmers/internal/application_escaped.ts @@ -10,11 +10,11 @@ export const application_escaped = ( generator: (meta: Metadata) => Schema, ) => - (resolved: MetadataEscaped): Schema[] => { - const output: Schema | null = generator(resolved.returns); + (escaped: MetadataEscaped): Schema[] => { + const output: Schema | null = generator(escaped.returns); if (output === null) return []; - if (is_date(new Set())(resolved.original)) { + if (is_date(new Set())(escaped.original)) { const string: StringSchema | undefined = is_string(output) ? output : is_one_of(output) @@ -27,9 +27,7 @@ export const application_escaped = ) string.format = "date-time"; } - return is_one_of(output) - ? (output.oneOf as OneOfSchema[]) - : [output]; + return is_one_of(output) ? (output.oneOf as Schema[]) : [output]; }; /** diff --git a/src/programmers/internal/llm_schema_array.ts b/src/programmers/internal/llm_schema_array.ts new file mode 100644 index 0000000000..3aaa571fad --- /dev/null +++ b/src/programmers/internal/llm_schema_array.ts @@ -0,0 +1,22 @@ +import { ILlmSchema } from "@samchon/openapi"; + +import { MetadataArray } from "../../schemas/metadata/MetadataArray"; + +import { application_plugin } from "./application_plugin"; +import { llm_schema_station } from "./llm_schema_station"; + +/** + * @internal + */ +export const llm_schema_array = (array: MetadataArray): ILlmSchema.IArray[] => + application_plugin( + { + type: "array", + items: llm_schema_station({ + metadata: array.type.value, + blockNever: false, + attribute: {}, + }), + }, + array.tags, + ); diff --git a/src/programmers/internal/llm_schema_escaped.ts b/src/programmers/internal/llm_schema_escaped.ts new file mode 100644 index 0000000000..3869471291 --- /dev/null +++ b/src/programmers/internal/llm_schema_escaped.ts @@ -0,0 +1,61 @@ +import { ILlmSchema } from "@samchon/openapi"; + +import { Metadata } from "../../schemas/metadata/Metadata"; +import { MetadataEscaped } from "../../schemas/metadata/MetadataEscaped"; + +import { llm_schema_station } from "./llm_schema_station"; + +/** + * @internal + */ +export const llm_schema_escaped = (escaped: MetadataEscaped): ILlmSchema[] => { + const output: ILlmSchema | null = llm_schema_station({ + metadata: escaped.returns, + blockNever: false, + attribute: {}, + }); + if (output === null) return []; + else if (is_date(new Set())(escaped.original)) { + const string: ILlmSchema.IString | undefined = is_string(output) + ? output + : is_one_of(output) + ? (output.oneOf.find(is_string) as ILlmSchema.IString) + : undefined; + if ( + string !== undefined && + string.format !== "date" && + string.format !== "date-time" + ) + string.format = "date-time"; + } + return is_one_of(output) ? (output.oneOf as ILlmSchema[]) : [output]; +}; + +/** + * @internal + */ +const is_string = (elem: ILlmSchema): elem is ILlmSchema.IString => + (elem as ILlmSchema.IString).type === "string"; + +/** + * @internal + */ +const is_one_of = (elem: ILlmSchema): elem is ILlmSchema.IOneOf => + Array.isArray((elem as ILlmSchema.IOneOf).oneOf); + +/** + * @internal + */ +const is_date = + (visited: Set) => + (meta: Metadata): boolean => { + if (visited.has(meta)) return false; + visited.add(meta); + + return ( + meta.natives.some((name) => name === "Date") || + meta.arrays.some((array) => is_date(visited)(array.type.value)) || + meta.tuples.some((tuple) => tuple.type.elements.some(is_date(visited))) || + meta.aliases.some((alias) => is_date(visited)(alias.value)) + ); + }; diff --git a/src/programmers/internal/llm_schema_native.ts b/src/programmers/internal/llm_schema_native.ts new file mode 100644 index 0000000000..0278602681 --- /dev/null +++ b/src/programmers/internal/llm_schema_native.ts @@ -0,0 +1,17 @@ +import { ILlmSchema } from "@samchon/openapi"; + +/** + * @internal + */ +export const llm_schema_native = ( + name: string, +): ILlmSchema.IString | ILlmSchema.IObject => + name === "Blob" || name === "File" + ? { + type: "string", + format: "binary", + } + : { + type: "object", + properties: {}, + }; diff --git a/src/programmers/internal/llm_schema_object.ts b/src/programmers/internal/llm_schema_object.ts new file mode 100644 index 0000000000..55d17f2898 --- /dev/null +++ b/src/programmers/internal/llm_schema_object.ts @@ -0,0 +1,129 @@ +import { ILlmSchema } from "@samchon/openapi"; + +import { CommentFactory } from "../../factories/CommentFactory"; + +import { IJsDocTagInfo } from "../../schemas/metadata/IJsDocTagInfo"; +import { Metadata } from "../../schemas/metadata/Metadata"; +import { MetadataObject } from "../../schemas/metadata/MetadataObject"; + +import { PatternUtil } from "../../utils/PatternUtil"; + +import { application_description } from "./application_description"; +import { llm_schema_station } from "./llm_schema_station"; +import { metadata_to_pattern } from "./metadata_to_pattern"; + +/** + * @internal + */ +export const llm_schema_object = (props: { + object: MetadataObject; + nullable: boolean; +}): ILlmSchema.IObject => { + // ITERATE PROPERTIES + const properties: Record = {}; + const extraMeta: ISuperfluous = { + patternProperties: {}, + additionalProperties: undefined, + }; + const required: string[] = []; + + for (const property of props.object.properties) { + if ( + // FUNCTIONAL TYPE + property.value.functional === true && + property.value.nullable === false && + property.value.isRequired() === true && + property.value.size() === 0 + ) + continue; + else if (property.jsDocTags.find((tag) => tag.name === "hidden")) continue; // THE HIDDEN TAG + + const key: string | null = property.key.getSoleLiteral(); + const schema: ILlmSchema | null = llm_schema_station({ + blockNever: true, + attribute: { + deprecated: + property.jsDocTags.some((tag) => tag.name === "deprecated") || + undefined, + title: (() => { + const info: IJsDocTagInfo | undefined = property.jsDocTags.find( + (tag) => tag.name === "title", + ); + if (info?.text?.length) return CommentFactory.merge(info.text); + else if (!property.description?.length) return undefined; + + const index: number = property.description.indexOf("\n"); + const top: string = ( + index === -1 + ? property.description + : property.description.substring(0, index) + ).trim(); + return top.endsWith(".") + ? top.substring(0, top.length - 1) + : undefined; + })(), + description: application_description(property), + }, + metadata: property.value, + }); + + if (schema === null) continue; + if (key !== null) { + properties[key] = schema; + if (property.value.isRequired() === true) required.push(key); + } else { + const pattern: string = metadata_to_pattern(true)(property.key); + if (pattern === PatternUtil.STRING) + extraMeta.additionalProperties = [property.value, schema]; + else extraMeta.patternProperties[pattern] = [property.value, schema]; + } + } + + return { + type: "object", + properties, + nullable: props.nullable, + required: required.length ? required : undefined, + title: (() => { + const info: IJsDocTagInfo | undefined = props.object.jsDocTags.find( + (tag) => tag.name === "title", + ); + return info?.text?.length ? CommentFactory.merge(info.text) : undefined; + })(), + description: application_description(props.object), + additionalProperties: join(extraMeta), + }; +}; + +/** + * @internal + */ +const join = (extra: ISuperfluous): ILlmSchema | undefined => { + // LIST UP METADATA + const elements: [Metadata, ILlmSchema][] = Object.values( + extra.patternProperties || {}, + ); + if (extra.additionalProperties) elements.push(extra.additionalProperties); + + // SHORT RETURN + if (elements.length === 0) return undefined; + else if (elements.length === 1) return elements[0]![1]!; + + // MERGE METADATA AND GENERATE VULNERABLE SCHEMA + const meta: Metadata = elements + .map((tuple) => tuple[0]) + .reduce((x, y) => Metadata.merge(x, y)); + return llm_schema_station({ + blockNever: true, + attribute: {}, + metadata: meta, + }); +}; + +/** + * @internal + */ +interface ISuperfluous { + additionalProperties?: undefined | [Metadata, ILlmSchema]; + patternProperties: Record; +} diff --git a/src/programmers/internal/llm_schema_station.ts b/src/programmers/internal/llm_schema_station.ts new file mode 100644 index 0000000000..529f244975 --- /dev/null +++ b/src/programmers/internal/llm_schema_station.ts @@ -0,0 +1,185 @@ +import { ILlmSchema } from "@samchon/openapi"; + +import { Metadata } from "../../schemas/metadata/Metadata"; +import { MetadataAtomic } from "../../schemas/metadata/MetadataAtomic"; + +import { AtomicPredicator } from "../helpers/AtomicPredicator"; +import { application_bigint } from "./application_bigint"; +import { application_boolean } from "./application_boolean"; +import { application_number } from "./application_number"; +import { application_string } from "./application_string"; +import { application_templates } from "./application_templates"; +import { application_v30_constant } from "./application_v30_constant"; +import { llm_schema_array } from "./llm_schema_array"; +import { llm_schema_escaped } from "./llm_schema_escaped"; +import { llm_schema_native } from "./llm_schema_native"; +import { llm_schema_object } from "./llm_schema_object"; +import { llm_schema_tuple } from "./llm_schema_tuple"; + +/** + * @internal + */ +export const llm_schema_station = (props: { + metadata: Metadata; + blockNever: boolean; + attribute: ILlmSchema.__IAttribute; +}): ILlmSchema => { + // VULNERABLE CASE + if (props.metadata.any === true) + return { + ...props.attribute, + type: undefined, + }; + else if (props.metadata.nullable === true && props.metadata.empty() === true) + return { + ...props.attribute, + type: "null", + }; + + //---- + // GATHER UNION SCHEMAS + //---- + const union: ILlmSchema[] = []; + const insert = props.metadata.nullable + ? (schema: ILlmSchema) => + union.push({ + ...schema, + nullable: (schema as ILlmSchema.__ISignificant).type + ? true + : undefined, + } as ILlmSchema) + : (schema: ILlmSchema) => union.push(schema); + + // toJSON() METHOD + if (props.metadata.escaped !== null) + llm_schema_escaped(props.metadata.escaped).forEach(insert); + + // ATOMIC TYPES + if ( + props.metadata.templates.length && + AtomicPredicator.template(props.metadata) + ) + application_templates<"3.0">(props.metadata).map(insert); + for (const constant of props.metadata.constants) + if (AtomicPredicator.constant(props.metadata)(constant.type) === false) + continue; + else insert(application_v30_constant(constant)); + for (const a of props.metadata.atomics) + if (a.type === "boolean") application_boolean<"3.0">(a).forEach(insert); + else if (a.type === "bigint") application_bigint<"3.0">(a).forEach(insert); + else if (a.type === "number") application_number<"3.0">(a).forEach(insert); + else if (a.type === "string") application_string<"3.0">(a).forEach(insert); + + // ARRAY + for (const array of props.metadata.arrays) + if (array.type.recursive) + throw new Error( + "Error on LlmSchemaProgrammer.write(): LLM schema does not allow recursive array type.", + ); + else llm_schema_array(array).forEach(insert); + + // TUPLE + for (const tuple of props.metadata.tuples) + if (tuple.type.recursive) + throw new Error( + "Error on LlmSchemaProgrammer.write(): LLM schema does not allow recursive tuple type.", + ); + else + insert( + llm_schema_tuple({ + tuple, + attribute: props.attribute, + }), + ); + + // NATIVES + for (const native of props.metadata.natives) + if (AtomicPredicator.native(native)) { + const type: string = native.toLowerCase(); + if (props.metadata.atomics.some((a) => a.type === type)) continue; + else if (type === "boolean") + insert( + application_boolean<"3.0">( + MetadataAtomic.create({ + type: "boolean", + tags: [], + }), + )[0]!, + ); + else if (type === "bigint") + insert( + application_bigint( + MetadataAtomic.create({ + type: "bigint", + tags: [], + }), + )[0]!, + ); + else if (type === "number") + insert( + application_number( + MetadataAtomic.create({ + type: "number", + tags: [], + }), + )[0]!, + ); + else if (type === "string") + insert( + application_string( + MetadataAtomic.create({ + type: "string", + tags: [], + }), + )[0]!, + ); + } else insert(llm_schema_native(native)); + if (props.metadata.sets.length) insert(llm_schema_native("Set")); + if (props.metadata.maps.length) insert(llm_schema_native("Map")); + + // OBJECT + for (const object of props.metadata.objects) + if (object.recursive) + throw new Error( + "Error on LlmSchemaProgrammer.write(): LLM schema does not allow recursive object type.", + ); + else + insert( + llm_schema_object({ + object, + nullable: props.metadata.nullable, + }), + ); + + // ALIASES + for (const alias of props.metadata.aliases) + if (alias.recursive) + throw new Error( + "Error on LlmSchemaProgrammer.write(): LLM schema does not allow recursive alias type.", + ); + else + insert( + llm_schema_station({ + ...props, + metadata: alias.value, + }), + ); + + //---- + // RETURNS + //---- + if (union.length === 0 && props.blockNever === true) return null!; + const schema: ILlmSchema = + union.length === 0 + ? { type: undefined } + : union.length === 1 + ? union[0]! + : { oneOf: union }; + return { + ...schema, + ...props.attribute, + title: props.attribute.title ?? schema.title, + description: props.attribute.description ?? schema.description, + deprecated: props.attribute.deprecated ?? schema.deprecated, + }; +}; diff --git a/src/programmers/internal/llm_schema_tuple.ts b/src/programmers/internal/llm_schema_tuple.ts new file mode 100644 index 0000000000..219920f0be --- /dev/null +++ b/src/programmers/internal/llm_schema_tuple.ts @@ -0,0 +1,31 @@ +import { ILlmSchema } from "@samchon/openapi"; + +import { Metadata } from "../../schemas/metadata/Metadata"; +import { MetadataTuple } from "../../schemas/metadata/MetadataTuple"; + +import { llm_schema_station } from "./llm_schema_station"; + +/** + * @internal + */ +export const llm_schema_tuple = (props: { + tuple: MetadataTuple; + attribute: ILlmSchema.__IAttribute; +}): ILlmSchema.IArray => ({ + ...props.attribute, + type: "array", + items: llm_schema_station({ + blockNever: false, + attribute: props.attribute, + metadata: props.tuple.type.elements.reduce( + (x, y) => Metadata.merge(x.rest ?? x, y.rest ?? y), + Metadata.initialize(), + ), + }), + minItems: !!props.tuple.type.elements.at(-1)?.rest + ? props.tuple.type.elements.length - 1 + : props.tuple.type.elements.filter((x) => !x.optional).length, + maxItems: !!props.tuple.type.elements.at(-1)?.rest + ? undefined! + : props.tuple.type.elements.length, +}); diff --git a/src/programmers/json/JsonApplicationProgrammer.ts b/src/programmers/json/JsonApplicationProgrammer.ts index 1f42c233ab..86af142dc5 100644 --- a/src/programmers/json/JsonApplicationProgrammer.ts +++ b/src/programmers/json/JsonApplicationProgrammer.ts @@ -10,7 +10,7 @@ import { application_v30_schema } from "../internal/application_v30_schema"; import { application_v31_schema } from "../internal/application_v31_schema"; export namespace JsonApplicationProgrammer { - export const validate = (meta: Metadata) => { + export const validate = (meta: Metadata): string[] => { const output: string[] = []; if ( meta.atomics.some((a) => a.type === "bigint") || diff --git a/src/programmers/llm/LlmSchemaProgrammer.ts b/src/programmers/llm/LlmSchemaProgrammer.ts new file mode 100644 index 0000000000..953dc876a7 --- /dev/null +++ b/src/programmers/llm/LlmSchemaProgrammer.ts @@ -0,0 +1,49 @@ +import { ILlmSchema } from "@samchon/openapi"; + +import { Metadata } from "../../schemas/metadata/Metadata"; + +import { AtomicPredicator } from "../helpers/AtomicPredicator"; +import { llm_schema_station } from "../internal/llm_schema_station"; + +export namespace LlmSchemaProgrammer { + export const validate = (meta: Metadata): string[] => { + const output: string[] = []; + if ( + meta.atomics.some((a) => a.type === "bigint") || + meta.constants.some((c) => c.type === "bigint") + ) + output.push("LLM schema does not support bigint type."); + if ( + meta.tuples.some((t) => + t.type.elements.some((e) => e.isRequired() === false), + ) || + meta.arrays.some((a) => a.type.value.isRequired() === false) + ) + output.push("LLM schema does not support undefined type in array."); + if (meta.maps.length) output.push("LLM schema does not support Map type."); + if (meta.sets.length) output.push("LLM schema does not support Set type."); + for (const native of meta.natives) + if ( + AtomicPredicator.native(native) === false && + native !== "Date" && + native !== "Blob" && + native !== "File" + ) + output.push(`LLM schema does not support ${native} type.`); + if ( + meta.aliases.some((a) => a.recursive) || + meta.arrays.some((a) => a.type.recursive) || + meta.objects.some((o) => o.recursive) || + meta.tuples.some((t) => t.type.recursive) + ) + output.push("LLM schema does not support recursive type."); + return output; + }; + + export const write = (metadata: Metadata): ILlmSchema => + llm_schema_station({ + metadata, + blockNever: true, + attribute: {}, + }); +} diff --git a/src/transformers/CallExpressionTransformer.ts b/src/transformers/CallExpressionTransformer.ts index 99a4604f1a..ada190e095 100644 --- a/src/transformers/CallExpressionTransformer.ts +++ b/src/transformers/CallExpressionTransformer.ts @@ -64,6 +64,7 @@ import { JsonIsStringifyTransformer } from "./features/json/JsonIsStringifyTrans import { JsonStringifyTransformer } from "./features/json/JsonStringifyTransformer"; import { JsonValidateParseTransformer } from "./features/json/JsonValidateParseTransformer"; import { JsonValidateStringifyTransformer } from "./features/json/JsonValidateStringifyTransformer"; +import { LlmSchemaTransformer } from "./features/llm/LlmSchemaTransformer"; import { MiscAssertCloneTransformer } from "./features/misc/MiscAssertCloneTransformer"; import { MiscAssertPruneTransformer } from "./features/misc/MiscAssertPruneTransformer"; import { MiscCloneTransformer } from "./features/misc/MiscCloneTransformer"; @@ -353,9 +354,13 @@ const FUNCTORS: Record Task>> = { createAssertQuery: () => CreateHttpAssertQueryTransformer.transform, createValidateQuery: () => CreateHttpValidateQueryTransformer.transform, }, + llm: { + schema: () => (project) => () => LlmSchemaTransformer.transform(project), + }, json: { // SCHEMA - application: () => (P) => () => JsonApplicationTransformer.transform(P), + application: () => (project) => () => + JsonApplicationTransformer.transform(project), // PARSER isParse: () => JsonIsParseTransformer.transform, diff --git a/src/transformers/features/llm/LlmSchemaTransformer.ts b/src/transformers/features/llm/LlmSchemaTransformer.ts new file mode 100644 index 0000000000..0861625646 --- /dev/null +++ b/src/transformers/features/llm/LlmSchemaTransformer.ts @@ -0,0 +1,52 @@ +import { ILlmSchema } from "@samchon/openapi"; +import ts from "typescript"; + +import { LiteralFactory } from "../../../factories/LiteralFactory"; +import { MetadataCollection } from "../../../factories/MetadataCollection"; +import { MetadataFactory } from "../../../factories/MetadataFactory"; + +import { Metadata } from "../../../schemas/metadata/Metadata"; + +import { LlmSchemaProgrammer } from "../../../programmers/llm/LlmSchemaProgrammer"; + +import { ValidationPipe } from "../../../typings/ValidationPipe"; + +import { IProject } from "../../IProject"; +import { TransformerError } from "../../TransformerError"; + +export namespace LlmSchemaTransformer { + export const transform = + (project: IProject) => + (expression: ts.CallExpression): ts.Expression => { + if (!expression.typeArguments?.length) + throw new TransformerError({ + code: "typia.llm.schema", + message: "no generic argument.", + }); + + // GET TYPE + const top: ts.Node = expression.typeArguments[0]!; + if (ts.isTypeNode(top) === false) return expression; + + const type: ts.Type = project.checker.getTypeFromTypeNode(top); + const collection: MetadataCollection = new MetadataCollection({ + replace: MetadataCollection.replace, + }); + const result: ValidationPipe = + MetadataFactory.analyze( + project.checker, + project.context, + )({ + escape: true, + constant: true, + absorb: false, + validate: LlmSchemaProgrammer.validate, + })(collection)(type); + if (result.success === false) + throw TransformerError.from("typia.llm.schema")(result.errors); + + // GENERATE LLM SCHEMA + const schema: ILlmSchema = LlmSchemaProgrammer.write(result.data); + return LiteralFactory.generate(schema); + }; +} diff --git a/test-esm/package.json b/test-esm/package.json index ca4d004fff..f7d1ac4840 100644 --- a/test-esm/package.json +++ b/test-esm/package.json @@ -36,6 +36,6 @@ "typescript": "^5.4.5" }, "dependencies": { - "typia": "../typia-6.10.0-dev.20240823.tgz" + "typia": "../typia-6.10.0-dev.20240906.tgz" } } \ No newline at end of file diff --git a/test/build/internal/TestJsonApplicationGenerator.ts b/test/build/internal/TestJsonSchemaGenerator.ts similarity index 98% rename from test/build/internal/TestJsonApplicationGenerator.ts rename to test/build/internal/TestJsonSchemaGenerator.ts index 06c453cc45..0c0e6a3b0b 100644 --- a/test/build/internal/TestJsonApplicationGenerator.ts +++ b/test/build/internal/TestJsonSchemaGenerator.ts @@ -3,7 +3,7 @@ import fs from "fs"; import { TestStructure } from "./TestStructure"; -export namespace TestJsonApplicationGenerator { +export namespace TestJsonSchemaGenerator { export async function generate( structures: TestStructure[], ): Promise { diff --git a/test/build/internal/TestLlmSchemaGenerator.ts b/test/build/internal/TestLlmSchemaGenerator.ts new file mode 100644 index 0000000000..0746d6a3a7 --- /dev/null +++ b/test/build/internal/TestLlmSchemaGenerator.ts @@ -0,0 +1,80 @@ +import cp from "child_process"; +import fs from "fs"; + +import { TestStructure } from "./TestStructure"; + +export namespace TestLlmSchemaGenerator { + export async function generate( + structures: TestStructure[], + ): Promise { + const location: string = `${__dirname}/../../src/features/llm.schema`; + if (fs.existsSync(location)) cp.execSync("npx rimraf " + location); + await fs.promises.mkdir(location); + await application(structures); + } + + async function application(structures: TestStructure[]): Promise { + for (const s of structures) { + if (s.JSONABLE === false) continue; + else if (s.RECURSIVE === true) continue; + + const content: string[] = [ + `import typia from "typia";`, + `import { ${s.name} } from "../../structures/${s.name}";`, + `import { _test_llm_schema } from "../../internal/_test_llm_schema";`, + "", + `export const test_llm_schema_${s.name} = `, + ` _test_llm_schema(`, + ` ${JSON.stringify(s.name)},`, + ` )(typia.llm.schema<${s.name}>());`, + ]; + await fs.promises.writeFile( + `${__dirname}/../../src/features/llm.schema/test_llm_schema_${s.name}.ts`, + content.join("\n"), + "utf8", + ); + } + } + + export async function schemas(): Promise { + const location: string = `${__dirname}/../../schemas/llm/type`; + if (fs.existsSync(location)) cp.execSync("npx rimraf " + location); + await mkdir(location); + await iterate(); + } + + function getSchema(content: string): object { + const first: number = content.lastIndexOf(`")({`) + 4; + const last: number = content.lastIndexOf("}"); + return new Function("return {" + content.substring(first, last) + "}")(); + } + + async function iterate() { + const path: string = `${__dirname}/../../src/features/llm.schema`; + const schemaPath: string = `${__dirname}/../../schemas/llm/type`; + for (const file of await fs.promises.readdir(path)) { + if (file.substring(file.length - 3) !== ".ts") continue; + + const name: string = file.substring( + `test_llm_schema_`.length, + file.length - 3, + ); + console.log(name); + const location: string = + __dirname + `/../../bin/features/llm.schema/${file.slice(0, -3)}.js`; + const schema: object = getSchema( + await fs.promises.readFile(location, "utf8"), + ); + await fs.promises.writeFile( + `${schemaPath}/${name}.json`, + JSON.stringify(schema, null, 2), + "utf8", + ); + } + } + + async function mkdir(path: string): Promise { + if (fs.existsSync(path)) cp.execSync(`npx rimraf ${path}`); + await fs.promises.mkdir(path, { recursive: true }); + } +} diff --git a/test/build/internal/TestStructure.ts b/test/build/internal/TestStructure.ts index 47b6987a0b..1b3c617411 100644 --- a/test/build/internal/TestStructure.ts +++ b/test/build/internal/TestStructure.ts @@ -15,4 +15,5 @@ export interface TestStructure { JSONABLE?: boolean; PRIMITIVE?: boolean; RANDOM?: false | typia.IRandomGenerator; + RECURSIVE?: true; } diff --git a/test/build/template.ts b/test/build/template.ts index 1f7101fc47..182a04e177 100644 --- a/test/build/template.ts +++ b/test/build/template.ts @@ -2,7 +2,8 @@ import cp from "child_process"; import fs from "fs"; import { TestFeature } from "./internal/TestFeature"; -import { TestJsonApplicationGenerator } from "./internal/TestJsonApplicationGenerator"; +import { TestJsonSchemaGenerator } from "./internal/TestJsonSchemaGenerator"; +import { TestLlmSchemaGenerator } from "./internal/TestLlmSchemaGenerator"; import { TestProtobufMessageGenerator } from "./internal/TestProtobufMessageGenerator"; import { TestReflectMetadataGenerator } from "./internal/TestReflectMetadataGenerator"; import { TestStructure } from "./internal/TestStructure"; @@ -161,16 +162,19 @@ async function main(): Promise { if (fs.existsSync(schemas)) cp.execSync(`npx rimraf ${schemas}`); await fs.promises.mkdir(schemas, { recursive: true }); - await TestJsonApplicationGenerator.generate(structures); + await TestJsonSchemaGenerator.generate(structures); await TestProtobufMessageGenerator.generate(structures); await TestReflectMetadataGenerator.generate(structures); + await TestLlmSchemaGenerator.generate(structures); // FILL SCHEMA CONTENTS await new Promise((resolve) => setTimeout(resolve, 1000)); cp.execSync("npm run build", { stdio: "inherit" }); - await TestJsonApplicationGenerator.schemas(); + + await TestJsonSchemaGenerator.schemas(); await TestProtobufMessageGenerator.schemas(); await TestReflectMetadataGenerator.schemas(); + await TestLlmSchemaGenerator.schemas(); cp.execSync("npm run prettier", { stdio: "inherit" }); } diff --git a/test/package.json b/test/package.json index 7459f2fa13..1e39dd5e7c 100644 --- a/test/package.json +++ b/test/package.json @@ -52,6 +52,6 @@ "suppress-warnings": "^1.0.2", "tstl": "^3.0.0", "uuid": "^9.0.1", - "typia": "../typia-6.10.0-dev.20240823.tgz" + "typia": "../typia-6.10.0-dev.20240906.tgz" } } \ No newline at end of file diff --git a/test/schemas/llm/type/ArrayAny.json b/test/schemas/llm/type/ArrayAny.json new file mode 100644 index 0000000000..63e2288e06 --- /dev/null +++ b/test/schemas/llm/type/ArrayAny.json @@ -0,0 +1,53 @@ +{ + "type": "object", + "properties": { + "anys": { + "type": "array", + "items": {} + }, + "undefindable1": { + "type": "array", + "items": {} + }, + "undefindable2": { + "type": "array", + "items": {} + }, + "nullables1": { + "type": "array", + "items": {}, + "nullable": true + }, + "nullables2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both1": { + "type": "array", + "items": {}, + "nullable": true + }, + "both2": { + "type": "array", + "items": {}, + "nullable": true + }, + "both3": { + "type": "array", + "items": {}, + "nullable": true + }, + "union": { + "type": "array", + "items": {} + } + }, + "nullable": false, + "required": [ + "anys", + "nullables1", + "nullables2", + "union" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ArrayAtomicAlias.json b/test/schemas/llm/type/ArrayAtomicAlias.json new file mode 100644 index 0000000000..69987ae2ea --- /dev/null +++ b/test/schemas/llm/type/ArrayAtomicAlias.json @@ -0,0 +1,27 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3 +} \ No newline at end of file diff --git a/test/schemas/llm/type/ArrayAtomicSimple.json b/test/schemas/llm/type/ArrayAtomicSimple.json new file mode 100644 index 0000000000..69987ae2ea --- /dev/null +++ b/test/schemas/llm/type/ArrayAtomicSimple.json @@ -0,0 +1,27 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 3, + "maxItems": 3 +} \ No newline at end of file diff --git a/test/schemas/llm/type/ArrayHierarchical.json b/test/schemas/llm/type/ArrayHierarchical.json new file mode 100644 index 0000000000..2479c6c722 --- /dev/null +++ b/test/schemas/llm/type/ArrayHierarchical.json @@ -0,0 +1,126 @@ +{ + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "time", + "zone" + ] + } + }, + "nullable": false, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "nullable": false, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "nullable": false, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ArrayHierarchicalPointer.json b/test/schemas/llm/type/ArrayHierarchicalPointer.json new file mode 100644 index 0000000000..7d03350cc4 --- /dev/null +++ b/test/schemas/llm/type/ArrayHierarchicalPointer.json @@ -0,0 +1,135 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "serial": { + "type": "number" + }, + "name": { + "type": "string" + }, + "established_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "time", + "zone" + ] + }, + "departments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "sales": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "time", + "zone" + ] + }, + "employees": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + }, + "grade": { + "type": "number" + }, + "employeed_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "time", + "zone" + ] + } + }, + "nullable": false, + "required": [ + "id", + "name", + "age", + "grade", + "employeed_at" + ] + } + } + }, + "nullable": false, + "required": [ + "id", + "code", + "sales", + "created_at", + "employees" + ] + } + } + }, + "nullable": false, + "required": [ + "id", + "serial", + "name", + "established_at", + "departments" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ArrayMatrix.json b/test/schemas/llm/type/ArrayMatrix.json new file mode 100644 index 0000000000..b71a8043df --- /dev/null +++ b/test/schemas/llm/type/ArrayMatrix.json @@ -0,0 +1,12 @@ +{ + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ArraySimple.json b/test/schemas/llm/type/ArraySimple.json new file mode 100644 index 0000000000..7df4a4f1ea --- /dev/null +++ b/test/schemas/llm/type/ArraySimple.json @@ -0,0 +1,43 @@ +{ + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "hobbies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "rank": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "name", + "body", + "rank" + ] + } + } + }, + "nullable": false, + "required": [ + "name", + "email", + "hobbies" + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ArrayUnion.json b/test/schemas/llm/type/ArrayUnion.json new file mode 100644 index 0000000000..6f1b0f65e8 --- /dev/null +++ b/test/schemas/llm/type/ArrayUnion.json @@ -0,0 +1,25 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/AtomicAlias.json b/test/schemas/llm/type/AtomicAlias.json new file mode 100644 index 0000000000..a9dc150cdd --- /dev/null +++ b/test/schemas/llm/type/AtomicAlias.json @@ -0,0 +1,18 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 +} \ No newline at end of file diff --git a/test/schemas/llm/type/AtomicClass.json b/test/schemas/llm/type/AtomicClass.json new file mode 100644 index 0000000000..74c0cf600a --- /dev/null +++ b/test/schemas/llm/type/AtomicClass.json @@ -0,0 +1,18 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 9, + "maxItems": 9 +} \ No newline at end of file diff --git a/test/schemas/llm/type/AtomicIntersection.json b/test/schemas/llm/type/AtomicIntersection.json new file mode 100644 index 0000000000..a9dc150cdd --- /dev/null +++ b/test/schemas/llm/type/AtomicIntersection.json @@ -0,0 +1,18 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 +} \ No newline at end of file diff --git a/test/schemas/llm/type/AtomicSimple.json b/test/schemas/llm/type/AtomicSimple.json new file mode 100644 index 0000000000..a9dc150cdd --- /dev/null +++ b/test/schemas/llm/type/AtomicSimple.json @@ -0,0 +1,18 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 +} \ No newline at end of file diff --git a/test/schemas/llm/type/AtomicUnion.json b/test/schemas/llm/type/AtomicUnion.json new file mode 100644 index 0000000000..2aaa26775b --- /dev/null +++ b/test/schemas/llm/type/AtomicUnion.json @@ -0,0 +1,19 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ClassGetter.json b/test/schemas/llm/type/ClassGetter.json new file mode 100644 index 0000000000..46713c7b20 --- /dev/null +++ b/test/schemas/llm/type/ClassGetter.json @@ -0,0 +1,21 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "nullable": false, + "required": [ + "id", + "name", + "dead" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ClassMethod.json b/test/schemas/llm/type/ClassMethod.json new file mode 100644 index 0000000000..4ebac9586b --- /dev/null +++ b/test/schemas/llm/type/ClassMethod.json @@ -0,0 +1,16 @@ +{ + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "name", + "age" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ClassPropertyAssignment.json b/test/schemas/llm/type/ClassPropertyAssignment.json new file mode 100644 index 0000000000..50f0bc8d52 --- /dev/null +++ b/test/schemas/llm/type/ClassPropertyAssignment.json @@ -0,0 +1,34 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string", + "enum": [ + "assignment" + ] + }, + "editable": { + "type": "boolean", + "enum": [ + false + ] + }, + "incremental": { + "type": "boolean" + } + }, + "nullable": false, + "required": [ + "id", + "name", + "note", + "editable", + "incremental" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/CommentTagArray.json b/test/schemas/llm/type/CommentTagArray.json new file mode 100644 index 0000000000..5b94c5c1c7 --- /dev/null +++ b/test/schemas/llm/type/CommentTagArray.json @@ -0,0 +1,63 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "nullable": false, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/CommentTagArrayUnion.json b/test/schemas/llm/type/CommentTagArrayUnion.json new file mode 100644 index 0000000000..aaf7cebf78 --- /dev/null +++ b/test/schemas/llm/type/CommentTagArrayUnion.json @@ -0,0 +1,52 @@ +{ + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "nullable": false, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/CommentTagAtomicUnion.json b/test/schemas/llm/type/CommentTagAtomicUnion.json new file mode 100644 index 0000000000..3cc9923e85 --- /dev/null +++ b/test/schemas/llm/type/CommentTagAtomicUnion.json @@ -0,0 +1,34 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "nullable": false, + "required": [ + "value" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/CommentTagDefault.json b/test/schemas/llm/type/CommentTagDefault.json new file mode 100644 index 0000000000..6184dbc26a --- /dev/null +++ b/test/schemas/llm/type/CommentTagDefault.json @@ -0,0 +1,121 @@ +{ + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "title": "Default tag on `boolean` typed value", + "description": "Default tag on `boolean` typed value." + }, + "number": { + "type": "number", + "title": "Default tag on `number` typed value", + "description": "Default tag on `number` typed value." + }, + "string": { + "type": "string", + "title": "Default tag on `string` typed value", + "description": "Default tag on `string` typed value." + }, + "text": { + "type": "string", + "title": "Default tag on `string` typed value with long characters", + "description": "Default tag on `string` typed value with long characters." + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "union_but_string": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "vulnerable_range": { + "type": "number", + "minimum": 3, + "maximum": 5, + "title": "Default value on union typed property", + "description": "Default value on union typed property." + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ], + "title": "Default value on union typed property", + "description": "Default value on union typed property." + } + }, + "nullable": false, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "vulnerable_range", + "boolean_and_number_and_template" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/CommentTagFormat.json b/test/schemas/llm/type/CommentTagFormat.json new file mode 100644 index 0000000000..f306d185b7 --- /dev/null +++ b/test/schemas/llm/type/CommentTagFormat.json @@ -0,0 +1,118 @@ +{ + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "nullable": false, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/CommentTagLength.json b/test/schemas/llm/type/CommentTagLength.json new file mode 100644 index 0000000000..b6456ad2ee --- /dev/null +++ b/test/schemas/llm/type/CommentTagLength.json @@ -0,0 +1,48 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "nullable": false, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/CommentTagObjectUnion.json b/test/schemas/llm/type/CommentTagObjectUnion.json new file mode 100644 index 0000000000..02727a6a63 --- /dev/null +++ b/test/schemas/llm/type/CommentTagObjectUnion.json @@ -0,0 +1,34 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "nullable": false, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "nullable": false, + "required": [ + "value" + ] + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/CommentTagPattern.json b/test/schemas/llm/type/CommentTagPattern.json new file mode 100644 index 0000000000..fdf27c1f73 --- /dev/null +++ b/test/schemas/llm/type/CommentTagPattern.json @@ -0,0 +1,28 @@ +{ + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "nullable": false, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/CommentTagRange.json b/test/schemas/llm/type/CommentTagRange.json new file mode 100644 index 0000000000..d026ba955e --- /dev/null +++ b/test/schemas/llm/type/CommentTagRange.json @@ -0,0 +1,76 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "nullable": false, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/CommentTagType.json b/test/schemas/llm/type/CommentTagType.json new file mode 100644 index 0000000000..8a62d3818c --- /dev/null +++ b/test/schemas/llm/type/CommentTagType.json @@ -0,0 +1,52 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer", + "title": "Integer value", + "description": "Integer value." + }, + "uint": { + "type": "integer", + "title": "Unsigned integer value", + "description": "Unsigned integer value." + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ConstantAtomicAbsorbed.json b/test/schemas/llm/type/ConstantAtomicAbsorbed.json new file mode 100644 index 0000000000..182c8602f8 --- /dev/null +++ b/test/schemas/llm/type/ConstantAtomicAbsorbed.json @@ -0,0 +1,18 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string", + "default": "something" + }, + "age": { + "type": "number", + "default": 20 + } + }, + "nullable": false, + "required": [ + "id", + "age" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ConstantAtomicSimple.json b/test/schemas/llm/type/ConstantAtomicSimple.json new file mode 100644 index 0000000000..031d320b2c --- /dev/null +++ b/test/schemas/llm/type/ConstantAtomicSimple.json @@ -0,0 +1,28 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false, + true + ] + }, + { + "type": "number", + "enum": [ + 2 + ] + }, + { + "type": "string", + "enum": [ + "three" + ] + } + ] + }, + "minItems": 4, + "maxItems": 4 +} \ No newline at end of file diff --git a/test/schemas/llm/type/ConstantAtomicTagged.json b/test/schemas/llm/type/ConstantAtomicTagged.json new file mode 100644 index 0000000000..84c72bf26e --- /dev/null +++ b/test/schemas/llm/type/ConstantAtomicTagged.json @@ -0,0 +1,38 @@ +{ + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "string", + "enum": [ + "latest" + ] + }, + { + "type": "string", + "format": "uuid" + } + ] + }, + "age": { + "oneOf": [ + { + "type": "number", + "enum": [ + -1 + ] + }, + { + "type": "integer", + "maximum": 100 + } + ] + } + }, + "nullable": false, + "required": [ + "id", + "age" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ConstantAtomicUnion.json b/test/schemas/llm/type/ConstantAtomicUnion.json new file mode 100644 index 0000000000..eccbd4f12f --- /dev/null +++ b/test/schemas/llm/type/ConstantAtomicUnion.json @@ -0,0 +1,42 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "three", + "four" + ] + }, + { + "type": "object", + "properties": { + "key": { + "type": "string", + "enum": [ + "key" + ] + } + }, + "nullable": false, + "required": [ + "key" + ] + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ConstantAtomicWrapper.json b/test/schemas/llm/type/ConstantAtomicWrapper.json new file mode 100644 index 0000000000..5c51ca6176 --- /dev/null +++ b/test/schemas/llm/type/ConstantAtomicWrapper.json @@ -0,0 +1,45 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "nullable": false, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "value" + ] + } + ] + }, + "minItems": 3, + "maxItems": 3 +} \ No newline at end of file diff --git a/test/schemas/llm/type/ConstantConstEnumeration.json b/test/schemas/llm/type/ConstantConstEnumeration.json new file mode 100644 index 0000000000..cc7bc2f458 --- /dev/null +++ b/test/schemas/llm/type/ConstantConstEnumeration.json @@ -0,0 +1,22 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ConstantEnumeration.json b/test/schemas/llm/type/ConstantEnumeration.json new file mode 100644 index 0000000000..cc7bc2f458 --- /dev/null +++ b/test/schemas/llm/type/ConstantEnumeration.json @@ -0,0 +1,22 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + { + "type": "string", + "enum": [ + "Three", + "Four" + ] + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ConstantIntersection.json b/test/schemas/llm/type/ConstantIntersection.json new file mode 100644 index 0000000000..9613f21097 --- /dev/null +++ b/test/schemas/llm/type/ConstantIntersection.json @@ -0,0 +1,27 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "enum": [ + false + ] + }, + { + "type": "number", + "enum": [ + 1 + ] + }, + { + "type": "string", + "enum": [ + "two" + ] + } + ] + }, + "minItems": 3, + "maxItems": 3 +} \ No newline at end of file diff --git a/test/schemas/llm/type/DynamicArray.json b/test/schemas/llm/type/DynamicArray.json new file mode 100644 index 0000000000..68e7eba4a8 --- /dev/null +++ b/test/schemas/llm/type/DynamicArray.json @@ -0,0 +1,20 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "nullable": false, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/DynamicComposite.json b/test/schemas/llm/type/DynamicComposite.json new file mode 100644 index 0000000000..27209c891d --- /dev/null +++ b/test/schemas/llm/type/DynamicComposite.json @@ -0,0 +1,29 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "id", + "name" + ], + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/DynamicConstant.json b/test/schemas/llm/type/DynamicConstant.json new file mode 100644 index 0000000000..c663e2c274 --- /dev/null +++ b/test/schemas/llm/type/DynamicConstant.json @@ -0,0 +1,33 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "a": { + "type": "number" + }, + "b": { + "type": "number" + }, + "c": { + "type": "number" + }, + "d": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "a", + "b", + "c", + "d" + ] + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/DynamicEnumeration.json b/test/schemas/llm/type/DynamicEnumeration.json new file mode 100644 index 0000000000..849cb1884a --- /dev/null +++ b/test/schemas/llm/type/DynamicEnumeration.json @@ -0,0 +1,45 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "ar": { + "type": "string" + }, + "zh-Hans": { + "type": "string" + }, + "zh-Hant": { + "type": "string" + }, + "en": { + "type": "string" + }, + "fr": { + "type": "string" + }, + "de": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ko": { + "type": "string" + }, + "pt": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "nullable": false + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/DynamicNever.json b/test/schemas/llm/type/DynamicNever.json new file mode 100644 index 0000000000..82853a2c15 --- /dev/null +++ b/test/schemas/llm/type/DynamicNever.json @@ -0,0 +1,5 @@ +{ + "type": "object", + "properties": {}, + "nullable": false +} \ No newline at end of file diff --git a/test/schemas/llm/type/DynamicSimple.json b/test/schemas/llm/type/DynamicSimple.json new file mode 100644 index 0000000000..d99508e08b --- /dev/null +++ b/test/schemas/llm/type/DynamicSimple.json @@ -0,0 +1,17 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "nullable": false, + "additionalProperties": { + "type": "number" + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/DynamicTemplate.json b/test/schemas/llm/type/DynamicTemplate.json new file mode 100644 index 0000000000..65aded246d --- /dev/null +++ b/test/schemas/llm/type/DynamicTemplate.json @@ -0,0 +1,18 @@ +{ + "type": "object", + "properties": {}, + "nullable": false, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/DynamicUndefined.json b/test/schemas/llm/type/DynamicUndefined.json new file mode 100644 index 0000000000..82853a2c15 --- /dev/null +++ b/test/schemas/llm/type/DynamicUndefined.json @@ -0,0 +1,5 @@ +{ + "type": "object", + "properties": {}, + "nullable": false +} \ No newline at end of file diff --git a/test/schemas/llm/type/DynamicUnion.json b/test/schemas/llm/type/DynamicUnion.json new file mode 100644 index 0000000000..8bbb070407 --- /dev/null +++ b/test/schemas/llm/type/DynamicUnion.json @@ -0,0 +1,15 @@ +{ + "type": "object", + "properties": {}, + "nullable": false, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectAlias.json b/test/schemas/llm/type/ObjectAlias.json new file mode 100644 index 0000000000..f842e93e60 --- /dev/null +++ b/test/schemas/llm/type/ObjectAlias.json @@ -0,0 +1,55 @@ +{ + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "nullable": true + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sex": { + "oneOf": [ + { + "type": "number", + "enum": [ + 1, + 2 + ], + "nullable": true + }, + { + "type": "string", + "enum": [ + "male", + "female" + ], + "nullable": true + } + ] + }, + "age": { + "type": "number", + "nullable": true + }, + "dead": { + "type": "boolean", + "nullable": true + } + }, + "nullable": false, + "required": [ + "id", + "email", + "name", + "sex", + "age", + "dead" + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectDate.json b/test/schemas/llm/type/ObjectDate.json new file mode 100644 index 0000000000..d7d3b6a60b --- /dev/null +++ b/test/schemas/llm/type/ObjectDate.json @@ -0,0 +1,37 @@ +{ + "type": "object", + "properties": { + "classDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "date": { + "type": "string", + "format": "date", + "nullable": true + }, + "datetime": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "time": { + "type": "string", + "format": "time", + "nullable": true + }, + "duration": { + "type": "string", + "format": "duration", + "nullable": true + } + }, + "nullable": false, + "required": [ + "date", + "datetime", + "time", + "duration" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectDescription.json b/test/schemas/llm/type/ObjectDescription.json new file mode 100644 index 0000000000..60129b225c --- /dev/null +++ b/test/schemas/llm/type/ObjectDescription.json @@ -0,0 +1,44 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "title": "Primary Key", + "description": "Primary Key." + }, + "deprecated": { + "type": "boolean", + "deprecated": true, + "title": "Deprecated property", + "description": "Deprecated property.\n\nIf `@deprecated` comment tag being utilized, the property will be marked\nas deprecated in the JSON scheam." + }, + "title": { + "type": "string", + "title": "This is the title", + "description": "Title tag can replace the first line of the comment." + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Description property", + "description": "Description property.\n\nIf you write first line and the first line ends with \".\" character,\nit would be considered as the title. By the way, description does\nnot exclusive the title, so that full content be written." + }, + "newLine": { + "type": "number", + "description": "New line before dot character\n\nIf dot character (\".\") being used before the first new line, it would not\nbe considered as title in the JSON schema." + } + }, + "nullable": false, + "required": [ + "id", + "deprecated", + "title", + "descriptions", + "newLine" + ], + "title": "This is the title of object type", + "description": "An interface designed to test JSON schema's object description." +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectDynamic.json b/test/schemas/llm/type/ObjectDynamic.json new file mode 100644 index 0000000000..65aded246d --- /dev/null +++ b/test/schemas/llm/type/ObjectDynamic.json @@ -0,0 +1,18 @@ +{ + "type": "object", + "properties": {}, + "nullable": false, + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectGeneric.json b/test/schemas/llm/type/ObjectGeneric.json new file mode 100644 index 0000000000..4920321243 --- /dev/null +++ b/test/schemas/llm/type/ObjectGeneric.json @@ -0,0 +1,156 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "nullable": false, + "required": [ + "child_value", + "child_next" + ] + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "boolean" + }, + "child_next": { + "type": "boolean" + } + }, + "nullable": false, + "required": [ + "child_value", + "child_next" + ] + } + } + }, + "nullable": false, + "required": [ + "value", + "child", + "elements" + ] + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "child_value", + "child_next" + ] + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "number" + }, + "child_next": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "child_value", + "child_next" + ] + } + } + }, + "nullable": false, + "required": [ + "value", + "child", + "elements" + ] + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "child": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "child_value", + "child_next" + ] + }, + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "child_value": { + "type": "string" + }, + "child_next": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "child_value", + "child_next" + ] + } + } + }, + "nullable": false, + "required": [ + "value", + "child", + "elements" + ] + } + ] + }, + "minItems": 3, + "maxItems": 3 +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectGenericAlias.json b/test/schemas/llm/type/ObjectGenericAlias.json new file mode 100644 index 0000000000..83106cf013 --- /dev/null +++ b/test/schemas/llm/type/ObjectGenericAlias.json @@ -0,0 +1,12 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectGenericArray.json b/test/schemas/llm/type/ObjectGenericArray.json new file mode 100644 index 0000000000..0813920ba5 --- /dev/null +++ b/test/schemas/llm/type/ObjectGenericArray.json @@ -0,0 +1,53 @@ +{ + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "total_count": { + "type": "number" + }, + "total_pages": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "page", + "limit", + "total_count", + "total_pages" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "name", + "age" + ] + } + } + }, + "nullable": false, + "required": [ + "pagination", + "data" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectGenericUnion.json b/test/schemas/llm/type/ObjectGenericUnion.json new file mode 100644 index 0000000000..51190e5e6b --- /dev/null +++ b/test/schemas/llm/type/ObjectGenericUnion.json @@ -0,0 +1,319 @@ +{ + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "name", + "extension", + "url" + ] + } + } + }, + "nullable": false, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + } + }, + "created_at": { + "type": "string" + } + }, + "nullable": true, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "name", + "extension", + "url" + ] + } + } + }, + "nullable": false, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + } + }, + "created_at": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + }, + { + "type": "object", + "properties": { + "writer": { + "type": "string" + }, + "answer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "name", + "extension", + "url" + ] + } + } + }, + "nullable": false, + "required": [ + "id", + "created_at", + "title", + "body", + "files" + ] + } + }, + "created_at": { + "type": "string" + } + }, + "nullable": true, + "required": [ + "id", + "hit", + "contents", + "created_at" + ] + }, + "id": { + "type": "string" + }, + "hit": { + "type": "number" + }, + "contents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "extension": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "name", + "extension", + "url" + ] + } + } + }, + "nullable": false, + "required": [ + "score", + "id", + "created_at", + "title", + "body", + "files" + ] + } + }, + "created_at": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "writer", + "answer", + "id", + "hit", + "contents", + "created_at" + ] + } + ] + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectHierarchical.json b/test/schemas/llm/type/ObjectHierarchical.json new file mode 100644 index 0000000000..5bf31571a0 --- /dev/null +++ b/test/schemas/llm/type/ObjectHierarchical.json @@ -0,0 +1,277 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "channel": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sequence": { + "type": "number" + }, + "exclusive": { + "type": "boolean" + }, + "priority": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "time", + "zone" + ] + } + }, + "nullable": false, + "required": [ + "id", + "code", + "name", + "sequence", + "exclusive", + "priority", + "created_at" + ] + }, + "member": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "time", + "zone" + ] + } + }, + "nullable": false, + "required": [ + "id", + "code", + "created_at" + ] + }, + "enterprise": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "time", + "zone" + ] + } + }, + "nullable": false, + "required": [ + "id", + "code", + "created_at" + ] + }, + "name": { + "type": "string" + }, + "grade": { + "type": "number" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "time", + "zone" + ] + } + }, + "nullable": true, + "required": [ + "id", + "account", + "name", + "grade", + "created_at" + ] + }, + "emails": { + "type": "array", + "items": { + "type": "string" + } + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "time", + "zone" + ] + }, + "authorized": { + "type": "boolean" + } + }, + "nullable": true, + "required": [ + "id", + "account", + "enterprise", + "emails", + "created_at", + "authorized" + ] + }, + "account": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "code": { + "type": "string" + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "time", + "zone" + ] + } + }, + "nullable": true, + "required": [ + "id", + "code", + "created_at" + ] + }, + "href": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "ip": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 4, + "maxItems": 4 + }, + "created_at": { + "type": "object", + "properties": { + "time": { + "type": "number" + }, + "zone": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "time", + "zone" + ] + } + }, + "nullable": false, + "required": [ + "id", + "channel", + "member", + "account", + "href", + "referrer", + "ip", + "created_at" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectInternal.json b/test/schemas/llm/type/ObjectInternal.json new file mode 100644 index 0000000000..a19c59b3b9 --- /dev/null +++ b/test/schemas/llm/type/ObjectInternal.json @@ -0,0 +1,16 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "id", + "name" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectIntersection.json b/test/schemas/llm/type/ObjectIntersection.json new file mode 100644 index 0000000000..82e04dd71d --- /dev/null +++ b/test/schemas/llm/type/ObjectIntersection.json @@ -0,0 +1,20 @@ +{ + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "vulnerable": { + "type": "boolean" + } + }, + "nullable": false, + "required": [ + "email", + "name", + "vulnerable" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectJsonTag.json b/test/schemas/llm/type/ObjectJsonTag.json new file mode 100644 index 0000000000..24b3b0ed77 --- /dev/null +++ b/test/schemas/llm/type/ObjectJsonTag.json @@ -0,0 +1,31 @@ +{ + "type": "object", + "properties": { + "vulnerable": { + "type": "string", + "deprecated": true + }, + "description": { + "type": "string", + "title": "Descripted property", + "description": "Descripted property." + }, + "title": { + "type": "string", + "title": "something", + "description": "Titled property." + }, + "complicate_title": { + "type": "string", + "title": "something weirdo with {@link something } tag", + "description": "Complicate title." + } + }, + "nullable": false, + "required": [ + "vulnerable", + "description", + "title", + "complicate_title" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectLiteralProperty.json b/test/schemas/llm/type/ObjectLiteralProperty.json new file mode 100644 index 0000000000..67d27fcc29 --- /dev/null +++ b/test/schemas/llm/type/ObjectLiteralProperty.json @@ -0,0 +1,16 @@ +{ + "type": "object", + "properties": { + "something-interesting-do-you-want?": { + "type": "string" + }, + "or-something-crazy-do-you-want?": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "something-interesting-do-you-want?", + "or-something-crazy-do-you-want?" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectLiteralType.json b/test/schemas/llm/type/ObjectLiteralType.json new file mode 100644 index 0000000000..c7de81935e --- /dev/null +++ b/test/schemas/llm/type/ObjectLiteralType.json @@ -0,0 +1,20 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "age": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "id", + "name", + "age" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectNullable.json b/test/schemas/llm/type/ObjectNullable.json new file mode 100644 index 0000000000..860077e48a --- /dev/null +++ b/test/schemas/llm/type/ObjectNullable.json @@ -0,0 +1,107 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "manufacturer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "type", + "name" + ] + }, + "brand": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "nullable": true, + "required": [ + "type", + "name" + ] + }, + "similar": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "brand" + ] + }, + "name": { + "type": "string" + } + }, + "nullable": true, + "required": [ + "type", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "manufacturer" + ] + }, + "name": { + "type": "string" + } + }, + "nullable": true, + "required": [ + "type", + "name" + ] + } + ] + } + }, + "nullable": false, + "required": [ + "name", + "manufacturer", + "brand", + "similar" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectOptional.json b/test/schemas/llm/type/ObjectOptional.json new file mode 100644 index 0000000000..719ea4a9fa --- /dev/null +++ b/test/schemas/llm/type/ObjectOptional.json @@ -0,0 +1,18 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "sequence": { + "type": "number" + } + }, + "nullable": false +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectPrimitive.json b/test/schemas/llm/type/ObjectPrimitive.json new file mode 100644 index 0000000000..8c5ef3ce03 --- /dev/null +++ b/test/schemas/llm/type/ObjectPrimitive.json @@ -0,0 +1,69 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extension": { + "type": "string", + "enum": [ + "txt", + "md", + "html" + ] + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "id", + "name", + "extension", + "url", + "created_at" + ] + } + }, + "secret": { + "type": "boolean" + }, + "created_at": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "id", + "extension", + "title", + "body", + "files", + "secret", + "created_at" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectPropertyNullable.json b/test/schemas/llm/type/ObjectPropertyNullable.json new file mode 100644 index 0000000000..9d5d0d23d0 --- /dev/null +++ b/test/schemas/llm/type/ObjectPropertyNullable.json @@ -0,0 +1,98 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "boolean", + "nullable": true + } + }, + "nullable": false, + "required": [ + "value" + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "value" + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "nullable": true + } + }, + "nullable": false, + "required": [ + "value" + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "nullable": true + }, + "grade": { + "type": "number" + }, + "serial": { + "type": "number", + "nullable": true + }, + "activated": { + "type": "boolean", + "nullable": true + } + }, + "nullable": true, + "required": [ + "id", + "name", + "activated" + ] + } + }, + "nullable": false, + "required": [ + "value" + ] + } + } + ] + }, + "minItems": 4, + "maxItems": 4 +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectSimple.json b/test/schemas/llm/type/ObjectSimple.json new file mode 100644 index 0000000000..845b92b924 --- /dev/null +++ b/test/schemas/llm/type/ObjectSimple.json @@ -0,0 +1,92 @@ +{ + "type": "object", + "properties": { + "scale": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y", + "z" + ] + }, + "position": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y", + "z" + ] + }, + "rotate": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y", + "z" + ] + }, + "pivot": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y", + "z" + ] + } + }, + "nullable": false, + "required": [ + "scale", + "position", + "rotate", + "pivot" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectTuple.json b/test/schemas/llm/type/ObjectTuple.json new file mode 100644 index 0000000000..a9c940758a --- /dev/null +++ b/test/schemas/llm/type/ObjectTuple.json @@ -0,0 +1,49 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "id", + "code", + "name" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "id", + "mobile", + "name" + ] + } + ] + }, + "minItems": 2, + "maxItems": 2 +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectUndefined.json b/test/schemas/llm/type/ObjectUndefined.json new file mode 100644 index 0000000000..e48e2935a8 --- /dev/null +++ b/test/schemas/llm/type/ObjectUndefined.json @@ -0,0 +1,46 @@ +{ + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "professor": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "classroom": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "id", + "name" + ] + }, + "grade": { + "type": "number" + }, + "unknown": {} + }, + "nullable": false, + "required": [ + "name", + "unknown" + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectUnionComposite.json b/test/schemas/llm/type/ObjectUnionComposite.json new file mode 100644 index 0000000000..58356e8de7 --- /dev/null +++ b/test/schemas/llm/type/ObjectUnionComposite.json @@ -0,0 +1,371 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + }, + "nullable": false, + "required": [ + "p1", + "p2" + ] + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + }, + "nullable": false, + "required": [ + "p1", + "p2", + "p3" + ] + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + }, + "nullable": false, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + } + }, + "nullable": false, + "required": [ + "points" + ] + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + }, + "nullable": false, + "required": [ + "outer", + "inner" + ] + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + } + }, + "nullable": false, + "required": [ + "points" + ] + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + } + }, + "nullable": false, + "required": [ + "points" + ] + } + } + }, + "nullable": false, + "required": [ + "outer", + "inner" + ] + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "radius": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "centroid", + "radius" + ] + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectUnionCompositePointer.json b/test/schemas/llm/type/ObjectUnionCompositePointer.json new file mode 100644 index 0000000000..d4cb9db5f9 --- /dev/null +++ b/test/schemas/llm/type/ObjectUnionCompositePointer.json @@ -0,0 +1,389 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + }, + "nullable": false, + "required": [ + "p1", + "p2" + ] + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + }, + "nullable": false, + "required": [ + "p1", + "p2", + "p3" + ] + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + }, + "nullable": false, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + } + }, + "nullable": false, + "required": [ + "points" + ] + }, + { + "type": "object", + "properties": { + "outer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + }, + "inner": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + }, + "nullable": false, + "required": [ + "outer", + "inner" + ] + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + } + }, + "nullable": false, + "required": [ + "points" + ] + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + } + }, + "nullable": false, + "required": [ + "points" + ] + } + } + }, + "nullable": false, + "required": [ + "outer", + "inner" + ] + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "radius": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "centroid", + "radius" + ] + } + ] + } + }, + "nullable": false, + "required": [ + "value" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectUnionDouble.json b/test/schemas/llm/type/ObjectUnionDouble.json new file mode 100644 index 0000000000..201c4298bb --- /dev/null +++ b/test/schemas/llm/type/ObjectUnionDouble.json @@ -0,0 +1,146 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "y" + ] + } + }, + "nullable": false, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "boolean" + } + }, + "nullable": false, + "required": [ + "y" + ] + } + }, + "nullable": false, + "required": [ + "value" + ] + } + ] + } + }, + "nullable": false, + "required": [ + "value", + "child" + ] + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "x": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "x" + ] + }, + "child": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "nullable": false, + "required": [ + "y" + ] + } + }, + "nullable": false, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "y": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "y" + ] + } + }, + "nullable": false, + "required": [ + "value" + ] + } + ] + } + }, + "nullable": false, + "required": [ + "value", + "child" + ] + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectUnionExplicit.json b/test/schemas/llm/type/ObjectUnionExplicit.json new file mode 100644 index 0000000000..3dedb1eacc --- /dev/null +++ b/test/schemas/llm/type/ObjectUnionExplicit.json @@ -0,0 +1,375 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "nullable": false, + "required": [ + "x", + "y", + "type" + ] + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "nullable": false, + "required": [ + "p1", + "p2", + "type" + ] + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "nullable": false, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "nullable": false, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "nullable": false, + "required": [ + "points", + "type" + ] + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + } + }, + "nullable": false, + "required": [ + "points" + ] + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + } + }, + "nullable": false, + "required": [ + "points" + ] + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "nullable": false, + "required": [ + "outer", + "inner", + "type" + ] + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "nullable": false, + "required": [ + "centroid", + "radius", + "type" + ] + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectUnionExplicitPointer.json b/test/schemas/llm/type/ObjectUnionExplicitPointer.json new file mode 100644 index 0000000000..92c4b3859c --- /dev/null +++ b/test/schemas/llm/type/ObjectUnionExplicitPointer.json @@ -0,0 +1,393 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + }, + "nullable": false, + "required": [ + "x", + "y", + "type" + ] + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + }, + "nullable": false, + "required": [ + "p1", + "p2", + "type" + ] + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "type": { + "type": "string", + "enum": [ + "triangle" + ] + } + }, + "nullable": false, + "required": [ + "p1", + "p2", + "p3", + "type" + ] + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "type": { + "type": "string", + "enum": [ + "rectangle" + ] + } + }, + "nullable": false, + "required": [ + "p1", + "p2", + "p3", + "p4", + "type" + ] + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + }, + "type": { + "type": "string", + "enum": [ + "polyline" + ] + } + }, + "nullable": false, + "required": [ + "points", + "type" + ] + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + } + }, + "nullable": false, + "required": [ + "points" + ] + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + } + }, + "nullable": false, + "required": [ + "points" + ] + } + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + }, + "nullable": false, + "required": [ + "outer", + "inner", + "type" + ] + }, + { + "type": "object", + "properties": { + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "radius": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "circle" + ] + } + }, + "nullable": false, + "required": [ + "centroid", + "radius", + "type" + ] + } + ] + } + }, + "nullable": false, + "required": [ + "value" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectUnionImplicit.json b/test/schemas/llm/type/ObjectUnionImplicit.json new file mode 100644 index 0000000000..cf14b4f54a --- /dev/null +++ b/test/schemas/llm/type/ObjectUnionImplicit.json @@ -0,0 +1,432 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "width": { + "type": "number", + "nullable": true + }, + "distance": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "p1", + "p2" + ] + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "p1", + "p2", + "p3" + ] + }, + { + "type": "object", + "properties": { + "p1": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p2": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "p4": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "width": { + "type": "number", + "nullable": true + }, + "height": { + "type": "number", + "nullable": true + }, + "area": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "p1", + "p2", + "p3", + "p4" + ] + }, + { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "points" + ] + }, + { + "type": "object", + "properties": { + "outer": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "points" + ] + }, + "inner": { + "type": "array", + "items": { + "type": "object", + "properties": { + "points": { + "type": "array", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + } + }, + "length": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "points" + ] + } + }, + "area": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "outer" + ] + }, + { + "type": "object", + "properties": { + "radius": { + "type": "number" + }, + "centroid": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "slope": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "x", + "y" + ] + }, + "area": { + "type": "number", + "nullable": true + } + }, + "nullable": false, + "required": [ + "radius" + ] + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ObjectUnionNonPredictable.json b/test/schemas/llm/type/ObjectUnionNonPredictable.json new file mode 100644 index 0000000000..65d5ecafa0 --- /dev/null +++ b/test/schemas/llm/type/ObjectUnionNonPredictable.json @@ -0,0 +1,97 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "nullable": false, + "required": [ + "value" + ] + } + }, + "nullable": false, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "value" + ] + } + }, + "nullable": false, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "value" + ] + } + }, + "nullable": false, + "required": [ + "value" + ] + } + ] + } + }, + "nullable": false, + "required": [ + "value" + ] + } + }, + "nullable": false, + "required": [ + "value" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/TemplateAtomic.json b/test/schemas/llm/type/TemplateAtomic.json new file mode 100644 index 0000000000..bd8a984d88 --- /dev/null +++ b/test/schemas/llm/type/TemplateAtomic.json @@ -0,0 +1,51 @@ +{ + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + "postfix": { + "type": "string", + "pattern": "((.*)_postfix)$" + }, + "middle_string": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_string_empty": { + "type": "string", + "pattern": "^(the_(.*)_value)$" + }, + "middle_numeric": { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + "middle_boolean": { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + }, + "ipv4": { + "type": "string", + "pattern": "^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\.[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)$" + }, + "email": { + "type": "string", + "pattern": "((.*)@(.*)\\.(.*))" + } + }, + "nullable": false, + "required": [ + "prefix", + "postfix", + "middle_string", + "middle_string_empty", + "middle_numeric", + "middle_boolean", + "ipv4", + "email" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/TemplateConstant.json b/test/schemas/llm/type/TemplateConstant.json new file mode 100644 index 0000000000..04ecd5f5b9 --- /dev/null +++ b/test/schemas/llm/type/TemplateConstant.json @@ -0,0 +1,53 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "enum": [ + "prefix_A", + "prefix_B", + "prefix_C" + ] + }, + "postfix": { + "type": "string", + "enum": [ + "1_postfix", + "2_postfix", + "3_postfix" + ] + }, + "combined": { + "type": "string", + "enum": [ + "the_1_value_with_label_A", + "the_1_value_with_label_B", + "the_1_value_with_label_C", + "the_2_value_with_label_A", + "the_2_value_with_label_B", + "the_2_value_with_label_C", + "the_3_value_with_label_A", + "the_3_value_with_label_B", + "the_3_value_with_label_C" + ] + } + }, + "nullable": false, + "required": [ + "prefix", + "postfix", + "combined" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/TemplateUnion.json b/test/schemas/llm/type/TemplateUnion.json new file mode 100644 index 0000000000..1e15748859 --- /dev/null +++ b/test/schemas/llm/type/TemplateUnion.json @@ -0,0 +1,80 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "pattern": "^((prefix_(.*))|(prefix_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?))$" + }, + "postfix": { + "type": "string", + "pattern": "(((.*)_postfix)|([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_postfix))$" + }, + "middle": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "type": "string", + "enum": [ + "the_false_value", + "the_true_value" + ] + } + ] + }, + "mixed": { + "oneOf": [ + { + "type": "string", + "pattern": "^(the_[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?_value)$" + }, + { + "type": "string", + "enum": [ + "the_A_value", + "the_B_value" + ] + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "name" + ] + } + ] + } + }, + "nullable": false, + "required": [ + "prefix", + "postfix", + "middle", + "mixed" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ToJsonArray.json b/test/schemas/llm/type/ToJsonArray.json new file mode 100644 index 0000000000..37a1378c03 --- /dev/null +++ b/test/schemas/llm/type/ToJsonArray.json @@ -0,0 +1,42 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "id" + ] + } + } + ] + }, + "minItems": 4, + "maxItems": 4 +} \ No newline at end of file diff --git a/test/schemas/llm/type/ToJsonAtomicSimple.json b/test/schemas/llm/type/ToJsonAtomicSimple.json new file mode 100644 index 0000000000..a9dc150cdd --- /dev/null +++ b/test/schemas/llm/type/ToJsonAtomicSimple.json @@ -0,0 +1,18 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 3, + "maxItems": 3 +} \ No newline at end of file diff --git a/test/schemas/llm/type/ToJsonAtomicUnion.json b/test/schemas/llm/type/ToJsonAtomicUnion.json new file mode 100644 index 0000000000..2aaa26775b --- /dev/null +++ b/test/schemas/llm/type/ToJsonAtomicUnion.json @@ -0,0 +1,19 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "boolean", + "nullable": true + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/ToJsonDouble.json b/test/schemas/llm/type/ToJsonDouble.json new file mode 100644 index 0000000000..c96a5c12b6 --- /dev/null +++ b/test/schemas/llm/type/ToJsonDouble.json @@ -0,0 +1,16 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "flag": { + "type": "boolean" + } + }, + "nullable": false, + "required": [ + "id", + "flag" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/ToJsonNull.json b/test/schemas/llm/type/ToJsonNull.json new file mode 100644 index 0000000000..743b3af495 --- /dev/null +++ b/test/schemas/llm/type/ToJsonNull.json @@ -0,0 +1,3 @@ +{ + "type": "null" +} \ No newline at end of file diff --git a/test/schemas/llm/type/ToJsonTuple.json b/test/schemas/llm/type/ToJsonTuple.json new file mode 100644 index 0000000000..0018d1d01f --- /dev/null +++ b/test/schemas/llm/type/ToJsonTuple.json @@ -0,0 +1,34 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "code", + "name" + ] + } + ] + }, + "minItems": 4, + "maxItems": 4 +} \ No newline at end of file diff --git a/test/schemas/llm/type/ToJsonUnion.json b/test/schemas/llm/type/ToJsonUnion.json new file mode 100644 index 0000000000..94faf372a3 --- /dev/null +++ b/test/schemas/llm/type/ToJsonUnion.json @@ -0,0 +1,76 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "id", + "mobile", + "name" + ] + }, + { + "type": "object", + "properties": { + "manufacturer": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "manufacturer", + "brand", + "name" + ] + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "mobile": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "id", + "mobile", + "name" + ] + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/TupleHierarchical.json b/test/schemas/llm/type/TupleHierarchical.json new file mode 100644 index 0000000000..1c3b3258e8 --- /dev/null +++ b/test/schemas/llm/type/TupleHierarchical.json @@ -0,0 +1,120 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "nullable": true + }, + { + "type": "number", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean", + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + } + ] + }, + "minItems": 3, + "maxItems": 3, + "nullable": true + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "minItems": 2, + "maxItems": 2 + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 3, + "maxItems": 3 + } + } + ] + }, + "minItems": 2, + "maxItems": 2, + "nullable": true + } + ] + }, + "minItems": 5, + "maxItems": 5 +} \ No newline at end of file diff --git a/test/schemas/llm/type/TupleRestArray.json b/test/schemas/llm/type/TupleRestArray.json new file mode 100644 index 0000000000..98b9dcf82e --- /dev/null +++ b/test/schemas/llm/type/TupleRestArray.json @@ -0,0 +1,20 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "minItems": 2 +} \ No newline at end of file diff --git a/test/schemas/llm/type/TupleRestAtomic.json b/test/schemas/llm/type/TupleRestAtomic.json new file mode 100644 index 0000000000..e0857629a7 --- /dev/null +++ b/test/schemas/llm/type/TupleRestAtomic.json @@ -0,0 +1,17 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minItems": 2 +} \ No newline at end of file diff --git a/test/schemas/llm/type/TupleRestObject.json b/test/schemas/llm/type/TupleRestObject.json new file mode 100644 index 0000000000..8f43262fe7 --- /dev/null +++ b/test/schemas/llm/type/TupleRestObject.json @@ -0,0 +1,26 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "nullable": false, + "required": [ + "value" + ] + } + ] + }, + "minItems": 2 +} \ No newline at end of file diff --git a/test/schemas/llm/type/TypeTagArray.json b/test/schemas/llm/type/TypeTagArray.json new file mode 100644 index 0000000000..5a29b02321 --- /dev/null +++ b/test/schemas/llm/type/TypeTagArray.json @@ -0,0 +1,68 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + }, + "equal": { + "type": "array", + "items": { + "type": "number", + "minimum": 10, + "maximum": 10 + }, + "minItems": 10, + "maxItems": 10 + }, + "unique": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "nullable": false, + "required": [ + "items", + "minItems", + "both", + "equal", + "unique" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/TypeTagArrayUnion.json b/test/schemas/llm/type/TypeTagArrayUnion.json new file mode 100644 index 0000000000..1d48a385b5 --- /dev/null +++ b/test/schemas/llm/type/TypeTagArrayUnion.json @@ -0,0 +1,57 @@ +{ + "type": "array", + "items": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": { + "type": "array", + "items": { + "type": "number", + "minimum": 3 + }, + "minItems": 3 + }, + "maxItems": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "maxLength": 7 + }, + { + "type": "number", + "maximum": 7 + } + ] + }, + "maxItems": 7 + }, + "both": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 3, + "maxItems": 7 + } + }, + "nullable": false, + "required": [ + "items", + "minItems", + "maxItems", + "both" + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/TypeTagAtomicUnion.json b/test/schemas/llm/type/TypeTagAtomicUnion.json new file mode 100644 index 0000000000..3cc9923e85 --- /dev/null +++ b/test/schemas/llm/type/TypeTagAtomicUnion.json @@ -0,0 +1,34 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3 + } + ] + } + }, + "nullable": false, + "required": [ + "value" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/TypeTagCustom.json b/test/schemas/llm/type/TypeTagCustom.json new file mode 100644 index 0000000000..0664ad68ca --- /dev/null +++ b/test/schemas/llm/type/TypeTagCustom.json @@ -0,0 +1,28 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "dollar": { + "type": "string", + "x-typia-monetary": "dollar" + }, + "postfix": { + "type": "string", + "x-typia-postfix": "abcd" + }, + "powerOf": { + "type": "number", + "x-typia-powerOf": 2 + } + }, + "nullable": false, + "required": [ + "id", + "dollar", + "postfix", + "powerOf" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/TypeTagDefault.json b/test/schemas/llm/type/TypeTagDefault.json new file mode 100644 index 0000000000..692ede47df --- /dev/null +++ b/test/schemas/llm/type/TypeTagDefault.json @@ -0,0 +1,107 @@ +{ + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "default": false + }, + "number": { + "type": "number", + "default": 1 + }, + "string": { + "type": "string", + "default": "two" + }, + "text": { + "type": "string", + "default": "Very long text, can you understand it?" + }, + "boolean_and_number_and_string": { + "oneOf": [ + { + "type": "number", + "default": 1 + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean", + "default": false + } + ] + }, + "union_but_boolean": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean", + "default": false + } + ] + }, + "union_but_number": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number", + "default": 1 + }, + { + "type": "boolean" + } + ] + }, + "union_but_string": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string", + "default": "two" + }, + { + "type": "boolean" + } + ] + }, + "boolean_and_number_and_template": { + "oneOf": [ + { + "type": "string", + "pattern": "^(prefix_(.*))" + }, + { + "type": "number", + "default": 2 + }, + { + "type": "boolean", + "default": false + } + ] + } + }, + "nullable": false, + "required": [ + "boolean", + "number", + "string", + "text", + "boolean_and_number_and_string", + "union_but_boolean", + "union_but_number", + "union_but_string", + "boolean_and_number_and_template" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/TypeTagFormat.json b/test/schemas/llm/type/TypeTagFormat.json new file mode 100644 index 0000000000..f306d185b7 --- /dev/null +++ b/test/schemas/llm/type/TypeTagFormat.json @@ -0,0 +1,118 @@ +{ + "type": "object", + "properties": { + "byte": { + "type": "string", + "format": "byte" + }, + "password": { + "type": "string", + "format": "password" + }, + "regex": { + "type": "string", + "format": "regex" + }, + "uuid": { + "type": "string", + "format": "uuid" + }, + "email": { + "type": "string", + "format": "email" + }, + "hostname": { + "type": "string", + "format": "hostname" + }, + "idnEmail": { + "type": "string", + "format": "idn-email" + }, + "idnHostname": { + "type": "string", + "format": "idn-hostname" + }, + "iri": { + "type": "string", + "format": "iri" + }, + "iriReference": { + "type": "string", + "format": "iri-reference" + }, + "ipv4": { + "type": "string", + "format": "ipv4" + }, + "ipv6": { + "type": "string", + "format": "ipv6" + }, + "uri": { + "type": "string", + "format": "uri" + }, + "uriReference": { + "type": "string", + "format": "uri-reference" + }, + "uriTemplate": { + "type": "string", + "format": "uri-template" + }, + "url": { + "type": "string", + "format": "url" + }, + "datetime": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date" + }, + "time": { + "type": "string", + "format": "time" + }, + "duration": { + "type": "string", + "format": "duration" + }, + "jsonPointer": { + "type": "string", + "format": "json-pointer" + }, + "relativeJsonPointer": { + "type": "string", + "format": "relative-json-pointer" + } + }, + "nullable": false, + "required": [ + "byte", + "password", + "regex", + "uuid", + "email", + "hostname", + "idnEmail", + "idnHostname", + "iri", + "iriReference", + "ipv4", + "ipv6", + "uri", + "uriReference", + "uriTemplate", + "url", + "datetime", + "date", + "time", + "duration", + "jsonPointer", + "relativeJsonPointer" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/TypeTagLength.json b/test/schemas/llm/type/TypeTagLength.json new file mode 100644 index 0000000000..b6456ad2ee --- /dev/null +++ b/test/schemas/llm/type/TypeTagLength.json @@ -0,0 +1,48 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fixed": { + "type": "string", + "minLength": 5, + "maxLength": 5 + }, + "minimum": { + "type": "string", + "minLength": 3 + }, + "maximum": { + "type": "string", + "maxLength": 7 + }, + "minimum_and_maximum": { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + "equal": { + "type": "string", + "minLength": 10, + "maxLength": 19 + } + }, + "nullable": false, + "required": [ + "fixed", + "minimum", + "maximum", + "minimum_and_maximum", + "equal" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/TypeTagMatrix.json b/test/schemas/llm/type/TypeTagMatrix.json new file mode 100644 index 0000000000..be382592e4 --- /dev/null +++ b/test/schemas/llm/type/TypeTagMatrix.json @@ -0,0 +1,23 @@ +{ + "type": "object", + "properties": { + "matrix": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "minItems": 4, + "maxItems": 4 + }, + "minItems": 3, + "maxItems": 3 + } + }, + "nullable": false, + "required": [ + "matrix" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/TypeTagObjectUnion.json b/test/schemas/llm/type/TypeTagObjectUnion.json new file mode 100644 index 0000000000..02727a6a63 --- /dev/null +++ b/test/schemas/llm/type/TypeTagObjectUnion.json @@ -0,0 +1,34 @@ +{ + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "value": { + "type": "number", + "minimum": 3 + } + }, + "nullable": false, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 3, + "maxLength": 7 + } + }, + "nullable": false, + "required": [ + "value" + ] + } + ] + } +} \ No newline at end of file diff --git a/test/schemas/llm/type/TypeTagPattern.json b/test/schemas/llm/type/TypeTagPattern.json new file mode 100644 index 0000000000..9411000ad9 --- /dev/null +++ b/test/schemas/llm/type/TypeTagPattern.json @@ -0,0 +1,28 @@ +{ + "type": "object", + "properties": { + "uuid": { + "type": "string", + "pattern": "^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "email": { + "type": "string", + "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$" + }, + "ipv4": { + "type": "string", + "pattern": "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + }, + "ipv6": { + "type": "string", + "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$" + } + }, + "nullable": false, + "required": [ + "uuid", + "email", + "ipv4", + "ipv6" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/TypeTagRange.json b/test/schemas/llm/type/TypeTagRange.json new file mode 100644 index 0000000000..d026ba955e --- /dev/null +++ b/test/schemas/llm/type/TypeTagRange.json @@ -0,0 +1,76 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "greater": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3 + }, + "greater_equal": { + "type": "integer", + "minimum": 3 + }, + "less": { + "type": "integer", + "exclusiveMaximum": true, + "maximum": 7 + }, + "less_equal": { + "type": "integer", + "maximum": 7 + }, + "greater_less": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_equal_less": { + "type": "integer", + "minimum": 3, + "exclusiveMaximum": true, + "maximum": 7 + }, + "greater_less_equal": { + "type": "integer", + "exclusiveMinimum": true, + "minimum": 3, + "maximum": 7 + }, + "greater_equal_less_equal": { + "type": "integer", + "minimum": 3, + "maximum": 7 + }, + "equal": { + "type": "integer", + "minimum": 10, + "maximum": 10 + } + }, + "nullable": false, + "required": [ + "greater", + "greater_equal", + "less", + "less_equal", + "greater_less", + "greater_equal_less", + "greater_less_equal", + "greater_equal_less_equal", + "equal" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/TypeTagTuple.json b/test/schemas/llm/type/TypeTagTuple.json new file mode 100644 index 0000000000..a96c4a967f --- /dev/null +++ b/test/schemas/llm/type/TypeTagTuple.json @@ -0,0 +1,48 @@ +{ + "type": "object", + "properties": { + "tuple": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 7 + }, + { + "type": "number", + "minimum": 3, + "maximum": 7 + }, + { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 2 + }, + "minItems": 3, + "maxItems": 7 + }, + { + "type": "array", + "items": { + "type": "number", + "minimum": 1, + "maximum": 2 + }, + "minItems": 3, + "maxItems": 7 + } + ] + }, + "minItems": 4, + "maxItems": 4 + } + }, + "nullable": false, + "required": [ + "tuple" + ] +} \ No newline at end of file diff --git a/test/schemas/llm/type/TypeTagType.json b/test/schemas/llm/type/TypeTagType.json new file mode 100644 index 0000000000..3c7b4fdd2a --- /dev/null +++ b/test/schemas/llm/type/TypeTagType.json @@ -0,0 +1,48 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "properties": { + "int": { + "type": "integer" + }, + "uint": { + "type": "integer" + }, + "int32": { + "type": "integer" + }, + "uint32": { + "type": "integer" + }, + "int64": { + "type": "integer" + }, + "uint64": { + "type": "integer" + }, + "float": { + "type": "number" + } + }, + "nullable": false, + "required": [ + "int", + "uint", + "int32", + "uint32", + "int64", + "uint64", + "float" + ] + } + } + }, + "nullable": false, + "required": [ + "value" + ] +} \ No newline at end of file diff --git a/test/src/features/llm.schema/test_llm_schema_ArrayAny.ts b/test/src/features/llm.schema/test_llm_schema_ArrayAny.ts new file mode 100644 index 0000000000..a904bd1152 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ArrayAny.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ArrayAny } from "../../structures/ArrayAny"; + +export const test_llm_schema_ArrayAny = _test_llm_schema("ArrayAny")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ArrayAtomicAlias.ts b/test/src/features/llm.schema/test_llm_schema_ArrayAtomicAlias.ts new file mode 100644 index 0000000000..dcd41f135f --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ArrayAtomicAlias.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ArrayAtomicAlias } from "../../structures/ArrayAtomicAlias"; + +export const test_llm_schema_ArrayAtomicAlias = _test_llm_schema( + "ArrayAtomicAlias", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ArrayAtomicSimple.ts b/test/src/features/llm.schema/test_llm_schema_ArrayAtomicSimple.ts new file mode 100644 index 0000000000..bac8cdf2ca --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ArrayAtomicSimple.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ArrayAtomicSimple } from "../../structures/ArrayAtomicSimple"; + +export const test_llm_schema_ArrayAtomicSimple = _test_llm_schema( + "ArrayAtomicSimple", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ArrayHierarchical.ts b/test/src/features/llm.schema/test_llm_schema_ArrayHierarchical.ts new file mode 100644 index 0000000000..269606153f --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ArrayHierarchical.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ArrayHierarchical } from "../../structures/ArrayHierarchical"; + +export const test_llm_schema_ArrayHierarchical = _test_llm_schema( + "ArrayHierarchical", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ArrayHierarchicalPointer.ts b/test/src/features/llm.schema/test_llm_schema_ArrayHierarchicalPointer.ts new file mode 100644 index 0000000000..bc7cbd62ec --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ArrayHierarchicalPointer.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ArrayHierarchicalPointer } from "../../structures/ArrayHierarchicalPointer"; + +export const test_llm_schema_ArrayHierarchicalPointer = _test_llm_schema( + "ArrayHierarchicalPointer", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ArrayMatrix.ts b/test/src/features/llm.schema/test_llm_schema_ArrayMatrix.ts new file mode 100644 index 0000000000..463998f627 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ArrayMatrix.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ArrayMatrix } from "../../structures/ArrayMatrix"; + +export const test_llm_schema_ArrayMatrix = _test_llm_schema("ArrayMatrix")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ArraySimple.ts b/test/src/features/llm.schema/test_llm_schema_ArraySimple.ts new file mode 100644 index 0000000000..03f5da4d36 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ArraySimple.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ArraySimple } from "../../structures/ArraySimple"; + +export const test_llm_schema_ArraySimple = _test_llm_schema("ArraySimple")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ArrayUnion.ts b/test/src/features/llm.schema/test_llm_schema_ArrayUnion.ts new file mode 100644 index 0000000000..ff4482e315 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ArrayUnion.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ArrayUnion } from "../../structures/ArrayUnion"; + +export const test_llm_schema_ArrayUnion = _test_llm_schema("ArrayUnion")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_AtomicAlias.ts b/test/src/features/llm.schema/test_llm_schema_AtomicAlias.ts new file mode 100644 index 0000000000..611950de34 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_AtomicAlias.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { AtomicAlias } from "../../structures/AtomicAlias"; + +export const test_llm_schema_AtomicAlias = _test_llm_schema("AtomicAlias")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_AtomicClass.ts b/test/src/features/llm.schema/test_llm_schema_AtomicClass.ts new file mode 100644 index 0000000000..9dc662d8ed --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_AtomicClass.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { AtomicClass } from "../../structures/AtomicClass"; + +export const test_llm_schema_AtomicClass = _test_llm_schema("AtomicClass")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_AtomicIntersection.ts b/test/src/features/llm.schema/test_llm_schema_AtomicIntersection.ts new file mode 100644 index 0000000000..47e6577483 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_AtomicIntersection.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { AtomicIntersection } from "../../structures/AtomicIntersection"; + +export const test_llm_schema_AtomicIntersection = _test_llm_schema( + "AtomicIntersection", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_AtomicSimple.ts b/test/src/features/llm.schema/test_llm_schema_AtomicSimple.ts new file mode 100644 index 0000000000..2053c72f45 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_AtomicSimple.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { AtomicSimple } from "../../structures/AtomicSimple"; + +export const test_llm_schema_AtomicSimple = _test_llm_schema("AtomicSimple")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_AtomicUnion.ts b/test/src/features/llm.schema/test_llm_schema_AtomicUnion.ts new file mode 100644 index 0000000000..26e29cfbdb --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_AtomicUnion.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { AtomicUnion } from "../../structures/AtomicUnion"; + +export const test_llm_schema_AtomicUnion = _test_llm_schema("AtomicUnion")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ClassGetter.ts b/test/src/features/llm.schema/test_llm_schema_ClassGetter.ts new file mode 100644 index 0000000000..b0b2446be3 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ClassGetter.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ClassGetter } from "../../structures/ClassGetter"; + +export const test_llm_schema_ClassGetter = _test_llm_schema("ClassGetter")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ClassMethod.ts b/test/src/features/llm.schema/test_llm_schema_ClassMethod.ts new file mode 100644 index 0000000000..db82f44c38 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ClassMethod.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ClassMethod } from "../../structures/ClassMethod"; + +export const test_llm_schema_ClassMethod = _test_llm_schema("ClassMethod")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ClassPropertyAssignment.ts b/test/src/features/llm.schema/test_llm_schema_ClassPropertyAssignment.ts new file mode 100644 index 0000000000..bc15f18035 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ClassPropertyAssignment.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ClassPropertyAssignment } from "../../structures/ClassPropertyAssignment"; + +export const test_llm_schema_ClassPropertyAssignment = _test_llm_schema( + "ClassPropertyAssignment", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_CommentTagArray.ts b/test/src/features/llm.schema/test_llm_schema_CommentTagArray.ts new file mode 100644 index 0000000000..0ae698de24 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_CommentTagArray.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { CommentTagArray } from "../../structures/CommentTagArray"; + +export const test_llm_schema_CommentTagArray = _test_llm_schema( + "CommentTagArray", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_CommentTagArrayUnion.ts b/test/src/features/llm.schema/test_llm_schema_CommentTagArrayUnion.ts new file mode 100644 index 0000000000..146f898ed9 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_CommentTagArrayUnion.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { CommentTagArrayUnion } from "../../structures/CommentTagArrayUnion"; + +export const test_llm_schema_CommentTagArrayUnion = _test_llm_schema( + "CommentTagArrayUnion", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_CommentTagAtomicUnion.ts b/test/src/features/llm.schema/test_llm_schema_CommentTagAtomicUnion.ts new file mode 100644 index 0000000000..2a3cd565d3 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_CommentTagAtomicUnion.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { CommentTagAtomicUnion } from "../../structures/CommentTagAtomicUnion"; + +export const test_llm_schema_CommentTagAtomicUnion = _test_llm_schema( + "CommentTagAtomicUnion", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_CommentTagDefault.ts b/test/src/features/llm.schema/test_llm_schema_CommentTagDefault.ts new file mode 100644 index 0000000000..dd7541881f --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_CommentTagDefault.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { CommentTagDefault } from "../../structures/CommentTagDefault"; + +export const test_llm_schema_CommentTagDefault = _test_llm_schema( + "CommentTagDefault", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_CommentTagFormat.ts b/test/src/features/llm.schema/test_llm_schema_CommentTagFormat.ts new file mode 100644 index 0000000000..655159b1ca --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_CommentTagFormat.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { CommentTagFormat } from "../../structures/CommentTagFormat"; + +export const test_llm_schema_CommentTagFormat = _test_llm_schema( + "CommentTagFormat", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_CommentTagLength.ts b/test/src/features/llm.schema/test_llm_schema_CommentTagLength.ts new file mode 100644 index 0000000000..02a7048d60 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_CommentTagLength.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { CommentTagLength } from "../../structures/CommentTagLength"; + +export const test_llm_schema_CommentTagLength = _test_llm_schema( + "CommentTagLength", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_CommentTagObjectUnion.ts b/test/src/features/llm.schema/test_llm_schema_CommentTagObjectUnion.ts new file mode 100644 index 0000000000..9f22cdce50 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_CommentTagObjectUnion.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { CommentTagObjectUnion } from "../../structures/CommentTagObjectUnion"; + +export const test_llm_schema_CommentTagObjectUnion = _test_llm_schema( + "CommentTagObjectUnion", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_CommentTagPattern.ts b/test/src/features/llm.schema/test_llm_schema_CommentTagPattern.ts new file mode 100644 index 0000000000..8b4c2da902 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_CommentTagPattern.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { CommentTagPattern } from "../../structures/CommentTagPattern"; + +export const test_llm_schema_CommentTagPattern = _test_llm_schema( + "CommentTagPattern", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_CommentTagRange.ts b/test/src/features/llm.schema/test_llm_schema_CommentTagRange.ts new file mode 100644 index 0000000000..392703d652 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_CommentTagRange.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { CommentTagRange } from "../../structures/CommentTagRange"; + +export const test_llm_schema_CommentTagRange = _test_llm_schema( + "CommentTagRange", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_CommentTagType.ts b/test/src/features/llm.schema/test_llm_schema_CommentTagType.ts new file mode 100644 index 0000000000..0259aa953c --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_CommentTagType.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { CommentTagType } from "../../structures/CommentTagType"; + +export const test_llm_schema_CommentTagType = _test_llm_schema( + "CommentTagType", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ConstantAtomicAbsorbed.ts b/test/src/features/llm.schema/test_llm_schema_ConstantAtomicAbsorbed.ts new file mode 100644 index 0000000000..12679944d2 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ConstantAtomicAbsorbed.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ConstantAtomicAbsorbed } from "../../structures/ConstantAtomicAbsorbed"; + +export const test_llm_schema_ConstantAtomicAbsorbed = _test_llm_schema( + "ConstantAtomicAbsorbed", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ConstantAtomicSimple.ts b/test/src/features/llm.schema/test_llm_schema_ConstantAtomicSimple.ts new file mode 100644 index 0000000000..0f6a3eeeb3 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ConstantAtomicSimple.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ConstantAtomicSimple } from "../../structures/ConstantAtomicSimple"; + +export const test_llm_schema_ConstantAtomicSimple = _test_llm_schema( + "ConstantAtomicSimple", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ConstantAtomicTagged.ts b/test/src/features/llm.schema/test_llm_schema_ConstantAtomicTagged.ts new file mode 100644 index 0000000000..3d4ba71e6c --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ConstantAtomicTagged.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ConstantAtomicTagged } from "../../structures/ConstantAtomicTagged"; + +export const test_llm_schema_ConstantAtomicTagged = _test_llm_schema( + "ConstantAtomicTagged", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ConstantAtomicUnion.ts b/test/src/features/llm.schema/test_llm_schema_ConstantAtomicUnion.ts new file mode 100644 index 0000000000..64130e4ad0 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ConstantAtomicUnion.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ConstantAtomicUnion } from "../../structures/ConstantAtomicUnion"; + +export const test_llm_schema_ConstantAtomicUnion = _test_llm_schema( + "ConstantAtomicUnion", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ConstantAtomicWrapper.ts b/test/src/features/llm.schema/test_llm_schema_ConstantAtomicWrapper.ts new file mode 100644 index 0000000000..4b984fb9ea --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ConstantAtomicWrapper.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ConstantAtomicWrapper } from "../../structures/ConstantAtomicWrapper"; + +export const test_llm_schema_ConstantAtomicWrapper = _test_llm_schema( + "ConstantAtomicWrapper", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ConstantConstEnumeration.ts b/test/src/features/llm.schema/test_llm_schema_ConstantConstEnumeration.ts new file mode 100644 index 0000000000..4afd55f92d --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ConstantConstEnumeration.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ConstantConstEnumeration } from "../../structures/ConstantConstEnumeration"; + +export const test_llm_schema_ConstantConstEnumeration = _test_llm_schema( + "ConstantConstEnumeration", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ConstantEnumeration.ts b/test/src/features/llm.schema/test_llm_schema_ConstantEnumeration.ts new file mode 100644 index 0000000000..8b5de65645 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ConstantEnumeration.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ConstantEnumeration } from "../../structures/ConstantEnumeration"; + +export const test_llm_schema_ConstantEnumeration = _test_llm_schema( + "ConstantEnumeration", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ConstantIntersection.ts b/test/src/features/llm.schema/test_llm_schema_ConstantIntersection.ts new file mode 100644 index 0000000000..a03a82d0ee --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ConstantIntersection.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ConstantIntersection } from "../../structures/ConstantIntersection"; + +export const test_llm_schema_ConstantIntersection = _test_llm_schema( + "ConstantIntersection", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_DynamicArray.ts b/test/src/features/llm.schema/test_llm_schema_DynamicArray.ts new file mode 100644 index 0000000000..e94a4d67ad --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_DynamicArray.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { DynamicArray } from "../../structures/DynamicArray"; + +export const test_llm_schema_DynamicArray = _test_llm_schema("DynamicArray")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_DynamicComposite.ts b/test/src/features/llm.schema/test_llm_schema_DynamicComposite.ts new file mode 100644 index 0000000000..1e233acd94 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_DynamicComposite.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { DynamicComposite } from "../../structures/DynamicComposite"; + +export const test_llm_schema_DynamicComposite = _test_llm_schema( + "DynamicComposite", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_DynamicConstant.ts b/test/src/features/llm.schema/test_llm_schema_DynamicConstant.ts new file mode 100644 index 0000000000..0ed4341574 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_DynamicConstant.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { DynamicConstant } from "../../structures/DynamicConstant"; + +export const test_llm_schema_DynamicConstant = _test_llm_schema( + "DynamicConstant", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_DynamicEnumeration.ts b/test/src/features/llm.schema/test_llm_schema_DynamicEnumeration.ts new file mode 100644 index 0000000000..ae0746504b --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_DynamicEnumeration.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { DynamicEnumeration } from "../../structures/DynamicEnumeration"; + +export const test_llm_schema_DynamicEnumeration = _test_llm_schema( + "DynamicEnumeration", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_DynamicNever.ts b/test/src/features/llm.schema/test_llm_schema_DynamicNever.ts new file mode 100644 index 0000000000..a8aeea93fb --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_DynamicNever.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { DynamicNever } from "../../structures/DynamicNever"; + +export const test_llm_schema_DynamicNever = _test_llm_schema("DynamicNever")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_DynamicSimple.ts b/test/src/features/llm.schema/test_llm_schema_DynamicSimple.ts new file mode 100644 index 0000000000..61e2e29e90 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_DynamicSimple.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { DynamicSimple } from "../../structures/DynamicSimple"; + +export const test_llm_schema_DynamicSimple = _test_llm_schema("DynamicSimple")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_DynamicTemplate.ts b/test/src/features/llm.schema/test_llm_schema_DynamicTemplate.ts new file mode 100644 index 0000000000..4fe621d1ca --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_DynamicTemplate.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { DynamicTemplate } from "../../structures/DynamicTemplate"; + +export const test_llm_schema_DynamicTemplate = _test_llm_schema( + "DynamicTemplate", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_DynamicUndefined.ts b/test/src/features/llm.schema/test_llm_schema_DynamicUndefined.ts new file mode 100644 index 0000000000..e959c5e401 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_DynamicUndefined.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { DynamicUndefined } from "../../structures/DynamicUndefined"; + +export const test_llm_schema_DynamicUndefined = _test_llm_schema( + "DynamicUndefined", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_DynamicUnion.ts b/test/src/features/llm.schema/test_llm_schema_DynamicUnion.ts new file mode 100644 index 0000000000..19c71f9c35 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_DynamicUnion.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { DynamicUnion } from "../../structures/DynamicUnion"; + +export const test_llm_schema_DynamicUnion = _test_llm_schema("DynamicUnion")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectAlias.ts b/test/src/features/llm.schema/test_llm_schema_ObjectAlias.ts new file mode 100644 index 0000000000..205c82de72 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectAlias.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectAlias } from "../../structures/ObjectAlias"; + +export const test_llm_schema_ObjectAlias = _test_llm_schema("ObjectAlias")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectDate.ts b/test/src/features/llm.schema/test_llm_schema_ObjectDate.ts new file mode 100644 index 0000000000..75dbe54dc6 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectDate.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectDate } from "../../structures/ObjectDate"; + +export const test_llm_schema_ObjectDate = _test_llm_schema("ObjectDate")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectDescription.ts b/test/src/features/llm.schema/test_llm_schema_ObjectDescription.ts new file mode 100644 index 0000000000..c898d096b5 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectDescription.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectDescription } from "../../structures/ObjectDescription"; + +export const test_llm_schema_ObjectDescription = _test_llm_schema( + "ObjectDescription", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectDynamic.ts b/test/src/features/llm.schema/test_llm_schema_ObjectDynamic.ts new file mode 100644 index 0000000000..9340768a4a --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectDynamic.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectDynamic } from "../../structures/ObjectDynamic"; + +export const test_llm_schema_ObjectDynamic = _test_llm_schema("ObjectDynamic")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectGeneric.ts b/test/src/features/llm.schema/test_llm_schema_ObjectGeneric.ts new file mode 100644 index 0000000000..3fc191c257 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectGeneric.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectGeneric } from "../../structures/ObjectGeneric"; + +export const test_llm_schema_ObjectGeneric = _test_llm_schema("ObjectGeneric")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectGenericAlias.ts b/test/src/features/llm.schema/test_llm_schema_ObjectGenericAlias.ts new file mode 100644 index 0000000000..276389d697 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectGenericAlias.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectGenericAlias } from "../../structures/ObjectGenericAlias"; + +export const test_llm_schema_ObjectGenericAlias = _test_llm_schema( + "ObjectGenericAlias", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectGenericArray.ts b/test/src/features/llm.schema/test_llm_schema_ObjectGenericArray.ts new file mode 100644 index 0000000000..d993a03da3 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectGenericArray.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectGenericArray } from "../../structures/ObjectGenericArray"; + +export const test_llm_schema_ObjectGenericArray = _test_llm_schema( + "ObjectGenericArray", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectGenericUnion.ts b/test/src/features/llm.schema/test_llm_schema_ObjectGenericUnion.ts new file mode 100644 index 0000000000..dfdd28861f --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectGenericUnion.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectGenericUnion } from "../../structures/ObjectGenericUnion"; + +export const test_llm_schema_ObjectGenericUnion = _test_llm_schema( + "ObjectGenericUnion", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectHierarchical.ts b/test/src/features/llm.schema/test_llm_schema_ObjectHierarchical.ts new file mode 100644 index 0000000000..12bea708c0 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectHierarchical.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectHierarchical } from "../../structures/ObjectHierarchical"; + +export const test_llm_schema_ObjectHierarchical = _test_llm_schema( + "ObjectHierarchical", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectInternal.ts b/test/src/features/llm.schema/test_llm_schema_ObjectInternal.ts new file mode 100644 index 0000000000..636b92cdcd --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectInternal.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectInternal } from "../../structures/ObjectInternal"; + +export const test_llm_schema_ObjectInternal = _test_llm_schema( + "ObjectInternal", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectIntersection.ts b/test/src/features/llm.schema/test_llm_schema_ObjectIntersection.ts new file mode 100644 index 0000000000..fc132e8172 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectIntersection.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectIntersection } from "../../structures/ObjectIntersection"; + +export const test_llm_schema_ObjectIntersection = _test_llm_schema( + "ObjectIntersection", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectJsonTag.ts b/test/src/features/llm.schema/test_llm_schema_ObjectJsonTag.ts new file mode 100644 index 0000000000..8d79e2ae22 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectJsonTag.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectJsonTag } from "../../structures/ObjectJsonTag"; + +export const test_llm_schema_ObjectJsonTag = _test_llm_schema("ObjectJsonTag")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectLiteralProperty.ts b/test/src/features/llm.schema/test_llm_schema_ObjectLiteralProperty.ts new file mode 100644 index 0000000000..db74429636 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectLiteralProperty.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectLiteralProperty } from "../../structures/ObjectLiteralProperty"; + +export const test_llm_schema_ObjectLiteralProperty = _test_llm_schema( + "ObjectLiteralProperty", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectLiteralType.ts b/test/src/features/llm.schema/test_llm_schema_ObjectLiteralType.ts new file mode 100644 index 0000000000..7a98bf9887 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectLiteralType.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectLiteralType } from "../../structures/ObjectLiteralType"; + +export const test_llm_schema_ObjectLiteralType = _test_llm_schema( + "ObjectLiteralType", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectNullable.ts b/test/src/features/llm.schema/test_llm_schema_ObjectNullable.ts new file mode 100644 index 0000000000..39af55c3fc --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectNullable.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectNullable } from "../../structures/ObjectNullable"; + +export const test_llm_schema_ObjectNullable = _test_llm_schema( + "ObjectNullable", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectOptional.ts b/test/src/features/llm.schema/test_llm_schema_ObjectOptional.ts new file mode 100644 index 0000000000..f897bc4c8d --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectOptional.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectOptional } from "../../structures/ObjectOptional"; + +export const test_llm_schema_ObjectOptional = _test_llm_schema( + "ObjectOptional", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectPrimitive.ts b/test/src/features/llm.schema/test_llm_schema_ObjectPrimitive.ts new file mode 100644 index 0000000000..3f7e4489d6 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectPrimitive.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectPrimitive } from "../../structures/ObjectPrimitive"; + +export const test_llm_schema_ObjectPrimitive = _test_llm_schema( + "ObjectPrimitive", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectPropertyNullable.ts b/test/src/features/llm.schema/test_llm_schema_ObjectPropertyNullable.ts new file mode 100644 index 0000000000..38953c03c0 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectPropertyNullable.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectPropertyNullable } from "../../structures/ObjectPropertyNullable"; + +export const test_llm_schema_ObjectPropertyNullable = _test_llm_schema( + "ObjectPropertyNullable", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectSimple.ts b/test/src/features/llm.schema/test_llm_schema_ObjectSimple.ts new file mode 100644 index 0000000000..13449e9ba7 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectSimple.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectSimple } from "../../structures/ObjectSimple"; + +export const test_llm_schema_ObjectSimple = _test_llm_schema("ObjectSimple")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectTuple.ts b/test/src/features/llm.schema/test_llm_schema_ObjectTuple.ts new file mode 100644 index 0000000000..f0a3685e35 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectTuple.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectTuple } from "../../structures/ObjectTuple"; + +export const test_llm_schema_ObjectTuple = _test_llm_schema("ObjectTuple")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectUndefined.ts b/test/src/features/llm.schema/test_llm_schema_ObjectUndefined.ts new file mode 100644 index 0000000000..6aa8908a4f --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectUndefined.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectUndefined } from "../../structures/ObjectUndefined"; + +export const test_llm_schema_ObjectUndefined = _test_llm_schema( + "ObjectUndefined", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectUnionComposite.ts b/test/src/features/llm.schema/test_llm_schema_ObjectUnionComposite.ts new file mode 100644 index 0000000000..07ec62c6ce --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectUnionComposite.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectUnionComposite } from "../../structures/ObjectUnionComposite"; + +export const test_llm_schema_ObjectUnionComposite = _test_llm_schema( + "ObjectUnionComposite", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectUnionCompositePointer.ts b/test/src/features/llm.schema/test_llm_schema_ObjectUnionCompositePointer.ts new file mode 100644 index 0000000000..b8805dc304 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectUnionCompositePointer.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectUnionCompositePointer } from "../../structures/ObjectUnionCompositePointer"; + +export const test_llm_schema_ObjectUnionCompositePointer = _test_llm_schema( + "ObjectUnionCompositePointer", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectUnionDouble.ts b/test/src/features/llm.schema/test_llm_schema_ObjectUnionDouble.ts new file mode 100644 index 0000000000..8f0c340a46 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectUnionDouble.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectUnionDouble } from "../../structures/ObjectUnionDouble"; + +export const test_llm_schema_ObjectUnionDouble = _test_llm_schema( + "ObjectUnionDouble", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectUnionExplicit.ts b/test/src/features/llm.schema/test_llm_schema_ObjectUnionExplicit.ts new file mode 100644 index 0000000000..fc65826006 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectUnionExplicit.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectUnionExplicit } from "../../structures/ObjectUnionExplicit"; + +export const test_llm_schema_ObjectUnionExplicit = _test_llm_schema( + "ObjectUnionExplicit", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectUnionExplicitPointer.ts b/test/src/features/llm.schema/test_llm_schema_ObjectUnionExplicitPointer.ts new file mode 100644 index 0000000000..debdac1ab2 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectUnionExplicitPointer.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectUnionExplicitPointer } from "../../structures/ObjectUnionExplicitPointer"; + +export const test_llm_schema_ObjectUnionExplicitPointer = _test_llm_schema( + "ObjectUnionExplicitPointer", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectUnionImplicit.ts b/test/src/features/llm.schema/test_llm_schema_ObjectUnionImplicit.ts new file mode 100644 index 0000000000..ec7afa0e21 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectUnionImplicit.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectUnionImplicit } from "../../structures/ObjectUnionImplicit"; + +export const test_llm_schema_ObjectUnionImplicit = _test_llm_schema( + "ObjectUnionImplicit", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ObjectUnionNonPredictable.ts b/test/src/features/llm.schema/test_llm_schema_ObjectUnionNonPredictable.ts new file mode 100644 index 0000000000..b42b5fff51 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ObjectUnionNonPredictable.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ObjectUnionNonPredictable } from "../../structures/ObjectUnionNonPredictable"; + +export const test_llm_schema_ObjectUnionNonPredictable = _test_llm_schema( + "ObjectUnionNonPredictable", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_TemplateAtomic.ts b/test/src/features/llm.schema/test_llm_schema_TemplateAtomic.ts new file mode 100644 index 0000000000..bb1015d44f --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TemplateAtomic.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TemplateAtomic } from "../../structures/TemplateAtomic"; + +export const test_llm_schema_TemplateAtomic = _test_llm_schema( + "TemplateAtomic", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_TemplateConstant.ts b/test/src/features/llm.schema/test_llm_schema_TemplateConstant.ts new file mode 100644 index 0000000000..5e44a3bb24 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TemplateConstant.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TemplateConstant } from "../../structures/TemplateConstant"; + +export const test_llm_schema_TemplateConstant = _test_llm_schema( + "TemplateConstant", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_TemplateUnion.ts b/test/src/features/llm.schema/test_llm_schema_TemplateUnion.ts new file mode 100644 index 0000000000..2e21b1fbf6 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TemplateUnion.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TemplateUnion } from "../../structures/TemplateUnion"; + +export const test_llm_schema_TemplateUnion = _test_llm_schema("TemplateUnion")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ToJsonArray.ts b/test/src/features/llm.schema/test_llm_schema_ToJsonArray.ts new file mode 100644 index 0000000000..d4b44bd12e --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ToJsonArray.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ToJsonArray } from "../../structures/ToJsonArray"; + +export const test_llm_schema_ToJsonArray = _test_llm_schema("ToJsonArray")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ToJsonAtomicSimple.ts b/test/src/features/llm.schema/test_llm_schema_ToJsonAtomicSimple.ts new file mode 100644 index 0000000000..cae4764af0 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ToJsonAtomicSimple.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ToJsonAtomicSimple } from "../../structures/ToJsonAtomicSimple"; + +export const test_llm_schema_ToJsonAtomicSimple = _test_llm_schema( + "ToJsonAtomicSimple", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ToJsonAtomicUnion.ts b/test/src/features/llm.schema/test_llm_schema_ToJsonAtomicUnion.ts new file mode 100644 index 0000000000..c30568a82c --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ToJsonAtomicUnion.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ToJsonAtomicUnion } from "../../structures/ToJsonAtomicUnion"; + +export const test_llm_schema_ToJsonAtomicUnion = _test_llm_schema( + "ToJsonAtomicUnion", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_ToJsonDouble.ts b/test/src/features/llm.schema/test_llm_schema_ToJsonDouble.ts new file mode 100644 index 0000000000..4bea2d320b --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ToJsonDouble.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ToJsonDouble } from "../../structures/ToJsonDouble"; + +export const test_llm_schema_ToJsonDouble = _test_llm_schema("ToJsonDouble")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ToJsonNull.ts b/test/src/features/llm.schema/test_llm_schema_ToJsonNull.ts new file mode 100644 index 0000000000..5d058cd379 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ToJsonNull.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ToJsonNull } from "../../structures/ToJsonNull"; + +export const test_llm_schema_ToJsonNull = _test_llm_schema("ToJsonNull")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ToJsonTuple.ts b/test/src/features/llm.schema/test_llm_schema_ToJsonTuple.ts new file mode 100644 index 0000000000..e3616eda27 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ToJsonTuple.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ToJsonTuple } from "../../structures/ToJsonTuple"; + +export const test_llm_schema_ToJsonTuple = _test_llm_schema("ToJsonTuple")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_ToJsonUnion.ts b/test/src/features/llm.schema/test_llm_schema_ToJsonUnion.ts new file mode 100644 index 0000000000..61f32dd5f4 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_ToJsonUnion.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { ToJsonUnion } from "../../structures/ToJsonUnion"; + +export const test_llm_schema_ToJsonUnion = _test_llm_schema("ToJsonUnion")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_TupleHierarchical.ts b/test/src/features/llm.schema/test_llm_schema_TupleHierarchical.ts new file mode 100644 index 0000000000..aff57f6fa8 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TupleHierarchical.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TupleHierarchical } from "../../structures/TupleHierarchical"; + +export const test_llm_schema_TupleHierarchical = _test_llm_schema( + "TupleHierarchical", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_TupleRestArray.ts b/test/src/features/llm.schema/test_llm_schema_TupleRestArray.ts new file mode 100644 index 0000000000..b6c5622836 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TupleRestArray.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TupleRestArray } from "../../structures/TupleRestArray"; + +export const test_llm_schema_TupleRestArray = _test_llm_schema( + "TupleRestArray", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_TupleRestAtomic.ts b/test/src/features/llm.schema/test_llm_schema_TupleRestAtomic.ts new file mode 100644 index 0000000000..b72e4f0285 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TupleRestAtomic.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TupleRestAtomic } from "../../structures/TupleRestAtomic"; + +export const test_llm_schema_TupleRestAtomic = _test_llm_schema( + "TupleRestAtomic", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_TupleRestObject.ts b/test/src/features/llm.schema/test_llm_schema_TupleRestObject.ts new file mode 100644 index 0000000000..f7ea113a4d --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TupleRestObject.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TupleRestObject } from "../../structures/TupleRestObject"; + +export const test_llm_schema_TupleRestObject = _test_llm_schema( + "TupleRestObject", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_TypeTagArray.ts b/test/src/features/llm.schema/test_llm_schema_TypeTagArray.ts new file mode 100644 index 0000000000..dfe1663ce3 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TypeTagArray.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TypeTagArray } from "../../structures/TypeTagArray"; + +export const test_llm_schema_TypeTagArray = _test_llm_schema("TypeTagArray")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_TypeTagArrayUnion.ts b/test/src/features/llm.schema/test_llm_schema_TypeTagArrayUnion.ts new file mode 100644 index 0000000000..1453494e1c --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TypeTagArrayUnion.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TypeTagArrayUnion } from "../../structures/TypeTagArrayUnion"; + +export const test_llm_schema_TypeTagArrayUnion = _test_llm_schema( + "TypeTagArrayUnion", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_TypeTagAtomicUnion.ts b/test/src/features/llm.schema/test_llm_schema_TypeTagAtomicUnion.ts new file mode 100644 index 0000000000..ebb7251e12 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TypeTagAtomicUnion.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TypeTagAtomicUnion } from "../../structures/TypeTagAtomicUnion"; + +export const test_llm_schema_TypeTagAtomicUnion = _test_llm_schema( + "TypeTagAtomicUnion", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_TypeTagCustom.ts b/test/src/features/llm.schema/test_llm_schema_TypeTagCustom.ts new file mode 100644 index 0000000000..c5ff33a23a --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TypeTagCustom.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TypeTagCustom } from "../../structures/TypeTagCustom"; + +export const test_llm_schema_TypeTagCustom = _test_llm_schema("TypeTagCustom")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_TypeTagDefault.ts b/test/src/features/llm.schema/test_llm_schema_TypeTagDefault.ts new file mode 100644 index 0000000000..3b760ef241 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TypeTagDefault.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TypeTagDefault } from "../../structures/TypeTagDefault"; + +export const test_llm_schema_TypeTagDefault = _test_llm_schema( + "TypeTagDefault", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_TypeTagFormat.ts b/test/src/features/llm.schema/test_llm_schema_TypeTagFormat.ts new file mode 100644 index 0000000000..1cc503fd34 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TypeTagFormat.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TypeTagFormat } from "../../structures/TypeTagFormat"; + +export const test_llm_schema_TypeTagFormat = _test_llm_schema("TypeTagFormat")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_TypeTagLength.ts b/test/src/features/llm.schema/test_llm_schema_TypeTagLength.ts new file mode 100644 index 0000000000..8a91a27ead --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TypeTagLength.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TypeTagLength } from "../../structures/TypeTagLength"; + +export const test_llm_schema_TypeTagLength = _test_llm_schema("TypeTagLength")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_TypeTagMatrix.ts b/test/src/features/llm.schema/test_llm_schema_TypeTagMatrix.ts new file mode 100644 index 0000000000..f1c8307cc5 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TypeTagMatrix.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TypeTagMatrix } from "../../structures/TypeTagMatrix"; + +export const test_llm_schema_TypeTagMatrix = _test_llm_schema("TypeTagMatrix")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_TypeTagObjectUnion.ts b/test/src/features/llm.schema/test_llm_schema_TypeTagObjectUnion.ts new file mode 100644 index 0000000000..896a977c05 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TypeTagObjectUnion.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TypeTagObjectUnion } from "../../structures/TypeTagObjectUnion"; + +export const test_llm_schema_TypeTagObjectUnion = _test_llm_schema( + "TypeTagObjectUnion", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_TypeTagPattern.ts b/test/src/features/llm.schema/test_llm_schema_TypeTagPattern.ts new file mode 100644 index 0000000000..be6156686c --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TypeTagPattern.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TypeTagPattern } from "../../structures/TypeTagPattern"; + +export const test_llm_schema_TypeTagPattern = _test_llm_schema( + "TypeTagPattern", +)(typia.llm.schema()); diff --git a/test/src/features/llm.schema/test_llm_schema_TypeTagRange.ts b/test/src/features/llm.schema/test_llm_schema_TypeTagRange.ts new file mode 100644 index 0000000000..757e1e01c5 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TypeTagRange.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TypeTagRange } from "../../structures/TypeTagRange"; + +export const test_llm_schema_TypeTagRange = _test_llm_schema("TypeTagRange")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_TypeTagTuple.ts b/test/src/features/llm.schema/test_llm_schema_TypeTagTuple.ts new file mode 100644 index 0000000000..0dc0a05f44 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TypeTagTuple.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TypeTagTuple } from "../../structures/TypeTagTuple"; + +export const test_llm_schema_TypeTagTuple = _test_llm_schema("TypeTagTuple")( + typia.llm.schema(), +); diff --git a/test/src/features/llm.schema/test_llm_schema_TypeTagType.ts b/test/src/features/llm.schema/test_llm_schema_TypeTagType.ts new file mode 100644 index 0000000000..dd5b692998 --- /dev/null +++ b/test/src/features/llm.schema/test_llm_schema_TypeTagType.ts @@ -0,0 +1,8 @@ +import typia from "typia"; + +import { _test_llm_schema } from "../../internal/_test_llm_schema"; +import { TypeTagType } from "../../structures/TypeTagType"; + +export const test_llm_schema_TypeTagType = _test_llm_schema("TypeTagType")( + typia.llm.schema(), +); diff --git a/test/src/internal/_test_llm_schema.ts b/test/src/internal/_test_llm_schema.ts new file mode 100644 index 0000000000..580bf08758 --- /dev/null +++ b/test/src/internal/_test_llm_schema.ts @@ -0,0 +1,35 @@ +import { ILlmSchema } from "@samchon/openapi"; +import fs from "fs"; + +export const _test_llm_schema = + (name: string) => + (expected: ILlmSchema): void => { + const actual: ILlmSchema = JSON.parse( + fs.readFileSync( + `${__dirname}/../../schemas/llm/type/${name}.json`, + "utf8", + ), + ); + sort(expected); + sort(actual); + }; + +function sort(app: ILlmSchema): void { + function object(elem: object) { + for (const value of Object.values(elem)) iterate(value); + } + function array(elem: Array) { + for (const v of elem) iterate(v); + elem.sort((x, y) => { + const alpha = JSON.stringify(x); + const beta = JSON.stringify(y); + return alpha < beta ? -1 : alpha === beta ? 0 : 1; + }); + } + function iterate(elem: any) { + if (elem === null || elem === undefined) return; + else if (Array.isArray(elem)) array(elem); + else if (typeof elem === "object") object(elem); + } + iterate(app); +} diff --git a/test/src/structures/ArrayRecursive.ts b/test/src/structures/ArrayRecursive.ts index 0108f20b50..e717f345b6 100644 --- a/test/src/structures/ArrayRecursive.ts +++ b/test/src/structures/ArrayRecursive.ts @@ -3,6 +3,8 @@ import { TestRandomGenerator } from "../helpers/TestRandomGenerator"; export type ArrayRecursive = ArrayRecursive.ICategory; export namespace ArrayRecursive { + export const RECURSIVE = true; + export interface ICategory { children: ICategory[]; id: number; diff --git a/test/src/structures/ArrayRecursiveUnionExplicit.ts b/test/src/structures/ArrayRecursiveUnionExplicit.ts index 78845315b8..7cb8c47ae6 100644 --- a/test/src/structures/ArrayRecursiveUnionExplicit.ts +++ b/test/src/structures/ArrayRecursiveUnionExplicit.ts @@ -3,6 +3,8 @@ import { TestRandomGenerator } from "../helpers/TestRandomGenerator"; export type ArrayRecursiveUnionExplicit = ArrayRecursiveUnionExplicit.IBucket[]; export namespace ArrayRecursiveUnionExplicit { + export const RECURSIVE = true; + export type IBucket = | IDirectory | IImageFile diff --git a/test/src/structures/ArrayRecursiveUnionExplicitPointer.ts b/test/src/structures/ArrayRecursiveUnionExplicitPointer.ts index 77b5f9498e..c944a43e67 100644 --- a/test/src/structures/ArrayRecursiveUnionExplicitPointer.ts +++ b/test/src/structures/ArrayRecursiveUnionExplicitPointer.ts @@ -6,6 +6,8 @@ export type ArrayRecursiveUnionExplicitPointer = IPointer< ArrayRecursiveUnionExplicitPointer.IBucket[] >; export namespace ArrayRecursiveUnionExplicitPointer { + export const RECURSIVE = true; + export type IBucket = IPointer< IDirectory | IImageFile | ITextFile | IZipFile | IShortcut >; diff --git a/test/src/structures/ArrayRecursiveUnionImplicit.ts b/test/src/structures/ArrayRecursiveUnionImplicit.ts index 532b0ab834..a36e9263b5 100644 --- a/test/src/structures/ArrayRecursiveUnionImplicit.ts +++ b/test/src/structures/ArrayRecursiveUnionImplicit.ts @@ -3,6 +3,8 @@ import { TestRandomGenerator } from "../helpers/TestRandomGenerator"; export type ArrayRecursiveUnionImplicit = ArrayRecursiveUnionImplicit.IBucket[]; export namespace ArrayRecursiveUnionImplicit { + export const RECURSIVE = true; + export type IBucket = | IDirectory | ISharedDirectory diff --git a/test/src/structures/ArrayRepeatedNullable.ts b/test/src/structures/ArrayRepeatedNullable.ts index 5bc3e92a9c..cea6a2fed7 100644 --- a/test/src/structures/ArrayRepeatedNullable.ts +++ b/test/src/structures/ArrayRepeatedNullable.ts @@ -8,6 +8,8 @@ export type ArrayRepeatedNullable = | string | ArrayRepeatedNullable[]; export namespace ArrayRepeatedNullable { + export const RECURSIVE = true; + export function generate(): ArrayRepeatedNullable { const random = typia.createRandom(); return [ diff --git a/test/src/structures/ArrayRepeatedOptional.ts b/test/src/structures/ArrayRepeatedOptional.ts index ee83288885..0a9946942c 100644 --- a/test/src/structures/ArrayRepeatedOptional.ts +++ b/test/src/structures/ArrayRepeatedOptional.ts @@ -8,6 +8,8 @@ export type ArrayRepeatedOptional = | string | ArrayRepeatedOptional[]; export namespace ArrayRepeatedOptional { + export const RECURSIVE = true; + export function generate(): ArrayRepeatedOptional { const random = typia.createRandom(); return [ diff --git a/test/src/structures/ArrayRepeatedRequired.ts b/test/src/structures/ArrayRepeatedRequired.ts index d18bc8cdc6..f6713eed32 100644 --- a/test/src/structures/ArrayRepeatedRequired.ts +++ b/test/src/structures/ArrayRepeatedRequired.ts @@ -4,6 +4,8 @@ import { Spoiler } from "../helpers/Spoiler"; export type ArrayRepeatedRequired = number | string | ArrayRepeatedRequired[]; export namespace ArrayRepeatedRequired { + export const RECURSIVE = true; + export function generate(): ArrayRepeatedRequired { const random = typia.createRandom(); return [ diff --git a/test/src/structures/ArrayRepeatedUnion.ts b/test/src/structures/ArrayRepeatedUnion.ts index 440f0254c8..1692ce71cd 100644 --- a/test/src/structures/ArrayRepeatedUnion.ts +++ b/test/src/structures/ArrayRepeatedUnion.ts @@ -9,6 +9,8 @@ export type ArrayRepeatedUnion = | ArrayRepeatedUnion[] | ArrayRepeatedUnion.IBox3D[]; export namespace ArrayRepeatedUnion { + export const RECURSIVE = true; + export interface IBox3D { scale: IPoint3D; position: IPoint3D; diff --git a/test/src/structures/ArrayRepeatedUnionWithTuple.ts b/test/src/structures/ArrayRepeatedUnionWithTuple.ts index 2740657c3c..a1a9537238 100644 --- a/test/src/structures/ArrayRepeatedUnionWithTuple.ts +++ b/test/src/structures/ArrayRepeatedUnionWithTuple.ts @@ -11,6 +11,8 @@ export type ArrayRepeatedUnionWithTuple = | [string, number, boolean] | [ArrayRepeatedUnionWithTuple.IBox3D, ArrayRepeatedUnionWithTuple.IPoint3D]; export namespace ArrayRepeatedUnionWithTuple { + export const RECURSIVE = true; + export interface IBox3D { scale: IPoint3D; position: IPoint3D; diff --git a/test/src/structures/DynamicTree.ts b/test/src/structures/DynamicTree.ts index 8da6964b0b..786a7b4be5 100644 --- a/test/src/structures/DynamicTree.ts +++ b/test/src/structures/DynamicTree.ts @@ -10,6 +10,9 @@ export interface DynamicTree { children: Record; } export namespace DynamicTree { + export const ADDABLE = false; + export const RECURSIVE = true; + export function generate(): DynamicTree { return create(3, 1); } @@ -42,6 +45,4 @@ export namespace DynamicTree { return [`$input.children["${top.id}"].children["${bottom.id}"].sequence`]; }, ]; - - export const ADDABLE = false; } diff --git a/test/src/structures/ObjectPartial.ts b/test/src/structures/ObjectPartial.ts index c0ee7b0fa6..2d2ba6e7a3 100644 --- a/test/src/structures/ObjectPartial.ts +++ b/test/src/structures/ObjectPartial.ts @@ -2,6 +2,8 @@ import { Spoiler } from "../helpers/Spoiler"; export type ObjectPartial = Partial; export namespace ObjectPartial { + export const RECURSIVE = true; + export interface IBase { boolean: boolean; number: number; diff --git a/test/src/structures/ObjectPartialAndRequired.ts b/test/src/structures/ObjectPartialAndRequired.ts index 0b0ba4aee2..dd94bfc521 100644 --- a/test/src/structures/ObjectPartialAndRequired.ts +++ b/test/src/structures/ObjectPartialAndRequired.ts @@ -6,6 +6,8 @@ export type ObjectPartialAndRequired = Pick< > & Required>; export namespace ObjectPartialAndRequired { + export const RECURSIVE = true; + export interface IBase { boolean: boolean; number: number; diff --git a/test/src/structures/ObjectRecursive.ts b/test/src/structures/ObjectRecursive.ts index 93d0ab5516..9b1ef907e3 100644 --- a/test/src/structures/ObjectRecursive.ts +++ b/test/src/structures/ObjectRecursive.ts @@ -4,6 +4,7 @@ import { TestRandomGenerator } from "../helpers/TestRandomGenerator"; export type ObjectRecursive = ObjectRecursive.IDepartment; export namespace ObjectRecursive { export const BINARABLE = false; + export const RECURSIVE = true; export interface IDepartment { parent: IDepartment | null; diff --git a/test/src/structures/ObjectRequired.ts b/test/src/structures/ObjectRequired.ts index 5150976913..5c1b460d40 100644 --- a/test/src/structures/ObjectRequired.ts +++ b/test/src/structures/ObjectRequired.ts @@ -2,6 +2,8 @@ import { Spoiler } from "../helpers/Spoiler"; export type ObjectRequired = Required; export namespace ObjectRequired { + export const RECURSIVE = true; + export interface IBase { boolean?: boolean; number?: number; diff --git a/test/src/structures/UltimateUnion.ts b/test/src/structures/UltimateUnion.ts index 97b7ef6d29..8c51e9fdfc 100644 --- a/test/src/structures/UltimateUnion.ts +++ b/test/src/structures/UltimateUnion.ts @@ -7,6 +7,8 @@ import { ObjectUnionImplicit } from "./ObjectUnionImplicit"; export type UltimateUnion = typia.IJsonApplication[]; export namespace UltimateUnion { + export const RECURSIVE = true; + export function generate(): typia.IJsonApplication[] { const output = [ typia.json.application<[ObjectUnionExplicit]>(), From 0792ef1a17865109340e517b62b792db93540cab Mon Sep 17 00:00:00 2001 From: Jeongho Nam Date: Sat, 7 Sep 2024 03:51:00 +0900 Subject: [PATCH 2/8] `typia.llm.application()` function. Added `typia.llm.application()` function which generates set of LLM function calling schemas from the TypeScript class or interface types. The type `ILlmApplication` and `ILlmSchema` comes from samchon/openapi#44, and requested by @ryoppippi. --- debug/package.json | 2 +- debug/src/llm-schema.ts | 26 --- debug/src/metadata.ts | 7 + package.json | 4 +- src/factories/MetadataFactory.ts | 1 + src/factories/MetadataTypeTagSchemaFactory.ts | 2 +- src/factories/ProtobufFactory.ts | 2 +- src/factories/TypeFactory.ts | 2 +- .../metadata/emplace_metadata_object.ts | 16 +- .../internal/metadata/iterate_metadata.ts | 6 + .../metadata/iterate_metadata_coalesce.ts | 5 - .../metadata/iterate_metadata_function.ts | 85 +++++++ src/llm.ts | 12 +- src/programmers/CheckerProgrammer.ts | 2 +- src/programmers/RandomProgrammer.ts | 2 +- .../internal/FunctionalGeneralProgrammer.ts | 4 +- .../internal/application_v30_object.ts | 2 +- .../internal/application_v31_object.ts | 2 +- src/programmers/internal/llm_schema_object.ts | 2 +- .../internal/stringify_regular_properties.ts | 8 +- .../json/JsonStringifyProgrammer.ts | 4 +- .../llm/LlmApplicationProgrammer.ts | 211 ++++++++++++++++++ src/programmers/misc/MiscCloneProgrammer.ts | 2 +- .../notations/NotationGeneralProgrammer.ts | 2 +- src/schemas/metadata/IMetadata.ts | 3 +- src/schemas/metadata/IMetadataFunction.ts | 8 + src/schemas/metadata/IMetadataParameter.ts | 9 + src/schemas/metadata/Metadata.ts | 25 ++- src/schemas/metadata/MetadataFunction.ts | 49 ++++ src/schemas/metadata/MetadataParameter.ts | 50 +++++ src/transformers/CallExpressionTransformer.ts | 3 + .../features/llm/LlmApplicationTransformer.ts | 56 +++++ .../features/llm/LlmSchemaTransformer.ts | 3 +- .../reflect/ReflectMetadataTransformer.ts | 1 + test/package.json | 2 +- .../llm.application/test_llm_application.ts | 134 +++++++++++ 36 files changed, 681 insertions(+), 73 deletions(-) delete mode 100644 debug/src/llm-schema.ts create mode 100644 debug/src/metadata.ts create mode 100644 src/factories/internal/metadata/iterate_metadata_function.ts create mode 100644 src/programmers/llm/LlmApplicationProgrammer.ts create mode 100644 src/schemas/metadata/IMetadataFunction.ts create mode 100644 src/schemas/metadata/IMetadataParameter.ts create mode 100644 src/schemas/metadata/MetadataFunction.ts create mode 100644 src/schemas/metadata/MetadataParameter.ts create mode 100644 src/transformers/features/llm/LlmApplicationTransformer.ts create mode 100644 test/src/features/llm.application/test_llm_application.ts diff --git a/debug/package.json b/debug/package.json index 2233e6d8ee..496fc3fce3 100644 --- a/debug/package.json +++ b/debug/package.json @@ -17,7 +17,7 @@ }, "dependencies": { "tstl": "^3.0.0", - "typia": "../typia-6.10.0-dev.20240823.tgz", + "typia": "../typia-6.10.0-dev.20240907.tgz", "uuid": "^10.0.0" } } \ No newline at end of file diff --git a/debug/src/llm-schema.ts b/debug/src/llm-schema.ts deleted file mode 100644 index 5b755fc56e..0000000000 --- a/debug/src/llm-schema.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { ILlmSchema } from "@samchon/openapi"; -import typia from "typia"; - -class Parent { - public toJSON(): Child { - return new Child(); - } -} -class Child { - public readonly id: number = 1; - public readonly flag: boolean = true; - - public toJSON(): IBrand { - return { - code: "code", - name: "name", - }; - } -} -interface IBrand { - code: string; - name: string; -} - -const schema: ILlmSchema = typia.llm.schema(); -console.log(schema); diff --git a/debug/src/metadata.ts b/debug/src/metadata.ts new file mode 100644 index 0000000000..df048015c0 --- /dev/null +++ b/debug/src/metadata.ts @@ -0,0 +1,7 @@ +import typia from "typia"; + +interface Something { + setValue: (x: T) => T; +} + +typia.llm.application>(); diff --git a/package.json b/package.json index 3dcd5040cb..cd15e2896b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "typia", - "version": "6.10.0-dev.20240906", + "version": "6.10.0-dev.20240907", "description": "Superfast runtime validators with only one line", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -83,7 +83,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/inquirer": "^8.2.5", "@types/node": "^18.15.12", - "@types/ts-expose-internals": "npm:ts-expose-internals@5.5.3", + "@types/ts-expose-internals": "npm:ts-expose-internals@5.5.4", "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "chalk": "^4.0.0", diff --git a/src/factories/MetadataFactory.ts b/src/factories/MetadataFactory.ts index b837dddb2a..b61d621b24 100644 --- a/src/factories/MetadataFactory.ts +++ b/src/factories/MetadataFactory.ts @@ -22,6 +22,7 @@ export namespace MetadataFactory { escape: boolean; constant: boolean; absorb: boolean; + functional?: boolean; validate?: Validator; onError?: (node: ts.Node | undefined, message: string) => void; } diff --git a/src/factories/MetadataTypeTagSchemaFactory.ts b/src/factories/MetadataTypeTagSchemaFactory.ts index 1d640803c2..63c2251938 100644 --- a/src/factories/MetadataTypeTagSchemaFactory.ts +++ b/src/factories/MetadataTypeTagSchemaFactory.ts @@ -30,7 +30,7 @@ export namespace MetadataTypeTagSchemaFactory { meta.atomics.length || meta.arrays.length || meta.natives.length || - meta.functional + meta.functions.length ) report(`${parent.object.name}.${parent.key} has non-literal type`); else if (meta.size() > 1) diff --git a/src/factories/ProtobufFactory.ts b/src/factories/ProtobufFactory.ts index 840321feed..8eb4fc58db 100644 --- a/src/factories/ProtobufFactory.ts +++ b/src/factories/ProtobufFactory.ts @@ -62,7 +62,7 @@ export namespace ProtobufFactory { // PROHIBIT ANY TYPE if (meta.any) noSupport("any type"); // PROHIBIT FUNCTIONAL TYPE - if (meta.functional) noSupport("functional type"); + if (meta.functions.length) noSupport("functional type"); // PROHIBIT TUPLE TYPE if (meta.tuples.length) noSupport("tuple type"); // PROHIBIT SET TYPE diff --git a/src/factories/TypeFactory.ts b/src/factories/TypeFactory.ts index e0ba1c1791..d1b1d0f0d5 100644 --- a/src/factories/TypeFactory.ts +++ b/src/factories/TypeFactory.ts @@ -4,7 +4,7 @@ export namespace TypeFactory { export const isFunction = (type: ts.Type): boolean => getFunction(type) !== null; - const getFunction = (type: ts.Type) => { + export const getFunction = (type: ts.Type) => { const node = type.symbol?.declarations?.[0]; if (node === undefined) return null; diff --git a/src/factories/internal/metadata/emplace_metadata_object.ts b/src/factories/internal/metadata/emplace_metadata_object.ts index b322f70c43..07855afc8f 100644 --- a/src/factories/internal/metadata/emplace_metadata_object.ts +++ b/src/factories/internal/metadata/emplace_metadata_object.ts @@ -29,6 +29,7 @@ export const emplace_metadata_object = // PREPARE ASSETS const isClass: boolean = parent.isClass(); + const isProperty = significant(!!options.functional); const pred: (node: ts.Declaration) => boolean = isClass ? (node) => { const kind: ts.SyntaxKind | undefined = node @@ -162,12 +163,15 @@ export const emplace_metadata_object = return obj; }; -const isProperty = (node: ts.Declaration) => - ts.isParameter(node) || - ts.isPropertyDeclaration(node) || - ts.isPropertyAssignment(node) || - ts.isPropertySignature(node) || - ts.isTypeLiteralNode(node); +const significant = (functional: boolean) => + functional + ? (node: ts.Declaration) => !ts.isAccessor(node) + : (node: ts.Declaration) => + ts.isParameter(node) || + ts.isPropertyDeclaration(node) || + ts.isPropertyAssignment(node) || + ts.isPropertySignature(node) || + ts.isTypeLiteralNode(node); const iterate_optional_coalesce = (meta: Metadata, type: ts.Type): void => { if (type.isUnionOrIntersection()) diff --git a/src/factories/internal/metadata/iterate_metadata.ts b/src/factories/internal/metadata/iterate_metadata.ts index 9db91096fb..86f9bf738d 100644 --- a/src/factories/internal/metadata/iterate_metadata.ts +++ b/src/factories/internal/metadata/iterate_metadata.ts @@ -11,6 +11,7 @@ import { iterate_metadata_atomic } from "./iterate_metadata_atomic"; import { iterate_metadata_coalesce } from "./iterate_metadata_coalesce"; import { iterate_metadata_constant } from "./iterate_metadata_constant"; import { iterate_metadata_escape } from "./iterate_metadata_escape"; +import { iterate_metadata_function } from "./iterate_metadata_function"; import { iterate_metadata_intersection } from "./iterate_metadata_intersection"; import { iterate_metadata_map } from "./iterate_metadata_map"; import { iterate_metadata_native } from "./iterate_metadata_native"; @@ -62,6 +63,11 @@ export const iterate_metadata = // ITERATE CASES iterate_metadata_coalesce(meta, type) || + iterate_metadata_function(checker)(options)(collection)(errors)( + meta, + type, + explore, + ) || iterate_metadata_constant(checker)(options)(meta, type) || iterate_metadata_template(checker)(options)(collection)(errors)( meta, diff --git a/src/factories/internal/metadata/iterate_metadata_coalesce.ts b/src/factories/internal/metadata/iterate_metadata_coalesce.ts index 41b7826e52..7bfa923c58 100644 --- a/src/factories/internal/metadata/iterate_metadata_coalesce.ts +++ b/src/factories/internal/metadata/iterate_metadata_coalesce.ts @@ -4,8 +4,6 @@ import { Metadata } from "../../../schemas/metadata/Metadata"; import { Writable } from "../../../typings/Writable"; -import { TypeFactory } from "../../TypeFactory"; - export const iterate_metadata_coalesce = ( meta: Metadata, type: ts.Type, @@ -25,9 +23,6 @@ export const iterate_metadata_coalesce = ( ) { Writable(meta).required = false; return true; - } else if (TypeFactory.isFunction(type) === true) { - Writable(meta).functional = true; - return true; } return false; }; diff --git a/src/factories/internal/metadata/iterate_metadata_function.ts b/src/factories/internal/metadata/iterate_metadata_function.ts new file mode 100644 index 0000000000..cfa1b99d22 --- /dev/null +++ b/src/factories/internal/metadata/iterate_metadata_function.ts @@ -0,0 +1,85 @@ +import ts from "typescript"; + +import { FunctionalGeneralProgrammer } from "../../../programmers/functional/internal/FunctionalGeneralProgrammer"; + +import { Metadata } from "../../../schemas/metadata/Metadata"; +import { MetadataFunction } from "../../../schemas/metadata/MetadataFunction"; +import { MetadataParameter } from "../../../schemas/metadata/MetadataParameter"; + +import { CommentFactory } from "../../CommentFactory"; +import { MetadataCollection } from "../../MetadataCollection"; +import { MetadataFactory } from "../../MetadataFactory"; +import { TypeFactory } from "../../TypeFactory"; +import { explore_metadata } from "./explore_metadata"; + +export const iterate_metadata_function = + (checker: ts.TypeChecker) => + (options: MetadataFactory.IOptions) => + (collection: MetadataCollection) => + (errors: MetadataFactory.IError[]) => + ( + metadata: Metadata, + type: ts.Type, + explore: MetadataFactory.IExplore, + ): boolean => { + const declaration: ts.SignatureDeclaration | null = + TypeFactory.getFunction(type); + if (declaration === null) return false; + else if (!options.functional) { + if (metadata.functions.length === 0) + metadata.functions.push( + MetadataFunction.create({ + parameters: [], + output: Metadata.initialize(), + async: false, + }), + ); + } else { + const [signature] = type.getCallSignatures(); + if (signature === undefined || signature.declaration === undefined) + metadata.functions.push( + MetadataFunction.create({ + parameters: [], + output: Metadata.initialize(), + async: false, + }), + ); + else { + const { async }: FunctionalGeneralProgrammer.IOutput = + FunctionalGeneralProgrammer.getReturnType(checker)(declaration); + metadata.functions.push( + MetadataFunction.create({ + parameters: signature.parameters.map((p) => + MetadataParameter.create({ + name: p.name, + type: explore_metadata(checker)(options)(collection)(errors)( + checker.getTypeOfSymbol(p), + { + ...explore, + top: false, + }, + ), + description: CommentFactory.description(p) ?? null, + jsDocTags: p?.getJsDocTags() ?? [], + }), + ), + async, + output: explore_metadata(checker)({ + ...options, + functional: false, + })(collection)(errors)( + async + ? (signature.getReturnType().aliasTypeArguments?.[0] ?? + checker.getTypeFromTypeNode(TypeFactory.keyword("any"))) + : signature.getReturnType(), + { + ...explore, + top: false, + }, + ), + }), + ); + } + } + return true; + }; diff --git a/src/llm.ts b/src/llm.ts index 8c1ebb0f9d..e7a41aa9ac 100644 --- a/src/llm.ts +++ b/src/llm.ts @@ -1,4 +1,14 @@ -import { ILlmSchema } from "@samchon/openapi"; +import { ILlmApplication, ILlmSchema } from "@samchon/openapi"; + +export function application(): never; +export function application(): ILlmApplication; + +/** + * @internal + */ +export function application(): never { + halt("application"); +} export function schema(): never; export function schema(): ILlmSchema; diff --git a/src/programmers/CheckerProgrammer.ts b/src/programmers/CheckerProgrammer.ts index b26016e148..df1a9af508 100644 --- a/src/programmers/CheckerProgrammer.ts +++ b/src/programmers/CheckerProgrammer.ts @@ -331,7 +331,7 @@ export namespace CheckerProgrammer { ); // FUNCTIONAL - if (meta.functional === true) + if (meta.functions.length) if (OptionPredicator.functional(project.options) || meta.size() !== 1) add( true, diff --git a/src/programmers/RandomProgrammer.ts b/src/programmers/RandomProgrammer.ts index dcec64566b..ef04f49b0d 100644 --- a/src/programmers/RandomProgrammer.ts +++ b/src/programmers/RandomProgrammer.ts @@ -276,7 +276,7 @@ export namespace RandomProgrammer { expressions.push(ts.factory.createStringLiteral("any type used...")); // NULL COALESCING - if (meta.isRequired() === false || meta.functional === true) + if (meta.isRequired() === false || meta.functions.length) expressions.push(ts.factory.createIdentifier("undefined")); if (meta.nullable === true) expressions.push(ts.factory.createNull()); diff --git a/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts b/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts index 36c458ff30..fa7851b10c 100644 --- a/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +++ b/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts @@ -9,7 +9,9 @@ export namespace FunctionalGeneralProgrammer { } export const getReturnType = (checker: ts.TypeChecker) => - (declaration: ts.FunctionDeclaration): IOutput => { + ( + declaration: ts.FunctionDeclaration | ts.SignatureDeclaration, + ): IOutput => { const signature: ts.Signature | undefined = checker.getSignatureFromDeclaration(declaration); const type: ts.Type = diff --git a/src/programmers/internal/application_v30_object.ts b/src/programmers/internal/application_v30_object.ts index 636518d325..b8cd5dd8b2 100644 --- a/src/programmers/internal/application_v30_object.ts +++ b/src/programmers/internal/application_v30_object.ts @@ -53,7 +53,7 @@ const create_object_schema = for (const property of obj.properties) { if ( // FUNCTIONAL TYPE - property.value.functional === true && + property.value.functions.length && property.value.nullable === false && property.value.isRequired() === true && property.value.size() === 0 diff --git a/src/programmers/internal/application_v31_object.ts b/src/programmers/internal/application_v31_object.ts index 3d211497ba..5a0376f31a 100644 --- a/src/programmers/internal/application_v31_object.ts +++ b/src/programmers/internal/application_v31_object.ts @@ -51,7 +51,7 @@ const create_object_schema = for (const property of obj.properties) { if ( // FUNCTIONAL TYPE - property.value.functional === true && + property.value.functions.length && property.value.nullable === false && property.value.isRequired() === true && property.value.size() === 0 diff --git a/src/programmers/internal/llm_schema_object.ts b/src/programmers/internal/llm_schema_object.ts index 55d17f2898..30572a101f 100644 --- a/src/programmers/internal/llm_schema_object.ts +++ b/src/programmers/internal/llm_schema_object.ts @@ -30,7 +30,7 @@ export const llm_schema_object = (props: { for (const property of props.object.properties) { if ( // FUNCTIONAL TYPE - property.value.functional === true && + property.value.functions.length && property.value.nullable === false && property.value.isRequired() === true && property.value.size() === 0 diff --git a/src/programmers/internal/stringify_regular_properties.ts b/src/programmers/internal/stringify_regular_properties.ts index cd1c3a6264..4f141a7d30 100644 --- a/src/programmers/internal/stringify_regular_properties.ts +++ b/src/programmers/internal/stringify_regular_properties.ts @@ -31,14 +31,14 @@ export const stringify_regular_properties = ( (entry.meta.isRequired() === false && entry.meta.nullable === false && entry.meta.size() === 0) || - (entry.meta.functional && + (!!entry.meta.functions.length && entry.meta.nullable === false && entry.meta.size() === 1); if (empty === true) return; else if ( entry.meta.isRequired() === false || - entry.meta.functional === true || + entry.meta.functions.length || entry.meta.any === true ) output.push( @@ -52,7 +52,7 @@ export const stringify_regular_properties = ( entry.input, ), ); - if (entry.meta.functional || entry.meta.any) + if (entry.meta.functions.length || entry.meta.any) conditions.push( ts.factory.createStrictEquality( ts.factory.createStringLiteral("function"), @@ -78,4 +78,4 @@ export const stringify_regular_properties = ( * @internal */ const sequence = (meta: Metadata): number => - meta.any || !meta.isRequired() || meta.functional ? 0 : 1; + meta.any || !meta.isRequired() || meta.functions.length ? 0 : 1; diff --git a/src/programmers/json/JsonStringifyProgrammer.ts b/src/programmers/json/JsonStringifyProgrammer.ts index 1305a89d2e..9894b6925f 100644 --- a/src/programmers/json/JsonStringifyProgrammer.ts +++ b/src/programmers/json/JsonStringifyProgrammer.ts @@ -233,7 +233,7 @@ export namespace JsonStringifyProgrammer { explore, ), }); - else if (meta.functional === true) + else if (meta.functions.length) unions.push({ type: "functional", is: () => IsProgrammer.decode_functional(input), @@ -797,7 +797,7 @@ export namespace JsonStringifyProgrammer { meta: Metadata, explore: FeatureProgrammer.IExplore, ): ((expression: ts.Expression) => ts.Expression) => { - if (meta.functional === false) return (expression) => expression; + if (meta.functions.length === 0) return (expression) => expression; return (expression) => ts.factory.createConditionalExpression( ts.factory.createStrictInequality( diff --git a/src/programmers/llm/LlmApplicationProgrammer.ts b/src/programmers/llm/LlmApplicationProgrammer.ts new file mode 100644 index 0000000000..deec81ea2b --- /dev/null +++ b/src/programmers/llm/LlmApplicationProgrammer.ts @@ -0,0 +1,211 @@ +import { ILlmApplication, ILlmSchema } from "@samchon/openapi"; +import { ILlmFunction } from "@samchon/openapi/lib/structures/ILlmFunction"; + +import { MetadataFactory } from "../../factories/MetadataFactory"; + +import { Metadata } from "../../schemas/metadata/Metadata"; +import { MetadataFunction } from "../../schemas/metadata/MetadataFunction"; +import { MetadataObject } from "../../schemas/metadata/MetadataObject"; + +import { IJsDocTagInfo } from "../../module"; +import { LlmSchemaProgrammer } from "./LlmSchemaProgrammer"; + +export namespace LlmApplicationProgrammer { + export const validate = ( + meta: Metadata, + explore: MetadataFactory.IExplore, + ): string[] => { + if (explore.top === false) return LlmSchemaProgrammer.validate(meta); + + const output: string[] = []; + const valid: boolean = + meta.size() === 1 && + meta.objects.length === 1 && + meta.isRequired() === true && + meta.nullable === false; + if (valid === false) + output.push( + "LLM application's generic arugment must be a class/interface type.", + ); + + const object: MetadataObject | undefined = meta.objects[0]; + if (object !== undefined) { + if (object.properties.some((p) => p.key.isSoleLiteral() === false)) + output.push("LLM application does not allow dynamic keys."); + let least: boolean = false; + for (const p of object.properties) { + const value: Metadata = p.value; + if (value.functions.length) { + least ||= true; + if (valid === false) { + if (value.functions.length !== 1 || value.size() !== 1) + output.push( + "LLM application's function type does not allow union type.", + ); + if (value.isRequired() === false) + output.push("LLM application's function type must be required."); + if (value.nullable === true) + output.push( + "LLM application's function type must not be nullable.", + ); + } + } + } + if (least === false) + output.push( + "LLM application's target type must have at least a function type.", + ); + } + return output; + }; + + export const write = (metadata: Metadata): ILlmApplication => { + const errors: string[] = validate(metadata, { + top: true, + object: null, + property: null, + nested: null, + escaped: false, + aliased: false, + }); + if (errors.length) + throw new Error("Failed to write LLM application: " + errors.join("\n")); + + const object: MetadataObject = metadata.objects[0]!; + return { + functions: object.properties + .filter( + (p) => + p.value.functions.length === 1 && + p.value.size() === 1 && + p.key.isSoleLiteral(), + ) + .map((p) => + writeFunction({ + name: p.key.getSoleLiteral()!, + function: p.value.functions[0]!, + description: p.description, + jsDocTags: p.jsDocTags, + }), + ), + options: { + separate: null, + }, + }; + }; + + const writeFunction = (props: { + name: string; + function: MetadataFunction; + description: string | null; + jsDocTags: IJsDocTagInfo[]; + }): ILlmFunction => ({ + name: props.name, + parameters: props.function.parameters.map((p) => { + const jsDocTagDescription = writeDescriptionFromJsDocTag({ + jsDocTags: p.jsDocTags, + tag: "param", + parameter: p.name, + }); + return writeSchema({ + metadata: p.type, + description: jsDocTagDescription ?? p.description, + jsDocTags: jsDocTagDescription ? [] : p.jsDocTags, + }); + }), + output: + props.function.output.size() || props.function.output.nullable + ? writeSchema({ + metadata: props.function.output, + description: + writeDescriptionFromJsDocTag({ + jsDocTags: props.jsDocTags, + tag: "return", + }) ?? + writeDescriptionFromJsDocTag({ + jsDocTags: props.jsDocTags, + tag: "returns", + }), + jsDocTags: [], + }) + : undefined, + description: props.description ?? undefined, + }); + + const writeSchema = (props: { + metadata: Metadata; + description: string | null; + jsDocTags: IJsDocTagInfo[]; + }): ILlmSchema => { + const schema: ILlmSchema = LlmSchemaProgrammer.write(props.metadata); + const explicit: Pick = + writeDescription({ + description: props.description, + jsDocTags: props.jsDocTags, + }); + return { + ...schema, + ...(!!explicit.title?.length || !!explicit.description?.length + ? explicit + : {}), + }; + }; + + const writeDescription = (props: { + description: string | null; + jsDocTags: IJsDocTagInfo[]; + }): Pick => { + const title: string | undefined = (() => { + const [explicit] = getJsDocTexts({ + jsDocTags: props.jsDocTags, + name: "title", + }); + if (explicit?.length) return explicit; + else if (!props.description?.length) return undefined; + + const index: number = props.description.indexOf("\n"); + const top: string = ( + index === -1 ? props.description : props.description.substring(0, index) + ).trim(); + return top.endsWith(".") ? top.substring(0, top.length - 1) : undefined; + })(); + return { + title: title, + description: props.description?.length ? props.description : undefined, + } as any; + }; + + const writeDescriptionFromJsDocTag = (props: { + jsDocTags: IJsDocTagInfo[]; + tag: string; + parameter?: string; + }): string | null => { + const parametric: (elem: IJsDocTagInfo) => boolean = props.parameter + ? (tag) => + tag.text!.find( + (elem) => + elem.kind === "parameterName" && elem.text === props.parameter, + ) !== undefined + : () => true; + const tag: IJsDocTagInfo | undefined = props.jsDocTags.find( + (tag) => tag.name === props.tag && tag.text && parametric(tag), + ); + return tag && tag.text + ? (tag.text.find((elem) => elem.kind === "text")?.text ?? null) + : null; + }; + + const getJsDocTexts = (props: { + jsDocTags: IJsDocTagInfo[]; + name: string; + }): string[] => + props.jsDocTags + .filter( + (tag) => + tag.name === props.name && + tag.text && + tag.text.find((elem) => elem.kind === "text" && elem.text.length) !== + undefined, + ) + .map((tag) => tag.text!.find((elem) => elem.kind === "text")!.text); +} diff --git a/src/programmers/misc/MiscCloneProgrammer.ts b/src/programmers/misc/MiscCloneProgrammer.ts index c2bf09052e..b17abebdab 100644 --- a/src/programmers/misc/MiscCloneProgrammer.ts +++ b/src/programmers/misc/MiscCloneProgrammer.ts @@ -179,7 +179,7 @@ export namespace MiscCloneProgrammer { // LIST UP UNION TYPES //---- // FUNCTIONAL - if (meta.functional) + if (meta.functions.length) unions.push({ type: "functional", is: () => diff --git a/src/programmers/notations/NotationGeneralProgrammer.ts b/src/programmers/notations/NotationGeneralProgrammer.ts index 7b70bbe519..d2ac40a6c8 100644 --- a/src/programmers/notations/NotationGeneralProgrammer.ts +++ b/src/programmers/notations/NotationGeneralProgrammer.ts @@ -193,7 +193,7 @@ export namespace NotationGeneralProgrammer { // LIST UP UNION TYPES //---- // FUNCTIONAL - if (meta.functional) + if (meta.functions.length) unions.push({ type: "functional", is: () => diff --git a/src/schemas/metadata/IMetadata.ts b/src/schemas/metadata/IMetadata.ts index aa2e679e5b..27d81384ea 100644 --- a/src/schemas/metadata/IMetadata.ts +++ b/src/schemas/metadata/IMetadata.ts @@ -2,6 +2,7 @@ import { IMetadataAtomic } from "./IMetadataAtomic"; import { IMetadataConstant } from "./IMetadataConstant"; import { IMetadataEntry } from "./IMetadataEntry"; import { IMetadataEscaped } from "./IMetadataEscaped"; +import { IMetadataFunction } from "./IMetadataFunction"; import { IMetadataTemplate } from "./IMetadataTemplate"; import { IMetadataTypeTag } from "./IMetadataTypeTag"; @@ -10,7 +11,7 @@ export interface IMetadata { required: boolean; optional: boolean; nullable: boolean; - functional: boolean; + functions: IMetadataFunction[]; atomics: IMetadataAtomic[]; constants: IMetadataConstant[]; diff --git a/src/schemas/metadata/IMetadataFunction.ts b/src/schemas/metadata/IMetadataFunction.ts new file mode 100644 index 0000000000..a18605ec89 --- /dev/null +++ b/src/schemas/metadata/IMetadataFunction.ts @@ -0,0 +1,8 @@ +import { IMetadata } from "./IMetadata"; +import { IMetadataParameter } from "./IMetadataParameter"; + +export interface IMetadataFunction { + parameters: IMetadataParameter[]; + output: IMetadata; + async: boolean; +} diff --git a/src/schemas/metadata/IMetadataParameter.ts b/src/schemas/metadata/IMetadataParameter.ts new file mode 100644 index 0000000000..bed0e0c53b --- /dev/null +++ b/src/schemas/metadata/IMetadataParameter.ts @@ -0,0 +1,9 @@ +import { IJsDocTagInfo } from "./IJsDocTagInfo"; +import { IMetadata } from "./IMetadata"; + +export interface IMetadataParameter { + name: string; + type: IMetadata; + description: string | null; + jsDocTags: IJsDocTagInfo[]; +} diff --git a/src/schemas/metadata/Metadata.ts b/src/schemas/metadata/Metadata.ts index ae5823b77a..5c0a06f282 100644 --- a/src/schemas/metadata/Metadata.ts +++ b/src/schemas/metadata/Metadata.ts @@ -10,6 +10,7 @@ import { MetadataArray } from "./MetadataArray"; import { MetadataAtomic } from "./MetadataAtomic"; import { MetadataConstant } from "./MetadataConstant"; import { MetadataEscaped } from "./MetadataEscaped"; +import { MetadataFunction } from "./MetadataFunction"; import { MetadataObject } from "./MetadataObject"; import { MetadataTemplate } from "./MetadataTemplate"; import { MetadataTuple } from "./MetadataTuple"; @@ -19,7 +20,6 @@ export class Metadata { public required: boolean; public optional: boolean; public nullable: boolean; - public functional: boolean; public escaped: MetadataEscaped | null; public atomics: MetadataAtomic[]; @@ -31,6 +31,7 @@ export class Metadata { public arrays: MetadataArray[]; public tuples: MetadataTuple[]; public objects: MetadataObject[]; + public functions: MetadataFunction[]; public natives: string[]; public sets: Metadata[]; @@ -53,7 +54,7 @@ export class Metadata { this.required = props.required; this.optional = props.optional; this.nullable = props.nullable; - this.functional = props.functional; + this.functions = props.functions; this.escaped = props.escaped; this.atomics = props.atomics; @@ -87,7 +88,6 @@ export class Metadata { nullable: false, required: true, optional: false, - functional: false, escaped: null, constants: [], @@ -97,6 +97,7 @@ export class Metadata { tuples: [], objects: [], aliases: [], + functions: [], rest: null, natives: [], @@ -113,7 +114,7 @@ export class Metadata { required: this.required, optional: this.optional, nullable: this.nullable, - functional: this.functional, + functions: this.functions.map((f) => f.toJSON()), atomics: this.atomics.map((a) => a.toJSON()), constants: this.constants.map((c) => c.toJSON()), @@ -147,7 +148,7 @@ export class Metadata { required: meta.required, optional: meta.optional, nullable: meta.nullable, - functional: meta.functional, + functions: meta.functions.map((f) => MetadataFunction.from(f, dict)), constants: meta.constants.map(MetadataConstant.from), atomics: meta.atomics.map(MetadataAtomic.from), @@ -218,7 +219,6 @@ export class Metadata { return ( (this.any ? 1 : 0) + (this.escaped ? 1 : 0) + - (this.functional ? 1 : 0) + (this.rest ? this.rest.size() : 0) + this.templates.length + this.atomics.length + @@ -229,6 +229,7 @@ export class Metadata { this.maps.length + this.sets.length + this.objects.length + + this.functions.length + this.aliases.length ); } @@ -237,7 +238,6 @@ export class Metadata { return ( (this.any ? 1 : 0) + (this.escaped ? 1 : 0) + - (this.functional ? 1 : 0) + (this.templates.length ? 1 : 0) + (this.atomics.length ? 1 : 0) + (this.constants.length ? 1 : 0) + @@ -248,6 +248,7 @@ export class Metadata { (this.sets.length ? 1 : 0) + (this.maps.length ? 1 : 0) + (this.objects.length ? 1 : 0) + + (this.functions.length ? 1 : 0) + (this.aliases.length ? 1 : 0) ); } @@ -301,7 +302,7 @@ export namespace Metadata { if (x.any || y.any) return true; if (x.isRequired() === false && false === y.isRequired()) return true; if (x.nullable === true && true === y.nullable) return true; - if (x.functional === true && y.functional === true) return true; + if (!!x.functions.length && !!y.functions.length === true) return true; //---- // INSTANCES @@ -459,7 +460,7 @@ export namespace Metadata { } // FUNCTIONAL - if (x.functional === false && y.functional) return false; + if (!!x.functions.length === false && !!y.functions.length) return false; // SUCCESS return true; @@ -474,7 +475,7 @@ export namespace Metadata { nullable: x.nullable || y.nullable, required: x.required && y.required, optional: x.optional || y.optional, - functional: x.functional || y.functional, + functions: x.functions.length ? x.functions : y.functions, // @todo escaped: x.escaped !== null && y.escaped !== null @@ -482,7 +483,7 @@ export namespace Metadata { original: merge(x.escaped.original, y.escaped.original), returns: merge(x.escaped.returns, y.escaped.returns), }) - : x.escaped ?? y.escaped, + : (x.escaped ?? y.escaped), atomics: mergeTaggedTypes({ container: x.atomics, equals: (x, y) => x.type === y.type, @@ -494,7 +495,7 @@ export namespace Metadata { rest: x.rest !== null && y.rest !== null ? merge(x.rest, y.rest) - : x.rest ?? y.rest, + : (x.rest ?? y.rest), // arrays: x.arrays.slice(), arrays: mergeTaggedTypes({ container: x.arrays, diff --git a/src/schemas/metadata/MetadataFunction.ts b/src/schemas/metadata/MetadataFunction.ts new file mode 100644 index 0000000000..441b049cc3 --- /dev/null +++ b/src/schemas/metadata/MetadataFunction.ts @@ -0,0 +1,49 @@ +import { ClassProperties } from "../../typings/ClassProperties"; + +import { IMetadataDictionary } from "./IMetadataDictionary"; +import { IMetadataFunction } from "./IMetadataFunction"; +import { Metadata } from "./Metadata"; +import { MetadataParameter } from "./MetadataParameter"; + +export class MetadataFunction { + public parameters: MetadataParameter[]; + public output: Metadata; + public async: boolean; + + /** + * @hidden + */ + private constructor(props: ClassProperties) { + this.parameters = props.parameters; + this.output = props.output; + this.async = props.async; + } + + /** + * @internal + */ + public static create( + props: ClassProperties, + ): MetadataFunction { + return new MetadataFunction(props); + } + + public static from( + json: IMetadataFunction, + dict: IMetadataDictionary, + ): MetadataFunction { + return MetadataFunction.create({ + parameters: json.parameters.map((p) => MetadataParameter.from(p, dict)), + output: Metadata.from(json.output, dict), + async: json.async, + }); + } + + public toJSON(): IMetadataFunction { + return { + parameters: this.parameters.map((p) => p.toJSON()), + output: this.output.toJSON(), + async: this.async, + }; + } +} diff --git a/src/schemas/metadata/MetadataParameter.ts b/src/schemas/metadata/MetadataParameter.ts new file mode 100644 index 0000000000..3decbb4797 --- /dev/null +++ b/src/schemas/metadata/MetadataParameter.ts @@ -0,0 +1,50 @@ +import { ClassProperties } from "../../typings/ClassProperties"; + +import { IJsDocTagInfo } from "./IJsDocTagInfo"; +import { IMetadataDictionary } from "./IMetadataDictionary"; +import { IMetadataParameter } from "./IMetadataParameter"; +import { Metadata } from "./Metadata"; + +export class MetadataParameter { + public name: string; + public type: Metadata; + public description: string | null; + public jsDocTags: IJsDocTagInfo[]; + + private constructor(props: ClassProperties) { + this.name = props.name; + this.type = props.type; + this.description = props.description; + this.jsDocTags = props.jsDocTags; + } + + /** + * @internal + */ + public static create( + props: ClassProperties, + ): MetadataParameter { + return new MetadataParameter(props); + } + + public static from( + json: IMetadataParameter, + dict: IMetadataDictionary, + ): MetadataParameter { + return MetadataParameter.create({ + name: json.name, + type: Metadata.from(json.type, dict), + description: json.description, + jsDocTags: json.jsDocTags, + }); + } + + public toJSON(): IMetadataParameter { + return { + name: this.name, + type: this.type.toJSON(), + description: this.description, + jsDocTags: this.jsDocTags, + }; + } +} diff --git a/src/transformers/CallExpressionTransformer.ts b/src/transformers/CallExpressionTransformer.ts index ada190e095..839205b92c 100644 --- a/src/transformers/CallExpressionTransformer.ts +++ b/src/transformers/CallExpressionTransformer.ts @@ -64,6 +64,7 @@ import { JsonIsStringifyTransformer } from "./features/json/JsonIsStringifyTrans import { JsonStringifyTransformer } from "./features/json/JsonStringifyTransformer"; import { JsonValidateParseTransformer } from "./features/json/JsonValidateParseTransformer"; import { JsonValidateStringifyTransformer } from "./features/json/JsonValidateStringifyTransformer"; +import { LlmApplicationTransformer } from "./features/llm/LlmApplicationTransformer"; import { LlmSchemaTransformer } from "./features/llm/LlmSchemaTransformer"; import { MiscAssertCloneTransformer } from "./features/misc/MiscAssertCloneTransformer"; import { MiscAssertPruneTransformer } from "./features/misc/MiscAssertPruneTransformer"; @@ -355,6 +356,8 @@ const FUNCTORS: Record Task>> = { createValidateQuery: () => CreateHttpValidateQueryTransformer.transform, }, llm: { + application: () => (project) => () => + LlmApplicationTransformer.transform(project), schema: () => (project) => () => LlmSchemaTransformer.transform(project), }, json: { diff --git a/src/transformers/features/llm/LlmApplicationTransformer.ts b/src/transformers/features/llm/LlmApplicationTransformer.ts new file mode 100644 index 0000000000..a2fdf73b17 --- /dev/null +++ b/src/transformers/features/llm/LlmApplicationTransformer.ts @@ -0,0 +1,56 @@ +import { ILlmApplication } from "@samchon/openapi"; +import ts from "typescript"; + +import { LiteralFactory } from "../../../factories/LiteralFactory"; +import { MetadataCollection } from "../../../factories/MetadataCollection"; +import { MetadataFactory } from "../../../factories/MetadataFactory"; + +import { Metadata } from "../../../schemas/metadata/Metadata"; + +import { LlmApplicationProgrammer } from "../../../programmers/llm/LlmApplicationProgrammer"; + +import { ValidationPipe } from "../../../typings/ValidationPipe"; + +import { IProject } from "../../IProject"; +import { TransformerError } from "../../TransformerError"; + +export namespace LlmApplicationTransformer { + export const transform = + (project: IProject) => + (expression: ts.CallExpression): ts.Expression => { + // GET GENERIC ARGUMENT + if (!expression.typeArguments?.length) + throw new TransformerError({ + code: "typia.llm.schema", + message: "no generic argument.", + }); + + const top: ts.Node = expression.typeArguments[0]!; + if (ts.isTypeNode(top) === false) return expression; + + // GET TYPE + const type: ts.Type = project.checker.getTypeFromTypeNode(top); + const collection: MetadataCollection = new MetadataCollection({ + replace: MetadataCollection.replace, + }); + const result: ValidationPipe = + MetadataFactory.analyze( + project.checker, + project.context, + )({ + escape: true, + constant: true, + absorb: false, + functional: true, + validate: LlmApplicationProgrammer.validate, + })(collection)(type); + if (result.success === false) + throw TransformerError.from("typia.llm.application")(result.errors); + + // GENERATE LLM APPLICATION + const schema: ILlmApplication = LlmApplicationProgrammer.write( + result.data, + ); + return LiteralFactory.generate(schema); + }; +} diff --git a/src/transformers/features/llm/LlmSchemaTransformer.ts b/src/transformers/features/llm/LlmSchemaTransformer.ts index 0861625646..b1dfd08f3a 100644 --- a/src/transformers/features/llm/LlmSchemaTransformer.ts +++ b/src/transformers/features/llm/LlmSchemaTransformer.ts @@ -18,16 +18,17 @@ export namespace LlmSchemaTransformer { export const transform = (project: IProject) => (expression: ts.CallExpression): ts.Expression => { + // GET GENERIC ARGUMENT if (!expression.typeArguments?.length) throw new TransformerError({ code: "typia.llm.schema", message: "no generic argument.", }); - // GET TYPE const top: ts.Node = expression.typeArguments[0]!; if (ts.isTypeNode(top) === false) return expression; + // GET TYPE const type: ts.Type = project.checker.getTypeFromTypeNode(top); const collection: MetadataCollection = new MetadataCollection({ replace: MetadataCollection.replace, diff --git a/src/transformers/features/reflect/ReflectMetadataTransformer.ts b/src/transformers/features/reflect/ReflectMetadataTransformer.ts index 15da6d9fae..db7c9427af 100644 --- a/src/transformers/features/reflect/ReflectMetadataTransformer.ts +++ b/src/transformers/features/reflect/ReflectMetadataTransformer.ts @@ -46,6 +46,7 @@ export namespace ReflectMetadataTransformer { escape: true, constant: true, absorb: true, + functional: true, })(collection)(type); if (result.success === false) throw TransformerError.from("typia.reflect.metadata")(result.errors); diff --git a/test/package.json b/test/package.json index 1e39dd5e7c..e43185ee71 100644 --- a/test/package.json +++ b/test/package.json @@ -52,6 +52,6 @@ "suppress-warnings": "^1.0.2", "tstl": "^3.0.0", "uuid": "^9.0.1", - "typia": "../typia-6.10.0-dev.20240906.tgz" + "typia": "../typia-6.10.0-dev.20240907.tgz" } } \ No newline at end of file diff --git a/test/src/features/llm.application/test_llm_application.ts b/test/src/features/llm.application/test_llm_application.ts new file mode 100644 index 0000000000..ba1e89b65c --- /dev/null +++ b/test/src/features/llm.application/test_llm_application.ts @@ -0,0 +1,134 @@ +import { ILlmApplication } from "@samchon/openapi"; +import typia from "typia"; + +import { TestValidator } from "../../helpers/TestValidator"; + +export const test_llm_application = (): void => { + const app: ILlmApplication = typia.llm.application(); + TestValidator.equals("application")(app)({ + functions: [ + { + name: "getId", + parameters: [], + output: { + type: "string", + }, + description: "Get ID.", + }, + { + name: "getValue", + parameters: [ + { + type: "number", + description: "The value x", + }, + { + type: "number", + title: "The value y", + description: "The value y.\r\n\r\nThe value to be added.", + }, + ], + output: { + type: "number", + title: "Sum of them", + description: "Sum of them.\r\n\r\n`this.value + x + y`", + }, + description: + "Get value.\n\nGet value with plus operation of member value, x and y.", + }, + { + name: "getPerformance", + parameters: [], + output: { + type: "object", + properties: { + level: { + type: "number", + title: "Level value", + description: "Level value.", + }, + }, + nullable: false, + required: ["level"], + description: "Performance interface.", + }, + description: "Get performance.", + }, + { + name: "synchronize", + parameters: [ + { + type: "boolean", + title: "Flag for synchronization", + description: "Flag for synchronization.", + }, + ], + output: { + type: "boolean", + }, + description: "Synchornize with server.", + }, + ], + options: { + separate: null, + }, + }); +}; + +class SomeClass { + id: string = "id"; + value: number = 0; + + /** + * Get ID. + */ + getId = (): string => { + return this.id; + }; + + /** + * Get value. + * + * Get value with plus operation of member value, x and y. + * + * @param x The value x + * @param y The value y. + * + * The value to be added. + * @returns Sum of them. + * + * `this.value + x + y` + */ + getValue(x: number, y: number): number { + return this.value + x + y; + } + + /** + * Get performance. + */ + getPerformance(): IPerformance { + return { level: 3 }; + } + + /** + * Synchornize with server. + */ + async synchronize( + /** + * Flag for synchronization. + */ + flag: boolean, + ): Promise { + return flag && true; + } +} + +/** + * The performance interface. + */ +interface IPerformance { + /** + * Level value. + */ + level: number; +} From 776351fdecd7c6e6916b17941916afb8ed2a9de5 Mon Sep 17 00:00:00 2001 From: Jeongho Nam Date: Sat, 7 Sep 2024 04:53:06 +0900 Subject: [PATCH 3/8] Fix test level bug --- test/schemas/reflect/metadata/ArrayAny.json | 40 +- .../reflect/metadata/ArrayAtomicAlias.json | 14 +- .../reflect/metadata/ArrayAtomicSimple.json | 14 +- .../reflect/metadata/ArrayHierarchical.json | 76 +-- .../metadata/ArrayHierarchicalPointer.json | 80 +-- .../schemas/reflect/metadata/ArrayMatrix.json | 8 +- .../reflect/metadata/ArrayRecursive.json | 32 +- .../metadata/ArrayRecursiveUnionExplicit.json | 142 ++--- .../ArrayRecursiveUnionExplicitPointer.json | 150 +++--- .../metadata/ArrayRecursiveUnionImplicit.json | 126 ++--- .../metadata/ArrayRepeatedNullable.json | 4 +- .../metadata/ArrayRepeatedOptional.json | 4 +- .../metadata/ArrayRepeatedRequired.json | 4 +- .../reflect/metadata/ArrayRepeatedUnion.json | 36 +- .../metadata/ArrayRepeatedUnionWithTuple.json | 46 +- .../schemas/reflect/metadata/ArraySimple.json | 30 +- .../reflect/metadata/ArraySimpleProtobuf.json | 62 +-- .../metadata/ArraySimpleProtobufNullable.json | 62 +-- .../metadata/ArraySimpleProtobufOptional.json | 62 +-- test/schemas/reflect/metadata/ArrayUnion.json | 10 +- .../schemas/reflect/metadata/AtomicAlias.json | 8 +- .../schemas/reflect/metadata/AtomicClass.json | 20 +- .../reflect/metadata/AtomicIntersection.json | 8 +- .../reflect/metadata/AtomicSimple.json | 8 +- .../schemas/reflect/metadata/AtomicUnion.json | 4 +- .../reflect/metadata/ClassClosure.json | 43 +- .../schemas/reflect/metadata/ClassGetter.json | 14 +- .../schemas/reflect/metadata/ClassMethod.json | 90 +++- .../reflect/metadata/ClassNonPublic.json | 90 +++- .../metadata/ClassPropertyAssignment.json | 22 +- .../reflect/metadata/CommentTagArray.json | 32 +- .../metadata/CommentTagArrayUnion.json | 26 +- .../metadata/CommentTagAtomicUnion.json | 12 +- .../reflect/metadata/CommentTagBigInt.json | 22 +- .../reflect/metadata/CommentTagDefault.json | 46 +- .../reflect/metadata/CommentTagFormat.json | 90 ++-- .../reflect/metadata/CommentTagInfinite.json | 26 +- .../reflect/metadata/CommentTagLength.json | 28 +- .../reflect/metadata/CommentTagNaN.json | 26 +- .../metadata/CommentTagObjectUnion.json | 12 +- .../reflect/metadata/CommentTagPattern.json | 18 +- .../reflect/metadata/CommentTagRange.json | 44 +- .../metadata/CommentTagRangeBigInt.json | 44 +- .../reflect/metadata/CommentTagType.json | 36 +- .../metadata/CommentTagTypeBigInt.json | 10 +- .../metadata/ConstantAtomicAbsorbed.json | 10 +- .../metadata/ConstantAtomicSimple.json | 10 +- .../metadata/ConstantAtomicTagged.json | 10 +- .../reflect/metadata/ConstantAtomicUnion.json | 8 +- .../metadata/ConstantAtomicWrapper.json | 20 +- .../metadata/ConstantConstEnumeration.json | 4 +- .../reflect/metadata/ConstantEnumeration.json | 4 +- .../metadata/ConstantIntersection.json | 8 +- .../reflect/metadata/DynamicArray.json | 12 +- .../reflect/metadata/DynamicComposite.json | 50 +- .../reflect/metadata/DynamicConstant.json | 22 +- .../reflect/metadata/DynamicEnumeration.json | 46 +- .../reflect/metadata/DynamicJsonValue.json | 8 +- .../reflect/metadata/DynamicNever.json | 6 +- .../reflect/metadata/DynamicSimple.json | 10 +- test/schemas/reflect/metadata/DynamicTag.json | 10 +- .../reflect/metadata/DynamicTemplate.json | 38 +- .../schemas/reflect/metadata/DynamicTree.json | 18 +- .../reflect/metadata/DynamicUndefined.json | 6 +- .../reflect/metadata/DynamicUnion.json | 34 +- .../reflect/metadata/FunctionalArray.json | 85 ++- .../metadata/FunctionalArrayUnion.json | 36 +- .../metadata/FunctionalObjectUnion.json | 222 +++++++- .../reflect/metadata/FunctionalProperty.json | 69 ++- .../metadata/FunctionalPropertyUnion.json | 93 +++- .../reflect/metadata/FunctionalTuple.json | 200 ++++++- .../metadata/FunctionalTupleUnion.json | 256 ++++++++- .../reflect/metadata/FunctionalValue.json | 86 ++- .../metadata/FunctionalValueUnion.json | 28 +- .../reflect/metadata/InstanceUnion.json | 162 +++--- test/schemas/reflect/metadata/MapAlias.json | 56 +- test/schemas/reflect/metadata/MapSimple.json | 56 +- .../reflect/metadata/MapSimpleProtobuf.json | 58 +- .../metadata/MapSimpleProtobufNullable.json | 58 +- .../metadata/MapSimpleProtobufOptional.json | 58 +- test/schemas/reflect/metadata/MapUnion.json | 38 +- .../schemas/reflect/metadata/NativeAlias.json | 66 +-- .../reflect/metadata/NativeSimple.json | 66 +-- .../schemas/reflect/metadata/NativeUnion.json | 28 +- .../schemas/reflect/metadata/ObjectAlias.json | 28 +- .../reflect/metadata/ObjectClosure.json | 39 +- test/schemas/reflect/metadata/ObjectDate.json | 26 +- .../reflect/metadata/ObjectDescription.json | 24 +- .../reflect/metadata/ObjectDynamic.json | 6 +- .../reflect/metadata/ObjectGeneric.json | 74 +-- .../reflect/metadata/ObjectGenericAlias.json | 6 +- .../reflect/metadata/ObjectGenericArray.json | 36 +- .../reflect/metadata/ObjectGenericUnion.json | 132 ++--- .../reflect/metadata/ObjectHierarchical.json | 136 ++--- .../reflect/metadata/ObjectHttpArray.json | 36 +- .../reflect/metadata/ObjectHttpAtomic.json | 18 +- .../metadata/ObjectHttpCommentTag.json | 20 +- .../reflect/metadata/ObjectHttpConstant.json | 26 +- .../reflect/metadata/ObjectHttpFormData.json | 36 +- .../reflect/metadata/ObjectHttpNullable.json | 40 +- .../reflect/metadata/ObjectHttpTypeTag.json | 26 +- .../metadata/ObjectHttpUndefindable.json | 34 +- .../reflect/metadata/ObjectInternal.json | 10 +- .../reflect/metadata/ObjectIntersection.json | 14 +- .../reflect/metadata/ObjectJsonTag.json | 18 +- .../metadata/ObjectLiteralProperty.json | 10 +- .../reflect/metadata/ObjectLiteralType.json | 14 +- .../reflect/metadata/ObjectNullable.json | 40 +- .../reflect/metadata/ObjectOptional.json | 18 +- .../reflect/metadata/ObjectPartial.json | 44 +- .../metadata/ObjectPartialAndRequired.json | 24 +- .../reflect/metadata/ObjectPrimitive.json | 52 +- .../metadata/ObjectPropertyNullable.json | 54 +- .../reflect/metadata/ObjectRecursive.json | 34 +- .../reflect/metadata/ObjectRequired.json | 44 +- .../reflect/metadata/ObjectSimple.json | 30 +- .../metadata/ObjectSimpleProtobuf.json | 38 +- .../ObjectSimpleProtobufNullable.json | 38 +- .../ObjectSimpleProtobufOptional.json | 38 +- .../schemas/reflect/metadata/ObjectTuple.json | 30 +- .../reflect/metadata/ObjectUndefined.json | 40 +- .../metadata/ObjectUnionComposite.json | 80 +-- .../metadata/ObjectUnionCompositePointer.json | 88 +-- .../reflect/metadata/ObjectUnionDouble.json | 62 +-- .../reflect/metadata/ObjectUnionExplicit.json | 112 ++-- .../metadata/ObjectUnionExplicitPointer.json | 120 ++--- .../reflect/metadata/ObjectUnionImplicit.json | 120 ++--- .../metadata/ObjectUnionNonPredictable.json | 40 +- test/schemas/reflect/metadata/SetAlias.json | 46 +- test/schemas/reflect/metadata/SetSimple.json | 46 +- test/schemas/reflect/metadata/SetUnion.json | 28 +- .../reflect/metadata/TemplateAtomic.json | 84 +-- .../reflect/metadata/TemplateConstant.json | 20 +- .../reflect/metadata/TemplateUnion.json | 56 +- .../schemas/reflect/metadata/ToJsonArray.json | 170 +++++- .../reflect/metadata/ToJsonAtomicSimple.json | 119 ++++- .../reflect/metadata/ToJsonAtomicUnion.json | 49 +- .../reflect/metadata/ToJsonDouble.json | 258 ++++++++- test/schemas/reflect/metadata/ToJsonNull.json | 34 +- .../schemas/reflect/metadata/ToJsonTuple.json | 163 +++++- .../schemas/reflect/metadata/ToJsonUnion.json | 125 ++++- .../reflect/metadata/TupleHierarchical.json | 46 +- .../reflect/metadata/TupleOptional.json | 14 +- .../reflect/metadata/TupleRestArray.json | 12 +- .../reflect/metadata/TupleRestAtomic.json | 10 +- .../reflect/metadata/TupleRestObject.json | 14 +- test/schemas/reflect/metadata/TupleUnion.json | 14 +- .../reflect/metadata/TypeTagArray.json | 36 +- .../reflect/metadata/TypeTagArrayUnion.json | 26 +- .../reflect/metadata/TypeTagAtomicUnion.json | 12 +- .../reflect/metadata/TypeTagBigInt.json | 22 +- .../reflect/metadata/TypeTagCustom.json | 18 +- .../reflect/metadata/TypeTagDefault.json | 42 +- .../reflect/metadata/TypeTagFormat.json | 90 ++-- .../reflect/metadata/TypeTagInfinite.json | 26 +- .../reflect/metadata/TypeTagLength.json | 28 +- .../reflect/metadata/TypeTagMatrix.json | 10 +- test/schemas/reflect/metadata/TypeTagNaN.json | 26 +- .../reflect/metadata/TypeTagObjectUnion.json | 12 +- .../reflect/metadata/TypeTagPattern.json | 18 +- .../reflect/metadata/TypeTagRange.json | 44 +- .../reflect/metadata/TypeTagRangeBigInt.json | 44 +- .../reflect/metadata/TypeTagTuple.json | 18 +- .../schemas/reflect/metadata/TypeTagType.json | 36 +- .../reflect/metadata/TypeTagTypeBigInt.json | 10 +- .../reflect/metadata/TypeTagTypeUnion.json | 42 +- .../reflect/metadata/UltimateUnion.json | 504 +++++++++--------- .../llm.application/test_llm_application.ts | 2 +- 168 files changed, 5020 insertions(+), 3145 deletions(-) diff --git a/test/schemas/reflect/metadata/ArrayAny.json b/test/schemas/reflect/metadata/ArrayAny.json index 63e4e97f21..914ee4747a 100644 --- a/test/schemas/reflect/metadata/ArrayAny.json +++ b/test/schemas/reflect/metadata/ArrayAny.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -201,7 +201,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -229,7 +229,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -257,7 +257,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -285,7 +285,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -313,7 +313,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -341,7 +341,7 @@ "required": false, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -369,7 +369,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -397,7 +397,7 @@ "required": false, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -425,7 +425,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -453,7 +453,7 @@ "required": false, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -481,7 +481,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -509,7 +509,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -549,7 +549,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ArrayAtomicAlias.json b/test/schemas/reflect/metadata/ArrayAtomicAlias.json index 1c66bb66fe..09ca4c5dc3 100644 --- a/test/schemas/reflect/metadata/ArrayAtomicAlias.json +++ b/test/schemas/reflect/metadata/ArrayAtomicAlias.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -68,7 +68,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -136,7 +136,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -160,7 +160,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -184,7 +184,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ArrayAtomicSimple.json b/test/schemas/reflect/metadata/ArrayAtomicSimple.json index 3886392df4..0bb7babe4a 100644 --- a/test/schemas/reflect/metadata/ArrayAtomicSimple.json +++ b/test/schemas/reflect/metadata/ArrayAtomicSimple.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -68,7 +68,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -136,7 +136,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -160,7 +160,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -184,7 +184,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ArrayHierarchical.json b/test/schemas/reflect/metadata/ArrayHierarchical.json index 3e7b1d0d68..13b5202119 100644 --- a/test/schemas/reflect/metadata/ArrayHierarchical.json +++ b/test/schemas/reflect/metadata/ArrayHierarchical.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -148,7 +148,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -176,7 +176,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -204,7 +204,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -232,7 +232,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -257,7 +257,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -285,7 +285,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -324,7 +324,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -352,7 +352,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -380,7 +380,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -408,7 +408,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -447,7 +447,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -475,7 +475,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -503,7 +503,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -531,7 +531,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -559,7 +559,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -587,7 +587,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -615,7 +615,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -643,7 +643,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -668,7 +668,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -696,7 +696,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -735,7 +735,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -763,7 +763,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -791,7 +791,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -819,7 +819,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -847,7 +847,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -875,7 +875,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -903,7 +903,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -931,7 +931,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -959,7 +959,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -987,7 +987,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1024,7 +1024,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1053,7 +1053,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1082,7 +1082,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ArrayHierarchicalPointer.json b/test/schemas/reflect/metadata/ArrayHierarchicalPointer.json index cb4bb89c08..2b9c26d78b 100644 --- a/test/schemas/reflect/metadata/ArrayHierarchicalPointer.json +++ b/test/schemas/reflect/metadata/ArrayHierarchicalPointer.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -156,7 +156,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -184,7 +184,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -212,7 +212,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -240,7 +240,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -268,7 +268,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -296,7 +296,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -321,7 +321,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -349,7 +349,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -388,7 +388,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -416,7 +416,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -444,7 +444,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -472,7 +472,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -511,7 +511,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -539,7 +539,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -567,7 +567,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -595,7 +595,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -623,7 +623,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -651,7 +651,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -679,7 +679,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -707,7 +707,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -732,7 +732,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -760,7 +760,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -799,7 +799,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -827,7 +827,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -855,7 +855,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -883,7 +883,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -911,7 +911,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -939,7 +939,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -967,7 +967,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -995,7 +995,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1023,7 +1023,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1051,7 +1051,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1088,7 +1088,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1117,7 +1117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1146,7 +1146,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ArrayMatrix.json b/test/schemas/reflect/metadata/ArrayMatrix.json index eb4b9a2fec..dc45eaaf23 100644 --- a/test/schemas/reflect/metadata/ArrayMatrix.json +++ b/test/schemas/reflect/metadata/ArrayMatrix.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -68,7 +68,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/ArrayRecursive.json b/test/schemas/reflect/metadata/ArrayRecursive.json index 2b18202410..57b733bdc6 100644 --- a/test/schemas/reflect/metadata/ArrayRecursive.json +++ b/test/schemas/reflect/metadata/ArrayRecursive.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -201,7 +201,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -229,7 +229,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -257,7 +257,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -285,7 +285,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -321,7 +321,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -349,7 +349,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -377,7 +377,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -405,7 +405,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -445,7 +445,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ArrayRecursiveUnionExplicit.json b/test/schemas/reflect/metadata/ArrayRecursiveUnionExplicit.json index c156fb341d..e2f8ddca10 100644 --- a/test/schemas/reflect/metadata/ArrayRecursiveUnionExplicit.json +++ b/test/schemas/reflect/metadata/ArrayRecursiveUnionExplicit.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -148,7 +148,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -176,7 +176,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -204,7 +204,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -232,7 +232,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -260,7 +260,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -288,7 +288,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -332,7 +332,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -360,7 +360,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -388,7 +388,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -416,7 +416,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -444,7 +444,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -472,7 +472,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -500,7 +500,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -528,7 +528,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -556,7 +556,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -584,7 +584,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -612,7 +612,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -640,7 +640,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -668,7 +668,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -696,7 +696,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -724,7 +724,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -752,7 +752,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -785,7 +785,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -813,7 +813,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -857,7 +857,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -885,7 +885,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -913,7 +913,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -941,7 +941,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -969,7 +969,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -997,7 +997,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1025,7 +1025,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1053,7 +1053,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1081,7 +1081,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1109,7 +1109,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1137,7 +1137,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1165,7 +1165,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1198,7 +1198,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1226,7 +1226,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1270,7 +1270,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1298,7 +1298,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1326,7 +1326,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1354,7 +1354,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1382,7 +1382,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1410,7 +1410,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1438,7 +1438,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1466,7 +1466,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1494,7 +1494,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1522,7 +1522,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1550,7 +1550,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1578,7 +1578,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1611,7 +1611,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1639,7 +1639,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1683,7 +1683,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1711,7 +1711,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1739,7 +1739,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1767,7 +1767,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1795,7 +1795,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1823,7 +1823,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1851,7 +1851,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1879,7 +1879,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1908,7 +1908,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1936,7 +1936,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1969,7 +1969,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1997,7 +1997,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2042,7 +2042,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -2075,7 +2075,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ArrayRecursiveUnionExplicitPointer.json b/test/schemas/reflect/metadata/ArrayRecursiveUnionExplicitPointer.json index 51c3758d72..5f5f6a05d3 100644 --- a/test/schemas/reflect/metadata/ArrayRecursiveUnionExplicitPointer.json +++ b/test/schemas/reflect/metadata/ArrayRecursiveUnionExplicitPointer.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -168,7 +168,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -196,7 +196,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -224,7 +224,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -252,7 +252,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -280,7 +280,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -308,7 +308,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -336,7 +336,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -364,7 +364,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -392,7 +392,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -420,7 +420,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -464,7 +464,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -492,7 +492,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -520,7 +520,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -548,7 +548,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -576,7 +576,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -604,7 +604,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -632,7 +632,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -660,7 +660,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -688,7 +688,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -716,7 +716,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -744,7 +744,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -772,7 +772,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -800,7 +800,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -828,7 +828,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -856,7 +856,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -884,7 +884,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -917,7 +917,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -945,7 +945,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -989,7 +989,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1017,7 +1017,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1045,7 +1045,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1073,7 +1073,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1101,7 +1101,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1129,7 +1129,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1157,7 +1157,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1185,7 +1185,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1213,7 +1213,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1241,7 +1241,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1269,7 +1269,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1297,7 +1297,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1330,7 +1330,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1358,7 +1358,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1402,7 +1402,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1430,7 +1430,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1458,7 +1458,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1486,7 +1486,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1514,7 +1514,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1542,7 +1542,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1570,7 +1570,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1598,7 +1598,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1626,7 +1626,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1654,7 +1654,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1682,7 +1682,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1710,7 +1710,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1743,7 +1743,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1771,7 +1771,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1815,7 +1815,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1843,7 +1843,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1871,7 +1871,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1899,7 +1899,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1927,7 +1927,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1955,7 +1955,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1983,7 +1983,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2011,7 +2011,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -2036,7 +2036,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2064,7 +2064,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2097,7 +2097,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2125,7 +2125,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2170,7 +2170,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -2199,7 +2199,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ArrayRecursiveUnionImplicit.json b/test/schemas/reflect/metadata/ArrayRecursiveUnionImplicit.json index 88dce5a986..952a276e87 100644 --- a/test/schemas/reflect/metadata/ArrayRecursiveUnionImplicit.json +++ b/test/schemas/reflect/metadata/ArrayRecursiveUnionImplicit.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -148,7 +148,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -176,7 +176,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -204,7 +204,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -232,7 +232,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -271,7 +271,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -299,7 +299,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -336,7 +336,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -364,7 +364,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -392,7 +392,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -420,7 +420,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -448,7 +448,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -476,7 +476,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -504,7 +504,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -532,7 +532,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -571,7 +571,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -599,7 +599,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -627,7 +627,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -655,7 +655,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -683,7 +683,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -711,7 +711,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -739,7 +739,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -767,7 +767,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -795,7 +795,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -823,7 +823,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -851,7 +851,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -879,7 +879,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -907,7 +907,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -935,7 +935,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -974,7 +974,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1002,7 +1002,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1030,7 +1030,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1058,7 +1058,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1086,7 +1086,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1114,7 +1114,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1142,7 +1142,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1170,7 +1170,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1198,7 +1198,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1226,7 +1226,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1265,7 +1265,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1293,7 +1293,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1321,7 +1321,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1349,7 +1349,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1377,7 +1377,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1405,7 +1405,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1433,7 +1433,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1461,7 +1461,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1489,7 +1489,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1517,7 +1517,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1556,7 +1556,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1584,7 +1584,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1612,7 +1612,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1640,7 +1640,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1668,7 +1668,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1696,7 +1696,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1724,7 +1724,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1752,7 +1752,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1794,7 +1794,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1828,7 +1828,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ArrayRepeatedNullable.json b/test/schemas/reflect/metadata/ArrayRepeatedNullable.json index 2383f04d96..0381065221 100644 --- a/test/schemas/reflect/metadata/ArrayRepeatedNullable.json +++ b/test/schemas/reflect/metadata/ArrayRepeatedNullable.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -45,7 +45,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ArrayRepeatedOptional.json b/test/schemas/reflect/metadata/ArrayRepeatedOptional.json index 3cc1563352..6caddc060f 100644 --- a/test/schemas/reflect/metadata/ArrayRepeatedOptional.json +++ b/test/schemas/reflect/metadata/ArrayRepeatedOptional.json @@ -5,7 +5,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -45,7 +45,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ArrayRepeatedRequired.json b/test/schemas/reflect/metadata/ArrayRepeatedRequired.json index e079927c62..cb9d7a31e0 100644 --- a/test/schemas/reflect/metadata/ArrayRepeatedRequired.json +++ b/test/schemas/reflect/metadata/ArrayRepeatedRequired.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -45,7 +45,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ArrayRepeatedUnion.json b/test/schemas/reflect/metadata/ArrayRepeatedUnion.json index d81bb84301..6b008305d3 100644 --- a/test/schemas/reflect/metadata/ArrayRepeatedUnion.json +++ b/test/schemas/reflect/metadata/ArrayRepeatedUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -53,7 +53,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -81,7 +81,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -106,7 +106,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -134,7 +134,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -159,7 +159,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -187,7 +187,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -212,7 +212,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -240,7 +240,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -276,7 +276,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -304,7 +304,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -332,7 +332,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -360,7 +360,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -388,7 +388,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -416,7 +416,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -456,7 +456,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -488,7 +488,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -537,7 +537,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ArrayRepeatedUnionWithTuple.json b/test/schemas/reflect/metadata/ArrayRepeatedUnionWithTuple.json index ec9e5df6b7..6cb712aac3 100644 --- a/test/schemas/reflect/metadata/ArrayRepeatedUnionWithTuple.json +++ b/test/schemas/reflect/metadata/ArrayRepeatedUnionWithTuple.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -62,7 +62,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -90,7 +90,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -115,7 +115,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -143,7 +143,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -168,7 +168,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -196,7 +196,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -221,7 +221,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -249,7 +249,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -285,7 +285,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -313,7 +313,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -341,7 +341,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -369,7 +369,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -397,7 +397,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -425,7 +425,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -465,7 +465,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -497,7 +497,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -555,7 +555,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -588,7 +588,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -612,7 +612,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -636,7 +636,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -670,7 +670,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -691,7 +691,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ArraySimple.json b/test/schemas/reflect/metadata/ArraySimple.json index 9cd5788da6..829c327c3d 100644 --- a/test/schemas/reflect/metadata/ArraySimple.json +++ b/test/schemas/reflect/metadata/ArraySimple.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -148,7 +148,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -176,7 +176,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -215,7 +215,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -243,7 +243,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -271,7 +271,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -299,7 +299,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -327,7 +327,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -355,7 +355,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -395,7 +395,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -424,7 +424,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ArraySimpleProtobuf.json b/test/schemas/reflect/metadata/ArraySimpleProtobuf.json index c7833aecac..00789d8936 100644 --- a/test/schemas/reflect/metadata/ArraySimpleProtobuf.json +++ b/test/schemas/reflect/metadata/ArraySimpleProtobuf.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -201,7 +201,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -229,7 +229,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -257,7 +257,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -285,7 +285,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -313,7 +313,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -341,7 +341,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -369,7 +369,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -397,7 +397,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -425,7 +425,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -453,7 +453,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -481,7 +481,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -509,7 +509,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -537,7 +537,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -565,7 +565,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -605,7 +605,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -637,7 +637,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -683,7 +683,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -729,7 +729,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -775,7 +775,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -821,7 +821,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -867,7 +867,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -913,7 +913,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -945,7 +945,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -974,7 +974,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ArraySimpleProtobufNullable.json b/test/schemas/reflect/metadata/ArraySimpleProtobufNullable.json index 20bc7b0b39..03787c8454 100644 --- a/test/schemas/reflect/metadata/ArraySimpleProtobufNullable.json +++ b/test/schemas/reflect/metadata/ArraySimpleProtobufNullable.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -201,7 +201,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -229,7 +229,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -257,7 +257,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -285,7 +285,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -313,7 +313,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -341,7 +341,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -369,7 +369,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -397,7 +397,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -425,7 +425,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -453,7 +453,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -481,7 +481,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -509,7 +509,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -537,7 +537,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -565,7 +565,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -605,7 +605,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -637,7 +637,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -683,7 +683,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -729,7 +729,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -775,7 +775,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -821,7 +821,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -867,7 +867,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -913,7 +913,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -945,7 +945,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -974,7 +974,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ArraySimpleProtobufOptional.json b/test/schemas/reflect/metadata/ArraySimpleProtobufOptional.json index 768b5d8239..4fd486af89 100644 --- a/test/schemas/reflect/metadata/ArraySimpleProtobufOptional.json +++ b/test/schemas/reflect/metadata/ArraySimpleProtobufOptional.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -201,7 +201,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -229,7 +229,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -257,7 +257,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -285,7 +285,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -313,7 +313,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -341,7 +341,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -369,7 +369,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -397,7 +397,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -425,7 +425,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -453,7 +453,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -481,7 +481,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -509,7 +509,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -537,7 +537,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -565,7 +565,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -605,7 +605,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -637,7 +637,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -683,7 +683,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -729,7 +729,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -775,7 +775,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -821,7 +821,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -867,7 +867,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -913,7 +913,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -945,7 +945,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -974,7 +974,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ArrayUnion.json b/test/schemas/reflect/metadata/ArrayUnion.json index 49cea43a66..35443923a5 100644 --- a/test/schemas/reflect/metadata/ArrayUnion.json +++ b/test/schemas/reflect/metadata/ArrayUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -76,7 +76,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -108,7 +108,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -140,7 +140,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/AtomicAlias.json b/test/schemas/reflect/metadata/AtomicAlias.json index 80aeb15c94..581adeb7d0 100644 --- a/test/schemas/reflect/metadata/AtomicAlias.json +++ b/test/schemas/reflect/metadata/AtomicAlias.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -39,7 +39,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -63,7 +63,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -87,7 +87,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/AtomicClass.json b/test/schemas/reflect/metadata/AtomicClass.json index 0207515208..524270ba9c 100644 --- a/test/schemas/reflect/metadata/AtomicClass.json +++ b/test/schemas/reflect/metadata/AtomicClass.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -39,7 +39,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -60,7 +60,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -91,7 +91,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -138,7 +138,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -169,7 +169,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -195,7 +195,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -216,7 +216,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -247,7 +247,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/AtomicIntersection.json b/test/schemas/reflect/metadata/AtomicIntersection.json index 17ad8844ec..5a14e8c761 100644 --- a/test/schemas/reflect/metadata/AtomicIntersection.json +++ b/test/schemas/reflect/metadata/AtomicIntersection.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -39,7 +39,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -63,7 +63,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -87,7 +87,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/AtomicSimple.json b/test/schemas/reflect/metadata/AtomicSimple.json index ad6e9b383b..b742797615 100644 --- a/test/schemas/reflect/metadata/AtomicSimple.json +++ b/test/schemas/reflect/metadata/AtomicSimple.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -39,7 +39,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -63,7 +63,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -87,7 +87,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/AtomicUnion.json b/test/schemas/reflect/metadata/AtomicUnion.json index 6b1058506e..f583bb0785 100644 --- a/test/schemas/reflect/metadata/AtomicUnion.json +++ b/test/schemas/reflect/metadata/AtomicUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ClassClosure.json b/test/schemas/reflect/metadata/ClassClosure.json index a55339aabd..d0fefced20 100644 --- a/test/schemas/reflect/metadata/ClassClosure.json +++ b/test/schemas/reflect/metadata/ClassClosure.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -150,7 +150,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -178,7 +178,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "string", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ClassGetter.json b/test/schemas/reflect/metadata/ClassGetter.json index 5c5d3ca893..97bee1ea74 100644 --- a/test/schemas/reflect/metadata/ClassGetter.json +++ b/test/schemas/reflect/metadata/ClassGetter.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", diff --git a/test/schemas/reflect/metadata/ClassMethod.json b/test/schemas/reflect/metadata/ClassMethod.json index fe880b4b39..7369df76d8 100644 --- a/test/schemas/reflect/metadata/ClassMethod.json +++ b/test/schemas/reflect/metadata/ClassMethod.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -138,6 +138,86 @@ }, "description": null, "jsDocTags": [] + }, + { + "key": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [ + { + "type": "string", + "values": [ + { + "value": "bark" + } + ] + } + ], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "value": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "string", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] } ], "jsDocTags": [], diff --git a/test/schemas/reflect/metadata/ClassNonPublic.json b/test/schemas/reflect/metadata/ClassNonPublic.json index 110099a5d4..46b6aba58f 100644 --- a/test/schemas/reflect/metadata/ClassNonPublic.json +++ b/test/schemas/reflect/metadata/ClassNonPublic.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -138,6 +138,86 @@ }, "description": null, "jsDocTags": [] + }, + { + "key": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [ + { + "type": "string", + "values": [ + { + "value": "getHidden" + } + ] + } + ], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "value": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "boolean", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] } ], "jsDocTags": [], diff --git a/test/schemas/reflect/metadata/ClassPropertyAssignment.json b/test/schemas/reflect/metadata/ClassPropertyAssignment.json index d34932bf9d..65af1c742c 100644 --- a/test/schemas/reflect/metadata/ClassPropertyAssignment.json +++ b/test/schemas/reflect/metadata/ClassPropertyAssignment.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -206,7 +206,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -234,7 +234,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -267,7 +267,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -295,7 +295,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", diff --git a/test/schemas/reflect/metadata/CommentTagArray.json b/test/schemas/reflect/metadata/CommentTagArray.json index 8f35cb1d95..e1e3ed99ba 100644 --- a/test/schemas/reflect/metadata/CommentTagArray.json +++ b/test/schemas/reflect/metadata/CommentTagArray.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -191,7 +191,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -219,7 +219,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -271,7 +271,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -299,7 +299,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -371,7 +371,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -399,7 +399,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -471,7 +471,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -499,7 +499,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -557,7 +557,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -586,7 +586,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -618,7 +618,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/CommentTagArrayUnion.json b/test/schemas/reflect/metadata/CommentTagArrayUnion.json index ef876100a7..9a8be95b38 100644 --- a/test/schemas/reflect/metadata/CommentTagArrayUnion.json +++ b/test/schemas/reflect/metadata/CommentTagArrayUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -127,7 +127,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -155,7 +155,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -207,7 +207,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -235,7 +235,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -287,7 +287,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -315,7 +315,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -399,7 +399,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -428,7 +428,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -460,7 +460,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -492,7 +492,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/CommentTagAtomicUnion.json b/test/schemas/reflect/metadata/CommentTagAtomicUnion.json index 370839975f..3985f992e0 100644 --- a/test/schemas/reflect/metadata/CommentTagAtomicUnion.json +++ b/test/schemas/reflect/metadata/CommentTagAtomicUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -242,7 +242,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/CommentTagBigInt.json b/test/schemas/reflect/metadata/CommentTagBigInt.json index 7101e3d3cc..3206a7c18e 100644 --- a/test/schemas/reflect/metadata/CommentTagBigInt.json +++ b/test/schemas/reflect/metadata/CommentTagBigInt.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -195,7 +195,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -223,7 +223,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -278,7 +278,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -306,7 +306,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -361,7 +361,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -389,7 +389,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", diff --git a/test/schemas/reflect/metadata/CommentTagDefault.json b/test/schemas/reflect/metadata/CommentTagDefault.json index 045af4d554..e72c243e46 100644 --- a/test/schemas/reflect/metadata/CommentTagDefault.json +++ b/test/schemas/reflect/metadata/CommentTagDefault.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -99,7 +99,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -127,7 +127,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -165,7 +165,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -193,7 +193,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -231,7 +231,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -259,7 +259,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -297,7 +297,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -325,7 +325,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -389,7 +389,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -417,7 +417,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -463,7 +463,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -491,7 +491,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -537,7 +537,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -565,7 +565,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -611,7 +611,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -639,7 +639,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -726,7 +726,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -754,7 +754,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -774,7 +774,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -802,7 +802,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/CommentTagFormat.json b/test/schemas/reflect/metadata/CommentTagFormat.json index e98f6a28ba..b24dbcc1b8 100644 --- a/test/schemas/reflect/metadata/CommentTagFormat.json +++ b/test/schemas/reflect/metadata/CommentTagFormat.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -113,7 +113,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -141,7 +141,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -193,7 +193,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -221,7 +221,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -273,7 +273,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -301,7 +301,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -353,7 +353,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -381,7 +381,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -433,7 +433,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -461,7 +461,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -513,7 +513,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -541,7 +541,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -593,7 +593,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -621,7 +621,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -673,7 +673,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -701,7 +701,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -753,7 +753,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -781,7 +781,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -833,7 +833,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -861,7 +861,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -913,7 +913,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -941,7 +941,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -993,7 +993,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1021,7 +1021,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1073,7 +1073,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1101,7 +1101,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1153,7 +1153,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1181,7 +1181,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1233,7 +1233,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1261,7 +1261,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1313,7 +1313,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1341,7 +1341,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1393,7 +1393,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1421,7 +1421,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1473,7 +1473,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1501,7 +1501,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1553,7 +1553,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1581,7 +1581,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1633,7 +1633,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1661,7 +1661,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1713,7 +1713,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1741,7 +1741,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/CommentTagInfinite.json b/test/schemas/reflect/metadata/CommentTagInfinite.json index 47cd3e62f6..bb36394fc2 100644 --- a/test/schemas/reflect/metadata/CommentTagInfinite.json +++ b/test/schemas/reflect/metadata/CommentTagInfinite.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -195,7 +195,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -223,7 +223,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -278,7 +278,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -306,7 +306,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -361,7 +361,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -389,7 +389,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -441,7 +441,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -469,7 +469,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/CommentTagLength.json b/test/schemas/reflect/metadata/CommentTagLength.json index 6900cf792d..72d836d40a 100644 --- a/test/schemas/reflect/metadata/CommentTagLength.json +++ b/test/schemas/reflect/metadata/CommentTagLength.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -191,7 +191,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -219,7 +219,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -271,7 +271,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -299,7 +299,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -351,7 +351,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -379,7 +379,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -451,7 +451,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -479,7 +479,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -563,7 +563,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/CommentTagNaN.json b/test/schemas/reflect/metadata/CommentTagNaN.json index d8d1567538..760eabd78a 100644 --- a/test/schemas/reflect/metadata/CommentTagNaN.json +++ b/test/schemas/reflect/metadata/CommentTagNaN.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -195,7 +195,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -223,7 +223,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -278,7 +278,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -306,7 +306,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -361,7 +361,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -389,7 +389,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -441,7 +441,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -469,7 +469,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/CommentTagObjectUnion.json b/test/schemas/reflect/metadata/CommentTagObjectUnion.json index 112ac74f4e..6d5bc13595 100644 --- a/test/schemas/reflect/metadata/CommentTagObjectUnion.json +++ b/test/schemas/reflect/metadata/CommentTagObjectUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -130,7 +130,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -158,7 +158,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -242,7 +242,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/CommentTagPattern.json b/test/schemas/reflect/metadata/CommentTagPattern.json index f09d6ae83f..c7f407d2c0 100644 --- a/test/schemas/reflect/metadata/CommentTagPattern.json +++ b/test/schemas/reflect/metadata/CommentTagPattern.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -115,7 +115,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -143,7 +143,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -197,7 +197,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -225,7 +225,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -279,7 +279,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -307,7 +307,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/CommentTagRange.json b/test/schemas/reflect/metadata/CommentTagRange.json index 3e7c8bf182..f2092f7ffd 100644 --- a/test/schemas/reflect/metadata/CommentTagRange.json +++ b/test/schemas/reflect/metadata/CommentTagRange.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -204,7 +204,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -232,7 +232,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -307,7 +307,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -335,7 +335,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -411,7 +411,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -439,7 +439,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -514,7 +514,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -542,7 +542,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -642,7 +642,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -670,7 +670,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -769,7 +769,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -797,7 +797,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -896,7 +896,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -924,7 +924,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1022,7 +1022,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1050,7 +1050,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1160,7 +1160,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/CommentTagRangeBigInt.json b/test/schemas/reflect/metadata/CommentTagRangeBigInt.json index a3171f3645..86b077a969 100644 --- a/test/schemas/reflect/metadata/CommentTagRangeBigInt.json +++ b/test/schemas/reflect/metadata/CommentTagRangeBigInt.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -183,7 +183,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -211,7 +211,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -266,7 +266,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -294,7 +294,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -349,7 +349,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -377,7 +377,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -432,7 +432,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -460,7 +460,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -538,7 +538,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -566,7 +566,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -644,7 +644,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -672,7 +672,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -750,7 +750,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -778,7 +778,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -856,7 +856,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -884,7 +884,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -974,7 +974,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/CommentTagType.json b/test/schemas/reflect/metadata/CommentTagType.json index 20d2e008e6..0f070c06b2 100644 --- a/test/schemas/reflect/metadata/CommentTagType.json +++ b/test/schemas/reflect/metadata/CommentTagType.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -180,7 +180,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -208,7 +208,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -260,7 +260,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -288,7 +288,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -340,7 +340,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -368,7 +368,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -420,7 +420,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -448,7 +448,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -500,7 +500,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -528,7 +528,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -580,7 +580,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -608,7 +608,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -669,7 +669,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/CommentTagTypeBigInt.json b/test/schemas/reflect/metadata/CommentTagTypeBigInt.json index 4f43809f21..e099263ef9 100644 --- a/test/schemas/reflect/metadata/CommentTagTypeBigInt.json +++ b/test/schemas/reflect/metadata/CommentTagTypeBigInt.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", diff --git a/test/schemas/reflect/metadata/ConstantAtomicAbsorbed.json b/test/schemas/reflect/metadata/ConstantAtomicAbsorbed.json index 9113f4b444..10409a578c 100644 --- a/test/schemas/reflect/metadata/ConstantAtomicAbsorbed.json +++ b/test/schemas/reflect/metadata/ConstantAtomicAbsorbed.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -102,7 +102,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -130,7 +130,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/ConstantAtomicSimple.json b/test/schemas/reflect/metadata/ConstantAtomicSimple.json index c3688c7a5d..b79adc13b0 100644 --- a/test/schemas/reflect/metadata/ConstantAtomicSimple.json +++ b/test/schemas/reflect/metadata/ConstantAtomicSimple.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -39,7 +39,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -68,7 +68,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -97,7 +97,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -126,7 +126,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { diff --git a/test/schemas/reflect/metadata/ConstantAtomicTagged.json b/test/schemas/reflect/metadata/ConstantAtomicTagged.json index f1242bd220..d253ebe313 100644 --- a/test/schemas/reflect/metadata/ConstantAtomicTagged.json +++ b/test/schemas/reflect/metadata/ConstantAtomicTagged.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -116,7 +116,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -144,7 +144,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/ConstantAtomicUnion.json b/test/schemas/reflect/metadata/ConstantAtomicUnion.json index 7dca206b3c..badfa3e3b6 100644 --- a/test/schemas/reflect/metadata/ConstantAtomicUnion.json +++ b/test/schemas/reflect/metadata/ConstantAtomicUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -109,7 +109,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { diff --git a/test/schemas/reflect/metadata/ConstantAtomicWrapper.json b/test/schemas/reflect/metadata/ConstantAtomicWrapper.json index f9786ac0bb..8cb5316078 100644 --- a/test/schemas/reflect/metadata/ConstantAtomicWrapper.json +++ b/test/schemas/reflect/metadata/ConstantAtomicWrapper.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -103,7 +103,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -131,7 +131,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -170,7 +170,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -198,7 +198,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -241,7 +241,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -262,7 +262,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -283,7 +283,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ConstantConstEnumeration.json b/test/schemas/reflect/metadata/ConstantConstEnumeration.json index 97fd5b2fe5..f56036bdd4 100644 --- a/test/schemas/reflect/metadata/ConstantConstEnumeration.json +++ b/test/schemas/reflect/metadata/ConstantConstEnumeration.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { diff --git a/test/schemas/reflect/metadata/ConstantEnumeration.json b/test/schemas/reflect/metadata/ConstantEnumeration.json index 30c8dda15e..6f5f669270 100644 --- a/test/schemas/reflect/metadata/ConstantEnumeration.json +++ b/test/schemas/reflect/metadata/ConstantEnumeration.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { diff --git a/test/schemas/reflect/metadata/ConstantIntersection.json b/test/schemas/reflect/metadata/ConstantIntersection.json index 037a0b7ec6..fd8339a6b0 100644 --- a/test/schemas/reflect/metadata/ConstantIntersection.json +++ b/test/schemas/reflect/metadata/ConstantIntersection.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -39,7 +39,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -68,7 +68,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -97,7 +97,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { diff --git a/test/schemas/reflect/metadata/DynamicArray.json b/test/schemas/reflect/metadata/DynamicArray.json index 40c83f9681..a5aee9ff25 100644 --- a/test/schemas/reflect/metadata/DynamicArray.json +++ b/test/schemas/reflect/metadata/DynamicArray.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -97,7 +97,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -121,7 +121,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -161,7 +161,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/DynamicComposite.json b/test/schemas/reflect/metadata/DynamicComposite.json index 4537a100c0..b91f774204 100644 --- a/test/schemas/reflect/metadata/DynamicComposite.json +++ b/test/schemas/reflect/metadata/DynamicComposite.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -169,7 +169,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -197,7 +197,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -208,7 +208,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -236,7 +236,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -273,7 +273,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -301,7 +301,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -312,7 +312,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -336,7 +336,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -377,7 +377,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -405,7 +405,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -416,7 +416,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -444,7 +444,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -481,7 +481,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -517,7 +517,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -528,7 +528,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -556,7 +556,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -580,7 +580,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -608,7 +608,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -645,7 +645,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", diff --git a/test/schemas/reflect/metadata/DynamicConstant.json b/test/schemas/reflect/metadata/DynamicConstant.json index 8516a5bf9b..7a7a250139 100644 --- a/test/schemas/reflect/metadata/DynamicConstant.json +++ b/test/schemas/reflect/metadata/DynamicConstant.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -97,7 +97,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -125,7 +125,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -153,7 +153,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -181,7 +181,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -209,7 +209,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -237,7 +237,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -265,7 +265,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -293,7 +293,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/DynamicEnumeration.json b/test/schemas/reflect/metadata/DynamicEnumeration.json index 9664515193..eff38ca823 100644 --- a/test/schemas/reflect/metadata/DynamicEnumeration.json +++ b/test/schemas/reflect/metadata/DynamicEnumeration.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -97,7 +97,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -125,7 +125,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -153,7 +153,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -181,7 +181,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -209,7 +209,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -237,7 +237,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -265,7 +265,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -293,7 +293,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -321,7 +321,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -349,7 +349,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -377,7 +377,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -405,7 +405,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -433,7 +433,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -461,7 +461,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -489,7 +489,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -517,7 +517,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -545,7 +545,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -573,7 +573,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -601,7 +601,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -629,7 +629,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/DynamicJsonValue.json b/test/schemas/reflect/metadata/DynamicJsonValue.json index c6644a6d9a..258e660cec 100644 --- a/test/schemas/reflect/metadata/DynamicJsonValue.json +++ b/test/schemas/reflect/metadata/DynamicJsonValue.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -51,7 +51,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -75,7 +75,7 @@ "required": false, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -130,7 +130,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/DynamicNever.json b/test/schemas/reflect/metadata/DynamicNever.json index 75da381616..45551c10fb 100644 --- a/test/schemas/reflect/metadata/DynamicNever.json +++ b/test/schemas/reflect/metadata/DynamicNever.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -57,7 +57,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/DynamicSimple.json b/test/schemas/reflect/metadata/DynamicSimple.json index 3b86fbdea7..56f71da9b3 100644 --- a/test/schemas/reflect/metadata/DynamicSimple.json +++ b/test/schemas/reflect/metadata/DynamicSimple.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -97,7 +97,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -121,7 +121,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/DynamicTag.json b/test/schemas/reflect/metadata/DynamicTag.json index aa6e8fbd39..8b61ed80a0 100644 --- a/test/schemas/reflect/metadata/DynamicTag.json +++ b/test/schemas/reflect/metadata/DynamicTag.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -131,7 +131,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -172,7 +172,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/DynamicTemplate.json b/test/schemas/reflect/metadata/DynamicTemplate.json index 4c27f615e6..6995cec4eb 100644 --- a/test/schemas/reflect/metadata/DynamicTemplate.json +++ b/test/schemas/reflect/metadata/DynamicTemplate.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -44,7 +44,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -72,7 +72,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -109,7 +109,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -137,7 +137,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -148,7 +148,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -172,7 +172,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -213,7 +213,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -241,7 +241,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -252,7 +252,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -280,7 +280,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -317,7 +317,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -345,7 +345,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -356,7 +356,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -384,7 +384,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -408,7 +408,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -436,7 +436,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -473,7 +473,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", diff --git a/test/schemas/reflect/metadata/DynamicTree.json b/test/schemas/reflect/metadata/DynamicTree.json index 2e9f1d337d..38fbb94253 100644 --- a/test/schemas/reflect/metadata/DynamicTree.json +++ b/test/schemas/reflect/metadata/DynamicTree.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -209,7 +209,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -233,7 +233,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/DynamicUndefined.json b/test/schemas/reflect/metadata/DynamicUndefined.json index 126cfb5c7a..f5da489a0e 100644 --- a/test/schemas/reflect/metadata/DynamicUndefined.json +++ b/test/schemas/reflect/metadata/DynamicUndefined.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -57,7 +57,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/DynamicUnion.json b/test/schemas/reflect/metadata/DynamicUnion.json index 025be69ef8..97dac6748a 100644 --- a/test/schemas/reflect/metadata/DynamicUnion.json +++ b/test/schemas/reflect/metadata/DynamicUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -57,7 +57,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -85,7 +85,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -96,7 +96,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -124,7 +124,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -161,7 +161,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -189,7 +189,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -200,7 +200,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -224,7 +224,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -265,7 +265,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -293,7 +293,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -304,7 +304,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -332,7 +332,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -356,7 +356,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -384,7 +384,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -421,7 +421,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/FunctionalArray.json b/test/schemas/reflect/metadata/FunctionalArray.json index 0bc34c776d..919f4b9f17 100644 --- a/test/schemas/reflect/metadata/FunctionalArray.json +++ b/test/schemas/reflect/metadata/FunctionalArray.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,88 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [ + { + "name": "args", + "type": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [ + { + "name": "Array", + "tags": [] + } + ], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] + } + ], + "output": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "nullables": [ + false + ], + "recursive": false, + "index": null + }, + { + "name": "Array", + "value": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/FunctionalArrayUnion.json b/test/schemas/reflect/metadata/FunctionalArrayUnion.json index fa4e1b47a4..9a7ccddcd3 100644 --- a/test/schemas/reflect/metadata/FunctionalArrayUnion.json +++ b/test/schemas/reflect/metadata/FunctionalArrayUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -80,7 +80,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -112,7 +112,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -144,7 +144,31 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -171,7 +195,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/FunctionalObjectUnion.json b/test/schemas/reflect/metadata/FunctionalObjectUnion.json index 565e665c6d..c86e87dfc7 100644 --- a/test/schemas/reflect/metadata/FunctionalObjectUnion.json +++ b/test/schemas/reflect/metadata/FunctionalObjectUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -148,7 +148,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -176,7 +176,63 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [ + { + "name": "p", + "type": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [ + "FunctionalObjectUnion.IPoint" + ], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] + } + ], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "number", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -210,7 +266,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -238,7 +294,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -263,7 +319,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -291,7 +347,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -316,7 +372,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -344,7 +400,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "number", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -378,7 +463,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -406,7 +491,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -434,7 +519,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -462,7 +547,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "number", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -496,7 +610,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -524,7 +638,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -552,7 +666,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -580,7 +694,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "number", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -603,7 +746,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -631,7 +774,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "number", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -666,7 +838,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -698,7 +870,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/FunctionalProperty.json b/test/schemas/reflect/metadata/FunctionalProperty.json index 91da795222..5ad41b898c 100644 --- a/test/schemas/reflect/metadata/FunctionalProperty.json +++ b/test/schemas/reflect/metadata/FunctionalProperty.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,66 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [ + { + "name": "value", + "type": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "number", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] + } + ], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "boolean", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/FunctionalPropertyUnion.json b/test/schemas/reflect/metadata/FunctionalPropertyUnion.json index 36216dc782..7f8af4ca0d 100644 --- a/test/schemas/reflect/metadata/FunctionalPropertyUnion.json +++ b/test/schemas/reflect/metadata/FunctionalPropertyUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,61 @@ "required": false, "optional": false, "nullable": true, - "functional": true, + "functions": [ + { + "parameters": [ + { + "name": "args", + "type": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [ + { + "name": "Array", + "tags": [] + } + ], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] + } + ], + "output": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [ { "type": "string", @@ -164,7 +218,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -185,6 +239,33 @@ ], "recursive": false, "index": null + }, + { + "name": "Array", + "value": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "nullables": [ + false + ], + "recursive": false, + "index": null } ], "tuples": [] diff --git a/test/schemas/reflect/metadata/FunctionalTuple.json b/test/schemas/reflect/metadata/FunctionalTuple.json index ea4bf2df1d..01d955320e 100644 --- a/test/schemas/reflect/metadata/FunctionalTuple.json +++ b/test/schemas/reflect/metadata/FunctionalTuple.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -28,7 +28,35 @@ "components": { "objects": [], "aliases": [], - "arrays": [], + "arrays": [ + { + "name": "Array", + "value": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "nullables": [ + false + ], + "recursive": false, + "index": null + } + ], "tuples": [ { "name": "FunctionalTuple", @@ -39,7 +67,61 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [ + { + "name": "args", + "type": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [ + { + "name": "Array", + "tags": [] + } + ], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] + } + ], + "output": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -58,7 +140,61 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [ + { + "name": "args", + "type": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [ + { + "name": "Array", + "tags": [] + } + ], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] + } + ], + "output": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -77,7 +213,61 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [ + { + "name": "args", + "type": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [ + { + "name": "Array", + "tags": [] + } + ], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] + } + ], + "output": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/FunctionalTupleUnion.json b/test/schemas/reflect/metadata/FunctionalTupleUnion.json index 50497d69cf..2caca2404d 100644 --- a/test/schemas/reflect/metadata/FunctionalTupleUnion.json +++ b/test/schemas/reflect/metadata/FunctionalTupleUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -28,7 +28,35 @@ "components": { "objects": [], "aliases": [], - "arrays": [], + "arrays": [ + { + "name": "Array", + "value": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "nullables": [ + false + ], + "recursive": false, + "index": null + } + ], "tuples": [ { "name": "FunctionalTupleUnion", @@ -39,7 +67,61 @@ "required": true, "optional": false, "nullable": true, - "functional": true, + "functions": [ + { + "parameters": [ + { + "name": "args", + "type": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [ + { + "name": "Array", + "tags": [] + } + ], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] + } + ], + "output": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [ { "type": "string", @@ -67,7 +149,61 @@ "required": true, "optional": false, "nullable": true, - "functional": true, + "functions": [ + { + "parameters": [ + { + "name": "args", + "type": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [ + { + "name": "Array", + "tags": [] + } + ], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] + } + ], + "output": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [ { "type": "string", @@ -95,7 +231,61 @@ "required": true, "optional": false, "nullable": true, - "functional": true, + "functions": [ + { + "parameters": [ + { + "name": "args", + "type": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [ + { + "name": "Array", + "tags": [] + } + ], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] + } + ], + "output": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [ { "type": "string", @@ -123,7 +313,61 @@ "required": true, "optional": false, "nullable": true, - "functional": true, + "functions": [ + { + "parameters": [ + { + "name": "args", + "type": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [ + { + "name": "Array", + "tags": [] + } + ], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] + } + ], + "output": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/FunctionalValue.json b/test/schemas/reflect/metadata/FunctionalValue.json index a7e205909a..e8e45c20c0 100644 --- a/test/schemas/reflect/metadata/FunctionalValue.json +++ b/test/schemas/reflect/metadata/FunctionalValue.json @@ -5,7 +5,61 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [ + { + "name": "args", + "type": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [ + { + "name": "Array", + "tags": [] + } + ], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] + } + ], + "output": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -23,7 +77,35 @@ "components": { "objects": [], "aliases": [], - "arrays": [], + "arrays": [ + { + "name": "Array", + "value": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "nullables": [ + false + ], + "recursive": false, + "index": null + } + ], "tuples": [] } } \ No newline at end of file diff --git a/test/schemas/reflect/metadata/FunctionalValueUnion.json b/test/schemas/reflect/metadata/FunctionalValueUnion.json index 96845f1331..99881fffee 100644 --- a/test/schemas/reflect/metadata/FunctionalValueUnion.json +++ b/test/schemas/reflect/metadata/FunctionalValueUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,31 @@ "required": true, "optional": false, "nullable": true, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": true, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/InstanceUnion.json b/test/schemas/reflect/metadata/InstanceUnion.json index 72ddf90446..6482a54783 100644 --- a/test/schemas/reflect/metadata/InstanceUnion.json +++ b/test/schemas/reflect/metadata/InstanceUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -142,7 +142,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -170,7 +170,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -195,7 +195,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -223,7 +223,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -259,7 +259,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -287,7 +287,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -315,7 +315,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -343,7 +343,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -371,7 +371,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -399,7 +399,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -438,7 +438,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -466,7 +466,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -494,7 +494,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -522,7 +522,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -550,7 +550,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -578,7 +578,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -622,7 +622,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -650,7 +650,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -675,7 +675,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -703,7 +703,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -728,7 +728,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -756,7 +756,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -800,7 +800,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -828,7 +828,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -856,7 +856,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -884,7 +884,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -923,7 +923,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -951,7 +951,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -976,7 +976,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1004,7 +1004,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1029,7 +1029,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1057,7 +1057,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1082,7 +1082,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1110,7 +1110,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1154,7 +1154,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1182,7 +1182,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1207,7 +1207,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1235,7 +1235,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1260,7 +1260,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1288,7 +1288,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1313,7 +1313,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1341,7 +1341,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1366,7 +1366,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1394,7 +1394,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1438,7 +1438,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1466,7 +1466,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1494,7 +1494,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1522,7 +1522,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1566,7 +1566,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1594,7 +1594,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1619,7 +1619,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1647,7 +1647,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1675,7 +1675,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1703,7 +1703,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1747,7 +1747,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1775,7 +1775,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1814,7 +1814,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1842,7 +1842,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1867,7 +1867,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1895,7 +1895,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1923,7 +1923,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1951,7 +1951,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1996,7 +1996,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -2048,7 +2048,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -2075,7 +2075,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -2094,7 +2094,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -2124,7 +2124,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -2156,7 +2156,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -2188,7 +2188,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -2223,7 +2223,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -2252,7 +2252,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -2294,7 +2294,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -2318,7 +2318,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -2352,7 +2352,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -2376,7 +2376,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -2400,7 +2400,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/MapAlias.json b/test/schemas/reflect/metadata/MapAlias.json index 1ca5ebe5bb..6f5fb59324 100644 --- a/test/schemas/reflect/metadata/MapAlias.json +++ b/test/schemas/reflect/metadata/MapAlias.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -80,7 +80,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -104,7 +104,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -135,7 +135,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -163,7 +163,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -182,7 +182,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -206,7 +206,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -237,7 +237,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -265,7 +265,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -284,7 +284,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -308,7 +308,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -339,7 +339,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -367,7 +367,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -386,7 +386,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -410,7 +410,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -441,7 +441,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -469,7 +469,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -488,7 +488,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -509,7 +509,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -551,7 +551,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -579,7 +579,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -607,7 +607,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -635,7 +635,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -663,7 +663,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -691,7 +691,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -731,7 +731,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/MapSimple.json b/test/schemas/reflect/metadata/MapSimple.json index e17eac0cdb..376abf0397 100644 --- a/test/schemas/reflect/metadata/MapSimple.json +++ b/test/schemas/reflect/metadata/MapSimple.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -80,7 +80,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -104,7 +104,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -135,7 +135,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -163,7 +163,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -182,7 +182,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -206,7 +206,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -237,7 +237,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -265,7 +265,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -284,7 +284,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -308,7 +308,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -339,7 +339,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -367,7 +367,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -386,7 +386,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -410,7 +410,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -441,7 +441,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -469,7 +469,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -488,7 +488,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -509,7 +509,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -551,7 +551,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -579,7 +579,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -607,7 +607,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -635,7 +635,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -663,7 +663,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -691,7 +691,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -731,7 +731,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/MapSimpleProtobuf.json b/test/schemas/reflect/metadata/MapSimpleProtobuf.json index c64d45e9de..59b5a971d1 100644 --- a/test/schemas/reflect/metadata/MapSimpleProtobuf.json +++ b/test/schemas/reflect/metadata/MapSimpleProtobuf.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -80,7 +80,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -104,7 +104,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -135,7 +135,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -163,7 +163,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -182,7 +182,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -206,7 +206,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -251,7 +251,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -279,7 +279,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -298,7 +298,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -322,7 +322,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -353,7 +353,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -381,7 +381,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -400,7 +400,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -424,7 +424,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -455,7 +455,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -483,7 +483,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -502,7 +502,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -526,7 +526,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -571,7 +571,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -599,7 +599,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -618,7 +618,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -642,7 +642,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -670,7 +670,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -698,7 +698,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -717,7 +717,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -741,7 +741,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/MapSimpleProtobufNullable.json b/test/schemas/reflect/metadata/MapSimpleProtobufNullable.json index cb1f8e7b90..25bd186d8e 100644 --- a/test/schemas/reflect/metadata/MapSimpleProtobufNullable.json +++ b/test/schemas/reflect/metadata/MapSimpleProtobufNullable.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -80,7 +80,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -104,7 +104,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -135,7 +135,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -163,7 +163,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -182,7 +182,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -206,7 +206,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -251,7 +251,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -279,7 +279,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -298,7 +298,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -322,7 +322,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -353,7 +353,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -381,7 +381,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -400,7 +400,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -424,7 +424,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -455,7 +455,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -483,7 +483,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -502,7 +502,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -526,7 +526,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -571,7 +571,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -599,7 +599,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -618,7 +618,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -642,7 +642,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -670,7 +670,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -698,7 +698,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -717,7 +717,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -741,7 +741,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/MapSimpleProtobufOptional.json b/test/schemas/reflect/metadata/MapSimpleProtobufOptional.json index 16c23b2d20..75ea5d4e02 100644 --- a/test/schemas/reflect/metadata/MapSimpleProtobufOptional.json +++ b/test/schemas/reflect/metadata/MapSimpleProtobufOptional.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -80,7 +80,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -104,7 +104,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -135,7 +135,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -163,7 +163,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -182,7 +182,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -206,7 +206,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -251,7 +251,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -279,7 +279,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -298,7 +298,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -322,7 +322,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -353,7 +353,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -381,7 +381,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -400,7 +400,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -424,7 +424,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -455,7 +455,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -483,7 +483,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -502,7 +502,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -526,7 +526,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -571,7 +571,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -599,7 +599,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -618,7 +618,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -642,7 +642,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -670,7 +670,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -698,7 +698,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -717,7 +717,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -741,7 +741,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/MapUnion.json b/test/schemas/reflect/metadata/MapUnion.json index aa75833c33..69207e868b 100644 --- a/test/schemas/reflect/metadata/MapUnion.json +++ b/test/schemas/reflect/metadata/MapUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -148,7 +148,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -176,7 +176,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -216,7 +216,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -235,7 +235,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -259,7 +259,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -285,7 +285,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -309,7 +309,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -335,7 +335,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -359,7 +359,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -385,7 +385,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -409,7 +409,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -435,7 +435,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -456,7 +456,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -491,7 +491,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/NativeAlias.json b/test/schemas/reflect/metadata/NativeAlias.json index 13c8cb6654..9a87f89897 100644 --- a/test/schemas/reflect/metadata/NativeAlias.json +++ b/test/schemas/reflect/metadata/NativeAlias.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -71,7 +71,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -130,7 +130,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -158,7 +158,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -183,7 +183,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -211,7 +211,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -236,7 +236,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -264,7 +264,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -289,7 +289,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -317,7 +317,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -342,7 +342,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -370,7 +370,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -395,7 +395,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -423,7 +423,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -448,7 +448,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -476,7 +476,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -501,7 +501,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -529,7 +529,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -554,7 +554,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -582,7 +582,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -607,7 +607,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -635,7 +635,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -660,7 +660,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -688,7 +688,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -713,7 +713,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -741,7 +741,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -766,7 +766,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -794,7 +794,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -819,7 +819,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -847,7 +847,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/NativeSimple.json b/test/schemas/reflect/metadata/NativeSimple.json index 72ac2f2e19..dbf33f71c5 100644 --- a/test/schemas/reflect/metadata/NativeSimple.json +++ b/test/schemas/reflect/metadata/NativeSimple.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -71,7 +71,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -130,7 +130,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -158,7 +158,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -183,7 +183,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -211,7 +211,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -236,7 +236,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -264,7 +264,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -289,7 +289,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -317,7 +317,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -342,7 +342,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -370,7 +370,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -395,7 +395,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -423,7 +423,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -448,7 +448,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -476,7 +476,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -501,7 +501,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -529,7 +529,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -554,7 +554,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -582,7 +582,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -607,7 +607,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -635,7 +635,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -660,7 +660,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -688,7 +688,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -713,7 +713,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -741,7 +741,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -766,7 +766,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -794,7 +794,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -819,7 +819,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -847,7 +847,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/NativeUnion.json b/test/schemas/reflect/metadata/NativeUnion.json index 7f7dab9c9b..9e823ff2d9 100644 --- a/test/schemas/reflect/metadata/NativeUnion.json +++ b/test/schemas/reflect/metadata/NativeUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -74,7 +74,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -95,7 +95,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -133,7 +133,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -161,7 +161,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -190,7 +190,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -218,7 +218,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -246,7 +246,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -274,7 +274,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -300,7 +300,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -328,7 +328,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -366,7 +366,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectAlias.json b/test/schemas/reflect/metadata/ObjectAlias.json index ec8b76ab77..b1558ba147 100644 --- a/test/schemas/reflect/metadata/ObjectAlias.json +++ b/test/schemas/reflect/metadata/ObjectAlias.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -148,7 +148,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -176,7 +176,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -204,7 +204,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -232,7 +232,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -282,7 +282,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -310,7 +310,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -338,7 +338,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -366,7 +366,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -406,7 +406,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectClosure.json b/test/schemas/reflect/metadata/ObjectClosure.json index 895c6b1441..62f2fe30ce 100644 --- a/test/schemas/reflect/metadata/ObjectClosure.json +++ b/test/schemas/reflect/metadata/ObjectClosure.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "string", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectDate.json b/test/schemas/reflect/metadata/ObjectDate.json index b79f231f19..3a2506515c 100644 --- a/test/schemas/reflect/metadata/ObjectDate.json +++ b/test/schemas/reflect/metadata/ObjectDate.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -71,7 +71,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -130,7 +130,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -158,7 +158,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -203,7 +203,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -231,7 +231,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -276,7 +276,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -304,7 +304,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -349,7 +349,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -377,7 +377,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ObjectDescription.json b/test/schemas/reflect/metadata/ObjectDescription.json index 5aa8009364..9158e2f143 100644 --- a/test/schemas/reflect/metadata/ObjectDescription.json +++ b/test/schemas/reflect/metadata/ObjectDescription.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -116,7 +116,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -144,7 +144,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -176,7 +176,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -204,7 +204,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -242,7 +242,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -270,7 +270,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -298,7 +298,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -326,7 +326,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -386,7 +386,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ObjectDynamic.json b/test/schemas/reflect/metadata/ObjectDynamic.json index 29b545b3eb..94bcb1b2c5 100644 --- a/test/schemas/reflect/metadata/ObjectDynamic.json +++ b/test/schemas/reflect/metadata/ObjectDynamic.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -57,7 +57,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ObjectGeneric.json b/test/schemas/reflect/metadata/ObjectGeneric.json index 678f928e41..a591eeaad8 100644 --- a/test/schemas/reflect/metadata/ObjectGeneric.json +++ b/test/schemas/reflect/metadata/ObjectGeneric.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -212,7 +212,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -240,7 +240,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -268,7 +268,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -296,7 +296,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -335,7 +335,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -363,7 +363,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -391,7 +391,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -419,7 +419,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -444,7 +444,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -472,7 +472,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -511,7 +511,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -539,7 +539,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -567,7 +567,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -595,7 +595,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -634,7 +634,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -662,7 +662,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -690,7 +690,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -718,7 +718,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -743,7 +743,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -771,7 +771,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -810,7 +810,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -838,7 +838,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -866,7 +866,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -894,7 +894,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -934,7 +934,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -963,7 +963,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -992,7 +992,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1025,7 +1025,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1046,7 +1046,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1067,7 +1067,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectGenericAlias.json b/test/schemas/reflect/metadata/ObjectGenericAlias.json index 174738b2b6..4010167a98 100644 --- a/test/schemas/reflect/metadata/ObjectGenericAlias.json +++ b/test/schemas/reflect/metadata/ObjectGenericAlias.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ObjectGenericArray.json b/test/schemas/reflect/metadata/ObjectGenericArray.json index 51cbc627c1..b91fd5b959 100644 --- a/test/schemas/reflect/metadata/ObjectGenericArray.json +++ b/test/schemas/reflect/metadata/ObjectGenericArray.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -86,7 +86,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -114,7 +114,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -153,7 +153,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -181,7 +181,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -209,7 +209,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -237,7 +237,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -265,7 +265,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -293,7 +293,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -321,7 +321,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -349,7 +349,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -388,7 +388,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -416,7 +416,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -444,7 +444,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -472,7 +472,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -512,7 +512,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectGenericUnion.json b/test/schemas/reflect/metadata/ObjectGenericUnion.json index bd5ed35164..bc411d1a97 100644 --- a/test/schemas/reflect/metadata/ObjectGenericUnion.json +++ b/test/schemas/reflect/metadata/ObjectGenericUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -98,7 +98,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -126,7 +126,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -154,7 +154,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -182,7 +182,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -207,7 +207,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -235,7 +235,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -263,7 +263,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -291,7 +291,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -319,7 +319,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -347,7 +347,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -375,7 +375,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -403,7 +403,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -442,7 +442,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -470,7 +470,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -498,7 +498,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -526,7 +526,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -554,7 +554,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -582,7 +582,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -610,7 +610,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -638,7 +638,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -677,7 +677,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -705,7 +705,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -733,7 +733,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -761,7 +761,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -789,7 +789,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -817,7 +817,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -845,7 +845,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -873,7 +873,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -901,7 +901,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -929,7 +929,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -968,7 +968,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -996,7 +996,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1024,7 +1024,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1052,7 +1052,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1080,7 +1080,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1108,7 +1108,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1147,7 +1147,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1175,7 +1175,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1203,7 +1203,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1231,7 +1231,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1256,7 +1256,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1284,7 +1284,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1312,7 +1312,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1340,7 +1340,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1368,7 +1368,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1396,7 +1396,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1424,7 +1424,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1452,7 +1452,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1491,7 +1491,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1519,7 +1519,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1547,7 +1547,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1575,7 +1575,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1603,7 +1603,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1631,7 +1631,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1659,7 +1659,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1687,7 +1687,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1715,7 +1715,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1743,7 +1743,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1771,7 +1771,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1799,7 +1799,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1839,7 +1839,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1868,7 +1868,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1897,7 +1897,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectHierarchical.json b/test/schemas/reflect/metadata/ObjectHierarchical.json index ea37cab1be..df57d01d57 100644 --- a/test/schemas/reflect/metadata/ObjectHierarchical.json +++ b/test/schemas/reflect/metadata/ObjectHierarchical.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -142,7 +142,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -170,7 +170,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -195,7 +195,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -223,7 +223,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -248,7 +248,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -276,7 +276,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -304,7 +304,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -332,7 +332,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -360,7 +360,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -388,7 +388,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -416,7 +416,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -444,7 +444,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -480,7 +480,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -508,7 +508,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -536,7 +536,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -564,7 +564,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -592,7 +592,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -620,7 +620,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -648,7 +648,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -676,7 +676,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -704,7 +704,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -732,7 +732,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -760,7 +760,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -788,7 +788,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -816,7 +816,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -844,7 +844,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -880,7 +880,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -908,7 +908,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -936,7 +936,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -964,7 +964,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1003,7 +1003,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1031,7 +1031,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1059,7 +1059,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1087,7 +1087,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1112,7 +1112,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1140,7 +1140,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1165,7 +1165,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1193,7 +1193,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1221,7 +1221,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1249,7 +1249,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1274,7 +1274,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1302,7 +1302,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -1341,7 +1341,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1369,7 +1369,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1397,7 +1397,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1425,7 +1425,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1453,7 +1453,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1481,7 +1481,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1518,7 +1518,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1546,7 +1546,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1574,7 +1574,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1602,7 +1602,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1627,7 +1627,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1655,7 +1655,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1683,7 +1683,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1711,7 +1711,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1739,7 +1739,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1767,7 +1767,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1804,7 +1804,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1840,7 +1840,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1864,7 +1864,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1888,7 +1888,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1912,7 +1912,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/ObjectHttpArray.json b/test/schemas/reflect/metadata/ObjectHttpArray.json index d248838437..35a0a60043 100644 --- a/test/schemas/reflect/metadata/ObjectHttpArray.json +++ b/test/schemas/reflect/metadata/ObjectHttpArray.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -201,7 +201,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -229,7 +229,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -257,7 +257,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -285,7 +285,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -325,7 +325,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -357,7 +357,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -389,7 +389,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -421,7 +421,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -453,7 +453,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -464,7 +464,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -492,7 +492,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ObjectHttpAtomic.json b/test/schemas/reflect/metadata/ObjectHttpAtomic.json index 0b785ef3ec..e0b9c5d35c 100644 --- a/test/schemas/reflect/metadata/ObjectHttpAtomic.json +++ b/test/schemas/reflect/metadata/ObjectHttpAtomic.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -201,7 +201,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -229,7 +229,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ObjectHttpCommentTag.json b/test/schemas/reflect/metadata/ObjectHttpCommentTag.json index 7a126ae1ae..1b9f46aacf 100644 --- a/test/schemas/reflect/metadata/ObjectHttpCommentTag.json +++ b/test/schemas/reflect/metadata/ObjectHttpCommentTag.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -113,7 +113,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -141,7 +141,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -190,7 +190,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -218,7 +218,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -270,7 +270,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -298,7 +298,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -382,7 +382,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/ObjectHttpConstant.json b/test/schemas/reflect/metadata/ObjectHttpConstant.json index fdf367c701..724f63aafd 100644 --- a/test/schemas/reflect/metadata/ObjectHttpConstant.json +++ b/test/schemas/reflect/metadata/ObjectHttpConstant.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -94,7 +94,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -122,7 +122,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -159,7 +159,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -187,7 +187,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -224,7 +224,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -252,7 +252,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -293,7 +293,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -321,7 +321,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -332,7 +332,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -360,7 +360,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ObjectHttpFormData.json b/test/schemas/reflect/metadata/ObjectHttpFormData.json index 586d83dfce..80717c9e00 100644 --- a/test/schemas/reflect/metadata/ObjectHttpFormData.json +++ b/test/schemas/reflect/metadata/ObjectHttpFormData.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -106,7 +106,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -134,7 +134,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -162,7 +162,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -190,7 +190,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -218,7 +218,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -246,7 +246,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -271,7 +271,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -299,7 +299,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -327,7 +327,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -355,7 +355,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -380,7 +380,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -408,7 +408,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -448,7 +448,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -494,7 +494,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -523,7 +523,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectHttpNullable.json b/test/schemas/reflect/metadata/ObjectHttpNullable.json index c8c68e6087..a745a2b5f5 100644 --- a/test/schemas/reflect/metadata/ObjectHttpNullable.json +++ b/test/schemas/reflect/metadata/ObjectHttpNullable.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -218,7 +218,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -246,7 +246,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -274,7 +274,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -302,7 +302,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -335,7 +335,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -363,7 +363,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -404,7 +404,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -432,7 +432,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -473,7 +473,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -501,7 +501,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -542,7 +542,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -570,7 +570,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -610,7 +610,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/ObjectHttpTypeTag.json b/test/schemas/reflect/metadata/ObjectHttpTypeTag.json index 887aa00e23..b410b65f4d 100644 --- a/test/schemas/reflect/metadata/ObjectHttpTypeTag.json +++ b/test/schemas/reflect/metadata/ObjectHttpTypeTag.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -103,7 +103,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -131,7 +131,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -173,7 +173,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -201,7 +201,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -246,7 +246,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -274,7 +274,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -327,7 +327,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -355,7 +355,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -420,7 +420,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -483,7 +483,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ObjectHttpUndefindable.json b/test/schemas/reflect/metadata/ObjectHttpUndefindable.json index ea112f4869..7403257b0b 100644 --- a/test/schemas/reflect/metadata/ObjectHttpUndefindable.json +++ b/test/schemas/reflect/metadata/ObjectHttpUndefindable.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -201,7 +201,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -229,7 +229,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -257,7 +257,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -285,7 +285,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -318,7 +318,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -346,7 +346,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -387,7 +387,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -415,7 +415,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -456,7 +456,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -484,7 +484,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { diff --git a/test/schemas/reflect/metadata/ObjectInternal.json b/test/schemas/reflect/metadata/ObjectInternal.json index 03e1f09281..e61fc83240 100644 --- a/test/schemas/reflect/metadata/ObjectInternal.json +++ b/test/schemas/reflect/metadata/ObjectInternal.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ObjectIntersection.json b/test/schemas/reflect/metadata/ObjectIntersection.json index d88d5e8f67..89a8234f94 100644 --- a/test/schemas/reflect/metadata/ObjectIntersection.json +++ b/test/schemas/reflect/metadata/ObjectIntersection.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", diff --git a/test/schemas/reflect/metadata/ObjectJsonTag.json b/test/schemas/reflect/metadata/ObjectJsonTag.json index 0d2691eb00..316c0f1398 100644 --- a/test/schemas/reflect/metadata/ObjectJsonTag.json +++ b/test/schemas/reflect/metadata/ObjectJsonTag.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -93,7 +93,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -121,7 +121,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -149,7 +149,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -177,7 +177,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -215,7 +215,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -243,7 +243,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ObjectLiteralProperty.json b/test/schemas/reflect/metadata/ObjectLiteralProperty.json index 94d1a6c37e..5faf4af5b1 100644 --- a/test/schemas/reflect/metadata/ObjectLiteralProperty.json +++ b/test/schemas/reflect/metadata/ObjectLiteralProperty.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ObjectLiteralType.json b/test/schemas/reflect/metadata/ObjectLiteralType.json index 6b8b41480d..06308b5d5a 100644 --- a/test/schemas/reflect/metadata/ObjectLiteralType.json +++ b/test/schemas/reflect/metadata/ObjectLiteralType.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/ObjectNullable.json b/test/schemas/reflect/metadata/ObjectNullable.json index 50c4cd440d..830673aa04 100644 --- a/test/schemas/reflect/metadata/ObjectNullable.json +++ b/test/schemas/reflect/metadata/ObjectNullable.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -156,7 +156,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -184,7 +184,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -209,7 +209,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -237,7 +237,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -262,7 +262,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -290,7 +290,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -327,7 +327,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -355,7 +355,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -388,7 +388,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -416,7 +416,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -456,7 +456,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -484,7 +484,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -517,7 +517,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -545,7 +545,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -585,7 +585,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectOptional.json b/test/schemas/reflect/metadata/ObjectOptional.json index b62dce7c81..78e038fc58 100644 --- a/test/schemas/reflect/metadata/ObjectOptional.json +++ b/test/schemas/reflect/metadata/ObjectOptional.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -201,7 +201,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -229,7 +229,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/ObjectPartial.json b/test/schemas/reflect/metadata/ObjectPartial.json index 64e622bda1..f911d9ee5a 100644 --- a/test/schemas/reflect/metadata/ObjectPartial.json +++ b/test/schemas/reflect/metadata/ObjectPartial.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -201,7 +201,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -229,7 +229,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -257,7 +257,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -285,7 +285,7 @@ "required": true, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -322,7 +322,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -350,7 +350,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -378,7 +378,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -406,7 +406,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -434,7 +434,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -462,7 +462,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -490,7 +490,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -518,7 +518,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -546,7 +546,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -574,7 +574,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -611,7 +611,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/ObjectPartialAndRequired.json b/test/schemas/reflect/metadata/ObjectPartialAndRequired.json index 8589a5f45f..cdeeec6928 100644 --- a/test/schemas/reflect/metadata/ObjectPartialAndRequired.json +++ b/test/schemas/reflect/metadata/ObjectPartialAndRequired.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -201,7 +201,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -229,7 +229,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -254,7 +254,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -282,7 +282,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -323,7 +323,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/ObjectPrimitive.json b/test/schemas/reflect/metadata/ObjectPrimitive.json index 7c681974a1..03dd06b516 100644 --- a/test/schemas/reflect/metadata/ObjectPrimitive.json +++ b/test/schemas/reflect/metadata/ObjectPrimitive.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -158,7 +158,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -186,7 +186,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -214,7 +214,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -242,7 +242,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -270,7 +270,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -298,7 +298,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -326,7 +326,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -354,7 +354,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -382,7 +382,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -410,7 +410,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -449,7 +449,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -477,7 +477,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -505,7 +505,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -533,7 +533,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -561,7 +561,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -589,7 +589,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -617,7 +617,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -645,7 +645,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -673,7 +673,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -701,7 +701,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -741,7 +741,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectPropertyNullable.json b/test/schemas/reflect/metadata/ObjectPropertyNullable.json index 475e1433f3..a030f57567 100644 --- a/test/schemas/reflect/metadata/ObjectPropertyNullable.json +++ b/test/schemas/reflect/metadata/ObjectPropertyNullable.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -103,7 +103,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -131,7 +131,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -170,7 +170,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -198,7 +198,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -237,7 +237,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -265,7 +265,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -301,7 +301,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -329,7 +329,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -357,7 +357,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -385,7 +385,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -413,7 +413,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -441,7 +441,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -469,7 +469,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -497,7 +497,7 @@ "required": false, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -525,7 +525,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -553,7 +553,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -593,7 +593,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -622,7 +622,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -651,7 +651,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -680,7 +680,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -713,7 +713,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -737,7 +737,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -761,7 +761,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -785,7 +785,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectRecursive.json b/test/schemas/reflect/metadata/ObjectRecursive.json index ae3c25616b..ce42cf0ea7 100644 --- a/test/schemas/reflect/metadata/ObjectRecursive.json +++ b/test/schemas/reflect/metadata/ObjectRecursive.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -86,7 +86,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -114,7 +114,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -142,7 +142,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -170,7 +170,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -198,7 +198,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -226,7 +226,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -254,7 +254,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -282,7 +282,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -310,7 +310,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -338,7 +338,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -375,7 +375,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -403,7 +403,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -431,7 +431,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -459,7 +459,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/ObjectRequired.json b/test/schemas/reflect/metadata/ObjectRequired.json index c386fa94f0..e8d2714f33 100644 --- a/test/schemas/reflect/metadata/ObjectRequired.json +++ b/test/schemas/reflect/metadata/ObjectRequired.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -173,7 +173,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -201,7 +201,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -229,7 +229,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -257,7 +257,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -285,7 +285,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -322,7 +322,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -350,7 +350,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -378,7 +378,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -406,7 +406,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -434,7 +434,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -462,7 +462,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -490,7 +490,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -518,7 +518,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -546,7 +546,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -574,7 +574,7 @@ "required": true, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -611,7 +611,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/ObjectSimple.json b/test/schemas/reflect/metadata/ObjectSimple.json index f229c0cf89..c86cd3d5d3 100644 --- a/test/schemas/reflect/metadata/ObjectSimple.json +++ b/test/schemas/reflect/metadata/ObjectSimple.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -86,7 +86,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -114,7 +114,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -139,7 +139,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -167,7 +167,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -192,7 +192,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -220,7 +220,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -256,7 +256,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -284,7 +284,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -312,7 +312,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -340,7 +340,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -368,7 +368,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -396,7 +396,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/ObjectSimpleProtobuf.json b/test/schemas/reflect/metadata/ObjectSimpleProtobuf.json index 8eda20bac3..1fa54c94d7 100644 --- a/test/schemas/reflect/metadata/ObjectSimpleProtobuf.json +++ b/test/schemas/reflect/metadata/ObjectSimpleProtobuf.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -159,7 +159,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -187,7 +187,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -229,7 +229,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -257,7 +257,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -285,7 +285,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -313,7 +313,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -355,7 +355,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -383,7 +383,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -425,7 +425,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -453,7 +453,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -495,7 +495,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -523,7 +523,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -551,7 +551,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -579,7 +579,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectSimpleProtobufNullable.json b/test/schemas/reflect/metadata/ObjectSimpleProtobufNullable.json index 7fe0724d1b..3499c9baf8 100644 --- a/test/schemas/reflect/metadata/ObjectSimpleProtobufNullable.json +++ b/test/schemas/reflect/metadata/ObjectSimpleProtobufNullable.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -159,7 +159,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -187,7 +187,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -229,7 +229,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -257,7 +257,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -285,7 +285,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -313,7 +313,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -355,7 +355,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -383,7 +383,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -425,7 +425,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -453,7 +453,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -495,7 +495,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -523,7 +523,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -551,7 +551,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -579,7 +579,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectSimpleProtobufOptional.json b/test/schemas/reflect/metadata/ObjectSimpleProtobufOptional.json index 994fb0f302..89a38dca02 100644 --- a/test/schemas/reflect/metadata/ObjectSimpleProtobufOptional.json +++ b/test/schemas/reflect/metadata/ObjectSimpleProtobufOptional.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -159,7 +159,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -187,7 +187,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -229,7 +229,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -257,7 +257,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -285,7 +285,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -313,7 +313,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -355,7 +355,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -383,7 +383,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -425,7 +425,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -453,7 +453,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -495,7 +495,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -523,7 +523,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -551,7 +551,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -579,7 +579,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectTuple.json b/test/schemas/reflect/metadata/ObjectTuple.json index 4c516b8cf8..a5ced872e9 100644 --- a/test/schemas/reflect/metadata/ObjectTuple.json +++ b/test/schemas/reflect/metadata/ObjectTuple.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -148,7 +148,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -176,7 +176,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -215,7 +215,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -243,7 +243,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -271,7 +271,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -299,7 +299,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -327,7 +327,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -355,7 +355,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -398,7 +398,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -419,7 +419,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectUndefined.json b/test/schemas/reflect/metadata/ObjectUndefined.json index bab1485bda..daf37219a7 100644 --- a/test/schemas/reflect/metadata/ObjectUndefined.json +++ b/test/schemas/reflect/metadata/ObjectUndefined.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -152,7 +152,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -180,7 +180,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -205,7 +205,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -233,7 +233,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -261,7 +261,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -289,7 +289,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -312,7 +312,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -340,7 +340,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -363,7 +363,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -391,7 +391,7 @@ "required": false, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -425,7 +425,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -453,7 +453,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -481,7 +481,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -509,7 +509,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -549,7 +549,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectUnionComposite.json b/test/schemas/reflect/metadata/ObjectUnionComposite.json index faa81a588d..e6af2a3412 100644 --- a/test/schemas/reflect/metadata/ObjectUnionComposite.json +++ b/test/schemas/reflect/metadata/ObjectUnionComposite.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -159,7 +159,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -187,7 +187,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -212,7 +212,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -240,7 +240,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -276,7 +276,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -304,7 +304,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -329,7 +329,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -357,7 +357,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -382,7 +382,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -410,7 +410,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -446,7 +446,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -474,7 +474,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -499,7 +499,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -527,7 +527,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -552,7 +552,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -580,7 +580,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -605,7 +605,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -633,7 +633,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -669,7 +669,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -697,7 +697,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -736,7 +736,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -764,7 +764,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -789,7 +789,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -817,7 +817,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -856,7 +856,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -884,7 +884,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -912,7 +912,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -940,7 +940,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -976,7 +976,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1004,7 +1004,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1029,7 +1029,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1057,7 +1057,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1097,7 +1097,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1133,7 +1133,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1162,7 +1162,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectUnionCompositePointer.json b/test/schemas/reflect/metadata/ObjectUnionCompositePointer.json index a4557fff78..7861d89a4d 100644 --- a/test/schemas/reflect/metadata/ObjectUnionCompositePointer.json +++ b/test/schemas/reflect/metadata/ObjectUnionCompositePointer.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -171,7 +171,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -199,7 +199,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -227,7 +227,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -255,7 +255,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -294,7 +294,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -322,7 +322,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -347,7 +347,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -375,7 +375,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -411,7 +411,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -439,7 +439,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -464,7 +464,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -492,7 +492,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -517,7 +517,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -545,7 +545,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -581,7 +581,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -609,7 +609,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -634,7 +634,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -662,7 +662,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -687,7 +687,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -715,7 +715,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -740,7 +740,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -768,7 +768,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -804,7 +804,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -832,7 +832,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -871,7 +871,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -899,7 +899,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -924,7 +924,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -952,7 +952,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -991,7 +991,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1019,7 +1019,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1047,7 +1047,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1075,7 +1075,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1111,7 +1111,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1139,7 +1139,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1164,7 +1164,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1192,7 +1192,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1232,7 +1232,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1261,7 +1261,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1290,7 +1290,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectUnionDouble.json b/test/schemas/reflect/metadata/ObjectUnionDouble.json index 0a69c2ba52..d958597d3c 100644 --- a/test/schemas/reflect/metadata/ObjectUnionDouble.json +++ b/test/schemas/reflect/metadata/ObjectUnionDouble.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -154,7 +154,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -182,7 +182,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -221,7 +221,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -249,7 +249,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -285,7 +285,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -313,7 +313,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -352,7 +352,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -380,7 +380,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -416,7 +416,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -444,7 +444,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -483,7 +483,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -511,7 +511,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -536,7 +536,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -564,7 +564,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -601,7 +601,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -629,7 +629,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -668,7 +668,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -696,7 +696,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -732,7 +732,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -760,7 +760,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -799,7 +799,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -827,7 +827,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -863,7 +863,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -891,7 +891,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -931,7 +931,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -961,7 +961,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/ObjectUnionExplicit.json b/test/schemas/reflect/metadata/ObjectUnionExplicit.json index 293439e9b6..d99aec5dd3 100644 --- a/test/schemas/reflect/metadata/ObjectUnionExplicit.json +++ b/test/schemas/reflect/metadata/ObjectUnionExplicit.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -148,7 +148,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -176,7 +176,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -220,7 +220,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -248,7 +248,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -273,7 +273,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -301,7 +301,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -326,7 +326,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -354,7 +354,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -398,7 +398,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -426,7 +426,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -454,7 +454,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -482,7 +482,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -521,7 +521,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -549,7 +549,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -574,7 +574,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -602,7 +602,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -627,7 +627,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -655,7 +655,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -680,7 +680,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -708,7 +708,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -752,7 +752,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -780,7 +780,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -805,7 +805,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -833,7 +833,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -858,7 +858,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -886,7 +886,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -911,7 +911,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -939,7 +939,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -964,7 +964,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -992,7 +992,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1036,7 +1036,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1064,7 +1064,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1092,7 +1092,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1120,7 +1120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1164,7 +1164,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1192,7 +1192,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1217,7 +1217,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1245,7 +1245,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1273,7 +1273,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1301,7 +1301,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1345,7 +1345,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1373,7 +1373,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1412,7 +1412,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1440,7 +1440,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1465,7 +1465,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1493,7 +1493,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1521,7 +1521,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1549,7 +1549,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1594,7 +1594,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1629,7 +1629,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1658,7 +1658,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectUnionExplicitPointer.json b/test/schemas/reflect/metadata/ObjectUnionExplicitPointer.json index ee2194d215..53d4e3ec09 100644 --- a/test/schemas/reflect/metadata/ObjectUnionExplicitPointer.json +++ b/test/schemas/reflect/metadata/ObjectUnionExplicitPointer.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -170,7 +170,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -198,7 +198,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -226,7 +226,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -254,7 +254,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -282,7 +282,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -310,7 +310,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -354,7 +354,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -382,7 +382,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -407,7 +407,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -435,7 +435,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -460,7 +460,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -488,7 +488,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -532,7 +532,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -560,7 +560,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -588,7 +588,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -616,7 +616,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -655,7 +655,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -683,7 +683,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -708,7 +708,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -736,7 +736,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -761,7 +761,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -789,7 +789,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -814,7 +814,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -842,7 +842,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -886,7 +886,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -914,7 +914,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -939,7 +939,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -967,7 +967,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -992,7 +992,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1020,7 +1020,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1045,7 +1045,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1073,7 +1073,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1098,7 +1098,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1126,7 +1126,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1170,7 +1170,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1198,7 +1198,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1226,7 +1226,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1254,7 +1254,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1298,7 +1298,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1326,7 +1326,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1351,7 +1351,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1379,7 +1379,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1407,7 +1407,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1435,7 +1435,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1479,7 +1479,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1507,7 +1507,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1546,7 +1546,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1574,7 +1574,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1599,7 +1599,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1627,7 +1627,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1655,7 +1655,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1683,7 +1683,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1728,7 +1728,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1757,7 +1757,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1786,7 +1786,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectUnionImplicit.json b/test/schemas/reflect/metadata/ObjectUnionImplicit.json index b3dab326fc..867dc22f7c 100644 --- a/test/schemas/reflect/metadata/ObjectUnionImplicit.json +++ b/test/schemas/reflect/metadata/ObjectUnionImplicit.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -148,7 +148,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -176,7 +176,7 @@ "required": false, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -215,7 +215,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -243,7 +243,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -268,7 +268,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -296,7 +296,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -321,7 +321,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -349,7 +349,7 @@ "required": false, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -377,7 +377,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -405,7 +405,7 @@ "required": false, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -444,7 +444,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -472,7 +472,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -497,7 +497,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -525,7 +525,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -550,7 +550,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -578,7 +578,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -603,7 +603,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -631,7 +631,7 @@ "required": false, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -659,7 +659,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -687,7 +687,7 @@ "required": false, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -715,7 +715,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -743,7 +743,7 @@ "required": false, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -782,7 +782,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -810,7 +810,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -835,7 +835,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -863,7 +863,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -888,7 +888,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -916,7 +916,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -941,7 +941,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -969,7 +969,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -994,7 +994,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1022,7 +1022,7 @@ "required": false, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1050,7 +1050,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1078,7 +1078,7 @@ "required": false, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1106,7 +1106,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1134,7 +1134,7 @@ "required": false, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1173,7 +1173,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1201,7 +1201,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1229,7 +1229,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1257,7 +1257,7 @@ "required": false, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1296,7 +1296,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1324,7 +1324,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1349,7 +1349,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1377,7 +1377,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1405,7 +1405,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1433,7 +1433,7 @@ "required": false, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1472,7 +1472,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1500,7 +1500,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1528,7 +1528,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1556,7 +1556,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1581,7 +1581,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1609,7 +1609,7 @@ "required": false, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1649,7 +1649,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1684,7 +1684,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -1713,7 +1713,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ObjectUnionNonPredictable.json b/test/schemas/reflect/metadata/ObjectUnionNonPredictable.json index 9cdc4c161e..a6684bf877 100644 --- a/test/schemas/reflect/metadata/ObjectUnionNonPredictable.json +++ b/test/schemas/reflect/metadata/ObjectUnionNonPredictable.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -164,7 +164,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -192,7 +192,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -230,7 +230,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -258,7 +258,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -294,7 +294,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -322,7 +322,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -361,7 +361,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -389,7 +389,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -425,7 +425,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -453,7 +453,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -492,7 +492,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -520,7 +520,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -556,7 +556,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -584,7 +584,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -624,7 +624,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/SetAlias.json b/test/schemas/reflect/metadata/SetAlias.json index 600d28b0ba..ac1630e02b 100644 --- a/test/schemas/reflect/metadata/SetAlias.json +++ b/test/schemas/reflect/metadata/SetAlias.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -78,7 +78,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -109,7 +109,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -137,7 +137,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -154,7 +154,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -185,7 +185,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -213,7 +213,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -230,7 +230,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -261,7 +261,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -289,7 +289,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -306,7 +306,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -337,7 +337,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -365,7 +365,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -382,7 +382,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -421,7 +421,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -449,7 +449,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -477,7 +477,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -505,7 +505,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -533,7 +533,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -561,7 +561,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -601,7 +601,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/SetSimple.json b/test/schemas/reflect/metadata/SetSimple.json index 42b47c9e82..f1ebaf18df 100644 --- a/test/schemas/reflect/metadata/SetSimple.json +++ b/test/schemas/reflect/metadata/SetSimple.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -78,7 +78,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -109,7 +109,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -137,7 +137,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -154,7 +154,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -185,7 +185,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -213,7 +213,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -230,7 +230,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -261,7 +261,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -289,7 +289,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -306,7 +306,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -337,7 +337,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -365,7 +365,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -382,7 +382,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -421,7 +421,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -449,7 +449,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -477,7 +477,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -505,7 +505,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -533,7 +533,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -561,7 +561,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -601,7 +601,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/SetUnion.json b/test/schemas/reflect/metadata/SetUnion.json index f62b5fbe9f..625cb347db 100644 --- a/test/schemas/reflect/metadata/SetUnion.json +++ b/test/schemas/reflect/metadata/SetUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -148,7 +148,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -176,7 +176,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -216,7 +216,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -233,7 +233,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -257,7 +257,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -281,7 +281,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -305,7 +305,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -329,7 +329,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -361,7 +361,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/TemplateAtomic.json b/test/schemas/reflect/metadata/TemplateAtomic.json index cce6246176..41489d7d50 100644 --- a/test/schemas/reflect/metadata/TemplateAtomic.json +++ b/test/schemas/reflect/metadata/TemplateAtomic.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -72,7 +72,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -141,7 +141,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -169,7 +169,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -180,7 +180,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -204,7 +204,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -249,7 +249,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -277,7 +277,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -288,7 +288,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -316,7 +316,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -340,7 +340,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -385,7 +385,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -413,7 +413,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -424,7 +424,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -452,7 +452,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -476,7 +476,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -521,7 +521,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -549,7 +549,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -560,7 +560,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -588,7 +588,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -612,7 +612,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -657,7 +657,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -685,7 +685,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -722,7 +722,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -750,7 +750,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -761,7 +761,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -785,7 +785,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -813,7 +813,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -837,7 +837,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -865,7 +865,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -889,7 +889,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -917,7 +917,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -958,7 +958,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -986,7 +986,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -997,7 +997,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1021,7 +1021,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1049,7 +1049,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1073,7 +1073,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1101,7 +1101,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/TemplateConstant.json b/test/schemas/reflect/metadata/TemplateConstant.json index 6814a77b86..cbce748ff5 100644 --- a/test/schemas/reflect/metadata/TemplateConstant.json +++ b/test/schemas/reflect/metadata/TemplateConstant.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -169,7 +169,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -197,7 +197,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -238,7 +238,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -266,7 +266,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -343,7 +343,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/TemplateUnion.json b/test/schemas/reflect/metadata/TemplateUnion.json index 8b2a560691..fae32ed3d7 100644 --- a/test/schemas/reflect/metadata/TemplateUnion.json +++ b/test/schemas/reflect/metadata/TemplateUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -139,7 +139,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -167,7 +167,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -195,7 +195,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -223,7 +223,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -264,7 +264,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -292,7 +292,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [ @@ -303,7 +303,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -327,7 +327,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -359,7 +359,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -383,7 +383,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -428,7 +428,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -456,7 +456,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -481,7 +481,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -509,7 +509,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -533,7 +533,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -578,7 +578,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -606,7 +606,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -640,7 +640,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -668,7 +668,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -692,7 +692,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -750,7 +750,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -778,7 +778,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -818,7 +818,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ToJsonArray.json b/test/schemas/reflect/metadata/ToJsonArray.json index 85035451e0..99d4e76248 100644 --- a/test/schemas/reflect/metadata/ToJsonArray.json +++ b/test/schemas/reflect/metadata/ToJsonArray.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [ + { + "name": "Array", + "tags": [] + } + ], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -98,7 +127,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -126,7 +155,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [ + { + "name": "Array", + "tags": [] + } + ], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -160,7 +218,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -188,7 +246,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [ + { + "name": "Array", + "tags": [] + } + ], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -222,7 +309,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -250,7 +337,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [ + { + "name": "Array", + "tags": [] + } + ], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -284,7 +400,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -312,7 +428,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -352,7 +468,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -384,7 +500,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -416,7 +532,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -448,7 +564,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -481,7 +597,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -491,7 +607,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -512,7 +628,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -546,7 +662,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -556,7 +672,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -577,7 +693,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -611,7 +727,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -621,7 +737,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -642,7 +758,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -676,7 +792,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -686,7 +802,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -707,7 +823,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ToJsonAtomicSimple.json b/test/schemas/reflect/metadata/ToJsonAtomicSimple.json index 115c8b55f6..10857437a7 100644 --- a/test/schemas/reflect/metadata/ToJsonAtomicSimple.json +++ b/test/schemas/reflect/metadata/ToJsonAtomicSimple.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "boolean", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -98,7 +127,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -126,7 +155,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "number", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -160,7 +218,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -188,7 +246,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "string", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -226,7 +313,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -236,7 +323,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -257,7 +344,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -291,7 +378,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -301,7 +388,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -322,7 +409,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -356,7 +443,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -366,7 +453,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -387,7 +474,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ToJsonAtomicUnion.json b/test/schemas/reflect/metadata/ToJsonAtomicUnion.json index 31276edecf..c8222e56ea 100644 --- a/test/schemas/reflect/metadata/ToJsonAtomicUnion.json +++ b/test/schemas/reflect/metadata/ToJsonAtomicUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,44 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": true, + "functions": [], + "atomics": [ + { + "type": "string", + "tags": [] + }, + { + "type": "number", + "tags": [] + }, + { + "type": "boolean", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -99,7 +136,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -109,7 +146,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -130,7 +167,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/ToJsonDouble.json b/test/schemas/reflect/metadata/ToJsonDouble.json index 1ad800675b..4d60dce5eb 100644 --- a/test/schemas/reflect/metadata/ToJsonDouble.json +++ b/test/schemas/reflect/metadata/ToJsonDouble.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -15,7 +15,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -67,7 +67,126 @@ "objects": [ { "name": "ToJsonDouble.Parent", - "properties": [], + "properties": [ + { + "key": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [ + { + "type": "string", + "values": [ + { + "value": "toJSON" + } + ] + } + ], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "value": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": { + "original": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [ + "ToJsonDouble.Child" + ], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "returns": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [ + "ToJsonDouble.IBrand" + ], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + } + }, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] + } + ], "jsDocTags": [], "index": 0, "recursive": false, @@ -84,7 +203,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -112,7 +231,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -140,7 +259,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -168,7 +287,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -197,6 +316,129 @@ "nullables": [ false ] + }, + { + "name": "ToJsonDouble.IBrand", + "properties": [ + { + "key": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [ + { + "type": "string", + "values": [ + { + "value": "code" + } + ] + } + ], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "value": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "string", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] + }, + { + "key": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [ + { + "type": "string", + "values": [ + { + "value": "name" + } + ] + } + ], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "value": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "string", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "description": null, + "jsDocTags": [] + } + ], + "jsDocTags": [], + "index": 2, + "recursive": false, + "nullables": [ + false + ] } ], "aliases": [], diff --git a/test/schemas/reflect/metadata/ToJsonNull.json b/test/schemas/reflect/metadata/ToJsonNull.json index e19dcf4432..1e6cbfed70 100644 --- a/test/schemas/reflect/metadata/ToJsonNull.json +++ b/test/schemas/reflect/metadata/ToJsonNull.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -15,7 +15,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -72,7 +72,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -100,7 +100,31 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": true, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ToJsonTuple.json b/test/schemas/reflect/metadata/ToJsonTuple.json index c623f1a95f..979d736592 100644 --- a/test/schemas/reflect/metadata/ToJsonTuple.json +++ b/test/schemas/reflect/metadata/ToJsonTuple.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "string", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -98,7 +127,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -126,7 +155,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "number", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -160,7 +218,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -188,7 +246,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "boolean", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -222,7 +309,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -250,7 +337,33 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [ + "ToJsonTuple.IHobby" + ], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -284,7 +397,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -312,7 +425,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -340,7 +453,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -368,7 +481,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -411,7 +524,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -421,7 +534,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -442,7 +555,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -476,7 +589,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -486,7 +599,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -507,7 +620,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -541,7 +654,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -551,7 +664,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -572,7 +685,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -606,7 +719,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -616,7 +729,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -637,7 +750,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/ToJsonUnion.json b/test/schemas/reflect/metadata/ToJsonUnion.json index 4c9dc65f2a..27373c392a 100644 --- a/test/schemas/reflect/metadata/ToJsonUnion.json +++ b/test/schemas/reflect/metadata/ToJsonUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -92,7 +92,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -148,7 +148,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -176,7 +176,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -215,7 +215,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -243,7 +243,36 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [ + { + "type": "boolean", + "tags": [] + } + ], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -277,7 +306,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -305,7 +334,33 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [ + "ToJsonUnion.ICitizen" + ], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -339,7 +394,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -367,7 +422,33 @@ "required": true, "optional": false, "nullable": false, - "functional": true, + "functions": [ + { + "parameters": [], + "output": { + "any": false, + "required": true, + "optional": false, + "nullable": false, + "functions": [], + "atomics": [], + "constants": [], + "templates": [], + "escaped": null, + "rest": null, + "arrays": [], + "tuples": [], + "objects": [ + "ToJsonUnion.IProduct" + ], + "aliases": [], + "natives": [], + "sets": [], + "maps": [] + }, + "async": false + } + ], "atomics": [], "constants": [], "templates": [], @@ -401,7 +482,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -429,7 +510,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -457,7 +538,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -485,7 +566,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -513,7 +594,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -541,7 +622,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -581,7 +662,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -600,7 +681,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -623,7 +704,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", diff --git a/test/schemas/reflect/metadata/TupleHierarchical.json b/test/schemas/reflect/metadata/TupleHierarchical.json index 7a573fec0b..c2a1d99f3b 100644 --- a/test/schemas/reflect/metadata/TupleHierarchical.json +++ b/test/schemas/reflect/metadata/TupleHierarchical.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -68,7 +68,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -104,7 +104,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -147,7 +147,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -171,7 +171,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -195,7 +195,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -229,7 +229,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -253,7 +253,7 @@ "required": true, "optional": false, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -272,7 +272,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -306,7 +306,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -330,7 +330,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -364,7 +364,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -388,7 +388,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -422,7 +422,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -446,7 +446,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -480,7 +480,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -504,7 +504,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -528,7 +528,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -562,7 +562,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -586,7 +586,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -610,7 +610,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/TupleOptional.json b/test/schemas/reflect/metadata/TupleOptional.json index e3b285a72c..493f8a60da 100644 --- a/test/schemas/reflect/metadata/TupleOptional.json +++ b/test/schemas/reflect/metadata/TupleOptional.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -72,7 +72,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -96,7 +96,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -144,7 +144,7 @@ "required": false, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -168,7 +168,7 @@ "required": false, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/TupleRestArray.json b/test/schemas/reflect/metadata/TupleRestArray.json index 19a5b45b66..de7eb30985 100644 --- a/test/schemas/reflect/metadata/TupleRestArray.json +++ b/test/schemas/reflect/metadata/TupleRestArray.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -72,7 +72,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -96,7 +96,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -130,7 +130,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/TupleRestAtomic.json b/test/schemas/reflect/metadata/TupleRestAtomic.json index 9b9f73df46..1fd30b14d9 100644 --- a/test/schemas/reflect/metadata/TupleRestAtomic.json +++ b/test/schemas/reflect/metadata/TupleRestAtomic.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -39,7 +39,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -63,7 +63,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -87,7 +87,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -97,7 +97,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/TupleRestObject.json b/test/schemas/reflect/metadata/TupleRestObject.json index 588ce5fd7d..a9bc560974 100644 --- a/test/schemas/reflect/metadata/TupleRestObject.json +++ b/test/schemas/reflect/metadata/TupleRestObject.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -107,7 +107,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -131,7 +131,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -155,7 +155,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -165,7 +165,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/TupleUnion.json b/test/schemas/reflect/metadata/TupleUnion.json index 1549600133..1238620958 100644 --- a/test/schemas/reflect/metadata/TupleUnion.json +++ b/test/schemas/reflect/metadata/TupleUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -113,7 +113,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -147,7 +147,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -171,7 +171,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -195,7 +195,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", diff --git a/test/schemas/reflect/metadata/TypeTagArray.json b/test/schemas/reflect/metadata/TypeTagArray.json index ca1936319e..16013566c3 100644 --- a/test/schemas/reflect/metadata/TypeTagArray.json +++ b/test/schemas/reflect/metadata/TypeTagArray.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -181,7 +181,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -209,7 +209,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -251,7 +251,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -279,7 +279,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -332,7 +332,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -360,7 +360,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -413,7 +413,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -441,7 +441,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -495,7 +495,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -524,7 +524,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -573,7 +573,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -622,7 +622,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -685,7 +685,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/TypeTagArrayUnion.json b/test/schemas/reflect/metadata/TypeTagArrayUnion.json index b5b49b44de..3f9cd59a94 100644 --- a/test/schemas/reflect/metadata/TypeTagArrayUnion.json +++ b/test/schemas/reflect/metadata/TypeTagArrayUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -145,7 +145,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -187,7 +187,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -215,7 +215,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -257,7 +257,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -285,7 +285,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -350,7 +350,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -379,7 +379,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -428,7 +428,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -477,7 +477,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/TypeTagAtomicUnion.json b/test/schemas/reflect/metadata/TypeTagAtomicUnion.json index bce074655d..7444fcfb66 100644 --- a/test/schemas/reflect/metadata/TypeTagAtomicUnion.json +++ b/test/schemas/reflect/metadata/TypeTagAtomicUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -214,7 +214,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/TypeTagBigInt.json b/test/schemas/reflect/metadata/TypeTagBigInt.json index 2478f6d907..5e401212ea 100644 --- a/test/schemas/reflect/metadata/TypeTagBigInt.json +++ b/test/schemas/reflect/metadata/TypeTagBigInt.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -182,7 +182,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -210,7 +210,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -258,7 +258,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -286,7 +286,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -334,7 +334,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -362,7 +362,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", diff --git a/test/schemas/reflect/metadata/TypeTagCustom.json b/test/schemas/reflect/metadata/TypeTagCustom.json index 25fdb4ef8c..168098762c 100644 --- a/test/schemas/reflect/metadata/TypeTagCustom.json +++ b/test/schemas/reflect/metadata/TypeTagCustom.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -106,7 +106,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -134,7 +134,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -176,7 +176,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -204,7 +204,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -246,7 +246,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -274,7 +274,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/TypeTagDefault.json b/test/schemas/reflect/metadata/TypeTagDefault.json index ec12e3a8ab..b71eef203a 100644 --- a/test/schemas/reflect/metadata/TypeTagDefault.json +++ b/test/schemas/reflect/metadata/TypeTagDefault.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -102,7 +102,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -130,7 +130,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -171,7 +171,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -199,7 +199,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -240,7 +240,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -268,7 +268,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -309,7 +309,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -337,7 +337,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -412,7 +412,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -440,7 +440,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -489,7 +489,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -517,7 +517,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -566,7 +566,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -594,7 +594,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -643,7 +643,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -671,7 +671,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -717,7 +717,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -745,7 +745,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/TypeTagFormat.json b/test/schemas/reflect/metadata/TypeTagFormat.json index 886a9cb31b..9558488f8f 100644 --- a/test/schemas/reflect/metadata/TypeTagFormat.json +++ b/test/schemas/reflect/metadata/TypeTagFormat.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -106,7 +106,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -134,7 +134,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -179,7 +179,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -207,7 +207,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -252,7 +252,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -280,7 +280,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -325,7 +325,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -353,7 +353,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -398,7 +398,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -426,7 +426,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -471,7 +471,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -499,7 +499,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -544,7 +544,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -572,7 +572,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -617,7 +617,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -645,7 +645,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -690,7 +690,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -718,7 +718,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -763,7 +763,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -791,7 +791,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -836,7 +836,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -864,7 +864,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -909,7 +909,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -937,7 +937,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -982,7 +982,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1010,7 +1010,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1055,7 +1055,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1083,7 +1083,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1128,7 +1128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1156,7 +1156,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1201,7 +1201,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1229,7 +1229,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1274,7 +1274,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1302,7 +1302,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1347,7 +1347,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1375,7 +1375,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1420,7 +1420,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1448,7 +1448,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1493,7 +1493,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1521,7 +1521,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1566,7 +1566,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1594,7 +1594,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/TypeTagInfinite.json b/test/schemas/reflect/metadata/TypeTagInfinite.json index 6a95902080..a8d4a7101b 100644 --- a/test/schemas/reflect/metadata/TypeTagInfinite.json +++ b/test/schemas/reflect/metadata/TypeTagInfinite.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -176,7 +176,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -204,7 +204,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -249,7 +249,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -277,7 +277,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -322,7 +322,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -350,7 +350,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -392,7 +392,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -420,7 +420,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/TypeTagLength.json b/test/schemas/reflect/metadata/TypeTagLength.json index 0468d8f248..ae26b904ff 100644 --- a/test/schemas/reflect/metadata/TypeTagLength.json +++ b/test/schemas/reflect/metadata/TypeTagLength.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -181,7 +181,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -209,7 +209,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -251,7 +251,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -279,7 +279,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -321,7 +321,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -349,7 +349,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -402,7 +402,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -430,7 +430,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -495,7 +495,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/TypeTagMatrix.json b/test/schemas/reflect/metadata/TypeTagMatrix.json index 207c823c70..857301a068 100644 --- a/test/schemas/reflect/metadata/TypeTagMatrix.json +++ b/test/schemas/reflect/metadata/TypeTagMatrix.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -126,7 +126,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -183,7 +183,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/TypeTagNaN.json b/test/schemas/reflect/metadata/TypeTagNaN.json index 91beba39d4..117a1485cf 100644 --- a/test/schemas/reflect/metadata/TypeTagNaN.json +++ b/test/schemas/reflect/metadata/TypeTagNaN.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -176,7 +176,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -204,7 +204,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -249,7 +249,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -277,7 +277,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -322,7 +322,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -350,7 +350,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -392,7 +392,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -420,7 +420,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/TypeTagObjectUnion.json b/test/schemas/reflect/metadata/TypeTagObjectUnion.json index 97335a98be..bb5f8421ee 100644 --- a/test/schemas/reflect/metadata/TypeTagObjectUnion.json +++ b/test/schemas/reflect/metadata/TypeTagObjectUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -120,7 +120,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -148,7 +148,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -213,7 +213,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/TypeTagPattern.json b/test/schemas/reflect/metadata/TypeTagPattern.json index 66fa53ccca..eaee501c49 100644 --- a/test/schemas/reflect/metadata/TypeTagPattern.json +++ b/test/schemas/reflect/metadata/TypeTagPattern.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -106,7 +106,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -134,7 +134,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -179,7 +179,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -207,7 +207,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -252,7 +252,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -280,7 +280,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", diff --git a/test/schemas/reflect/metadata/TypeTagRange.json b/test/schemas/reflect/metadata/TypeTagRange.json index 37f8dc609c..d5bbfce865 100644 --- a/test/schemas/reflect/metadata/TypeTagRange.json +++ b/test/schemas/reflect/metadata/TypeTagRange.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -185,7 +185,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -213,7 +213,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -269,7 +269,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -297,7 +297,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -354,7 +354,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -382,7 +382,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -438,7 +438,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -466,7 +466,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -538,7 +538,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -566,7 +566,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -637,7 +637,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -665,7 +665,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -736,7 +736,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -764,7 +764,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -834,7 +834,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -862,7 +862,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -944,7 +944,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/TypeTagRangeBigInt.json b/test/schemas/reflect/metadata/TypeTagRangeBigInt.json index 500eaeef38..2bb5b87005 100644 --- a/test/schemas/reflect/metadata/TypeTagRangeBigInt.json +++ b/test/schemas/reflect/metadata/TypeTagRangeBigInt.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -177,7 +177,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -205,7 +205,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -253,7 +253,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -281,7 +281,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -330,7 +330,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -358,7 +358,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -406,7 +406,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -434,7 +434,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -501,7 +501,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -529,7 +529,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -595,7 +595,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -623,7 +623,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -689,7 +689,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -717,7 +717,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -782,7 +782,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -810,7 +810,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -887,7 +887,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/TypeTagTuple.json b/test/schemas/reflect/metadata/TypeTagTuple.json index e251c4aa3b..f7db75f347 100644 --- a/test/schemas/reflect/metadata/TypeTagTuple.json +++ b/test/schemas/reflect/metadata/TypeTagTuple.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -101,7 +101,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -158,7 +158,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -225,7 +225,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -274,7 +274,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -329,7 +329,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -378,7 +378,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/TypeTagType.json b/test/schemas/reflect/metadata/TypeTagType.json index 806dbe2335..cb3929508f 100644 --- a/test/schemas/reflect/metadata/TypeTagType.json +++ b/test/schemas/reflect/metadata/TypeTagType.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -100,7 +100,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -128,7 +128,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -170,7 +170,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -198,7 +198,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -240,7 +240,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -268,7 +268,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -310,7 +310,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -338,7 +338,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -380,7 +380,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -408,7 +408,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -450,7 +450,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -478,7 +478,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -520,7 +520,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -548,7 +548,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -602,7 +602,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/schemas/reflect/metadata/TypeTagTypeBigInt.json b/test/schemas/reflect/metadata/TypeTagTypeBigInt.json index 85527c6e50..5ad71b1446 100644 --- a/test/schemas/reflect/metadata/TypeTagTypeBigInt.json +++ b/test/schemas/reflect/metadata/TypeTagTypeBigInt.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", @@ -89,7 +89,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -117,7 +117,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "bigint", diff --git a/test/schemas/reflect/metadata/TypeTagTypeUnion.json b/test/schemas/reflect/metadata/TypeTagTypeUnion.json index dd9fd379e9..50a6a62b2b 100644 --- a/test/schemas/reflect/metadata/TypeTagTypeUnion.json +++ b/test/schemas/reflect/metadata/TypeTagTypeUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -33,7 +33,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -61,7 +61,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -116,7 +116,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -144,7 +144,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -199,7 +199,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -227,7 +227,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -282,7 +282,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -310,7 +310,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -365,7 +365,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -393,7 +393,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -448,7 +448,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -476,7 +476,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -531,7 +531,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -559,7 +559,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -614,7 +614,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -642,7 +642,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -697,7 +697,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -725,7 +725,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -780,7 +780,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -808,7 +808,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", diff --git a/test/schemas/reflect/metadata/UltimateUnion.json b/test/schemas/reflect/metadata/UltimateUnion.json index fe307cbfe5..b54fb20ade 100644 --- a/test/schemas/reflect/metadata/UltimateUnion.json +++ b/test/schemas/reflect/metadata/UltimateUnion.json @@ -5,7 +5,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -36,7 +36,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -64,7 +64,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -97,7 +97,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -125,7 +125,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -150,7 +150,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -178,7 +178,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -206,7 +206,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -234,7 +234,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -273,7 +273,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -301,7 +301,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -326,7 +326,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -354,7 +354,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -391,7 +391,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -415,7 +415,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -463,7 +463,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -491,7 +491,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -527,7 +527,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -555,7 +555,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -583,7 +583,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -611,7 +611,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -639,7 +639,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -667,7 +667,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -707,7 +707,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -735,7 +735,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -763,7 +763,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -791,7 +791,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -824,7 +824,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -852,7 +852,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -880,7 +880,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -908,7 +908,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -936,7 +936,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -964,7 +964,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -1004,7 +1004,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1032,7 +1032,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1084,7 +1084,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1112,7 +1112,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1164,7 +1164,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1192,7 +1192,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1244,7 +1244,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1272,7 +1272,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -1300,7 +1300,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1328,7 +1328,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -1356,7 +1356,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1384,7 +1384,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1460,7 +1460,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1488,7 +1488,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1521,7 +1521,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1549,7 +1549,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1577,7 +1577,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1605,7 +1605,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -1633,7 +1633,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1661,7 +1661,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -1701,7 +1701,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1729,7 +1729,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1757,7 +1757,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1785,7 +1785,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1813,7 +1813,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1841,7 +1841,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -1869,7 +1869,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1897,7 +1897,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -1925,7 +1925,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -1953,7 +1953,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -1981,7 +1981,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2009,7 +2009,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -2065,7 +2065,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2093,7 +2093,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2126,7 +2126,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2154,7 +2154,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -2182,7 +2182,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2210,7 +2210,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -2238,7 +2238,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2266,7 +2266,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -2306,7 +2306,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2334,7 +2334,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -2362,7 +2362,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2390,7 +2390,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -2418,7 +2418,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2446,7 +2446,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -2474,7 +2474,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2502,7 +2502,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -2530,7 +2530,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2558,7 +2558,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -2610,7 +2610,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2638,7 +2638,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -2690,7 +2690,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2718,7 +2718,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2751,7 +2751,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2779,7 +2779,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -2807,7 +2807,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2835,7 +2835,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -2863,7 +2863,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2891,7 +2891,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -2931,7 +2931,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -2959,7 +2959,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -2995,7 +2995,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3023,7 +3023,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -3051,7 +3051,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3079,7 +3079,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -3131,7 +3131,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3159,7 +3159,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -3211,7 +3211,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3239,7 +3239,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3272,7 +3272,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3300,7 +3300,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -3328,7 +3328,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3356,7 +3356,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -3384,7 +3384,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3412,7 +3412,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -3452,7 +3452,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3480,7 +3480,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -3508,7 +3508,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3536,7 +3536,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -3577,7 +3577,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3605,7 +3605,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -3633,7 +3633,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3661,7 +3661,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -3713,7 +3713,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3741,7 +3741,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "number", @@ -3793,7 +3793,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3821,7 +3821,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3854,7 +3854,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3882,7 +3882,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -3910,7 +3910,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3938,7 +3938,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -3966,7 +3966,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -3994,7 +3994,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -4034,7 +4034,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4062,7 +4062,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -4087,7 +4087,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4115,7 +4115,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -4156,7 +4156,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4184,7 +4184,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -4212,7 +4212,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4240,7 +4240,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4273,7 +4273,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4301,7 +4301,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -4329,7 +4329,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4357,7 +4357,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -4385,7 +4385,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4413,7 +4413,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -4453,7 +4453,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4481,7 +4481,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -4509,7 +4509,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4537,7 +4537,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -4565,7 +4565,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4593,7 +4593,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -4621,7 +4621,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4649,7 +4649,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -4689,7 +4689,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4717,7 +4717,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -4745,7 +4745,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4773,7 +4773,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -4798,7 +4798,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4826,7 +4826,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -4854,7 +4854,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4882,7 +4882,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -4910,7 +4910,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -4938,7 +4938,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -4978,7 +4978,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5006,7 +5006,7 @@ "required": true, "optional": true, "nullable": true, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -5029,7 +5029,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5057,7 +5057,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5090,7 +5090,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5118,7 +5118,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -5146,7 +5146,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5174,7 +5174,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -5202,7 +5202,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5230,7 +5230,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -5270,7 +5270,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5298,7 +5298,7 @@ "required": false, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -5321,7 +5321,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5349,7 +5349,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -5377,7 +5377,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5405,7 +5405,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -5433,7 +5433,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5461,7 +5461,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "boolean", @@ -5501,7 +5501,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5529,7 +5529,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -5557,7 +5557,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5585,7 +5585,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -5622,7 +5622,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -5646,7 +5646,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -5686,7 +5686,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -5710,7 +5710,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -5751,7 +5751,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5779,7 +5779,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5812,7 +5812,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5840,7 +5840,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5881,7 +5881,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5909,7 +5909,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -5937,7 +5937,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -5965,7 +5965,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -6005,7 +6005,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6033,7 +6033,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6066,7 +6066,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6094,7 +6094,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6127,7 +6127,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6155,7 +6155,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -6195,7 +6195,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6223,7 +6223,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6256,7 +6256,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6284,7 +6284,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6317,7 +6317,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6345,7 +6345,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -6373,7 +6373,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6401,7 +6401,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -6441,7 +6441,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6469,7 +6469,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6502,7 +6502,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6530,7 +6530,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -6555,7 +6555,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6583,7 +6583,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -6623,7 +6623,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6651,7 +6651,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -6676,7 +6676,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6704,7 +6704,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -6729,7 +6729,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6757,7 +6757,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -6782,7 +6782,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6810,7 +6810,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -6846,7 +6846,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6874,7 +6874,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -6902,7 +6902,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6930,7 +6930,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -6958,7 +6958,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -6986,7 +6986,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -7014,7 +7014,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -7042,7 +7042,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -7078,7 +7078,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -7106,7 +7106,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -7134,7 +7134,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -7162,7 +7162,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -7190,7 +7190,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -7218,7 +7218,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -7255,7 +7255,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -7283,7 +7283,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -7311,7 +7311,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -7339,7 +7339,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -7367,7 +7367,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -7395,7 +7395,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -7432,7 +7432,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -7460,7 +7460,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -7493,7 +7493,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -7521,7 +7521,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -7549,7 +7549,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [ { @@ -7577,7 +7577,7 @@ "required": true, "optional": true, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -7617,7 +7617,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -7646,7 +7646,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -7686,7 +7686,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], @@ -7725,7 +7725,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [ { "type": "string", @@ -7757,7 +7757,7 @@ "required": true, "optional": false, "nullable": false, - "functional": false, + "functions": [], "atomics": [], "constants": [], "templates": [], diff --git a/test/src/features/llm.application/test_llm_application.ts b/test/src/features/llm.application/test_llm_application.ts index ba1e89b65c..76673f2dc7 100644 --- a/test/src/features/llm.application/test_llm_application.ts +++ b/test/src/features/llm.application/test_llm_application.ts @@ -50,7 +50,7 @@ export const test_llm_application = (): void => { }, nullable: false, required: ["level"], - description: "Performance interface.", + description: "The performance interface.", }, description: "Get performance.", }, From a98fe94cf974becd43c8b9a069abf6f23e38bad0 Mon Sep 17 00:00:00 2001 From: Jeongho Nam Date: Sat, 7 Sep 2024 17:09:34 +0900 Subject: [PATCH 4/8] Fix test problem bug --- test/src/features/llm.application/test_llm_application.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/src/features/llm.application/test_llm_application.ts b/test/src/features/llm.application/test_llm_application.ts index 76673f2dc7..78aee7a40d 100644 --- a/test/src/features/llm.application/test_llm_application.ts +++ b/test/src/features/llm.application/test_llm_application.ts @@ -25,13 +25,13 @@ export const test_llm_application = (): void => { { type: "number", title: "The value y", - description: "The value y.\r\n\r\nThe value to be added.", + description: "The value y.\n\nThe value to be added.", }, ], output: { type: "number", title: "Sum of them", - description: "Sum of them.\r\n\r\n`this.value + x + y`", + description: "Sum of them.\n\n`this.value + x + y`", }, description: "Get value.\n\nGet value with plus operation of member value, x and y.", From e296152247003d00bb38dcc45165c872c1787586 Mon Sep 17 00:00:00 2001 From: Jeongho Nam Date: Sat, 7 Sep 2024 22:26:51 +0900 Subject: [PATCH 5/8] Description comments on LLM module. --- benchmark/package.json | 2 +- errors/package.json | 2 +- src/llm.ts | 140 ++++++++++++++++++++++++++++++++++++++++- test-esm/package.json | 2 +- 4 files changed, 141 insertions(+), 5 deletions(-) diff --git a/benchmark/package.json b/benchmark/package.json index 7b9a3235f7..311214e499 100644 --- a/benchmark/package.json +++ b/benchmark/package.json @@ -72,6 +72,6 @@ "suppress-warnings": "^1.0.2", "tstl": "^3.0.0", "uuid": "^9.0.1", - "typia": "../typia-6.10.0-dev.20240906.tgz" + "typia": "../typia-6.10.0-dev.20240907.tgz" } } \ No newline at end of file diff --git a/errors/package.json b/errors/package.json index 264bf2948d..bee4c116a2 100644 --- a/errors/package.json +++ b/errors/package.json @@ -32,6 +32,6 @@ "typescript": "^5.3.2" }, "dependencies": { - "typia": "../typia-6.10.0-dev.20240906.tgz" + "typia": "../typia-6.10.0-dev.20240907.tgz" } } \ No newline at end of file diff --git a/src/llm.ts b/src/llm.ts index e7a41aa9ac..a42347fb67 100644 --- a/src/llm.ts +++ b/src/llm.ts @@ -1,7 +1,72 @@ import { ILlmApplication, ILlmSchema } from "@samchon/openapi"; -export function application(): never; -export function application(): ILlmApplication; +/** + * > You must configure the generic argument `App`. + * + * TypeScript functions to LLM function schemas. + * + * Creates an application of LLM (Large Language Model) function calling schemas from + * a TypeScript class or interface type containig the target functions to be called by + * the LLM function calling feature. + * + * If you put the returned {@link ILlmApplication.functions} objects to the LLM provider + * like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically select the + * proper function and fill its arguments from the conversation (maybe chatting text) + * with user (human). This is the concept of the LLM function calling. + * + * By the way, there can be some parameters (or their nested properties) that must be + * composed by human, not by LLM. File uploading feature or some sensitive information + * like secrety key (password) are the examples. In that case, you can separate the + * function parameters to both LLM and human sides by configuring the + * {@link ILlmApplication.IOptions.separate} property. + * + * Additionally, the actual function call execution is not by LLM, but by you. + * When the LLM selects the proper function and fills the arguments, you just call + * the function with the LLM prepared arguments. And then informs the return value to + * the LLM by system prompt. The LLM will continue the next conversation based on + * the return value. + * + * @template App Target class or interface type collecting the functions to call + * @param options Options for the LLM application construction + * @returns Application of LLM function calling schemas + * @reference https://platform.openai.com/docs/guides/function-calling + * @author Jeongho Nam - https://github.com/samchon + */ +export function application(options?: ILlmApplication.IOptions): never; + +/** + * TypeScript functions to LLM function schemas. + * + * Creates an application of LLM (Large Language Model) function calling schemas from + * a TypeScript class or interface type containig the target functions to be called by + * the LLM function calling feature. + * + * If you put the returned {@link ILlmApplication.functions} objects to the LLM provider + * like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically select the + * proper function and fill its arguments from the conversation (maybe chatting text) + * with user (human). This is the concept of the LLM function calling. + * + * By the way, there can be some parameters (or their nested properties) that must be + * composed by human, not by LLM. File uploading feature or some sensitive information + * like secrety key (password) are the examples. In that case, you can separate the + * function parameters to both LLM and human sides by configuring the + * {@link ILlmApplication.IOptions.separate} property. + * + * Additionally, the actual function call execution is not by LLM, but by you. + * When the LLM selects the proper function and fills the arguments, you just call + * the function with the LLM prepared arguments. And then informs the return value to + * the LLM by system prompt. The LLM will continue the next conversation based on + * the return value. + * + * @template App Target class or interface type collecting the functions to call + * @param options Options for the LLM application construction + * @returns Application of LLM function calling schemas + * @reference https://platform.openai.com/docs/guides/function-calling + * @author Jeongho Nam - https://github.com/samchon + */ +export function application( + options?: ILlmApplication.IOptions, +): ILlmApplication; /** * @internal @@ -10,7 +75,78 @@ export function application(): never { halt("application"); } +/** + * > You must configure the generic argument `T`. + * + * TypeScript type to LLM type schema. + * + * Creates an LLM (Large Language Model) type schema, a type metadata that is used in the + * [LLM function calling](@reference https://platform.openai.com/docs/guides/function-calling), + * from a TypeScript type. + * + * The returned {@link ILlmSchema} type is similar to the OpenAPI v3.0 based JSON schema + * definition, but it is more simplified for the LLM function calling by remmoving the + * {@link OpenApiV3.IJson.IReference reference} type embodied by the + * {@link OpenApiV3.IJson.IReference.$ref `$ref`} proeprty. + * + * If you actually want to perform the LLM function calling with TypeScript functions, + * you can do it with the {@link application} function. Let's enjoy the + * LLM function calling with native TypeScript functions and types. + * + * > **What LLM function calling is? + * > + * > LLM (Large Language Model) selects propert function and fill the arguments, + * > but actuall function call execution is not by LLM, but by you. + * > + * > In nowadays, most LLM (Large Language Model) like OpenAI are supporting + * > "function calling" feature. The "function calling" means that LLM automatically selects + * > a proper function and compose parameter values from the user's chatting text. + * > + * > When LLM selects the proper function and its arguments, you just call the function + * > with the arguments. And then informs the return value to the LLM by system prompt, + * > LLM will continue the next conversation based on the return value. + * + * @template T Target type + * @returns LLM schema + * @reference https://platform.openai.com/docs/guides/function-calling + * @author Jeongho Nam - https://github.com/samchon + */ export function schema(): never; + +/** + * TypeScript type to LLM type schema. + * + * Creates an LLM (Large Language Model) type schema, a type metadata that is used in the + * [LLM function calling](@reference https://platform.openai.com/docs/guides/function-calling), + * from a TypeScript type. + * + * The returned {@link ILlmSchema} type is similar to the OpenAPI v3.0 based JSON schema + * definition, but it is more simplified for the LLM function calling by remmoving the + * {@link OpenApiV3.IJson.IReference reference} type embodied by the + * {@link OpenApiV3.IJson.IReference.$ref `$ref`} proeprty. + * + * If you actually want to perform the LLM function calling with TypeScript functions, + * you can do it with the {@link application} function. Let's enjoy the + * LLM function calling with native TypeScript functions and types. + * + * > **What LLM function calling is? + * > + * > LLM (Large Language Model) selects propert function and fill the arguments, + * > but actuall function call execution is not by LLM, but by you. + * > + * > In nowadays, most LLM (Large Language Model) like OpenAI are supporting + * > "function calling" feature. The "function calling" means that LLM automatically selects + * > a proper function and compose parameter values from the user's chatting text. + * > + * > When LLM selects the proper function and its arguments, you just call the function + * > with the arguments. And then informs the return value to the LLM by system prompt, + * > LLM will continue the next conversation based on the return value. + * + * @template T Target type + * @returns LLM schema + * @reference https://platform.openai.com/docs/guides/function-calling + * @author Jeongho Nam - https://github.com/samchon + */ export function schema(): ILlmSchema; /** diff --git a/test-esm/package.json b/test-esm/package.json index f7d1ac4840..cdddeddff6 100644 --- a/test-esm/package.json +++ b/test-esm/package.json @@ -36,6 +36,6 @@ "typescript": "^5.4.5" }, "dependencies": { - "typia": "../typia-6.10.0-dev.20240906.tgz" + "typia": "../typia-6.10.0-dev.20240907.tgz" } } \ No newline at end of file From 72fe1ffbabaad9f65e98741b060f954a0f7ad868 Mon Sep 17 00:00:00 2001 From: Jeongho Nam Date: Sat, 7 Sep 2024 23:37:51 +0900 Subject: [PATCH 6/8] LLM function calling parameter separation. --- benchmark/package.json | 2 +- debug/src/llm.ts | 24 +++++++ debug/src/metadata.ts | 7 -- errors/package.json | 2 +- package.json | 2 +- packages/typescript-json/package.json | 4 +- src/functional/Namespace/index.ts | 1 + src/functional/Namespace/llm.ts | 20 ++++++ src/llm.ts | 38 ++++++++--- src/transformers/CallExpressionTransformer.ts | 2 +- .../features/llm/LlmApplicationTransformer.ts | 33 +++++++++- test-esm/package.json | 2 +- test/package.json | 2 +- .../test_llm_application_separate.ts | 64 +++++++++++++++++++ 14 files changed, 178 insertions(+), 25 deletions(-) create mode 100644 debug/src/llm.ts delete mode 100644 debug/src/metadata.ts create mode 100644 src/functional/Namespace/llm.ts create mode 100644 test/src/features/llm.application/test_llm_application_separate.ts diff --git a/benchmark/package.json b/benchmark/package.json index 311214e499..22de4d3af3 100644 --- a/benchmark/package.json +++ b/benchmark/package.json @@ -72,6 +72,6 @@ "suppress-warnings": "^1.0.2", "tstl": "^3.0.0", "uuid": "^9.0.1", - "typia": "../typia-6.10.0-dev.20240907.tgz" + "typia": "../typia-6.10.0-dev.20240908.tgz" } } \ No newline at end of file diff --git a/debug/src/llm.ts b/debug/src/llm.ts new file mode 100644 index 0000000000..cfb5b14499 --- /dev/null +++ b/debug/src/llm.ts @@ -0,0 +1,24 @@ +import { ILlmApplication, LlmTypeChecker } from "@samchon/openapi"; +import typia, { tags } from "typia"; + +interface IBbsArticle extends IBbsArticle.ICreate { + id: string & tags.Format<"uuid">; + created_at: string & tags.Format<"date-time">; +} +namespace IBbsArticle { + export interface ICreate { + title: string; + body: string; + file: string & tags.Format<"uri"> & tags.ContentMediaType<"*/*">; + } +} + +interface BbsArticleApplication { + create(input: IBbsArticle.ICreate): Promise; +} + +const app: ILlmApplication = typia.llm.application({ + separate: (schema) => + LlmTypeChecker.isString(schema) && schema.contentMediaType !== undefined, +}); +console.log(app); diff --git a/debug/src/metadata.ts b/debug/src/metadata.ts deleted file mode 100644 index df048015c0..0000000000 --- a/debug/src/metadata.ts +++ /dev/null @@ -1,7 +0,0 @@ -import typia from "typia"; - -interface Something { - setValue: (x: T) => T; -} - -typia.llm.application>(); diff --git a/errors/package.json b/errors/package.json index bee4c116a2..6ba5f3da20 100644 --- a/errors/package.json +++ b/errors/package.json @@ -32,6 +32,6 @@ "typescript": "^5.3.2" }, "dependencies": { - "typia": "../typia-6.10.0-dev.20240907.tgz" + "typia": "../typia-6.10.0-dev.20240908.tgz" } } \ No newline at end of file diff --git a/package.json b/package.json index cd15e2896b..1ebfb35897 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "typia", - "version": "6.10.0-dev.20240907", + "version": "6.10.0-dev.20240908", "description": "Superfast runtime validators with only one line", "main": "lib/index.js", "typings": "lib/index.d.ts", diff --git a/packages/typescript-json/package.json b/packages/typescript-json/package.json index ec296c5ed3..313880d95e 100644 --- a/packages/typescript-json/package.json +++ b/packages/typescript-json/package.json @@ -1,6 +1,6 @@ { "name": "typescript-json", - "version": "6.10.0-dev.20240906", + "version": "6.10.0-dev.20240908", "description": "Superfast runtime validators with only one line", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -63,7 +63,7 @@ }, "homepage": "https://typia.io", "dependencies": { - "typia": "6.10.0-dev.20240906" + "typia": "6.10.0-dev.20240908" }, "peerDependencies": { "typescript": ">=4.8.0 <5.6.0" diff --git a/src/functional/Namespace/index.ts b/src/functional/Namespace/index.ts index 8beb039768..11553f4888 100644 --- a/src/functional/Namespace/index.ts +++ b/src/functional/Namespace/index.ts @@ -14,6 +14,7 @@ export * as http from "./http"; export * as notations from "./notations"; export * as misc from "./misc"; export * as protobuf from "./protobuf"; +export * as llm from "./llm"; export { is }; diff --git a/src/functional/Namespace/llm.ts b/src/functional/Namespace/llm.ts new file mode 100644 index 0000000000..f13dab39fd --- /dev/null +++ b/src/functional/Namespace/llm.ts @@ -0,0 +1,20 @@ +import { ILlmApplication } from "@samchon/openapi"; + +import { LlmSchemaSeparator } from "@samchon/openapi/lib/utils/LlmSchemaSeparator"; + +export const application = () => ({ + finalize: ( + app: ILlmApplication, + options?: ILlmApplication.IOptions, + ): void => { + app.options = { + separate: options?.separate ?? null, + }; + if (app.options.separate === null) return; + for (const func of app.functions) + func.separated = LlmSchemaSeparator.parameters({ + parameters: func.parameters, + predicator: app.options.separate, + }); + }, +}); diff --git a/src/llm.ts b/src/llm.ts index a42347fb67..891c8ae96a 100644 --- a/src/llm.ts +++ b/src/llm.ts @@ -1,5 +1,7 @@ import { ILlmApplication, ILlmSchema } from "@samchon/openapi"; +import * as Namespace from "./functional/Namespace"; + /** * > You must configure the generic argument `App`. * @@ -14,25 +16,31 @@ import { ILlmApplication, ILlmSchema } from "@samchon/openapi"; * proper function and fill its arguments from the conversation (maybe chatting text) * with user (human). This is the concept of the LLM function calling. * - * By the way, there can be some parameters (or their nested properties) that must be + * By the way, there can be some parameters (or their nested properties) which must be * composed by human, not by LLM. File uploading feature or some sensitive information * like secrety key (password) are the examples. In that case, you can separate the * function parameters to both LLM and human sides by configuring the - * {@link ILlmApplication.IOptions.separate} property. + * {@link ILlmApplication.IOptions.separate} property. The separated parameters are + * assigned to the {@link ILlmFunction.separated} property. * - * Additionally, the actual function call execution is not by LLM, but by you. + * For reference, the actual function call execution is not by LLM, but by you. * When the LLM selects the proper function and fills the arguments, you just call * the function with the LLM prepared arguments. And then informs the return value to * the LLM by system prompt. The LLM will continue the next conversation based on * the return value. * + * Additionally, if you've configured {@link ILlmApplication.IOptions.separate}, + * so that the parameters are separated to human and LLM sides, you can merge these + * humand and LLM sides' parameters into one through {@link HttpLlm.mergeParameters} + * before the actual LLM function call execution. + * * @template App Target class or interface type collecting the functions to call * @param options Options for the LLM application construction * @returns Application of LLM function calling schemas * @reference https://platform.openai.com/docs/guides/function-calling * @author Jeongho Nam - https://github.com/samchon */ -export function application(options?: ILlmApplication.IOptions): never; +function application(options?: ILlmApplication.IOptions): never; /** * TypeScript functions to LLM function schemas. @@ -46,35 +54,47 @@ export function application(options?: ILlmApplication.IOptions): never; * proper function and fill its arguments from the conversation (maybe chatting text) * with user (human). This is the concept of the LLM function calling. * - * By the way, there can be some parameters (or their nested properties) that must be + * By the way, there can be some parameters (or their nested properties) which must be * composed by human, not by LLM. File uploading feature or some sensitive information * like secrety key (password) are the examples. In that case, you can separate the * function parameters to both LLM and human sides by configuring the - * {@link ILlmApplication.IOptions.separate} property. + * {@link ILlmApplication.IOptions.separate} property. The separated parameters are + * assigned to the {@link ILlmFunction.separated} property. * - * Additionally, the actual function call execution is not by LLM, but by you. + * For reference, the actual function call execution is not by LLM, but by you. * When the LLM selects the proper function and fills the arguments, you just call * the function with the LLM prepared arguments. And then informs the return value to * the LLM by system prompt. The LLM will continue the next conversation based on * the return value. * + * Additionally, if you've configured {@link ILlmApplication.IOptions.separate}, + * so that the parameters are separated to human and LLM sides, you can merge these + * humand and LLM sides' parameters into one through {@link HttpLlm.mergeParameters} + * before the actual LLM function call execution. + * * @template App Target class or interface type collecting the functions to call * @param options Options for the LLM application construction * @returns Application of LLM function calling schemas * @reference https://platform.openai.com/docs/guides/function-calling * @author Jeongho Nam - https://github.com/samchon */ -export function application( +function application( options?: ILlmApplication.IOptions, ): ILlmApplication; /** * @internal */ -export function application(): never { +function application(): never { halt("application"); } +const applicationPure = /** @__PURE__ */ Object.assign( + application, + /** @__PURE__ */ Namespace.llm.application(), +); +export { applicationPure as application }; + /** * > You must configure the generic argument `T`. * diff --git a/src/transformers/CallExpressionTransformer.ts b/src/transformers/CallExpressionTransformer.ts index 839205b92c..cbd8f3d98f 100644 --- a/src/transformers/CallExpressionTransformer.ts +++ b/src/transformers/CallExpressionTransformer.ts @@ -356,7 +356,7 @@ const FUNCTORS: Record Task>> = { createValidateQuery: () => CreateHttpValidateQueryTransformer.transform, }, llm: { - application: () => (project) => () => + application: () => (project) => LlmApplicationTransformer.transform(project), schema: () => (project) => () => LlmSchemaTransformer.transform(project), }, diff --git a/src/transformers/features/llm/LlmApplicationTransformer.ts b/src/transformers/features/llm/LlmApplicationTransformer.ts index a2fdf73b17..f39324c9c3 100644 --- a/src/transformers/features/llm/LlmApplicationTransformer.ts +++ b/src/transformers/features/llm/LlmApplicationTransformer.ts @@ -1,9 +1,13 @@ import { ILlmApplication } from "@samchon/openapi"; import ts from "typescript"; +import { ExpressionFactory } from "../../../factories/ExpressionFactory"; +import { IdentifierFactory } from "../../../factories/IdentifierFactory"; import { LiteralFactory } from "../../../factories/LiteralFactory"; import { MetadataCollection } from "../../../factories/MetadataCollection"; import { MetadataFactory } from "../../../factories/MetadataFactory"; +import { StatementFactory } from "../../../factories/StatementFactory"; +import { TypeFactory } from "../../../factories/TypeFactory"; import { Metadata } from "../../../schemas/metadata/Metadata"; @@ -17,6 +21,7 @@ import { TransformerError } from "../../TransformerError"; export namespace LlmApplicationTransformer { export const transform = (project: IProject) => + (modulo: ts.LeftHandSideExpression) => (expression: ts.CallExpression): ts.Expression => { // GET GENERIC ARGUMENT if (!expression.typeArguments?.length) @@ -51,6 +56,32 @@ export namespace LlmApplicationTransformer { const schema: ILlmApplication = LlmApplicationProgrammer.write( result.data, ); - return LiteralFactory.generate(schema); + + return ExpressionFactory.selfCall( + ts.factory.createBlock( + [ + StatementFactory.constant("app", LiteralFactory.generate(schema)), + ts.factory.createExpressionStatement( + ts.factory.createCallExpression( + ts.factory.createAsExpression( + IdentifierFactory.access(modulo)("finalize"), + TypeFactory.keyword("any"), + ), + undefined, + [ + ts.factory.createIdentifier("app"), + ...(expression.arguments?.[0] + ? [expression.arguments[0]] + : []), + ], + ), + ), + ts.factory.createReturnStatement( + ts.factory.createIdentifier("app"), + ), + ], + true, + ), + ); }; } diff --git a/test-esm/package.json b/test-esm/package.json index cdddeddff6..69f9f8280a 100644 --- a/test-esm/package.json +++ b/test-esm/package.json @@ -36,6 +36,6 @@ "typescript": "^5.4.5" }, "dependencies": { - "typia": "../typia-6.10.0-dev.20240907.tgz" + "typia": "../typia-6.10.0-dev.20240908.tgz" } } \ No newline at end of file diff --git a/test/package.json b/test/package.json index e43185ee71..2c68d76e9a 100644 --- a/test/package.json +++ b/test/package.json @@ -52,6 +52,6 @@ "suppress-warnings": "^1.0.2", "tstl": "^3.0.0", "uuid": "^9.0.1", - "typia": "../typia-6.10.0-dev.20240907.tgz" + "typia": "../typia-6.10.0-dev.20240908.tgz" } } \ No newline at end of file diff --git a/test/src/features/llm.application/test_llm_application_separate.ts b/test/src/features/llm.application/test_llm_application_separate.ts new file mode 100644 index 0000000000..f92effe79c --- /dev/null +++ b/test/src/features/llm.application/test_llm_application_separate.ts @@ -0,0 +1,64 @@ +import { ILlmApplication, LlmTypeChecker } from "@samchon/openapi"; +import { ILlmFunction } from "@samchon/openapi/lib/structures/ILlmFunction"; +import typia, { tags } from "typia"; + +import { TestValidator } from "../../helpers/TestValidator"; + +export const test_llm_application_separate = (): void => { + const app: ILlmApplication = typia.llm.application({ + separate: (schema) => + LlmTypeChecker.isString(schema) && schema.contentMediaType !== undefined, + }); + const func: ILlmFunction = app.functions[0]!; + TestValidator.equals("separated.human")(func.separated?.human)([ + { + index: 0, + schema: { + type: "object", + properties: { + file: { + type: "string", + format: "uri", + contentMediaType: "*/*", + }, + }, + nullable: false, + required: ["file"], + }, + }, + ]); + TestValidator.equals("separated.llm")(func.separated?.llm)([ + { + index: 0, + schema: { + type: "object", + properties: { + title: { + type: "string", + }, + body: { + type: "string", + }, + }, + nullable: false, + required: ["title", "body"], + }, + }, + ]); +}; + +interface IBbsArticle extends IBbsArticle.ICreate { + id: string & tags.Format<"uuid">; + created_at: string & tags.Format<"date-time">; +} +namespace IBbsArticle { + export interface ICreate { + title: string; + body: string; + file: string & tags.Format<"uri"> & tags.ContentMediaType<"*/*">; + } +} + +interface BbsArticleApplication { + create(input: IBbsArticle.ICreate): Promise; +} From 166874d734d7d740b7d8c4300702b8e6b472f641 Mon Sep 17 00:00:00 2001 From: Jeongho Nam Date: Mon, 9 Sep 2024 23:18:17 +0900 Subject: [PATCH 7/8] Documentation of LLM function callling appllication --- README.md | 26 +- benchmark/package.json | 2 +- debug/package.json | 2 +- debug/src/llm.schema.recursive.ts | 5 + debug/src/llm.ts | 24 - errors/package.json | 2 +- errors/src/llm/llm.application.bigint.ts | 7 + package.json | 4 +- packages/typescript-json/README.md | 26 +- packages/typescript-json/package.json | 4 +- src/factories/MetadataFactory.ts | 45 +- .../metadata/emplace_metadata_object.ts | 12 +- .../metadata/iterate_metadata_comment_tags.ts | 4 +- .../metadata/iterate_metadata_function.ts | 2 + src/llm.ts | 16 +- .../llm/LlmApplicationProgrammer.ts | 7 +- src/transformers/TransformerError.ts | 7 +- test-esm/package.json | 2 +- test/package.json | 2 +- website/package-lock.json | 18 +- website/package.json | 4 +- website/pages/docs/_meta.json | 1 + website/pages/docs/json/schema.mdx | 2 +- website/pages/docs/llm/_meta.json | 4 + website/pages/docs/llm/application.mdx | 1359 +++++++++++++++++ website/pages/docs/llm/schema.mdx | 760 +++++++++ website/public/images/home/openai.svg | 1 + website/src/components/home/HomeCodeBlock.tsx | 3 +- website/src/movies/home/HomeStrengthMovie.tsx | 32 +- .../movies/home/HomeStrengthSectionMovie.tsx | 2 +- 30 files changed, 2306 insertions(+), 79 deletions(-) create mode 100644 debug/src/llm.schema.recursive.ts delete mode 100644 debug/src/llm.ts create mode 100644 errors/src/llm/llm.application.bigint.ts create mode 100644 website/pages/docs/llm/_meta.json create mode 100644 website/pages/docs/llm/application.mdx create mode 100644 website/pages/docs/llm/schema.mdx create mode 100644 website/public/images/home/openai.svg diff --git a/README.md b/README.md index cf56483a3d..f58439bb86 100644 --- a/README.md +++ b/README.md @@ -16,16 +16,23 @@ export function validate(input: unknown): IValidation; // detailed // JSON FUNCTIONS export namespace json { - export function application(): IJsonApplication; // JSON schema - export function assertParse(input: string): T; // type safe parser - export function assertStringify(input: T): string; // safe and faster + export function application(): IJsonApplication; // JSON schema + export function assertParse(input: string): T; // type safe parser + export function assertStringify(input: T): string; // safe and faster +} + +// LLM FUNCTION CALLING APPLICATION +export namespace llm { + // LLM function calling application from a class or interface type + export function application(): ILlmApplication; + export function schema(): ILlmSchema; // LLM type schema } // PROTOCOL BUFFER export namespace protobuf { - export function message(): string; // Protocol Buffer message - export function assertDecode(buffer: Uint8Array): T; // safe decoder - export function assertEncode(input: T): Uint8Array; // safe encoder + export function message(): string; // Protocol Buffer message + export function assertDecode(buffer: Uint8Array): T; // safe decoder + export function assertEncode(input: T): Uint8Array; // safe encoder } // RANDOM GENERATOR @@ -36,6 +43,7 @@ Typia is a transformer library supporting below features: - Super-fast Runtime Validators - Enhanced JSON functions + - LLM function calling application composer - Protocol Buffer encoder and decoder - Random data generator @@ -62,6 +70,7 @@ Also, `typia` is re-distributing half of donations to core contributors of `typi + ## Playground You can experience how typia works by [playground website](https://typia.io/playground): @@ -86,9 +95,12 @@ Check out the document in the [website](https://typia.io/docs/): - [Functional Module](https://typia.io/docs/validators/functional) - [Special Tags](https://typia.io/docs/validators/tags/) - Enhanced JSON - - [JSON Schema](https://typia.io/docs/json/schema) + - [JSON Schema](https://typia.io/docs/json/schema/) - [`stringify()` functions](https://typia.io/docs/json/stringify/) - [`parse()` functions](https://typia.io/docs/json/parse/) + - LLM Function Calling + - [`application()` function](https://typia.io/docs/llm/application/) + - [`schema()` function](https://typia.io/docs/llm/schema/) - Protocol Buffer - [Message Schema](https://typia.io/docs/protobuf/message) - [`decode()` functions](https://typia.io/docs/protobuf/decode/) diff --git a/benchmark/package.json b/benchmark/package.json index 22de4d3af3..5c707397e4 100644 --- a/benchmark/package.json +++ b/benchmark/package.json @@ -72,6 +72,6 @@ "suppress-warnings": "^1.0.2", "tstl": "^3.0.0", "uuid": "^9.0.1", - "typia": "../typia-6.10.0-dev.20240908.tgz" + "typia": "../typia-6.10.0.tgz" } } \ No newline at end of file diff --git a/debug/package.json b/debug/package.json index 496fc3fce3..7ab576643a 100644 --- a/debug/package.json +++ b/debug/package.json @@ -17,7 +17,7 @@ }, "dependencies": { "tstl": "^3.0.0", - "typia": "../typia-6.10.0-dev.20240907.tgz", + "typia": "../typia-6.10.0.tgz", "uuid": "^10.0.0" } } \ No newline at end of file diff --git a/debug/src/llm.schema.recursive.ts b/debug/src/llm.schema.recursive.ts new file mode 100644 index 0000000000..9a59fba685 --- /dev/null +++ b/debug/src/llm.schema.recursive.ts @@ -0,0 +1,5 @@ +import { ILlmSchema } from "@samchon/openapi"; +import typia from "typia"; + +const schema: ILlmSchema = typia.llm.schema(); +console.log(schema); diff --git a/debug/src/llm.ts b/debug/src/llm.ts deleted file mode 100644 index cfb5b14499..0000000000 --- a/debug/src/llm.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { ILlmApplication, LlmTypeChecker } from "@samchon/openapi"; -import typia, { tags } from "typia"; - -interface IBbsArticle extends IBbsArticle.ICreate { - id: string & tags.Format<"uuid">; - created_at: string & tags.Format<"date-time">; -} -namespace IBbsArticle { - export interface ICreate { - title: string; - body: string; - file: string & tags.Format<"uri"> & tags.ContentMediaType<"*/*">; - } -} - -interface BbsArticleApplication { - create(input: IBbsArticle.ICreate): Promise; -} - -const app: ILlmApplication = typia.llm.application({ - separate: (schema) => - LlmTypeChecker.isString(schema) && schema.contentMediaType !== undefined, -}); -console.log(app); diff --git a/errors/package.json b/errors/package.json index 6ba5f3da20..8178eef9ad 100644 --- a/errors/package.json +++ b/errors/package.json @@ -32,6 +32,6 @@ "typescript": "^5.3.2" }, "dependencies": { - "typia": "../typia-6.10.0-dev.20240908.tgz" + "typia": "../typia-6.10.0.tgz" } } \ No newline at end of file diff --git a/errors/src/llm/llm.application.bigint.ts b/errors/src/llm/llm.application.bigint.ts new file mode 100644 index 0000000000..71f92f50ba --- /dev/null +++ b/errors/src/llm/llm.application.bigint.ts @@ -0,0 +1,7 @@ +import typia from "typia"; + +typia.llm.application(); + +interface Controller { + plus(X: bigint, y: bigint): bigint; +} diff --git a/package.json b/package.json index 1ebfb35897..4af099a4e4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "typia", - "version": "6.10.0-dev.20240908", + "version": "6.10.0-dev.20240910", "description": "Superfast runtime validators with only one line", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -67,7 +67,7 @@ }, "homepage": "https://typia.io", "dependencies": { - "@samchon/openapi": "^0.5.0-dev.20240906-2", + "@samchon/openapi": "^1.0.0", "commander": "^10.0.0", "comment-json": "^4.2.3", "inquirer": "^8.2.5", diff --git a/packages/typescript-json/README.md b/packages/typescript-json/README.md index cbcec3658d..af5e12a836 100644 --- a/packages/typescript-json/README.md +++ b/packages/typescript-json/README.md @@ -19,16 +19,23 @@ export function validate(input: unknown): IValidation; // detailed // JSON FUNCTIONS export namespace json { - export function application(): IJsonApplication; // JSON schema - export function assertParse(input: string): T; // type safe parser - export function assertStringify(input: T): string; // safe and faster + export function application(): IJsonApplication; // JSON schema + export function assertParse(input: string): T; // type safe parser + export function assertStringify(input: T): string; // safe and faster +} + +// LLM FUNCTION CALLING APPLICATION +export namespace llm { + // LLM function calling application from a class or interface type + export function application(): ILlmApplication; + export function schema(): ILlmSchema; // LLM type schema } // PROTOCOL BUFFER export namespace protobuf { - export function message(): string; // Protocol Buffer message - export function assertDecode(buffer: Uint8Array): T; // safe decoder - export function assertEncode(input: T): Uint8Array; // safe encoder + export function message(): string; // Protocol Buffer message + export function assertDecode(buffer: Uint8Array): T; // safe decoder + export function assertEncode(input: T): Uint8Array; // safe encoder } // RANDOM GENERATOR @@ -39,6 +46,7 @@ Typia is a transformer library supporting below features: - Super-fast Runtime Validators - Enhanced JSON functions + - LLM function calling application composer - Protocol Buffer encoder and decoder - Random data generator @@ -65,6 +73,7 @@ Also, `typia` is re-distributing half of donations to core contributors of `typi + ## Playground You can experience how typia works by [playground website](https://typia.io/playground): @@ -89,9 +98,12 @@ Check out the document in the [website](https://typia.io/docs/): - [Functional Module](https://typia.io/docs/validators/functional) - [Special Tags](https://typia.io/docs/validators/tags/) - Enhanced JSON - - [JSON Schema](https://typia.io/docs/json/schema) + - [JSON Schema](https://typia.io/docs/json/schema/) - [`stringify()` functions](https://typia.io/docs/json/stringify/) - [`parse()` functions](https://typia.io/docs/json/parse/) + - LLM Function Calling + - [`application()` function](https://typia.io/docs/llm/application/) + - [`schema()` function](https://typia.io/docs/llm/schema/) - Protocol Buffer - [Message Schema](https://typia.io/docs/protobuf/message) - [`decode()` functions](https://typia.io/docs/protobuf/decode/) diff --git a/packages/typescript-json/package.json b/packages/typescript-json/package.json index 313880d95e..028799c1ac 100644 --- a/packages/typescript-json/package.json +++ b/packages/typescript-json/package.json @@ -1,6 +1,6 @@ { "name": "typescript-json", - "version": "6.10.0-dev.20240908", + "version": "6.10.0-dev.20240909", "description": "Superfast runtime validators with only one line", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -63,7 +63,7 @@ }, "homepage": "https://typia.io", "dependencies": { - "typia": "6.10.0-dev.20240908" + "typia": "6.10.0-dev.20240909" }, "peerDependencies": { "typescript": ">=4.8.0 <5.6.0" diff --git a/src/factories/MetadataFactory.ts b/src/factories/MetadataFactory.ts index b61d621b24..266bebd147 100644 --- a/src/factories/MetadataFactory.ts +++ b/src/factories/MetadataFactory.ts @@ -4,6 +4,7 @@ import { Metadata } from "../schemas/metadata/Metadata"; import { MetadataAlias } from "../schemas/metadata/MetadataAlias"; import { MetadataArrayType } from "../schemas/metadata/MetadataArrayType"; import { MetadataConstant } from "../schemas/metadata/MetadataConstant"; +import { MetadataFunction } from "../schemas/metadata/MetadataFunction"; import { MetadataObject } from "../schemas/metadata/MetadataObject"; import { MetadataTupleType } from "../schemas/metadata/MetadataTupleType"; import { explore_metadata } from "./internal/metadata/explore_metadata"; @@ -32,6 +33,8 @@ export namespace MetadataFactory { object: MetadataObject | null; property: string | object | null; nested: null | MetadataAlias | MetadataArrayType | MetadataTupleType; + parameter: string | null; + output: boolean; escaped: boolean; aliased: boolean; } @@ -54,9 +57,11 @@ export namespace MetadataFactory { top: true, object: null, property: null, + parameter: null, nested: null, - escaped: false, aliased: false, + escaped: false, + output: false, }); iterate_metadata_collection(errors)(collection); iterate_metadata_sort(collection)(meta); @@ -105,14 +110,17 @@ export namespace MetadataFactory { arrays: new Set(), tuples: new Set(), aliases: new Set(), + functions: new Set(), }; validateMeta(context)(options)(visitor)(meta, { object: null, property: null, + parameter: null, nested: null, top: true, aliased: false, escaped: false, + output: false, }); return visitor.errors; }; @@ -157,6 +165,8 @@ export namespace MetadataFactory { validateTuple(context)(options)(visitor)(tuple.type, explore); for (const obj of meta.objects) validateObject(context)(options)(visitor)(obj); + for (const func of meta.functions) + validateFunction(context)(options)(visitor)(func, explore); for (const set of meta.sets) validateMeta(context)(options)(visitor)(set, explore); for (const map of meta.maps) { @@ -230,9 +240,11 @@ export namespace MetadataFactory { object, top: false, property: null, + parameter: null, nested: null, - escaped: false, aliased: false, + escaped: false, + output: false, }; const errors: string[] = options.validate( Metadata.create({ @@ -255,10 +267,38 @@ export namespace MetadataFactory { property: property.key.isSoleLiteral() ? property.key.getSoleLiteral()! : {}, + parameter: null, nested: null, top: false, aliased: false, escaped: false, + output: false, + }); + }; + + const validateFunction = + (context?: ts.TransformationContext) => + (options: IOptions) => + (visitor: IValidationVisitor) => + (func: MetadataFunction, explore: IExplore) => { + if (visitor.functions.has(func)) return; + visitor.functions.add(func); + + for (const param of func.parameters) + validateMeta(context)(options)(visitor)(param.type, { + ...explore, + parameter: param.name, + nested: null, + top: false, + output: false, + }); + if (func.output) + validateMeta(context)(options)(visitor)(func.output, { + ...explore, + parameter: null, + nested: null, + top: false, + output: true, }); }; @@ -269,5 +309,6 @@ export namespace MetadataFactory { arrays: Set; tuples: Set; aliases: Set; + functions: Set; } } diff --git a/src/factories/internal/metadata/emplace_metadata_object.ts b/src/factories/internal/metadata/emplace_metadata_object.ts index 07855afc8f..6050499246 100644 --- a/src/factories/internal/metadata/emplace_metadata_object.ts +++ b/src/factories/internal/metadata/emplace_metadata_object.ts @@ -101,9 +101,11 @@ export const emplace_metadata_object = top: false, object: obj, property: prop.name, + parameter: null, nested: null, - escaped: false, aliased: false, + escaped: false, + output: false, }); Writable(value).optional = (prop.flags & ts.SymbolFlags.Optional) !== 0; insert(key)(value)(prop); @@ -119,9 +121,11 @@ export const emplace_metadata_object = top: false, object: obj, property, + parameter: null, nested: null, - escaped: false, aliased: false, + escaped: false, + output: false, }); const key: Metadata = analyzer(index.keyType)(null); const value: Metadata = analyzer(index.type)({}); @@ -145,9 +149,11 @@ export const emplace_metadata_object = top: false, object: obj, property: "[key]", + parameter: null, nested: null, - escaped: false, aliased: false, + escaped: false, + output: false, }, messages: [], }); diff --git a/src/factories/internal/metadata/iterate_metadata_comment_tags.ts b/src/factories/internal/metadata/iterate_metadata_comment_tags.ts index f6d52d8d62..55410857fc 100644 --- a/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +++ b/src/factories/internal/metadata/iterate_metadata_comment_tags.ts @@ -17,9 +17,11 @@ export const iterate_metadata_comment_tags = property: property.key.isSoleLiteral() ? property.key.getSoleLiteral()! : {}, + parameter: null, nested: null, - escaped: false, aliased: false, + escaped: false, + output: false, }, ); } diff --git a/src/factories/internal/metadata/iterate_metadata_function.ts b/src/factories/internal/metadata/iterate_metadata_function.ts index cfa1b99d22..c5db3acd59 100644 --- a/src/factories/internal/metadata/iterate_metadata_function.ts +++ b/src/factories/internal/metadata/iterate_metadata_function.ts @@ -57,6 +57,7 @@ export const iterate_metadata_function = { ...explore, top: false, + parameter: p.name, }, ), description: CommentFactory.description(p) ?? null, @@ -75,6 +76,7 @@ export const iterate_metadata_function = { ...explore, top: false, + output: true, }, ), }), diff --git a/src/llm.ts b/src/llm.ts index 891c8ae96a..29092b7703 100644 --- a/src/llm.ts +++ b/src/llm.ts @@ -5,11 +5,11 @@ import * as Namespace from "./functional/Namespace"; /** * > You must configure the generic argument `App`. * - * TypeScript functions to LLM function schemas. + * TypeScript functions to LLM function calling application. * - * Creates an application of LLM (Large Language Model) function calling schemas from - * a TypeScript class or interface type containig the target functions to be called by - * the LLM function calling feature. + * Creates an application of LLM (Large Language Model) function calling application + * from a TypeScript class or interface type containig the target functions to be + * called by the LLM function calling feature. * * If you put the returned {@link ILlmApplication.functions} objects to the LLM provider * like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically select the @@ -43,11 +43,11 @@ import * as Namespace from "./functional/Namespace"; function application(options?: ILlmApplication.IOptions): never; /** - * TypeScript functions to LLM function schemas. + * TypeScript functions to LLM function calling application. * - * Creates an application of LLM (Large Language Model) function calling schemas from - * a TypeScript class or interface type containig the target functions to be called by - * the LLM function calling feature. + * Creates an application of LLM (Large Language Model) function calling application + * from a TypeScript class or interface type containig the target functions to be + * called by the LLM function calling feature. * * If you put the returned {@link ILlmApplication.functions} objects to the LLM provider * like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically select the diff --git a/src/programmers/llm/LlmApplicationProgrammer.ts b/src/programmers/llm/LlmApplicationProgrammer.ts index deec81ea2b..908df475f3 100644 --- a/src/programmers/llm/LlmApplicationProgrammer.ts +++ b/src/programmers/llm/LlmApplicationProgrammer.ts @@ -64,9 +64,11 @@ export namespace LlmApplicationProgrammer { top: true, object: null, property: null, + parameter: null, nested: null, - escaped: false, aliased: false, + escaped: false, + output: false, }); if (errors.length) throw new Error("Failed to write LLM application: " + errors.join("\n")); @@ -80,6 +82,9 @@ export namespace LlmApplicationProgrammer { p.value.size() === 1 && p.key.isSoleLiteral(), ) + .filter( + (p) => p.jsDocTags.find((tag) => tag.name === "hidden") === undefined, + ) .map((p) => writeFunction({ name: p.key.getSoleLiteral()!, diff --git a/src/transformers/TransformerError.ts b/src/transformers/TransformerError.ts index ce18c382bd..fcecfdc6da 100644 --- a/src/transformers/TransformerError.ts +++ b/src/transformers/TransformerError.ts @@ -32,10 +32,15 @@ export namespace TransformerError { e.explore.object === null ? "" : join(e.explore.object)(e.explore.property); + const middle: string = e.explore.parameter + ? `(parameter: ${JSON.stringify(e.explore.parameter)})` + : e.explore.output + ? "(return type)" + : ""; const type: string = `${subject.length ? `${subject}: ` : ""}${ e.name }`; - return `- ${type}\n${e.messages + return `- ${type}${middle}\n${e.messages .map((msg) => ` - ${msg}`) .join("\n")}`; }) diff --git a/test-esm/package.json b/test-esm/package.json index 69f9f8280a..e836d8530f 100644 --- a/test-esm/package.json +++ b/test-esm/package.json @@ -36,6 +36,6 @@ "typescript": "^5.4.5" }, "dependencies": { - "typia": "../typia-6.10.0-dev.20240908.tgz" + "typia": "../typia-6.10.0.tgz" } } \ No newline at end of file diff --git a/test/package.json b/test/package.json index 2c68d76e9a..6626099abe 100644 --- a/test/package.json +++ b/test/package.json @@ -52,6 +52,6 @@ "suppress-warnings": "^1.0.2", "tstl": "^3.0.0", "uuid": "^9.0.1", - "typia": "../typia-6.10.0-dev.20240908.tgz" + "typia": "../typia-6.10.0.tgz" } } \ No newline at end of file diff --git a/website/package-lock.json b/website/package-lock.json index c7ff89f7de..45f919aaad 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -15,7 +15,7 @@ "@mui/icons-material": "^5.15.4", "@mui/material": "^5.12.0", "@rollup/browser": "^4.13.0", - "@samchon/openapi": "^0.4.6", + "@samchon/openapi": "^1.0.0", "lz-string": "^1.5.0", "monaco-editor": "^0.50.0", "next": "^14.2.3", @@ -28,7 +28,7 @@ "tgrid": "^1.0.3", "tstl": "^3.0.0", "typescript": "^5.5.4", - "typia": "^6.9.0" + "typia": "^6.10.0-dev.20240909" }, "devDependencies": { "@rspack/cli": "^1.0.0", @@ -1670,9 +1670,9 @@ } }, "node_modules/@samchon/openapi": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/@samchon/openapi/-/openapi-0.4.6.tgz", - "integrity": "sha512-dfeE8Zdpv+FG+znq1883m1wtN2A6Cughjzm+QYZXJSw+g3ddEhkbCwgkH29o5M6jOGunKaN1R15PZjfrSdP5zw==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@samchon/openapi/-/openapi-1.0.0.tgz", + "integrity": "sha512-m+7990LTzPmhkFSqo+Y0V+y1ETqvymWf+AJJy8/t5CM2/nQ6M/BYNhUMp99dgPw6DuH/Nlwx6aBlOu3u2b5f9A==" }, "node_modules/@shikijs/core": { "version": "1.14.1", @@ -11134,11 +11134,11 @@ } }, "node_modules/typia": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/typia/-/typia-6.9.0.tgz", - "integrity": "sha512-Vgo3CmE9XZhb/zsrW6Q4IQk7JeJk+ZVGxu/T4QZdI/PEokOpn00mGFMk9hhXNA27jrYC0NCgalO+YcZYsR5nGw==", + "version": "6.10.0-dev.20240909", + "resolved": "https://registry.npmjs.org/typia/-/typia-6.10.0-dev.20240909.tgz", + "integrity": "sha512-4CIZvCiHIKYszKL7MfKN/85hs3HQ3uf/0/HQwtpbjU1r7fiUYKPzWFs7iaKMv3U4JzyB38Hpe1xmzxcamDqe4w==", "dependencies": { - "@samchon/openapi": "^0.4.6", + "@samchon/openapi": "^1.0.0", "commander": "^10.0.0", "comment-json": "^4.2.3", "inquirer": "^8.2.5", diff --git a/website/package.json b/website/package.json index 14c55e0345..696217bfb0 100644 --- a/website/package.json +++ b/website/package.json @@ -26,7 +26,7 @@ "@mui/icons-material": "^5.15.4", "@mui/material": "^5.12.0", "@rollup/browser": "^4.13.0", - "@samchon/openapi": "^0.4.6", + "@samchon/openapi": "^1.0.0", "lz-string": "^1.5.0", "monaco-editor": "^0.50.0", "next": "^14.2.3", @@ -39,7 +39,7 @@ "tgrid": "^1.0.3", "tstl": "^3.0.0", "typescript": "^5.5.4", - "typia": "^6.9.0" + "typia": "^6.10.0-dev.20240910" }, "devDependencies": { "@rspack/cli": "^1.0.0", diff --git a/website/pages/docs/_meta.json b/website/pages/docs/_meta.json index de1d7564db..ab6f4bb912 100644 --- a/website/pages/docs/_meta.json +++ b/website/pages/docs/_meta.json @@ -9,6 +9,7 @@ }, "validators": "Runtime Validators", "json": "Enhanced JSON", + "llm": "LLM Function Calling", "protobuf": "Protocol Buffer", "random": "Random Generator", "misc": "Miscellaneous", diff --git a/website/pages/docs/json/schema.mdx b/website/pages/docs/json/schema.mdx index b19ed2a8a0..eb51719840 100644 --- a/website/pages/docs/json/schema.mdx +++ b/website/pages/docs/json/schema.mdx @@ -309,7 +309,7 @@ export const SpecialTagSchema = { ## Customization -If what you want is not just filling special properties of JSON schema spec, but to adding custom properties into the JSON schema definition, you can do it through the `tags.TagBase.schema` property type or `tags.JsonSchemaPlugin` type. +If what you want is not just filling regular properties of JSON schema specification, but to adding custom properties into the JSON schema definition, you can do it through the `tags.TagBase.schema` property type or `tags.JsonSchemaPlugin` type. For reference, the custom property must be started with `x-` prefix. It's a rule of JSON schema. diff --git a/website/pages/docs/llm/_meta.json b/website/pages/docs/llm/_meta.json new file mode 100644 index 0000000000..dce6675ccf --- /dev/null +++ b/website/pages/docs/llm/_meta.json @@ -0,0 +1,4 @@ +{ + "application": "application() function", + "schema": "schema() function" +} diff --git a/website/pages/docs/llm/application.mdx b/website/pages/docs/llm/application.mdx new file mode 100644 index 0000000000..85bacbcf2e --- /dev/null +++ b/website/pages/docs/llm/application.mdx @@ -0,0 +1,1359 @@ +import { Callout, Tabs, Tab } from 'nextra-theme-docs' + +## `application()` function +typia, + ILlmApplication, + ILlmFunction, + ILlmSchema, + ]}> + +```typescript filename="typia" +export namespace llm { + export function application( + options?: ILlmApplication.IOptions + ): ILlmApplication; +} +``` + + +```typescript filename="@samchon/openapi" showLineNumbers +/** + * Application of LLM function calling. + * + * `ILlmApplication` is a data structure representing a collection of + * {@link ILlmFunction LLM function calling schemas}, composed from a native + * TypeScript class (or interface) type by the `typia.llm.application()` + * function. + * + * By the way, the LLM function calling application composition, converting + * `ILlmApplication` instance from TypeScript interface (or class) type is not always + * successful. As LLM provider like OpenAI cannot understand the recursive reference + * type that is embodied by {@link OpenApi.IJsonSchema.IReference}, if there're some + * recursive types in the TypeScript interface (or class) type, the conversion would + * be failed. + * + * Also, there can be some parameters (or their nested properties) which must be + * composed by Human, not by LLM. File uploading feature or some sensitive information + * like secrety key (password) are the examples. In that case, you can separate the + * function parameters to both LLM and human sides by configuring the + * {@link ILlmApplication.IOptions.separate} property. The separated parameters are + * assigned to the {@link ILlmFunction.separated} property. + * + * For reference, when both LLM and Human filled parameter values to call, you can + * merge them by calling the {@link HttpLlm.mergeParameters} function. In other words, + * if you've configured the {@link ILlmApplication.IOptions.separate} property, you + * have to merge the separated parameters before the funtion call execution. + * + * @reference https://platform.openai.com/docs/guides/function-calling + * @author Jeongho Nam - https://github.com/samchon + */ +export interface ILlmApplication { + /** + * List of function metadata. + * + * List of function metadata that can be used for the LLM function call. + */ + functions: ILlmFunction[]; + + /** + * Options for the document. + */ + options: ILlmApplication.IOptions; +} +export namespace ILlmApplication { + export interface IOptions { + /** + * Separator function for the parameters. + * + * When composing parameter arguments through LLM function call, + * there can be a case that some parameters must be composed by human, + * or LLM cannot understand the parameter. For example, if the + * parameter type has configured + * {@link ILlmSchema.IString.contentMediaType} which indicates file + * uploading, it must be composed by human, not by LLM + * (Large Language Model). + * + * In that case, if you configure this property with a function that + * predicating whether the schema value must be composed by human or + * not, the parameters would be separated into two parts. + * + * - {@link ILlmFunction.separated.llm} + * - {@link ILlmFunction.separated.human} + * + * When writing the function, note that returning value `true` means + * to be a human composing the value, and `false` means to LLM + * composing the value. Also, when predicating the schema, it would + * better to utilize the {@link LlmTypeChecker} features. + * + * @param schema Schema to be separated. + * @returns Whether the schema value must be composed by human or not. + * @default null + */ + separate: null | ((schema: Schema) => boolean); + } +} +``` + + +```typescript filename="@samchon/openapi" showLineNumbers +/** + * LLM function metadata. + * + * `ILlmFunction` is an interface representing a function metadata, + * which has been used for the LLM (Language Large Model) function + * calling. Also, it's a function structure containing the function + * {@link name}, {@link parameters} and {@link output return type}. + * + * If you provide this `ILlmFunction` data to the LLM provider like "OpenAI", + * the "OpenAI" will compose a function arguments by analyzing conversations + * with the user. With the LLM composed arguments, you can execute the function + * and get the result. + * + * By the way, do not ensure that LLM will always provide the correct + * arguments. The LLM of present age is not perfect, so that you would + * better to validate the arguments before executing the function. + * I recommend you to validate the arguments before execution by using + * [`typia`](https://github.com/samchon/typia) library. + * + * @reference https://platform.openai.com/docs/guides/function-calling + * @author Jeongho Nam - https://github.com/samchon + */ +export interface ILlmFunction { + /** + * Representative name of the function. + */ + name: string; + + /** + * List of parameter types. + */ + parameters: Schema[]; + + /** + * Collection of separated parameters. + */ + separated?: ILlmFunction.ISeparated; + + /** + * Expected return type. + * + * If the function returns nothing (`void`), the `output` value would + * be `undefined`. + */ + output?: Schema | undefined; + + /** + * Description of the function. + * + * For reference, the `description` is very important property to teach + * the purpose of the function to the LLM (Language Large Model), and + * LLM actually determines which function to call by the description. + * + * Also, when the LLM conversates with the user, the `description` is + * used to explain the function to the user. Therefore, the `description` + * property has the highest priroity, and you have to consider it. + */ + description?: string | undefined; +} +export namespace ILlmFunction { + /** + * Collection of separated parameters. + */ + export interface ISeparated { + /** + * Parameters that would be composed by the LLM. + */ + llm: ISeparatedParameter[]; + + /** + * Parameters that would be composed by the human. + */ + human: ISeparatedParameter[]; + } + + /** + * Separated parameter. + */ + export interface ISeparatedParameter { + /** + * Index of the parameter. + * + * @type uint + */ + index: number; + + /** + * Type schema info of the parameter. + */ + schema: Schema; + } +} +``` + + +```typescript filename="@samchon/openapi" showLineNumbers +/** + * Type schema info of LLM function call. + * + * `ILlmSchema` is a type metadata of LLM (Large Language Model) + * function calling. + * + * `ILlmSchema` basically follows the JSON schema definition of OpenAPI + * v3.0 specification; {@link OpenApiV3.IJsonSchema}. However, `ILlmSchema` + * does not have the reference type; {@link OpenApiV3.IJsonSchema.IReference}. + * It's because the LLM cannot compose the reference typed arguments. + * + * For reference, the OpenAPI v3.0 based JSON schema definition can't + * express the tuple array type. It has been supported since OpenAPI v3.1; + * {@link OpenApi.IJsonSchema.ITuple}. Therefore, it would better to avoid + * using the tuple array type in the LLM function calling. + * + * @reference https://platform.openai.com/docs/guides/function-calling + * @author Jeongho Nam - https://github.com/samchon + */ +export type ILlmSchema = + | ILlmSchema.IBoolean + | ILlmSchema.IInteger + | ILlmSchema.INumber + | ILlmSchema.IString + | ILlmSchema.IArray + | ILlmSchema.IObject + | ILlmSchema.IUnknown + | ILlmSchema.INullOnly + | ILlmSchema.IOneOf; +export namespace ILlmSchema { + /** + * Boolean type schema info. + */ + export interface IBoolean extends __ISignificant<"boolean"> { + /** + * Default value. + */ + default?: boolean | null; + + /** + * Enumeration values. + */ + enum?: Array; + } + + /** + * Integer type schema info. + */ + export interface IInteger extends __ISignificant<"integer"> { + /** + * Default value. + * + * @type int64 + */ + default?: number | null; + + /** + * Enumeration values. + * + * @type int64 + */ + enum?: Array; + + /** + * Minimum value restriction. + * + * @type int64 + */ + minimum?: number; + + /** + * Maximum value restriction. + * + * @type int64 + */ + maximum?: number; + + /** + * Exclusive minimum value restriction. + * + * For reference, even though your Swagger document has defined the + * `exclusiveMinimum` value as `number`, it has been forcibly converted + * to `boolean` type, and assigns the numeric value to the + * {@link minimum} property in the {@link OpenApi} conversion. + */ + exclusiveMinimum?: boolean; + + /** + * Exclusive maximum value restriction. + * + * For reference, even though your Swagger document has defined the + * `exclusiveMaximum` value as `number`, it has been forcibly converted + * to `boolean` type, and assigns the numeric value to the + * {@link maximum} property in the {@link OpenApi} conversion. + */ + exclusiveMaximum?: boolean; + + /** + * Multiple of value restriction. + * + * @type uint64 + * @exclusiveMinimum 0 + */ + multipleOf?: number; + } + + /** + * Number type schema info. + */ + export interface INumber extends __ISignificant<"number"> { + /** + * Default value. + */ + default?: number | null; + + /** + * Enumeration values. + */ + enum?: Array; + + /** + * Minimum value restriction. + */ + minimum?: number; + + /** + * Maximum value restriction. + */ + maximum?: number; + + /** + * Exclusive minimum value restriction. + * + * For reference, even though your Swagger (or OpenAPI) document has + * defined the `exclusiveMinimum` value as `number`, {@link OpenAiComposer} + * forcibly converts it to `boolean` type, and assign the numeric value to + * the {@link minimum} property. + */ + exclusiveMinimum?: boolean; + + /** + * Exclusive maximum value restriction. + * + * For reference, even though your Swagger (or OpenAPI) document has + * defined the `exclusiveMaximum` value as `number`, {@link OpenAiComposer} + * forcibly converts it to `boolean` type, and assign the numeric value to + * the {@link maximum} property. + */ + exclusiveMaximum?: boolean; + + /** + * Multiple of value restriction. + * + * @exclusiveMinimum 0 + */ + multipleOf?: number; + } + + /** + * String type schema info. + */ + export interface IString extends __ISignificant<"string"> { + /** + * Default value. + */ + default?: string | null; + + /** + * Enumeration values. + */ + enum?: Array; + + /** + * Format restriction. + */ + format?: + | "binary" + | "byte" + | "password" + | "regex" + | "uuid" + | "email" + | "hostname" + | "idn-email" + | "idn-hostname" + | "iri" + | "iri-reference" + | "ipv4" + | "ipv6" + | "uri" + | "uri-reference" + | "uri-template" + | "url" + | "date-time" + | "date" + | "time" + | "duration" + | "json-pointer" + | "relative-json-pointer" + | (string & {}); + + /** + * Pattern restriction. + */ + pattern?: string; + + /** + * Minimum length restriction. + * + * @type uint64 + */ + minLength?: number; + + /** + * Maximum length restriction. + * + * @type uint64 + */ + maxLength?: number; + + /** + * Content media type restriction. + */ + contentMediaType?: string; + } + + /** + * Array type schema info. + */ + export interface IArray + extends __ISignificant<"array"> { + /** + * Items type schema info. + * + * The `items` means the type of the array elements. In other words, it is + * the type schema info of the `T` in the TypeScript array type `Array`. + */ + items: Schema; + + /** + * Unique items restriction. + * + * If this property value is `true`, target array must have unique items. + */ + uniqueItems?: boolean; + + /** + * Minimum items restriction. + * + * Restriction of minumum number of items in the array. + * + * @type uint64 + */ + minItems?: number; + + /** + * Maximum items restriction. + * + * Restriction of maximum number of items in the array. + * + * @type uint64 + */ + maxItems?: number; + } + + /** + * Object type schema info. + */ + export interface IObject + extends __ISignificant<"object"> { + /** + * Properties of the object. + * + * The `properties` means a list of key-value pairs of the object's + * regular properties. The key is the name of the regular property, + * and the value is the type schema info. + * + * If you need additional properties that is represented by dynamic key, + * you can use the {@link additionalProperties} instead. + */ + properties?: Record; + + /** + * List of key values of the required properties. + * + * The `required` means a list of the key values of the required + * {@link properties}. If some property key is not listed in the `required` + * list, it means that property is optional. Otherwise some property key + * exists in the `required` list, it means that the property must be filled. + * + * Below is an example of the {@link properties} and `required`. + * + * ```typescript + * interface SomeObject { + * id: string; + * email: string; + * name?: string; + * } + * ``` + * + * As you can see, `id` and `email` {@link properties} are {@link required}, + * so that they are listed in the `required` list. + * + * ```json + * { + * "type": "object", + * "properties": { + * "id": { "type": "string" }, + * "email": { "type": "string" }, + * "name": { "type": "string" } + * }, + * "required": ["id", "email"] + * } + * ``` + */ + required?: string[]; + + /** + * Additional properties' info. + * + * The `additionalProperties` means the type schema info of the additional + * properties that are not listed in the {@link properties}. + * + * If the value is `true`, it means that the additional properties are not + * restricted. They can be any type. Otherwise, if the value is + * {@link ILlmSchema} type, it means that the additional properties must + * follow the type schema info. + * + * - `true`: `Record` + * - `ILlmSchema`: `Record` + */ + additionalProperties?: boolean | Schema; + } + + /** + * Unknown type schema info. + * + * It means the type of the value is `any`. + */ + export interface IUnknown extends __IAttribute { + /** + * Type is never be defined. + */ + type?: undefined; + } + + /** + * Null only type schema info. + */ + export interface INullOnly extends __IAttribute { + /** + * Type is always `null`. + */ + type: "null"; + + /** + * Default value. + */ + default?: null; + } + + /** + * One of type schema info. + * + * `IOneOf` represents an union type of the TypeScript (`A | B | C`). + * + * For reference, even though your Swagger (or OpenAPI) document has + * defined `anyOf` instead of the `oneOf`, it has been forcibly converted + * to `oneOf` type by {@link OpenApi.convert OpenAPI conversion}. + */ + export interface IOneOf + extends __IAttribute { + /** + * List of the union types. + */ + oneOf: Exclude>[]; + } + + /** + * Significant attributes that can be applied to the most types. + */ + export interface __ISignificant extends __IAttribute { + /** + * Discriminator value of the type. + */ + type: Type; + + /** + * Whether to allow `null` value or not. + */ + nullable?: boolean; + } + + /** + * Common attributes that can be applied to all types. + */ + export interface __IAttribute { + /** + * Title of the schema. + */ + title?: string; + + /** + * Detailed description of the schema. + */ + description?: string; + + /** + * Whether the type is deprecated or not. + */ + deprecated?: boolean; + } +} +``` + + + +LLM function calling application from a native TypeScript class or interface type. + +`typia.llm.application()` is a function composing LLM (Large Language Model) calling application from a native TypeScript class or interface type. The function returns an `ILlmApplication` instance, which is a data structure representing a collection of LLM function calling schemas. + +If you put LLM function schema instances registered in the `ILlmApplication.functions` to the LLM provider like `OpenAI`, the LLM will select a proper function to call with parameter values of the target function in the conversations with the user. This is the "LLM Function Calling". + +Let's make A.I. Chatbot super-easily with `typia.llm.application()` function. + + +**LLM Function Calling** + +LLM selects proper function and fill arguments. + +In nowadays, most LLM (Large Language Model) like OpenAI are supporting "function calling" feature. The "LLM function calling" means that LLM automatically selects a proper function and fills parameter values from conversation with the user (may by chatting text). + +https://platform.openai.com/docs/guides/function-calling + + + + +## Description Comment + + +```typescript filename="example/src/llm.application.simple.ts" showLineNumbers {4} +import { ILlmApplication } from "@samchon/openapi"; +import typia, { tags } from "typia"; + +const app: ILlmApplication = typia.llm.application(); + +console.log(JSON.stringify(app, null, 2)); + +interface BbsArticleController { + /** + * Create a new article. + * + * Writes a new article and archives it into the DB. + * + * @param input Information of the article to create + * @returns Newly created article + */ + create(input: IBbsArticle.ICreate): Promise; + + /** + * Update an article. + * + * Updates an article with new content. + * + * @param id Target article's {@link IBbsArticle.id} + * @param input New content to update + */ + update( + id: string & tags.Format<"uuid">, + input: IBbsArticle.IUpdate, + ): Promise; + + /** + * Erase an article. + * + * Erases an article from the DB. + * + * @param id Target article's {@link IBbsArticle.id} + */ + erase(id: string & tags.Format<"uuid">): Promise; +} + +/** + * Article entity. + * + * `IBbsArticle` is an entity representing an article in the BBS (Bulletin Board System). + */ +interface IBbsArticle extends IBbsArticle.ICreate { + /** + * Primary Key. + */ + id: string & tags.Format<"uuid">; + + /** + * Creation time of the article. + */ + created_at: string & tags.Format<"date-time">; + + /** + * Last updated time of the article. + */ + updated_at: string & tags.Format<"date-time">; +} +namespace IBbsArticle { + /** + * Information of the article to create. + */ + export interface ICreate { + /** + * Title of the article. + * + * Representative title of the article. + */ + title: string; + + /** + * Content body. + * + * Content body of the article writtn in the markdown format. + */ + body: string; + + /** + * Thumbnail image URI. + * + * Thumbnail image URI which can represent the article. + * + * If configured as `null`, it means that no thumbnail image in the article. + */ + thumbnail: + | null + | (string & tags.Format<"uri"> & tags.ContentMediaType<"image/*">); + } + + /** + * Information of the article to update. + * + * Only the filled properties will be updated. + */ + export type IUpdate = Partial; +} +``` + + +```json filename="example/schemas/llm.application.simple.json" showLineNumbers +{ + "functions": [ + { + "name": "create", + "parameters": [ + { + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title of the article", + "description": "Title of the article.\n\nRepresentative title of the article." + }, + "body": { + "type": "string", + "title": "Content body", + "description": "Content body.\n\nContent body of the article writtn in the markdown format." + }, + "thumbnail": { + "type": "string", + "format": "uri", + "contentMediaType": "image/*", + "nullable": true, + "title": "Thumbnail image URI", + "description": "Thumbnail image URI.\n\nThumbnail image URI which can represent the article.\n\nIf configured as `null`, it means that no thumbnail image in the article." + } + }, + "nullable": false, + "required": [ + "title", + "body", + "thumbnail" + ], + "description": "Information of the article to create" + } + ], + "output": { + "description": "Newly created article" + }, + "description": "Create a new article.\n\nWrites a new article and archives it into the DB." + }, + { + "name": "update", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Target article's " + }, + { + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title of the article", + "description": "Title of the article.\n\nRepresentative title of the article." + }, + "body": { + "type": "string", + "title": "Content body", + "description": "Content body.\n\nContent body of the article writtn in the markdown format." + }, + "thumbnail": { + "type": "string", + "format": "uri", + "contentMediaType": "image/*", + "nullable": true, + "title": "Thumbnail image URI", + "description": "Thumbnail image URI.\n\nThumbnail image URI which can represent the article.\n\nIf configured as `null`, it means that no thumbnail image in the article." + } + }, + "nullable": false, + "description": "New content to update" + } + ], + "output": {}, + "description": "Update an article.\n\nUpdates an article with new content." + }, + { + "name": "erase", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Target article's " + } + ], + "output": {}, + "description": "Erase an article.\n\nErases an article from the DB." + } + ], + "options": { + "separate": null + } +} +``` + + + +Here is the example code utilizing the `typia.llm.application()` function. + +As you can see, above example code is writing detailed descriptions for every functions and their parameter/return types. Such detailed descriptions are very important to teach the purpose of the function to the LLM (Language Large Model), and LLM actually determines which function to call by the description. + +Therefore, don't forget to writing detailed descriptions. It's very import feature for the LLM function calling. + + + + +## Parameters' Separation +Parameter values from both LLM and Human sides. + +When composing parameter arguments through the LLM (Large Language Model) function calling, there can be a case that some parameters (or nested properties) must be composed not by LLM, but by Human. File uploading feature, or sensitive information like secret key (password) cases are the representative examples. + +In that case, you can configure the LLM function calling schemas to exclude such Human side parameters (or nested properties) by `ILlmApplication.options.separate` property. Instead, you have to merge both Human and LLM composed parameters into one by calling the `HttpLlm.mergeParameters()` before the LLM function call execution. + +Here is the example separating the parameter schemas. + + + +```typescript filename="example/src/llm.application.separate.ts" showLineNumbers {4-7} +import { ILlmApplication, ILlmSchema, LlmTypeChecker } from "@samchon/openapi"; +import typia, { tags } from "typia"; + +const app: ILlmApplication = typia.llm.application({ + separate: (schema: ILlmSchema) => + LlmTypeChecker.isString(schema) && schema.contentMediaType !== undefined, +}); + +console.log(JSON.stringify(app, null, 2)); + +interface BbsArticleController { + /** + * Create a new article. + * + * Writes a new article and archives it into the DB. + * + * @param input Information of the article to create + * @returns Newly created article + */ + create(input: IBbsArticle.ICreate): Promise; + + /** + * Update an article. + * + * Updates an article with new content. + * + * @param id Target article's {@link IBbsArticle.id} + * @param input New content to update + */ + update( + id: string & tags.Format<"uuid">, + input: IBbsArticle.IUpdate, + ): Promise; + + /** + * Erase an article. + * + * Erases an article from the DB. + * + * @param id Target article's {@link IBbsArticle.id} + */ + erase(id: string & tags.Format<"uuid">): Promise; +} +``` + + +```json filename="example/schemas/llm.application.separate.json" showLineNumbers {41-91} +{ + "functions": [ + { + "name": "create", + "parameters": [ + { + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title of the article", + "description": "Title of the article.\n\nRepresentative title of the article." + }, + "body": { + "type": "string", + "title": "Content body", + "description": "Content body.\n\nContent body of the article writtn in the markdown format." + }, + "thumbnail": { + "type": "string", + "format": "uri", + "contentMediaType": "image/*", + "nullable": true, + "title": "Thumbnail image URI", + "description": "Thumbnail image URI.\n\nThumbnail image URI which can represent the article.\n\nIf configured as `null`, it means that no thumbnail image in the article." + } + }, + "nullable": false, + "required": [ + "title", + "body", + "thumbnail" + ], + "description": "Information of the article to create" + } + ], + "output": { + "description": "Newly created article" + }, + "description": "Create a new article.\n\nWrites a new article and archives it into the DB.", + "separated": { + "llm": [ + { + "index": 0, + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title of the article", + "description": "Title of the article.\n\nRepresentative title of the article." + }, + "body": { + "type": "string", + "title": "Content body", + "description": "Content body.\n\nContent body of the article writtn in the markdown format." + } + }, + "nullable": false, + "required": [ + "title", + "body" + ], + "description": "Information of the article to create" + } + } + ], + "human": [ + { + "index": 0, + "schema": { + "type": "object", + "properties": { + "thumbnail": { + "type": "string", + "format": "uri", + "contentMediaType": "image/*", + "nullable": true, + "title": "Thumbnail image URI", + "description": "Thumbnail image URI.\n\nThumbnail image URI which can represent the article.\n\nIf configured as `null`, it means that no thumbnail image in the article." + } + }, + "nullable": false, + "required": [ + "thumbnail" + ], + "description": "Information of the article to create" + } + } + ] + } + }, + { + "name": "update", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Target article's " + }, + { + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title of the article", + "description": "Title of the article.\n\nRepresentative title of the article." + }, + "body": { + "type": "string", + "title": "Content body", + "description": "Content body.\n\nContent body of the article writtn in the markdown format." + }, + "thumbnail": { + "type": "string", + "format": "uri", + "contentMediaType": "image/*", + "nullable": true, + "title": "Thumbnail image URI", + "description": "Thumbnail image URI.\n\nThumbnail image URI which can represent the article.\n\nIf configured as `null`, it means that no thumbnail image in the article." + } + }, + "nullable": false, + "description": "New content to update" + } + ], + "output": {}, + "description": "Update an article.\n\nUpdates an article with new content.", + "separated": { + "llm": [ + { + "index": 0, + "schema": { + "type": "string", + "format": "uuid", + "description": "Target article's " + } + }, + { + "index": 1, + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title of the article", + "description": "Title of the article.\n\nRepresentative title of the article." + }, + "body": { + "type": "string", + "title": "Content body", + "description": "Content body.\n\nContent body of the article writtn in the markdown format." + } + }, + "nullable": false, + "description": "New content to update" + } + } + ], + "human": [ + { + "index": 1, + "schema": { + "type": "object", + "properties": { + "thumbnail": { + "type": "string", + "format": "uri", + "contentMediaType": "image/*", + "nullable": true, + "title": "Thumbnail image URI", + "description": "Thumbnail image URI.\n\nThumbnail image URI which can represent the article.\n\nIf configured as `null`, it means that no thumbnail image in the article." + } + }, + "nullable": false, + "description": "New content to update" + } + } + ] + } + }, + { + "name": "erase", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Target article's " + } + ], + "output": {}, + "description": "Erase an article.\n\nErases an article from the DB.", + "separated": { + "llm": [ + { + "index": 0, + "schema": { + "type": "string", + "format": "uuid", + "description": "Target article's " + } + } + ], + "human": [] + } + } + ], + "options": {} +} +``` + + + + + + +## Function Hiding +Hiding some functions by comment tag. + +If you write `@hidden` or `@internal` tag onto a function description comment, the function would not participate in the LLM (Large Language Model) function calling application composition. `ILlmFunction` schema does not be genrated in the `ILlmApplication.functions` collection. + +It's a good feature to hide some internal functions, so that avoiding the LLM function calling. + + + +```typescript filename="example/src/llm.application.hideden.ts" showLineNumbers {25, 38} +import { ILlmApplication } from "@samchon/openapi"; +import typia, { tags } from "typia"; + +const app: ILlmApplication = typia.llm.application(); + +console.log(JSON.stringify(app, null, 2)); + +interface BbsArticleController { + /** + * Create a new article. + * + * Writes a new article and archives it into the DB. + * + * @param input Information of the article to create + * @returns Newly created article + */ + create(input: IBbsArticle.ICreate): Promise; + + /** + * Update an article. + * + * Updates an article with new content. + * + * @param id Target article's {@link IBbsArticle.id} + * @param input New content to update + * @hidden + */ + update( + id: string & tags.Format<"uuid">, + input: IBbsArticle.IUpdate, + ): Promise; + + /** + * Erase an article. + * + * Erases an article from the DB. + * + * @param id Target article's {@link IBbsArticle.id} + * @internal + */ + erase(id: string & tags.Format<"uuid">): Promise; +} +``` + + +```json filename="example/schemas/llm.application.hideden.json" showLineNumbers +{ + "functions": [ + { + "name": "create", + "parameters": [ + { + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title of the article", + "description": "Title of the article.\n\nRepresentative title of the article." + }, + "body": { + "type": "string", + "title": "Content body", + "description": "Content body.\n\nContent body of the article writtn in the markdown format." + }, + "thumbnail": { + "type": "string", + "format": "uri", + "contentMediaType": "image/*", + "nullable": true, + "title": "Thumbnail image URI", + "description": "Thumbnail image URI.\n\nThumbnail image URI which can represent the article.\n\nIf configured as `null`, it means that no thumbnail image in the article." + } + }, + "nullable": false, + "required": [ + "title", + "body", + "thumbnail" + ], + "description": "Information of the article to create" + } + ], + "output": { + "description": "Newly created article" + }, + "description": "Create a new article.\n\nWrites a new article and archives it into the DB." + } + ], + "options": { + "separate": null + } +} +``` + + + + + + +## Restrictions +LLM schema does not support `bigint` type, and recursive type either. + +LLM schema is based on the JSON schema definition of the OpenAPI v3.0 specification. Therefore, limitations of the JSON schema is also applied to the LLM schema, and the `bigint` type is not supported in the LLM function calling schema composition. + + + +```typescript filename="example/src/llm.application.bigint.ts" showLineNumbers +import typia from "typia"; + +typia.llm.application(); + +interface Controller { + plus(X: bigint, y: bigint): bigint; +} +``` + + +```bash +src/llm.application.error.ts:3:1 - error TS(typia.llm.application): unsupported type detected + +- Controller.plus: bigint(parameter: "X") + - LLM schema does not support bigint type. + +- Controller.plus: bigint(parameter: "y") + - LLM schema does not support bigint type. + +- Controller.plus: bigint(return type) + - LLM schema does not support bigint type. + +3 typia.llm.application() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Found 1 error in src/llm.application.error.ts:3 +``` + + + +Also, LLM schema does not support reference type that is embodied by the `OpenApi.IJsonSchema.IReference` type with `$ref` property. Therefore, if recursive type comes, no way to express it in the LLM schema, and it would be compilation error in the `typia.llm.application()` function. + + + +```typescript filename="example/src/llm.application.bigint.ts" showLineNumbers +import typia from "typia"; + +typia.llm.application(); + +interface Controller { + plus(item: Recursive): Recursive; +} + +interface Recursive { + id: number; + children: Recursive[]; +} +``` + + +```bash +src/llm.application.recursive.ts:3:1 - error TS(typia.llm.application): unsupported type detected + +- Controller.plus: Recursive(parameter: "item") + - LLM schema does not support recursive type. + +- Recursive: Recursive + - LLM schema does not support recursive type. + +- Recursive.children: Recursive + - LLM schema does not support recursive type. + +- Controller.plus: Recursive(return type) + - LLM schema does not support recursive type. + +3 typia.llm.application(); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Found 1 error in src/llm.application.recursive.ts:3 +``` + + + +And if you put any type of native classes like `Map` or `Uint8Array`, it would also be error, either. By the way, only `Date` class type is exceptional, and it would be considered as `string & Format<"date-time">` type like below. + + + +```typescript filename="example/src/llm.application.bigint.ts" showLineNumbers +import { ILlmApplication } from "@samchon/openapi"; +import typia from "typia"; + +const app: ILlmApplication = typia.llm.application(); + +console.log(JSON.stringify(app, null, 2)); + +interface Controller { + now(): Date; +} +``` + + +```json filename="example/schemas/llm.application.bigint.json" showLineNumbers +{ + "functions": [ + { + "name": "now", + "parameters": [], + "output": { + "type": "string", + "format": "date-time" + } + } + ], + "options": { + "separate": null + } +} +``` + + \ No newline at end of file diff --git a/website/pages/docs/llm/schema.mdx b/website/pages/docs/llm/schema.mdx new file mode 100644 index 0000000000..fdff63766e --- /dev/null +++ b/website/pages/docs/llm/schema.mdx @@ -0,0 +1,760 @@ +import { Callout, Tabs, Tab } from 'nextra-theme-docs' + +## `schema()` function +typia, + ILlmSchema, + ]}> + +```typescript filename="typia" showLineNumbers {2} +export namespace llm { + // Individual type schema + export function schema(): ILlmSchema; + + // LLM function calling application schema + export function application( + options?: ILlmApplication.IOptions + ): ILlmApplication; +} +``` + + +```typescript filename="@samchon/openapi" +/** + * Type schema info of LLM function call. + * + * `ILlmSchema` is a type metadata of LLM (Large Language Model) + * function calling. + * + * `ILlmSchema` basically follows the JSON schema definition of OpenAPI + * v3.0 specification; {@link OpenApiV3.IJsonSchema}. However, `ILlmSchema` + * does not have the reference type; {@link OpenApiV3.IJsonSchema.IReference}. + * It's because the LLM cannot compose the reference typed arguments. + * + * For reference, the OpenAPI v3.0 based JSON schema definition can't + * express the tuple array type. It has been supported since OpenAPI v3.1; + * {@link OpenApi.IJsonSchema.ITuple}. Therefore, it would better to avoid + * using the tuple array type in the LLM function calling. + * + * @reference https://platform.openai.com/docs/guides/function-calling + * @author Jeongho Nam - https://github.com/samchon + */ +export type ILlmSchema = + | ILlmSchema.IBoolean + | ILlmSchema.IInteger + | ILlmSchema.INumber + | ILlmSchema.IString + | ILlmSchema.IArray + | ILlmSchema.IObject + | ILlmSchema.IUnknown + | ILlmSchema.INullOnly + | ILlmSchema.IOneOf; +export namespace ILlmSchema { + /** + * Boolean type schema info. + */ + export interface IBoolean extends __ISignificant<"boolean"> { + /** + * Default value. + */ + default?: boolean | null; + + /** + * Enumeration values. + */ + enum?: Array; + } + + /** + * Integer type schema info. + */ + export interface IInteger extends __ISignificant<"integer"> { + /** + * Default value. + * + * @type int64 + */ + default?: number | null; + + /** + * Enumeration values. + * + * @type int64 + */ + enum?: Array; + + /** + * Minimum value restriction. + * + * @type int64 + */ + minimum?: number; + + /** + * Maximum value restriction. + * + * @type int64 + */ + maximum?: number; + + /** + * Exclusive minimum value restriction. + * + * For reference, even though your Swagger document has defined the + * `exclusiveMinimum` value as `number`, it has been forcibly converted + * to `boolean` type, and assigns the numeric value to the + * {@link minimum} property in the {@link OpenApi} conversion. + */ + exclusiveMinimum?: boolean; + + /** + * Exclusive maximum value restriction. + * + * For reference, even though your Swagger document has defined the + * `exclusiveMaximum` value as `number`, it has been forcibly converted + * to `boolean` type, and assigns the numeric value to the + * {@link maximum} property in the {@link OpenApi} conversion. + */ + exclusiveMaximum?: boolean; + + /** + * Multiple of value restriction. + * + * @type uint64 + * @exclusiveMinimum 0 + */ + multipleOf?: number; + } + + /** + * Number type schema info. + */ + export interface INumber extends __ISignificant<"number"> { + /** + * Default value. + */ + default?: number | null; + + /** + * Enumeration values. + */ + enum?: Array; + + /** + * Minimum value restriction. + */ + minimum?: number; + + /** + * Maximum value restriction. + */ + maximum?: number; + + /** + * Exclusive minimum value restriction. + * + * For reference, even though your Swagger (or OpenAPI) document has + * defined the `exclusiveMinimum` value as `number`, {@link OpenAiComposer} + * forcibly converts it to `boolean` type, and assign the numeric value to + * the {@link minimum} property. + */ + exclusiveMinimum?: boolean; + + /** + * Exclusive maximum value restriction. + * + * For reference, even though your Swagger (or OpenAPI) document has + * defined the `exclusiveMaximum` value as `number`, {@link OpenAiComposer} + * forcibly converts it to `boolean` type, and assign the numeric value to + * the {@link maximum} property. + */ + exclusiveMaximum?: boolean; + + /** + * Multiple of value restriction. + * + * @exclusiveMinimum 0 + */ + multipleOf?: number; + } + + /** + * String type schema info. + */ + export interface IString extends __ISignificant<"string"> { + /** + * Default value. + */ + default?: string | null; + + /** + * Enumeration values. + */ + enum?: Array; + + /** + * Format restriction. + */ + format?: + | "binary" + | "byte" + | "password" + | "regex" + | "uuid" + | "email" + | "hostname" + | "idn-email" + | "idn-hostname" + | "iri" + | "iri-reference" + | "ipv4" + | "ipv6" + | "uri" + | "uri-reference" + | "uri-template" + | "url" + | "date-time" + | "date" + | "time" + | "duration" + | "json-pointer" + | "relative-json-pointer" + | (string & {}); + + /** + * Pattern restriction. + */ + pattern?: string; + + /** + * Minimum length restriction. + * + * @type uint64 + */ + minLength?: number; + + /** + * Maximum length restriction. + * + * @type uint64 + */ + maxLength?: number; + + /** + * Content media type restriction. + */ + contentMediaType?: string; + } + + /** + * Array type schema info. + */ + export interface IArray + extends __ISignificant<"array"> { + /** + * Items type schema info. + * + * The `items` means the type of the array elements. In other words, it is + * the type schema info of the `T` in the TypeScript array type `Array`. + */ + items: Schema; + + /** + * Unique items restriction. + * + * If this property value is `true`, target array must have unique items. + */ + uniqueItems?: boolean; + + /** + * Minimum items restriction. + * + * Restriction of minumum number of items in the array. + * + * @type uint64 + */ + minItems?: number; + + /** + * Maximum items restriction. + * + * Restriction of maximum number of items in the array. + * + * @type uint64 + */ + maxItems?: number; + } + + /** + * Object type schema info. + */ + export interface IObject + extends __ISignificant<"object"> { + /** + * Properties of the object. + * + * The `properties` means a list of key-value pairs of the object's + * regular properties. The key is the name of the regular property, + * and the value is the type schema info. + * + * If you need additional properties that is represented by dynamic key, + * you can use the {@link additionalProperties} instead. + */ + properties?: Record; + + /** + * List of key values of the required properties. + * + * The `required` means a list of the key values of the required + * {@link properties}. If some property key is not listed in the `required` + * list, it means that property is optional. Otherwise some property key + * exists in the `required` list, it means that the property must be filled. + * + * Below is an example of the {@link properties} and `required`. + * + * ```typescript + * interface SomeObject { + * id: string; + * email: string; + * name?: string; + * } + * ``` + * + * As you can see, `id` and `email` {@link properties} are {@link required}, + * so that they are listed in the `required` list. + * + * ```json + * { + * "type": "object", + * "properties": { + * "id": { "type": "string" }, + * "email": { "type": "string" }, + * "name": { "type": "string" } + * }, + * "required": ["id", "email"] + * } + * ``` + */ + required?: string[]; + + /** + * Additional properties' info. + * + * The `additionalProperties` means the type schema info of the additional + * properties that are not listed in the {@link properties}. + * + * If the value is `true`, it means that the additional properties are not + * restricted. They can be any type. Otherwise, if the value is + * {@link ILlmSchema} type, it means that the additional properties must + * follow the type schema info. + * + * - `true`: `Record` + * - `ILlmSchema`: `Record` + */ + additionalProperties?: boolean | Schema; + } + + /** + * Unknown type schema info. + * + * It means the type of the value is `any`. + */ + export interface IUnknown extends __IAttribute { + /** + * Type is never be defined. + */ + type?: undefined; + } + + /** + * Null only type schema info. + */ + export interface INullOnly extends __IAttribute { + /** + * Type is always `null`. + */ + type: "null"; + + /** + * Default value. + */ + default?: null; + } + + /** + * One of type schema info. + * + * `IOneOf` represents an union type of the TypeScript (`A | B | C`). + * + * For reference, even though your Swagger (or OpenAPI) document has + * defined `anyOf` instead of the `oneOf`, it has been forcibly converted + * to `oneOf` type by {@link OpenApi.convert OpenAPI conversion}. + */ + export interface IOneOf + extends __IAttribute { + /** + * List of the union types. + */ + oneOf: Exclude>[]; + } + + /** + * Significant attributes that can be applied to the most types. + */ + export interface __ISignificant extends __IAttribute { + /** + * Discriminator value of the type. + */ + type: Type; + + /** + * Whether to allow `null` value or not. + */ + nullable?: boolean; + } + + /** + * Common attributes that can be applied to all types. + */ + export interface __IAttribute { + /** + * Title of the schema. + */ + title?: string; + + /** + * Detailed description of the schema. + */ + description?: string; + + /** + * Whether the type is deprecated or not. + */ + deprecated?: boolean; + } +} +``` + + + +Type schema in the LLM function calling application. + +`typia.llm.schema()` is a function generating type schema which is used in the LLM (Large Language Model) function calling application schema, especially in the [`typia.llm.application()`](./application) function. + +Return value type `ILlmSchema` is similar with the JSON schema definition of OpenAPI v3.0 specification, but it does not have the reference type of `OpenApi.IJsonSchema.IReference` type which has the `$ref` property. + + +**LLM Function Calling** + +LLM selects proper function and fill arguments. + +In nowadays, most LLM (Large Language Model) like OpenAI are supporting "function calling" feature. The "LLM function calling" means that LLM automatically selects a proper function and fills parameter values from conversation with the user (may by chatting text). + +https://platform.openai.com/docs/guides/function-calling + + + + + +## Specialization +You can utilize [type tags](../validators/tags/#type-tags) (or [validator's comment tags](../validators/tags/#comment-tags)) to constructing special fields of JSON schema. + +If you write any comment on a property, it would fill the `IJsonSchema.description` value. Also, there're special comment tags only for JSON schema definition that are different with [validator's comment tags](../validators/tags/#comment-tags) like below. + + - `@deprecated` + - `@hidden` + - `@internal` + - `@title {string}` + - `@default {value}` + +Let's see how those [type tags](../validators/tags/#type-tags), comment tags and description comments are working with example code. + + + + +```typescript copy filename="examples/src/llm-schema.ts" showLineNumbers +import { ILlmSchema } from "@samchon/openapi"; +import typia, { tags } from "typia"; + +export const schema: ILlmSchema = typia.llm.schema(); + +interface Special { + /** + * Deprecated tags are just used for marking. + * + * @title Unsigned integer + * @deprecated + */ + type: number & tags.Type<"int32">; + + /** + * Internal tagged property never be shown in JSON schema. + * + * It even doesn't be shown in other `typia` functions like `assert()`. + * + * @internal + */ + internal: number[]; + + /** + * Hidden tagged property never be shown in JSON schema. + * + * However, it would be shown in other `typia` functions like `stringify()`. + * + * @hidden + */ + hidden: boolean; + + /** + * You can limit the range of number. + * + * @exclusiveMinimum 19 + * @maximum 100 + * @default 30 + */ + number?: number; + + /** + * You can limit the length of string. + * + * Also, multiple range conditions are also possible. + */ + string: string & + ( + | (tags.MinLength<3> & tags.MaxLength<24>) + | (tags.MinLength<40> & tags.MaxLength<100>) + ); + + /** + * You can limit the pattern of string. + * + * @pattern ^[a-z]+$ + */ + pattern: string; + + /** + * You can limit the format of string. + * + * @format date-time + */ + format: string | null; + + /** + * In the Array case, possible to restrict its elements. + */ + array: Array> & tags.MinItems<3>; +} +``` + + +```javascript filename="examples/bin/llm-schema.js" showLineNumbers +import typia from "typia"; +export const schema = { + type: "object", + properties: { + type: { + type: "integer", + deprecated: true, + title: "Unsigned integer", + description: "Deprecated tags are just used for marking.", + }, + number: { + type: "number", + exclusiveMinimum: true, + minimum: 19, + maximum: 100, + title: "You can limit the range of number", + description: "You can limit the range of number.", + }, + string: { + oneOf: [ + { + type: "string", + minLength: 3, + maxLength: 24, + }, + { + type: "string", + minLength: 40, + maxLength: 100, + }, + ], + title: "You can limit the length of string", + description: + "You can limit the length of string.\n\nAlso, multiple range conditions are also possible.", + }, + pattern: { + type: "string", + pattern: "^[a-z]+$", + title: "You can limit the pattern of string", + description: "You can limit the pattern of string.", + }, + format: { + type: "string", + format: "date-time", + nullable: true, + title: "You can limit the format of string", + description: "You can limit the format of string.", + }, + array: { + type: "array", + items: { + type: "string", + format: "uuid", + }, + minItems: 3, + title: "In the Array case, possible to restrict its elements", + description: "In the Array case, possible to restrict its elements.", + }, + }, + nullable: false, + required: ["type", "string", "pattern", "format", "array"], +}; +``` + + + + + + +## Customziation +If what you want is not just filling regular properties of LLM schema specification, but to adding custom properties into the JSON schema definition, you can do it through the `tags.TagBase.schema` property type or `tags.JsonSchemaPlugin` type. + +For reference, the custom property must be started with `x-` prefix. It's a rule of LLM schema. + + + +```typescript copy filename="examples/src/llm-schema-custom.ts" copy showLineNumbers {7-9, 13, 17-18} +import typia, { tags } from "typia"; + +type Monetary = tags.TagBase<{ + target: "number"; + kind: "monetary"; + value: Value; + schema: { + "x-monetary": Value; + }; +}>; + +type Placeholder = tags.JsonSchemaPlugin<{ + "x-placeholder": Value; +}>; + +interface IAccount { + code: string & Placeholder<"Write you account code please">; + balance: number & Monetary<"dollar">; +}; + +typia.llm.schema(); +``` + + +```javascript copy filename="examples/bin/llm-schema-custom.js" showLineNumbers {7, 11} +import typia from "typia"; +({ + type: "object", + properties: { + code: { + type: "string", + "x-placeholder": "Write you account code please", + }, + balance: { + type: "number", + "x-monetary": "dollar", + }, + }, + nullable: false, + required: ["code", "balance"], +}); +``` + + + + + + +## Restrictions +LLM schema does not support `bigint` type, and recursive type either. + +LLM schema is based on the JSON schema definition of the OpenAPI v3.0 specification. Therefore, limitations of the JSON schema is also applied to the LLM schema, and the `bigint` type is not supported in the LLM function calling schema composition. + + + +```typescript filename="example/src/llm.schema.recursive.ts" showLineNumbers +import typia from "typia"; + +typia.llm.schema(); +``` + + +```bash +src/llm.schema.bigint.ts:3:1 - error TS(typia.llm.schema): unsupported type detected + +- bigint + - LLM schema does not support bigint type. + +3 typia.llm.schema(); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Found 1 error in src/llm.schema.bigint.ts:3 +``` + + + +Also, LLM schema does not support reference type that is embodied by the `OpenApi.IJsonSchema.IReference` type with `$ref` property. Therefore, if recursive type comes, no way to express it in the LLM schema, and it would be compilation error in the `typia.llm.application()` function. + + + +```typescript filename="example/src/llm.schema.recursive.ts" showLineNumbers +import typia from "typia"; + +typia.llm.schema(); + +interface Recursive { + id: number; + children: Recursive[]; +} +``` + + +```bash +src/llm.schema.recursive.ts:3:1 - error TS(typia.llm.schema): unsupported type detected + +- Recursive + - LLM schema does not support recursive type. + +- Recursive: Recursive + - LLM schema does not support recursive type. + +- Recursive.children: Recursive + - LLM schema does not support recursive type. + +3 typia.llm.schema(); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Found 1 error in src/llm.schema.recursive.ts:3 +``` + + + +And if you put any type of native classes like `Map` or `Uint8Array`, it would also be error, either. By the way, only `Date` class type is exceptional, and it would be considered as `string & Format<"date-time">` type like below. + + + +```typescript filename="example/src/llm.llm.date.ts" showLineNumbers +import typia from "typia"; + +typia.llm.schema(); +``` + + +```javascript filename="example/schemas/llm.date.js" showLineNumbers +import typia from "typia"; +const schema = { + type: "string", + format: "date-time", +}; +console.log(schema); +``` + + \ No newline at end of file diff --git a/website/public/images/home/openai.svg b/website/public/images/home/openai.svg new file mode 100644 index 0000000000..aa95b6dc1f --- /dev/null +++ b/website/public/images/home/openai.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/components/home/HomeCodeBlock.tsx b/website/src/components/home/HomeCodeBlock.tsx index 35b9d4fc6f..c28d53c621 100644 --- a/website/src/components/home/HomeCodeBlock.tsx +++ b/website/src/components/home/HomeCodeBlock.tsx @@ -8,6 +8,7 @@ const HomeCodeBlock = (props: { method: string; color?: string; inputColor?: string; + template?: string; }) => ( typia @@ -20,7 +21,7 @@ const HomeCodeBlock = (props: { ) : null} {props.method} {"<"} - T + {props.template ?? "T"} {">("} {"input"} {")"} diff --git a/website/src/movies/home/HomeStrengthMovie.tsx b/website/src/movies/home/HomeStrengthMovie.tsx index d0e71c4128..f2faf4c9ba 100644 --- a/website/src/movies/home/HomeStrengthMovie.tsx +++ b/website/src/movies/home/HomeStrengthMovie.tsx @@ -54,6 +54,34 @@ const sections: HomeStrengthSectionMovie.Props[] = [ image: "/images/home/json.png", href: "/docs/json/stringify", }, + { + title: "LLM Function Calling App", + subTitle: ( + + ), + description: ( + +

LLM Function Calling Application Composer

+
+

+ Creates LLM function call schemas from a native TypeScript class or + interface type. +

+
+

+ LLM will select proper function to call and fill arguments in the + conversations with human. +

+
+ ), + image: "/images/home/openai.svg", + href: "/docs/llm/application", + }, { title: "Easy Protocol Buffer", subTitle: ( @@ -75,7 +103,7 @@ const sections: HomeStrengthSectionMovie.Props[] = [


- No need extra *.proto schema file. Just fine with pure + No need extra *.proto schema file. Just fine with native TypeScript type.

@@ -90,7 +118,7 @@ const sections: HomeStrengthSectionMovie.Props[] = [

Universal random generator.


-

The best mock-up data generator with pure TypeScript type.

+

The best mock-up data generator with native TypeScript type.


In the backend side, it boosts up productivity dramatically.

diff --git a/website/src/movies/home/HomeStrengthSectionMovie.tsx b/website/src/movies/home/HomeStrengthSectionMovie.tsx index 5407a28e28..b221fc6180 100644 --- a/website/src/movies/home/HomeStrengthSectionMovie.tsx +++ b/website/src/movies/home/HomeStrengthSectionMovie.tsx @@ -9,7 +9,7 @@ import { } from "@mui/material"; const HomeStrengthSectionMovie = (props: HomeStrengthSectionMovie.Props) => ( - +
From ac3bf4480714c0917674466a2a895b50b1c3fe9b Mon Sep 17 00:00:00 2001 From: Jeongho Nam Date: Mon, 9 Sep 2024 23:29:00 +0900 Subject: [PATCH 8/8] Publish next version --- benchmark/package.json | 2 +- errors/package.json | 2 +- packages/typescript-json/package.json | 4 ++-- test-esm/package.json | 2 +- test/package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/benchmark/package.json b/benchmark/package.json index 5c707397e4..c9e0d17720 100644 --- a/benchmark/package.json +++ b/benchmark/package.json @@ -72,6 +72,6 @@ "suppress-warnings": "^1.0.2", "tstl": "^3.0.0", "uuid": "^9.0.1", - "typia": "../typia-6.10.0.tgz" + "typia": "../typia-6.10.0-dev.20240910.tgz" } } \ No newline at end of file diff --git a/errors/package.json b/errors/package.json index 8178eef9ad..1483e12a6a 100644 --- a/errors/package.json +++ b/errors/package.json @@ -32,6 +32,6 @@ "typescript": "^5.3.2" }, "dependencies": { - "typia": "../typia-6.10.0.tgz" + "typia": "../typia-6.10.0-dev.20240910.tgz" } } \ No newline at end of file diff --git a/packages/typescript-json/package.json b/packages/typescript-json/package.json index 028799c1ac..f45f8f73b5 100644 --- a/packages/typescript-json/package.json +++ b/packages/typescript-json/package.json @@ -1,6 +1,6 @@ { "name": "typescript-json", - "version": "6.10.0-dev.20240909", + "version": "6.10.0-dev.20240910", "description": "Superfast runtime validators with only one line", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -63,7 +63,7 @@ }, "homepage": "https://typia.io", "dependencies": { - "typia": "6.10.0-dev.20240909" + "typia": "6.10.0-dev.20240910" }, "peerDependencies": { "typescript": ">=4.8.0 <5.6.0" diff --git a/test-esm/package.json b/test-esm/package.json index e836d8530f..418a3f92df 100644 --- a/test-esm/package.json +++ b/test-esm/package.json @@ -36,6 +36,6 @@ "typescript": "^5.4.5" }, "dependencies": { - "typia": "../typia-6.10.0.tgz" + "typia": "../typia-6.10.0-dev.20240910.tgz" } } \ No newline at end of file diff --git a/test/package.json b/test/package.json index 6626099abe..6a16627ff0 100644 --- a/test/package.json +++ b/test/package.json @@ -52,6 +52,6 @@ "suppress-warnings": "^1.0.2", "tstl": "^3.0.0", "uuid": "^9.0.1", - "typia": "../typia-6.10.0.tgz" + "typia": "../typia-6.10.0-dev.20240910.tgz" } } \ No newline at end of file