@metaplex-foundation/kinobi 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/cjs/Kinobi.js +28 -0
- package/dist/cjs/Kinobi.js.map +1 -0
- package/dist/cjs/idl/Idl.js +3 -0
- package/dist/cjs/idl/Idl.js.map +1 -0
- package/dist/cjs/idl/IdlAccount.js +3 -0
- package/dist/cjs/idl/IdlAccount.js.map +1 -0
- package/dist/cjs/idl/IdlDefinedType.js +3 -0
- package/dist/cjs/idl/IdlDefinedType.js.map +1 -0
- package/dist/cjs/idl/IdlError.js +3 -0
- package/dist/cjs/idl/IdlError.js.map +1 -0
- package/dist/cjs/idl/IdlInstruction.js +3 -0
- package/dist/cjs/idl/IdlInstruction.js.map +1 -0
- package/dist/cjs/idl/IdlType.js +3 -0
- package/dist/cjs/idl/IdlType.js.map +1 -0
- package/dist/cjs/idl/index.js +23 -0
- package/dist/cjs/idl/index.js.map +1 -0
- package/dist/cjs/index.js +22 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/logs.js +64 -0
- package/dist/cjs/logs.js.map +1 -0
- package/dist/cjs/nodes/AccountNode.js +89 -0
- package/dist/cjs/nodes/AccountNode.js.map +1 -0
- package/dist/cjs/nodes/DefinedTypeNode.js +43 -0
- package/dist/cjs/nodes/DefinedTypeNode.js.map +1 -0
- package/dist/cjs/nodes/ErrorNode.js +43 -0
- package/dist/cjs/nodes/ErrorNode.js.map +1 -0
- package/dist/cjs/nodes/InstructionNode.js +128 -0
- package/dist/cjs/nodes/InstructionNode.js.map +1 -0
- package/dist/cjs/nodes/Node.js +15 -0
- package/dist/cjs/nodes/Node.js.map +1 -0
- package/dist/cjs/nodes/ProgramNode.js +64 -0
- package/dist/cjs/nodes/ProgramNode.js.map +1 -0
- package/dist/cjs/nodes/RootNode.js +48 -0
- package/dist/cjs/nodes/RootNode.js.map +1 -0
- package/dist/cjs/nodes/TypeArrayNode.js +31 -0
- package/dist/cjs/nodes/TypeArrayNode.js.map +1 -0
- package/dist/cjs/nodes/TypeDefinedLinkNode.js +30 -0
- package/dist/cjs/nodes/TypeDefinedLinkNode.js.map +1 -0
- package/dist/cjs/nodes/TypeEnumEmptyVariantNode.js +30 -0
- package/dist/cjs/nodes/TypeEnumEmptyVariantNode.js.map +1 -0
- package/dist/cjs/nodes/TypeEnumNode.js +52 -0
- package/dist/cjs/nodes/TypeEnumNode.js.map +1 -0
- package/dist/cjs/nodes/TypeEnumStructVariantNode.js +37 -0
- package/dist/cjs/nodes/TypeEnumStructVariantNode.js.map +1 -0
- package/dist/cjs/nodes/TypeEnumTupleVariantNode.js +33 -0
- package/dist/cjs/nodes/TypeEnumTupleVariantNode.js.map +1 -0
- package/dist/cjs/nodes/TypeEnumVariantNode.js +20 -0
- package/dist/cjs/nodes/TypeEnumVariantNode.js.map +1 -0
- package/dist/cjs/nodes/TypeLeafNode.js +61 -0
- package/dist/cjs/nodes/TypeLeafNode.js.map +1 -0
- package/dist/cjs/nodes/TypeLeafWrapperNode.js +26 -0
- package/dist/cjs/nodes/TypeLeafWrapperNode.js.map +1 -0
- package/dist/cjs/nodes/TypeMapNode.js +35 -0
- package/dist/cjs/nodes/TypeMapNode.js.map +1 -0
- package/dist/cjs/nodes/TypeNode.js +103 -0
- package/dist/cjs/nodes/TypeNode.js.map +1 -0
- package/dist/cjs/nodes/TypeOptionNode.js +32 -0
- package/dist/cjs/nodes/TypeOptionNode.js.map +1 -0
- package/dist/cjs/nodes/TypeSetNode.js +32 -0
- package/dist/cjs/nodes/TypeSetNode.js.map +1 -0
- package/dist/cjs/nodes/TypeStructFieldNode.js +42 -0
- package/dist/cjs/nodes/TypeStructFieldNode.js.map +1 -0
- package/dist/cjs/nodes/TypeStructNode.js +32 -0
- package/dist/cjs/nodes/TypeStructNode.js.map +1 -0
- package/dist/cjs/nodes/TypeTupleNode.js +29 -0
- package/dist/cjs/nodes/TypeTupleNode.js.map +1 -0
- package/dist/cjs/nodes/TypeVecNode.js +29 -0
- package/dist/cjs/nodes/TypeVecNode.js.map +1 -0
- package/dist/cjs/nodes/ValueNode.js +57 -0
- package/dist/cjs/nodes/ValueNode.js.map +1 -0
- package/dist/cjs/nodes/index.js +42 -0
- package/dist/cjs/nodes/index.js.map +1 -0
- package/dist/cjs/renderers/RenderMap.js +35 -0
- package/dist/cjs/renderers/RenderMap.js.map +1 -0
- package/dist/cjs/renderers/WriteRenderMapVisitor.js +16 -0
- package/dist/cjs/renderers/WriteRenderMapVisitor.js.map +1 -0
- package/dist/cjs/renderers/index.js +21 -0
- package/dist/cjs/renderers/index.js.map +1 -0
- package/dist/cjs/renderers/js/GetJavaScriptRenderMapVisitor.js +360 -0
- package/dist/cjs/renderers/js/GetJavaScriptRenderMapVisitor.js.map +1 -0
- package/dist/cjs/renderers/js/GetJavaScriptTypeManifestVisitor.js +439 -0
- package/dist/cjs/renderers/js/GetJavaScriptTypeManifestVisitor.js.map +1 -0
- package/dist/cjs/renderers/js/GetJavaScriptValidatorBagVisitor.js +198 -0
- package/dist/cjs/renderers/js/GetJavaScriptValidatorBagVisitor.js.map +1 -0
- package/dist/cjs/renderers/js/JavaScriptImportMap.js +83 -0
- package/dist/cjs/renderers/js/JavaScriptImportMap.js.map +1 -0
- package/dist/cjs/renderers/js/RenderJavaScriptValueNode.js +125 -0
- package/dist/cjs/renderers/js/RenderJavaScriptValueNode.js.map +1 -0
- package/dist/cjs/renderers/js/RenderJavaScriptVisitor.js +28 -0
- package/dist/cjs/renderers/js/RenderJavaScriptVisitor.js.map +1 -0
- package/dist/cjs/renderers/js/index.js +23 -0
- package/dist/cjs/renderers/js/index.js.map +1 -0
- package/dist/cjs/renderers/js/templates/accountsIndex.njk +9 -0
- package/dist/cjs/renderers/js/templates/accountsPage.njk +122 -0
- package/dist/cjs/renderers/js/templates/definedTypesIndex.njk +9 -0
- package/dist/cjs/renderers/js/templates/definedTypesPage.njk +13 -0
- package/dist/cjs/renderers/js/templates/definedTypesPageDataEnums.njk +26 -0
- package/dist/cjs/renderers/js/templates/errorsIndex.njk +9 -0
- package/dist/cjs/renderers/js/templates/errorsPage.njk +43 -0
- package/dist/cjs/renderers/js/templates/instructionsIndex.njk +9 -0
- package/dist/cjs/renderers/js/templates/instructionsPage.njk +71 -0
- package/dist/cjs/renderers/js/templates/instructionsPageAccountMetas.njk +61 -0
- package/dist/cjs/renderers/js/templates/instructionsPageAccounts.njk +12 -0
- package/dist/cjs/renderers/js/templates/instructionsPageArgs.njk +7 -0
- package/dist/cjs/renderers/js/templates/layout.njk +9 -0
- package/dist/cjs/renderers/js/templates/macros.njk +40 -0
- package/dist/cjs/renderers/js/templates/programsIndex.njk +9 -0
- package/dist/cjs/renderers/js/templates/programsPage.njk +23 -0
- package/dist/cjs/renderers/js/templates/rootIndex.njk +23 -0
- package/dist/cjs/renderers/utils.js +42 -0
- package/dist/cjs/renderers/utils.js.map +1 -0
- package/dist/cjs/utils.js +47 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/cjs/visitors/BaseDelegateVisitor.js +73 -0
- package/dist/cjs/visitors/BaseDelegateVisitor.js.map +1 -0
- package/dist/cjs/visitors/BaseNodeOrNullVisitor.js +183 -0
- package/dist/cjs/visitors/BaseNodeOrNullVisitor.js.map +1 -0
- package/dist/cjs/visitors/BaseNodeVisitor.js +144 -0
- package/dist/cjs/visitors/BaseNodeVisitor.js.map +1 -0
- package/dist/cjs/visitors/BaseThrowVisitor.js +70 -0
- package/dist/cjs/visitors/BaseThrowVisitor.js.map +1 -0
- package/dist/cjs/visitors/BaseVoidVisitor.js +81 -0
- package/dist/cjs/visitors/BaseVoidVisitor.js.map +1 -0
- package/dist/cjs/visitors/DefaultVisitor.js +53 -0
- package/dist/cjs/visitors/DefaultVisitor.js.map +1 -0
- package/dist/cjs/visitors/Dependency.js +3 -0
- package/dist/cjs/visitors/Dependency.js.map +1 -0
- package/dist/cjs/visitors/NodeSelector.js +79 -0
- package/dist/cjs/visitors/NodeSelector.js.map +1 -0
- package/dist/cjs/visitors/NodeStack.js +98 -0
- package/dist/cjs/visitors/NodeStack.js.map +1 -0
- package/dist/cjs/visitors/ValidatorBag.js +64 -0
- package/dist/cjs/visitors/ValidatorBag.js.map +1 -0
- package/dist/cjs/visitors/Visitable.js +3 -0
- package/dist/cjs/visitors/Visitable.js.map +1 -0
- package/dist/cjs/visitors/Visitor.js +3 -0
- package/dist/cjs/visitors/Visitor.js.map +1 -0
- package/dist/cjs/visitors/aggregators/GetByteSizeVisitor.js +130 -0
- package/dist/cjs/visitors/aggregators/GetByteSizeVisitor.js.map +1 -0
- package/dist/cjs/visitors/aggregators/GetDefaultValidatorBagVisitor.js +300 -0
- package/dist/cjs/visitors/aggregators/GetDefaultValidatorBagVisitor.js.map +1 -0
- package/dist/cjs/visitors/aggregators/GetDefinedTypeHistogramVisitor.js +157 -0
- package/dist/cjs/visitors/aggregators/GetDefinedTypeHistogramVisitor.js.map +1 -0
- package/dist/cjs/visitors/aggregators/GetNodeInlineStringVisitor.js +111 -0
- package/dist/cjs/visitors/aggregators/GetNodeInlineStringVisitor.js.map +1 -0
- package/dist/cjs/visitors/aggregators/GetNodeTreeStringVisitor.js +219 -0
- package/dist/cjs/visitors/aggregators/GetNodeTreeStringVisitor.js.map +1 -0
- package/dist/cjs/visitors/aggregators/GetResolvedInstructionAccountsVisitor.js +121 -0
- package/dist/cjs/visitors/aggregators/GetResolvedInstructionAccountsVisitor.js.map +1 -0
- package/dist/cjs/visitors/aggregators/index.js +23 -0
- package/dist/cjs/visitors/aggregators/index.js.map +1 -0
- package/dist/cjs/visitors/index.js +31 -0
- package/dist/cjs/visitors/index.js.map +1 -0
- package/dist/cjs/visitors/transformers/AutoSetAnchorDiscriminatorsVisitor.js +94 -0
- package/dist/cjs/visitors/transformers/AutoSetAnchorDiscriminatorsVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/AutoSetFixedAccountSizesVisitor.js +56 -0
- package/dist/cjs/visitors/transformers/AutoSetFixedAccountSizesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/CreateSubInstructionsFromEnumArgsVisitor.js +100 -0
- package/dist/cjs/visitors/transformers/CreateSubInstructionsFromEnumArgsVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/DeduplicateIdenticalDefinedTypesVisitor.js +83 -0
- package/dist/cjs/visitors/transformers/DeduplicateIdenticalDefinedTypesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/DeleteNodesVisitor.js +14 -0
- package/dist/cjs/visitors/transformers/DeleteNodesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/SetAccountDiscriminatorFromFieldVisitor.js +62 -0
- package/dist/cjs/visitors/transformers/SetAccountDiscriminatorFromFieldVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.js +202 -0
- package/dist/cjs/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/SetInstructionDiscriminatorsVisitor.js +59 -0
- package/dist/cjs/visitors/transformers/SetInstructionDiscriminatorsVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/SetLeafWrappersVisitor.js +43 -0
- package/dist/cjs/visitors/transformers/SetLeafWrappersVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/SetMissingDefinedTypesVisitor.js +85 -0
- package/dist/cjs/visitors/transformers/SetMissingDefinedTypesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/SetStructDefaultValuesVisitor.js +62 -0
- package/dist/cjs/visitors/transformers/SetStructDefaultValuesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/TransformNodesVisitor.js +156 -0
- package/dist/cjs/visitors/transformers/TransformNodesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/TransformU8ArraysToBytesVisitor.js +49 -0
- package/dist/cjs/visitors/transformers/TransformU8ArraysToBytesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UnwrapDefinedTypesVisitor.js +69 -0
- package/dist/cjs/visitors/transformers/UnwrapDefinedTypesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UnwrapInstructionArgsDefinedTypesVisitor.js +59 -0
- package/dist/cjs/visitors/transformers/UnwrapInstructionArgsDefinedTypesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UnwrapInstructionArgsStructVisitor.js +44 -0
- package/dist/cjs/visitors/transformers/UnwrapInstructionArgsStructVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UnwrapStructVisitor.js +74 -0
- package/dist/cjs/visitors/transformers/UnwrapStructVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UpdateAccountsVisitor.js +57 -0
- package/dist/cjs/visitors/transformers/UpdateAccountsVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UpdateDefinedTypesVisitor.js +72 -0
- package/dist/cjs/visitors/transformers/UpdateDefinedTypesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UpdateErrorsVisitor.js +50 -0
- package/dist/cjs/visitors/transformers/UpdateErrorsVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UpdateInstructionsVisitor.js +97 -0
- package/dist/cjs/visitors/transformers/UpdateInstructionsVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UpdateProgramsVisitor.js +49 -0
- package/dist/cjs/visitors/transformers/UpdateProgramsVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/_renameHelpers.js +49 -0
- package/dist/cjs/visitors/transformers/_renameHelpers.js.map +1 -0
- package/dist/cjs/visitors/transformers/index.js +39 -0
- package/dist/cjs/visitors/transformers/index.js.map +1 -0
- package/dist/cjs/visitors/workers/ConsoleLogVisitor.js +12 -0
- package/dist/cjs/visitors/workers/ConsoleLogVisitor.js.map +1 -0
- package/dist/cjs/visitors/workers/ThrowValidatorItemsVisitor.js +38 -0
- package/dist/cjs/visitors/workers/ThrowValidatorItemsVisitor.js.map +1 -0
- package/dist/cjs/visitors/workers/index.js +19 -0
- package/dist/cjs/visitors/workers/index.js.map +1 -0
- package/dist/types/Kinobi.d.ts +9 -0
- package/dist/types/idl/Idl.d.ts +18 -0
- package/dist/types/idl/IdlAccount.d.ts +19 -0
- package/dist/types/idl/IdlDefinedType.d.ts +6 -0
- package/dist/types/idl/IdlError.d.ts +6 -0
- package/dist/types/idl/IdlInstruction.d.ts +25 -0
- package/dist/types/idl/IdlType.d.ts +60 -0
- package/dist/types/idl/index.d.ts +6 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/logs.d.ts +9 -0
- package/dist/types/nodes/AccountNode.d.ts +51 -0
- package/dist/types/nodes/DefinedTypeNode.d.ts +24 -0
- package/dist/types/nodes/ErrorNode.d.ts +21 -0
- package/dist/types/nodes/InstructionNode.d.ts +88 -0
- package/dist/types/nodes/Node.d.ts +12 -0
- package/dist/types/nodes/ProgramNode.d.ts +31 -0
- package/dist/types/nodes/RootNode.d.ts +23 -0
- package/dist/types/nodes/TypeArrayNode.d.ts +14 -0
- package/dist/types/nodes/TypeDefinedLinkNode.d.ts +12 -0
- package/dist/types/nodes/TypeEnumEmptyVariantNode.d.ts +12 -0
- package/dist/types/nodes/TypeEnumNode.d.ts +16 -0
- package/dist/types/nodes/TypeEnumStructVariantNode.d.ts +14 -0
- package/dist/types/nodes/TypeEnumTupleVariantNode.d.ts +14 -0
- package/dist/types/nodes/TypeEnumVariantNode.d.ts +7 -0
- package/dist/types/nodes/TypeLeafNode.d.ts +18 -0
- package/dist/types/nodes/TypeLeafWrapperNode.d.ts +21 -0
- package/dist/types/nodes/TypeMapNode.d.ts +15 -0
- package/dist/types/nodes/TypeNode.d.ts +19 -0
- package/dist/types/nodes/TypeOptionNode.d.ts +14 -0
- package/dist/types/nodes/TypeSetNode.d.ts +14 -0
- package/dist/types/nodes/TypeStructFieldNode.d.ts +24 -0
- package/dist/types/nodes/TypeStructNode.d.ts +14 -0
- package/dist/types/nodes/TypeTupleNode.d.ts +13 -0
- package/dist/types/nodes/TypeVecNode.d.ts +13 -0
- package/dist/types/nodes/ValueNode.d.ts +59 -0
- package/dist/types/nodes/index.d.ts +25 -0
- package/dist/types/renderers/RenderMap.d.ts +8 -0
- package/dist/types/renderers/WriteRenderMapVisitor.d.ts +8 -0
- package/dist/types/renderers/index.d.ts +4 -0
- package/dist/types/renderers/js/GetJavaScriptRenderMapVisitor.d.ts +34 -0
- package/dist/types/renderers/js/GetJavaScriptTypeManifestVisitor.d.ts +44 -0
- package/dist/types/renderers/js/GetJavaScriptValidatorBagVisitor.d.ts +19 -0
- package/dist/types/renderers/js/JavaScriptImportMap.d.ts +11 -0
- package/dist/types/renderers/js/RenderJavaScriptValueNode.d.ts +6 -0
- package/dist/types/renderers/js/RenderJavaScriptVisitor.d.ts +14 -0
- package/dist/types/renderers/js/index.d.ts +6 -0
- package/dist/types/renderers/utils.d.ts +5 -0
- package/dist/types/utils.d.ts +8 -0
- package/dist/types/visitors/BaseDelegateVisitor.d.ts +28 -0
- package/dist/types/visitors/BaseNodeOrNullVisitor.d.ts +25 -0
- package/dist/types/visitors/BaseNodeVisitor.d.ts +25 -0
- package/dist/types/visitors/BaseThrowVisitor.d.ts +25 -0
- package/dist/types/visitors/BaseVoidVisitor.d.ts +25 -0
- package/dist/types/visitors/DefaultVisitor.d.ts +5 -0
- package/dist/types/visitors/Dependency.d.ts +17 -0
- package/dist/types/visitors/NodeSelector.d.ts +11 -0
- package/dist/types/visitors/NodeStack.d.ts +14 -0
- package/dist/types/visitors/ValidatorBag.d.ts +22 -0
- package/dist/types/visitors/Visitable.d.ts +4 -0
- package/dist/types/visitors/Visitor.d.ts +24 -0
- package/dist/types/visitors/aggregators/GetByteSizeVisitor.d.ts +27 -0
- package/dist/types/visitors/aggregators/GetDefaultValidatorBagVisitor.d.ts +32 -0
- package/dist/types/visitors/aggregators/GetDefinedTypeHistogramVisitor.d.ts +37 -0
- package/dist/types/visitors/aggregators/GetNodeInlineStringVisitor.d.ts +25 -0
- package/dist/types/visitors/aggregators/GetNodeTreeStringVisitor.d.ts +29 -0
- package/dist/types/visitors/aggregators/GetResolvedInstructionAccountsVisitor.d.ts +19 -0
- package/dist/types/visitors/aggregators/index.d.ts +6 -0
- package/dist/types/visitors/index.d.ts +14 -0
- package/dist/types/visitors/transformers/AutoSetAnchorDiscriminatorsVisitor.d.ts +8 -0
- package/dist/types/visitors/transformers/AutoSetFixedAccountSizesVisitor.d.ts +5 -0
- package/dist/types/visitors/transformers/CreateSubInstructionsFromEnumArgsVisitor.d.ts +8 -0
- package/dist/types/visitors/transformers/DeduplicateIdenticalDefinedTypesVisitor.d.ts +5 -0
- package/dist/types/visitors/transformers/DeleteNodesVisitor.d.ts +5 -0
- package/dist/types/visitors/transformers/SetAccountDiscriminatorFromFieldVisitor.d.ts +12 -0
- package/dist/types/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.d.ts +27 -0
- package/dist/types/visitors/transformers/SetInstructionDiscriminatorsVisitor.d.ts +18 -0
- package/dist/types/visitors/transformers/SetLeafWrappersVisitor.d.ts +8 -0
- package/dist/types/visitors/transformers/SetMissingDefinedTypesVisitor.d.ts +7 -0
- package/dist/types/visitors/transformers/SetStructDefaultValuesVisitor.d.ts +11 -0
- package/dist/types/visitors/transformers/TransformNodesVisitor.d.ts +37 -0
- package/dist/types/visitors/transformers/TransformU8ArraysToBytesVisitor.d.ts +8 -0
- package/dist/types/visitors/transformers/UnwrapDefinedTypesVisitor.d.ts +11 -0
- package/dist/types/visitors/transformers/UnwrapInstructionArgsDefinedTypesVisitor.d.ts +5 -0
- package/dist/types/visitors/transformers/UnwrapInstructionArgsStructVisitor.d.ts +4 -0
- package/dist/types/visitors/transformers/UnwrapStructVisitor.d.ts +8 -0
- package/dist/types/visitors/transformers/UpdateAccountsVisitor.d.ts +11 -0
- package/dist/types/visitors/transformers/UpdateDefinedTypesVisitor.d.ts +11 -0
- package/dist/types/visitors/transformers/UpdateErrorsVisitor.d.ts +12 -0
- package/dist/types/visitors/transformers/UpdateInstructionsVisitor.d.ts +41 -0
- package/dist/types/visitors/transformers/UpdateProgramsVisitor.d.ts +9 -0
- package/dist/types/visitors/transformers/_renameHelpers.d.ts +3 -0
- package/dist/types/visitors/transformers/index.d.ts +22 -0
- package/dist/types/visitors/workers/ConsoleLogVisitor.d.ts +4 -0
- package/dist/types/visitors/workers/ThrowValidatorItemsVisitor.d.ts +9 -0
- package/dist/types/visitors/workers/index.d.ts +2 -0
- package/package.json +72 -0
- package/src/Kinobi.ts +28 -0
- package/src/idl/Idl.ts +19 -0
- package/src/idl/IdlAccount.ts +14 -0
- package/src/idl/IdlDefinedType.ts +7 -0
- package/src/idl/IdlError.ts +6 -0
- package/src/idl/IdlInstruction.ts +29 -0
- package/src/idl/IdlType.ts +72 -0
- package/src/idl/index.ts +6 -0
- package/src/index.ts +5 -0
- package/src/logs.ts +77 -0
- package/src/nodes/AccountNode.ts +126 -0
- package/src/nodes/DefinedTypeNode.ts +69 -0
- package/src/nodes/ErrorNode.ts +57 -0
- package/src/nodes/InstructionNode.ts +215 -0
- package/src/nodes/Node.ts +40 -0
- package/src/nodes/ProgramNode.ts +101 -0
- package/src/nodes/RootNode.ts +64 -0
- package/src/nodes/TypeArrayNode.ts +40 -0
- package/src/nodes/TypeDefinedLinkNode.ts +40 -0
- package/src/nodes/TypeEnumEmptyVariantNode.ts +38 -0
- package/src/nodes/TypeEnumNode.ts +67 -0
- package/src/nodes/TypeEnumStructVariantNode.ts +50 -0
- package/src/nodes/TypeEnumTupleVariantNode.ts +46 -0
- package/src/nodes/TypeEnumVariantNode.ts +32 -0
- package/src/nodes/TypeLeafNode.ts +73 -0
- package/src/nodes/TypeLeafWrapperNode.ts +41 -0
- package/src/nodes/TypeMapNode.ts +48 -0
- package/src/nodes/TypeNode.ts +138 -0
- package/src/nodes/TypeOptionNode.ts +41 -0
- package/src/nodes/TypeSetNode.ts +39 -0
- package/src/nodes/TypeStructFieldNode.ts +63 -0
- package/src/nodes/TypeStructNode.ts +43 -0
- package/src/nodes/TypeTupleNode.ts +36 -0
- package/src/nodes/TypeVecNode.ts +34 -0
- package/src/nodes/ValueNode.ts +92 -0
- package/src/nodes/index.ts +25 -0
- package/src/renderers/RenderMap.ts +34 -0
- package/src/renderers/WriteRenderMapVisitor.ts +15 -0
- package/src/renderers/index.ts +4 -0
- package/src/renderers/js/GetJavaScriptRenderMapVisitor.ts +437 -0
- package/src/renderers/js/GetJavaScriptTypeManifestVisitor.ts +522 -0
- package/src/renderers/js/GetJavaScriptValidatorBagVisitor.ts +202 -0
- package/src/renderers/js/JavaScriptImportMap.ts +89 -0
- package/src/renderers/js/RenderJavaScriptValueNode.ts +110 -0
- package/src/renderers/js/RenderJavaScriptVisitor.ts +45 -0
- package/src/renderers/js/index.ts +6 -0
- package/src/renderers/js/templates/accountsIndex.njk +9 -0
- package/src/renderers/js/templates/accountsPage.njk +122 -0
- package/src/renderers/js/templates/definedTypesIndex.njk +9 -0
- package/src/renderers/js/templates/definedTypesPage.njk +13 -0
- package/src/renderers/js/templates/definedTypesPageDataEnums.njk +26 -0
- package/src/renderers/js/templates/errorsIndex.njk +9 -0
- package/src/renderers/js/templates/errorsPage.njk +43 -0
- package/src/renderers/js/templates/instructionsIndex.njk +9 -0
- package/src/renderers/js/templates/instructionsPage.njk +71 -0
- package/src/renderers/js/templates/instructionsPageAccountMetas.njk +61 -0
- package/src/renderers/js/templates/instructionsPageAccounts.njk +12 -0
- package/src/renderers/js/templates/instructionsPageArgs.njk +7 -0
- package/src/renderers/js/templates/layout.njk +9 -0
- package/src/renderers/js/templates/macros.njk +40 -0
- package/src/renderers/js/templates/programsIndex.njk +9 -0
- package/src/renderers/js/templates/programsPage.njk +23 -0
- package/src/renderers/js/templates/rootIndex.njk +23 -0
- package/src/renderers/utils.ts +46 -0
- package/src/utils.ts +41 -0
- package/src/visitors/BaseDelegateVisitor.ts +98 -0
- package/src/visitors/BaseNodeOrNullVisitor.ts +202 -0
- package/src/visitors/BaseNodeVisitor.ts +173 -0
- package/src/visitors/BaseThrowVisitor.ts +101 -0
- package/src/visitors/BaseVoidVisitor.ts +104 -0
- package/src/visitors/DefaultVisitor.ts +45 -0
- package/src/visitors/Dependency.ts +23 -0
- package/src/visitors/NodeSelector.ts +82 -0
- package/src/visitors/NodeStack.ts +109 -0
- package/src/visitors/ValidatorBag.ts +90 -0
- package/src/visitors/Visitable.ts +5 -0
- package/src/visitors/Visitor.ts +36 -0
- package/src/visitors/aggregators/GetByteSizeVisitor.ts +167 -0
- package/src/visitors/aggregators/GetDefaultValidatorBagVisitor.ts +332 -0
- package/src/visitors/aggregators/GetDefinedTypeHistogramVisitor.ts +213 -0
- package/src/visitors/aggregators/GetNodeInlineStringVisitor.ts +140 -0
- package/src/visitors/aggregators/GetNodeTreeStringVisitor.ts +260 -0
- package/src/visitors/aggregators/GetResolvedInstructionAccountsVisitor.ts +153 -0
- package/src/visitors/aggregators/index.ts +6 -0
- package/src/visitors/index.ts +15 -0
- package/src/visitors/transformers/AutoSetAnchorDiscriminatorsVisitor.ts +90 -0
- package/src/visitors/transformers/AutoSetFixedAccountSizesVisitor.ts +31 -0
- package/src/visitors/transformers/CreateSubInstructionsFromEnumArgsVisitor.ts +117 -0
- package/src/visitors/transformers/DeduplicateIdenticalDefinedTypesVisitor.ts +72 -0
- package/src/visitors/transformers/DeleteNodesVisitor.ts +13 -0
- package/src/visitors/transformers/SetAccountDiscriminatorFromFieldVisitor.ts +52 -0
- package/src/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.ts +236 -0
- package/src/visitors/transformers/SetInstructionDiscriminatorsVisitor.ts +54 -0
- package/src/visitors/transformers/SetLeafWrappersVisitor.ts +20 -0
- package/src/visitors/transformers/SetMissingDefinedTypesVisitor.ts +73 -0
- package/src/visitors/transformers/SetStructDefaultValuesVisitor.ts +45 -0
- package/src/visitors/transformers/TransformNodesVisitor.ts +215 -0
- package/src/visitors/transformers/TransformU8ArraysToBytesVisitor.ts +27 -0
- package/src/visitors/transformers/UnwrapDefinedTypesVisitor.ts +65 -0
- package/src/visitors/transformers/UnwrapInstructionArgsDefinedTypesVisitor.ts +35 -0
- package/src/visitors/transformers/UnwrapInstructionArgsStructVisitor.ts +22 -0
- package/src/visitors/transformers/UnwrapStructVisitor.ts +62 -0
- package/src/visitors/transformers/UpdateAccountsVisitor.ts +45 -0
- package/src/visitors/transformers/UpdateDefinedTypesVisitor.ts +71 -0
- package/src/visitors/transformers/UpdateErrorsVisitor.ts +41 -0
- package/src/visitors/transformers/UpdateInstructionsVisitor.ts +135 -0
- package/src/visitors/transformers/UpdateProgramsVisitor.ts +39 -0
- package/src/visitors/transformers/_renameHelpers.ts +47 -0
- package/src/visitors/transformers/index.ts +22 -0
- package/src/visitors/workers/ConsoleLogVisitor.ts +8 -0
- package/src/visitors/workers/ThrowValidatorItemsVisitor.ts +42 -0
- package/src/visitors/workers/index.ts +2 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { IdlTypeStructField } from '../idl';
|
|
2
|
+
import type { Visitable, Visitor } from '../visitors';
|
|
3
|
+
import type { Node } from './Node';
|
|
4
|
+
import { TypeNode } from './TypeNode';
|
|
5
|
+
import { ValueNode } from './ValueNode';
|
|
6
|
+
export type TypeStructFieldNodeMetadata = {
|
|
7
|
+
name: string;
|
|
8
|
+
docs: string[];
|
|
9
|
+
defaultsTo: {
|
|
10
|
+
strategy: 'optional' | 'omitted';
|
|
11
|
+
value: ValueNode;
|
|
12
|
+
} | null;
|
|
13
|
+
};
|
|
14
|
+
export declare class TypeStructFieldNode implements Visitable {
|
|
15
|
+
readonly nodeClass: "TypeStructFieldNode";
|
|
16
|
+
readonly metadata: TypeStructFieldNodeMetadata;
|
|
17
|
+
readonly type: TypeNode;
|
|
18
|
+
constructor(metadata: TypeStructFieldNodeMetadata, type: TypeNode);
|
|
19
|
+
static fromIdl(idl: IdlTypeStructField): TypeStructFieldNode;
|
|
20
|
+
accept<T>(visitor: Visitor<T>): T;
|
|
21
|
+
get name(): string;
|
|
22
|
+
}
|
|
23
|
+
export declare function isTypeStructFieldNode(node: Node | null): node is TypeStructFieldNode;
|
|
24
|
+
export declare function assertTypeStructFieldNode(node: Node | null): asserts node is TypeStructFieldNode;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IdlTypeStruct } from '../idl';
|
|
2
|
+
import type { Visitable, Visitor } from '../visitors';
|
|
3
|
+
import type { Node } from './Node';
|
|
4
|
+
import { TypeStructFieldNode } from './TypeStructFieldNode';
|
|
5
|
+
export declare class TypeStructNode implements Visitable {
|
|
6
|
+
readonly nodeClass: "TypeStructNode";
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly fields: TypeStructFieldNode[];
|
|
9
|
+
constructor(name: string, fields: TypeStructFieldNode[]);
|
|
10
|
+
static fromIdl(idl: IdlTypeStruct): TypeStructNode;
|
|
11
|
+
accept<T>(visitor: Visitor<T>): T;
|
|
12
|
+
}
|
|
13
|
+
export declare function isTypeStructNode(node: Node | null): node is TypeStructNode;
|
|
14
|
+
export declare function assertTypeStructNode(node: Node | null): asserts node is TypeStructNode;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { IdlTypeTuple } from '../idl';
|
|
2
|
+
import type { Visitable, Visitor } from '../visitors';
|
|
3
|
+
import { TypeNode } from './TypeNode';
|
|
4
|
+
import type { Node } from './Node';
|
|
5
|
+
export declare class TypeTupleNode implements Visitable {
|
|
6
|
+
readonly nodeClass: "TypeTupleNode";
|
|
7
|
+
readonly itemTypes: TypeNode[];
|
|
8
|
+
constructor(itemTypes: TypeNode[]);
|
|
9
|
+
static fromIdl(idl: IdlTypeTuple): TypeTupleNode;
|
|
10
|
+
accept<T>(visitor: Visitor<T>): T;
|
|
11
|
+
}
|
|
12
|
+
export declare function isTypeTupleNode(node: Node | null): node is TypeTupleNode;
|
|
13
|
+
export declare function assertTypeTupleNode(node: Node | null): asserts node is TypeTupleNode;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { IdlTypeVec } from '../idl';
|
|
2
|
+
import type { Visitable, Visitor } from '../visitors';
|
|
3
|
+
import { TypeNode } from './TypeNode';
|
|
4
|
+
import type { Node } from './Node';
|
|
5
|
+
export declare class TypeVecNode implements Visitable {
|
|
6
|
+
readonly nodeClass: "TypeVecNode";
|
|
7
|
+
readonly itemType: TypeNode;
|
|
8
|
+
constructor(itemType: TypeNode);
|
|
9
|
+
static fromIdl(idl: IdlTypeVec): TypeVecNode;
|
|
10
|
+
accept<T>(visitor: Visitor<T>): T;
|
|
11
|
+
}
|
|
12
|
+
export declare function isTypeVecNode(node: Node | null): node is TypeVecNode;
|
|
13
|
+
export declare function assertTypeVecNode(node: Node | null): asserts node is TypeVecNode;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Dependency } from '../visitors';
|
|
2
|
+
export type ValueNode = ScalarValueNode | PublicKeyValueNode | ListValueNode | TupleValueNode | SetValueNode | MapValueNode | OptionValueNode | StructValueNode | EnumValueNode;
|
|
3
|
+
export type ScalarValueNode = {
|
|
4
|
+
__kind: 'number';
|
|
5
|
+
value: number;
|
|
6
|
+
} | {
|
|
7
|
+
__kind: 'boolean';
|
|
8
|
+
value: boolean;
|
|
9
|
+
} | {
|
|
10
|
+
__kind: 'string';
|
|
11
|
+
value: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const vScalar: (scalar: number | boolean | string) => ScalarValueNode;
|
|
14
|
+
export type PublicKeyValueNode = {
|
|
15
|
+
__kind: 'publicKey';
|
|
16
|
+
value: string;
|
|
17
|
+
};
|
|
18
|
+
export declare const vPublicKey: (value: string) => PublicKeyValueNode;
|
|
19
|
+
export type ListValueNode = {
|
|
20
|
+
__kind: 'list';
|
|
21
|
+
values: ValueNode[];
|
|
22
|
+
};
|
|
23
|
+
export declare const vList: (values: ValueNode[]) => ListValueNode;
|
|
24
|
+
export type TupleValueNode = {
|
|
25
|
+
__kind: 'tuple';
|
|
26
|
+
values: ValueNode[];
|
|
27
|
+
};
|
|
28
|
+
export declare const vTuple: (values: ValueNode[]) => TupleValueNode;
|
|
29
|
+
export type SetValueNode = {
|
|
30
|
+
__kind: 'set';
|
|
31
|
+
values: ValueNode[];
|
|
32
|
+
};
|
|
33
|
+
export declare const vSet: (values: ValueNode[]) => SetValueNode;
|
|
34
|
+
export type MapValueNode = {
|
|
35
|
+
__kind: 'map';
|
|
36
|
+
values: [ValueNode, ValueNode][];
|
|
37
|
+
};
|
|
38
|
+
export declare const vMap: (values: [ValueNode, ValueNode][]) => MapValueNode;
|
|
39
|
+
export type OptionValueNode = {
|
|
40
|
+
__kind: 'optionNone';
|
|
41
|
+
} | {
|
|
42
|
+
__kind: 'optionSome';
|
|
43
|
+
value: ValueNode;
|
|
44
|
+
};
|
|
45
|
+
export declare const vNone: () => OptionValueNode;
|
|
46
|
+
export declare const vSome: (value: ValueNode) => OptionValueNode;
|
|
47
|
+
export type StructValueNode = {
|
|
48
|
+
__kind: 'struct';
|
|
49
|
+
values: Record<string, ValueNode>;
|
|
50
|
+
};
|
|
51
|
+
export declare const vStruct: (values: Record<string, ValueNode>) => StructValueNode;
|
|
52
|
+
export type EnumValueNode = {
|
|
53
|
+
__kind: 'enum';
|
|
54
|
+
enumType: string;
|
|
55
|
+
variant: string;
|
|
56
|
+
value: StructValueNode | TupleValueNode | null;
|
|
57
|
+
dependency: Dependency | null;
|
|
58
|
+
};
|
|
59
|
+
export declare const vEnum: (enumType: string, variant: string, value?: StructValueNode | TupleValueNode | null, dependency?: Dependency | null) => EnumValueNode;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export * from './AccountNode';
|
|
2
|
+
export * from './DefinedTypeNode';
|
|
3
|
+
export * from './ErrorNode';
|
|
4
|
+
export * from './InstructionNode';
|
|
5
|
+
export * from './Node';
|
|
6
|
+
export * from './ProgramNode';
|
|
7
|
+
export * from './RootNode';
|
|
8
|
+
export * from './TypeArrayNode';
|
|
9
|
+
export * from './TypeDefinedLinkNode';
|
|
10
|
+
export * from './TypeEnumEmptyVariantNode';
|
|
11
|
+
export * from './TypeEnumNode';
|
|
12
|
+
export * from './TypeEnumStructVariantNode';
|
|
13
|
+
export * from './TypeEnumTupleVariantNode';
|
|
14
|
+
export * from './TypeEnumVariantNode';
|
|
15
|
+
export * from './TypeLeafNode';
|
|
16
|
+
export * from './TypeLeafWrapperNode';
|
|
17
|
+
export * from './TypeMapNode';
|
|
18
|
+
export * from './TypeNode';
|
|
19
|
+
export * from './TypeOptionNode';
|
|
20
|
+
export * from './TypeSetNode';
|
|
21
|
+
export * from './TypeStructNode';
|
|
22
|
+
export * from './TypeStructFieldNode';
|
|
23
|
+
export * from './TypeTupleNode';
|
|
24
|
+
export * from './TypeVecNode';
|
|
25
|
+
export * from './ValueNode';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class RenderMap {
|
|
2
|
+
protected readonly _map: Map<string, string>;
|
|
3
|
+
add(relativePath: string, code: string): RenderMap;
|
|
4
|
+
remove(relativePath: string): RenderMap;
|
|
5
|
+
mergeWith(...others: RenderMap[]): RenderMap;
|
|
6
|
+
isEmpty(): boolean;
|
|
7
|
+
write(path: string): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Visitor, BaseDelegateVisitor } from '../visitors';
|
|
2
|
+
import { RenderMap } from './RenderMap';
|
|
3
|
+
export declare class WriteRenderMapVisitor extends BaseDelegateVisitor<RenderMap, void> {
|
|
4
|
+
readonly visitor: Visitor<RenderMap>;
|
|
5
|
+
readonly path: string;
|
|
6
|
+
constructor(visitor: Visitor<RenderMap>, path: string);
|
|
7
|
+
map(renderMap: RenderMap): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ConfigureOptions } from 'nunjucks';
|
|
2
|
+
import { Options as PrettierOptions } from 'prettier';
|
|
3
|
+
import * as nodes from '../../nodes';
|
|
4
|
+
import { Visitor, BaseThrowVisitor, ResolvedInstructionAccount, Dependency } from '../../visitors';
|
|
5
|
+
import { RenderMap } from '../RenderMap';
|
|
6
|
+
import { JavaScriptTypeManifest } from './GetJavaScriptTypeManifestVisitor';
|
|
7
|
+
import { JavaScriptImportMap } from './JavaScriptImportMap';
|
|
8
|
+
export type GetJavaScriptRenderMapOptions = {
|
|
9
|
+
formatCode?: boolean;
|
|
10
|
+
prettierOptions?: PrettierOptions;
|
|
11
|
+
dependencyMap?: Record<Dependency, string>;
|
|
12
|
+
typeManifestVisitor?: Visitor<JavaScriptTypeManifest> & {
|
|
13
|
+
registerDefinedTypes?: (definedTypes: nodes.DefinedTypeNode[]) => void;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export declare class GetJavaScriptRenderMapVisitor extends BaseThrowVisitor<RenderMap> {
|
|
17
|
+
readonly options: Required<GetJavaScriptRenderMapOptions>;
|
|
18
|
+
private program;
|
|
19
|
+
private availableDefinedTypes;
|
|
20
|
+
private resolvedInstructionAccountVisitor;
|
|
21
|
+
constructor(options?: GetJavaScriptRenderMapOptions);
|
|
22
|
+
visitRoot(root: nodes.RootNode): RenderMap;
|
|
23
|
+
visitProgram(program: nodes.ProgramNode): RenderMap;
|
|
24
|
+
visitAccount(account: nodes.AccountNode): RenderMap;
|
|
25
|
+
visitInstruction(instruction: nodes.InstructionNode): RenderMap;
|
|
26
|
+
visitDefinedType(definedType: nodes.DefinedTypeNode): RenderMap;
|
|
27
|
+
get typeManifestVisitor(): Visitor<JavaScriptTypeManifest> & {
|
|
28
|
+
registerDefinedTypes?: ((definedTypes: nodes.DefinedTypeNode[]) => void) | undefined;
|
|
29
|
+
};
|
|
30
|
+
protected getInstructionAccountType(account: ResolvedInstructionAccount): string;
|
|
31
|
+
protected getInstructionAccountImports(accounts: ResolvedInstructionAccount[]): JavaScriptImportMap;
|
|
32
|
+
protected getMergeConflictsForInstructionAccountsAndArgs(instruction: nodes.InstructionNode): string[];
|
|
33
|
+
protected render(template: string, context?: object, options?: ConfigureOptions): string;
|
|
34
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as nodes from '../../nodes';
|
|
2
|
+
import { Visitor } from '../../visitors';
|
|
3
|
+
import { JavaScriptImportMap } from './JavaScriptImportMap';
|
|
4
|
+
export type JavaScriptTypeManifest = {
|
|
5
|
+
strictType: string;
|
|
6
|
+
looseType: string;
|
|
7
|
+
hasLooseType: boolean;
|
|
8
|
+
isEnum: boolean;
|
|
9
|
+
serializer: string;
|
|
10
|
+
imports: JavaScriptImportMap;
|
|
11
|
+
};
|
|
12
|
+
export declare class GetJavaScriptTypeManifestVisitor implements Visitor<JavaScriptTypeManifest> {
|
|
13
|
+
readonly serializerVariable: string;
|
|
14
|
+
private availableDefinedTypes;
|
|
15
|
+
private visitedDefinedTypes;
|
|
16
|
+
private definedTypeStack;
|
|
17
|
+
private definedName;
|
|
18
|
+
constructor(serializerVariable?: string);
|
|
19
|
+
registerDefinedTypes(definedTypes: nodes.DefinedTypeNode[]): void;
|
|
20
|
+
visitRoot(): JavaScriptTypeManifest;
|
|
21
|
+
visitProgram(): JavaScriptTypeManifest;
|
|
22
|
+
visitAccount(account: nodes.AccountNode): JavaScriptTypeManifest;
|
|
23
|
+
visitInstruction(instruction: nodes.InstructionNode): JavaScriptTypeManifest;
|
|
24
|
+
visitDefinedType(definedType: nodes.DefinedTypeNode): JavaScriptTypeManifest;
|
|
25
|
+
visitError(): JavaScriptTypeManifest;
|
|
26
|
+
visitTypeArray(typeArray: nodes.TypeArrayNode): JavaScriptTypeManifest;
|
|
27
|
+
visitTypeDefinedLink(typeDefinedLink: nodes.TypeDefinedLinkNode): JavaScriptTypeManifest;
|
|
28
|
+
visitTypeEnum(typeEnum: nodes.TypeEnumNode): JavaScriptTypeManifest;
|
|
29
|
+
visitTypeEnumEmptyVariant(typeEnumEmptyVariant: nodes.TypeEnumEmptyVariantNode): JavaScriptTypeManifest;
|
|
30
|
+
visitTypeEnumStructVariant(typeEnumStructVariant: nodes.TypeEnumStructVariantNode): JavaScriptTypeManifest;
|
|
31
|
+
visitTypeEnumTupleVariant(typeEnumTupleVariant: nodes.TypeEnumTupleVariantNode): JavaScriptTypeManifest;
|
|
32
|
+
visitTypeLeaf(typeLeaf: nodes.TypeLeafNode): JavaScriptTypeManifest;
|
|
33
|
+
visitTypeLeafWrapper(typeLeafWrapper: nodes.TypeLeafWrapperNode): JavaScriptTypeManifest;
|
|
34
|
+
visitTypeMap(typeMap: nodes.TypeMapNode): JavaScriptTypeManifest;
|
|
35
|
+
visitTypeOption(typeOption: nodes.TypeOptionNode): JavaScriptTypeManifest;
|
|
36
|
+
visitTypeSet(typeSet: nodes.TypeSetNode): JavaScriptTypeManifest;
|
|
37
|
+
visitTypeStruct(typeStruct: nodes.TypeStructNode): JavaScriptTypeManifest;
|
|
38
|
+
visitTypeStructField(typeStructField: nodes.TypeStructFieldNode): JavaScriptTypeManifest;
|
|
39
|
+
visitTypeTuple(typeTuple: nodes.TypeTupleNode): JavaScriptTypeManifest;
|
|
40
|
+
visitTypeVec(typeVec: nodes.TypeVecNode): JavaScriptTypeManifest;
|
|
41
|
+
protected s(name: string): string;
|
|
42
|
+
protected mergeManifests(manifests: JavaScriptTypeManifest[]): Pick<JavaScriptTypeManifest, 'imports' | 'hasLooseType' | 'isEnum'>;
|
|
43
|
+
protected createDocblock(docs: string[]): string;
|
|
44
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as nodes from '../../nodes';
|
|
2
|
+
import { GetDefaultValidatorBagVisitor, NodeStack, ValidatorBag } from '../../visitors';
|
|
3
|
+
export declare class GetJavaScriptValidatorBagVisitor extends GetDefaultValidatorBagVisitor {
|
|
4
|
+
protected exportMap: Map<string, {
|
|
5
|
+
node: nodes.Node;
|
|
6
|
+
stack: NodeStack;
|
|
7
|
+
exportType: string;
|
|
8
|
+
}>;
|
|
9
|
+
visitRoot(root: nodes.RootNode): ValidatorBag;
|
|
10
|
+
visitProgram(program: nodes.ProgramNode): ValidatorBag;
|
|
11
|
+
visitAccount(account: nodes.AccountNode): ValidatorBag;
|
|
12
|
+
visitInstruction(instruction: nodes.InstructionNode): ValidatorBag;
|
|
13
|
+
visitDefinedType(definedType: nodes.DefinedTypeNode): ValidatorBag;
|
|
14
|
+
visitError(error: nodes.ErrorNode): ValidatorBag;
|
|
15
|
+
visitTypeLeafWrapper(typeLeafWrapper: nodes.TypeLeafWrapperNode): ValidatorBag;
|
|
16
|
+
protected checkExportConflicts(node: nodes.Node, exports: Record<string, string>): ValidatorBag;
|
|
17
|
+
protected isEponymousExport(node: nodes.Node, exportName: string): boolean;
|
|
18
|
+
protected getNodeTitle(node: nodes.Node): string;
|
|
19
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Dependency } from '../../visitors';
|
|
2
|
+
export declare class JavaScriptImportMap {
|
|
3
|
+
protected readonly _imports: Map<Dependency, Set<string>>;
|
|
4
|
+
protected readonly _aliases: Map<Dependency, Record<string, string>>;
|
|
5
|
+
add(module: Dependency, imports: string | string[] | Set<string>): JavaScriptImportMap;
|
|
6
|
+
remove(module: Dependency, imports: string | string[] | Set<string>): JavaScriptImportMap;
|
|
7
|
+
mergeWith(...others: JavaScriptImportMap[]): JavaScriptImportMap;
|
|
8
|
+
addAlias(module: Dependency, name: string, alias: string): JavaScriptImportMap;
|
|
9
|
+
isEmpty(): boolean;
|
|
10
|
+
toString(dependencies: Record<Dependency, string>): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as nodes from '../../nodes';
|
|
2
|
+
import { JavaScriptImportMap } from './JavaScriptImportMap';
|
|
3
|
+
export declare function renderJavaScriptValueNode(value: nodes.ValueNode, types: Map<string, nodes.DefinedTypeNode>): {
|
|
4
|
+
imports: JavaScriptImportMap;
|
|
5
|
+
render: string;
|
|
6
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { LogLevel } from '../../logs';
|
|
2
|
+
import * as nodes from '../../nodes';
|
|
3
|
+
import { BaseThrowVisitor } from '../../visitors';
|
|
4
|
+
import { GetJavaScriptRenderMapOptions } from './GetJavaScriptRenderMapVisitor';
|
|
5
|
+
export type RenderJavaScriptOptions = GetJavaScriptRenderMapOptions & {
|
|
6
|
+
deleteFolderBeforeRendering?: boolean;
|
|
7
|
+
throwLevel?: LogLevel;
|
|
8
|
+
};
|
|
9
|
+
export declare class RenderJavaScriptVisitor extends BaseThrowVisitor<void> {
|
|
10
|
+
readonly path: string;
|
|
11
|
+
readonly options: RenderJavaScriptOptions;
|
|
12
|
+
constructor(path: string, options?: RenderJavaScriptOptions);
|
|
13
|
+
visitRoot(root: nodes.RootNode): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './GetJavaScriptRenderMapVisitor';
|
|
2
|
+
export * from './GetJavaScriptTypeManifestVisitor';
|
|
3
|
+
export * from './GetJavaScriptValidatorBagVisitor';
|
|
4
|
+
export * from './RenderJavaScriptValueNode';
|
|
5
|
+
export * from './JavaScriptImportMap';
|
|
6
|
+
export * from './RenderJavaScriptVisitor';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ConfigureOptions } from 'nunjucks';
|
|
2
|
+
export declare const createDirectory: (path: string) => void;
|
|
3
|
+
export declare const createFile: (path: string, content: string) => void;
|
|
4
|
+
export declare const resolveTemplate: (directory: string, file: string, context?: object, options?: ConfigureOptions) => string;
|
|
5
|
+
export declare const deleteFolder: (path: string) => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function readJson<T extends object>(value: string): T;
|
|
2
|
+
export declare function capitalize(str: string): string;
|
|
3
|
+
export declare function titleCase(str: string): string;
|
|
4
|
+
export declare function pascalCase(str: string): string;
|
|
5
|
+
export declare function camelCase(str: string): string;
|
|
6
|
+
export declare function kebabCase(str: string): string;
|
|
7
|
+
export declare function snakeCase(str: string): string;
|
|
8
|
+
export declare function mainCase(str: string): string;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type * as nodes from '../nodes';
|
|
2
|
+
import { Visitor } from './Visitor';
|
|
3
|
+
export declare abstract class BaseDelegateVisitor<T, U> implements Visitor<U> {
|
|
4
|
+
readonly visitor: Visitor<T>;
|
|
5
|
+
constructor(visitor: Visitor<T>);
|
|
6
|
+
abstract map(value: T): U;
|
|
7
|
+
visitRoot(root: nodes.RootNode): U;
|
|
8
|
+
visitProgram(program: nodes.ProgramNode): U;
|
|
9
|
+
visitAccount(account: nodes.AccountNode): U;
|
|
10
|
+
visitInstruction(instruction: nodes.InstructionNode): U;
|
|
11
|
+
visitDefinedType(definedType: nodes.DefinedTypeNode): U;
|
|
12
|
+
visitError(error: nodes.ErrorNode): U;
|
|
13
|
+
visitTypeArray(typeArray: nodes.TypeArrayNode): U;
|
|
14
|
+
visitTypeDefinedLink(typeDefinedLink: nodes.TypeDefinedLinkNode): U;
|
|
15
|
+
visitTypeEnum(typeEnum: nodes.TypeEnumNode): U;
|
|
16
|
+
visitTypeEnumEmptyVariant(typeEnumEmptyVariant: nodes.TypeEnumEmptyVariantNode): U;
|
|
17
|
+
visitTypeEnumStructVariant(typeEnumStructVariant: nodes.TypeEnumStructVariantNode): U;
|
|
18
|
+
visitTypeEnumTupleVariant(typeEnumTupleVariant: nodes.TypeEnumTupleVariantNode): U;
|
|
19
|
+
visitTypeLeaf(typeLeaf: nodes.TypeLeafNode): U;
|
|
20
|
+
visitTypeLeafWrapper(typeLeafWrapper: nodes.TypeLeafWrapperNode): U;
|
|
21
|
+
visitTypeMap(typeMap: nodes.TypeMapNode): U;
|
|
22
|
+
visitTypeOption(typeOption: nodes.TypeOptionNode): U;
|
|
23
|
+
visitTypeSet(typeSet: nodes.TypeSetNode): U;
|
|
24
|
+
visitTypeStruct(typeStruct: nodes.TypeStructNode): U;
|
|
25
|
+
visitTypeStructField(typeStructField: nodes.TypeStructFieldNode): U;
|
|
26
|
+
visitTypeTuple(typeTuple: nodes.TypeTupleNode): U;
|
|
27
|
+
visitTypeVec(typeVec: nodes.TypeVecNode): U;
|
|
28
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Visitor } from './Visitor';
|
|
2
|
+
import * as nodes from '../nodes';
|
|
3
|
+
export declare class BaseNodeOrNullVisitor implements Visitor<nodes.Node | null> {
|
|
4
|
+
visitRoot(root: nodes.RootNode): nodes.Node | null;
|
|
5
|
+
visitProgram(program: nodes.ProgramNode): nodes.Node | null;
|
|
6
|
+
visitAccount(account: nodes.AccountNode): nodes.Node | null;
|
|
7
|
+
visitInstruction(instruction: nodes.InstructionNode): nodes.Node | null;
|
|
8
|
+
visitDefinedType(definedType: nodes.DefinedTypeNode): nodes.Node | null;
|
|
9
|
+
visitError(error: nodes.ErrorNode): nodes.Node | null;
|
|
10
|
+
visitTypeArray(typeArray: nodes.TypeArrayNode): nodes.Node | null;
|
|
11
|
+
visitTypeDefinedLink(typeDefinedLink: nodes.TypeDefinedLinkNode): nodes.Node | null;
|
|
12
|
+
visitTypeEnum(typeEnum: nodes.TypeEnumNode): nodes.Node | null;
|
|
13
|
+
visitTypeEnumEmptyVariant(typeEnumEmptyVariant: nodes.TypeEnumEmptyVariantNode): nodes.Node | null;
|
|
14
|
+
visitTypeEnumStructVariant(typeEnumStructVariant: nodes.TypeEnumStructVariantNode): nodes.Node | null;
|
|
15
|
+
visitTypeEnumTupleVariant(typeEnumTupleVariant: nodes.TypeEnumTupleVariantNode): nodes.Node | null;
|
|
16
|
+
visitTypeLeaf(typeLeaf: nodes.TypeLeafNode): nodes.Node | null;
|
|
17
|
+
visitTypeLeafWrapper(typeLeafWrapper: nodes.TypeLeafWrapperNode): nodes.Node | null;
|
|
18
|
+
visitTypeMap(typeMap: nodes.TypeMapNode): nodes.Node | null;
|
|
19
|
+
visitTypeOption(typeOption: nodes.TypeOptionNode): nodes.Node | null;
|
|
20
|
+
visitTypeSet(typeSet: nodes.TypeSetNode): nodes.Node | null;
|
|
21
|
+
visitTypeStruct(typeStruct: nodes.TypeStructNode): nodes.Node | null;
|
|
22
|
+
visitTypeStructField(typeStructField: nodes.TypeStructFieldNode): nodes.Node | null;
|
|
23
|
+
visitTypeTuple(typeTuple: nodes.TypeTupleNode): nodes.Node | null;
|
|
24
|
+
visitTypeVec(typeVec: nodes.TypeVecNode): nodes.Node | null;
|
|
25
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Visitor } from './Visitor';
|
|
2
|
+
import * as nodes from '../nodes';
|
|
3
|
+
export declare class BaseNodeVisitor implements Visitor<nodes.Node> {
|
|
4
|
+
visitRoot(root: nodes.RootNode): nodes.Node;
|
|
5
|
+
visitProgram(program: nodes.ProgramNode): nodes.Node;
|
|
6
|
+
visitAccount(account: nodes.AccountNode): nodes.Node;
|
|
7
|
+
visitInstruction(instruction: nodes.InstructionNode): nodes.Node;
|
|
8
|
+
visitDefinedType(definedType: nodes.DefinedTypeNode): nodes.Node;
|
|
9
|
+
visitError(error: nodes.ErrorNode): nodes.Node;
|
|
10
|
+
visitTypeArray(typeArray: nodes.TypeArrayNode): nodes.Node;
|
|
11
|
+
visitTypeDefinedLink(typeDefinedLink: nodes.TypeDefinedLinkNode): nodes.Node;
|
|
12
|
+
visitTypeEnum(typeEnum: nodes.TypeEnumNode): nodes.Node;
|
|
13
|
+
visitTypeEnumEmptyVariant(typeEnumEmptyVariant: nodes.TypeEnumEmptyVariantNode): nodes.Node;
|
|
14
|
+
visitTypeEnumStructVariant(typeEnumStructVariant: nodes.TypeEnumStructVariantNode): nodes.Node;
|
|
15
|
+
visitTypeEnumTupleVariant(typeEnumTupleVariant: nodes.TypeEnumTupleVariantNode): nodes.Node;
|
|
16
|
+
visitTypeLeaf(typeLeaf: nodes.TypeLeafNode): nodes.Node;
|
|
17
|
+
visitTypeLeafWrapper(typeLeafWrapper: nodes.TypeLeafWrapperNode): nodes.Node;
|
|
18
|
+
visitTypeMap(typeMap: nodes.TypeMapNode): nodes.Node;
|
|
19
|
+
visitTypeOption(typeOption: nodes.TypeOptionNode): nodes.Node;
|
|
20
|
+
visitTypeSet(typeSet: nodes.TypeSetNode): nodes.Node;
|
|
21
|
+
visitTypeStruct(typeStruct: nodes.TypeStructNode): nodes.Node;
|
|
22
|
+
visitTypeStructField(typeStructField: nodes.TypeStructFieldNode): nodes.Node;
|
|
23
|
+
visitTypeTuple(typeTuple: nodes.TypeTupleNode): nodes.Node;
|
|
24
|
+
visitTypeVec(typeVec: nodes.TypeVecNode): nodes.Node;
|
|
25
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as nodes from '../nodes';
|
|
2
|
+
import type { Visitor } from './Visitor';
|
|
3
|
+
export declare class BaseThrowVisitor<T> implements Visitor<T> {
|
|
4
|
+
visitRoot(root: nodes.RootNode): T;
|
|
5
|
+
visitProgram(program: nodes.ProgramNode): T;
|
|
6
|
+
visitAccount(account: nodes.AccountNode): T;
|
|
7
|
+
visitInstruction(instruction: nodes.InstructionNode): T;
|
|
8
|
+
visitDefinedType(definedType: nodes.DefinedTypeNode): T;
|
|
9
|
+
visitError(error: nodes.ErrorNode): T;
|
|
10
|
+
visitTypeArray(typeArray: nodes.TypeArrayNode): T;
|
|
11
|
+
visitTypeDefinedLink(typeDefinedLink: nodes.TypeDefinedLinkNode): T;
|
|
12
|
+
visitTypeEnum(typeEnum: nodes.TypeEnumNode): T;
|
|
13
|
+
visitTypeEnumEmptyVariant(typeEnumEmptyVariant: nodes.TypeEnumEmptyVariantNode): T;
|
|
14
|
+
visitTypeEnumStructVariant(typeEnumStructVariant: nodes.TypeEnumStructVariantNode): T;
|
|
15
|
+
visitTypeEnumTupleVariant(typeEnumTupleVariant: nodes.TypeEnumTupleVariantNode): T;
|
|
16
|
+
visitTypeLeaf(typeLeaf: nodes.TypeLeafNode): T;
|
|
17
|
+
visitTypeLeafWrapper(typeLeafWrapper: nodes.TypeLeafWrapperNode): T;
|
|
18
|
+
visitTypeMap(typeMap: nodes.TypeMapNode): T;
|
|
19
|
+
visitTypeOption(typeOption: nodes.TypeOptionNode): T;
|
|
20
|
+
visitTypeSet(typeSet: nodes.TypeSetNode): T;
|
|
21
|
+
visitTypeStruct(typeStruct: nodes.TypeStructNode): T;
|
|
22
|
+
visitTypeStructField(typeStructField: nodes.TypeStructFieldNode): T;
|
|
23
|
+
visitTypeTuple(typeTuple: nodes.TypeTupleNode): T;
|
|
24
|
+
visitTypeVec(typeVec: nodes.TypeVecNode): T;
|
|
25
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as nodes from '../nodes';
|
|
2
|
+
import type { Visitor } from './Visitor';
|
|
3
|
+
export declare abstract class BaseVoidVisitor implements Visitor<void> {
|
|
4
|
+
visitRoot(root: nodes.RootNode): void;
|
|
5
|
+
visitProgram(program: nodes.ProgramNode): void;
|
|
6
|
+
visitAccount(account: nodes.AccountNode): void;
|
|
7
|
+
visitInstruction(instruction: nodes.InstructionNode): void;
|
|
8
|
+
visitDefinedType(definedType: nodes.DefinedTypeNode): void;
|
|
9
|
+
visitError(error: nodes.ErrorNode): void;
|
|
10
|
+
visitTypeArray(typeArray: nodes.TypeArrayNode): void;
|
|
11
|
+
visitTypeDefinedLink(typeDefinedLink: nodes.TypeDefinedLinkNode): void;
|
|
12
|
+
visitTypeEnum(typeEnum: nodes.TypeEnumNode): void;
|
|
13
|
+
visitTypeEnumEmptyVariant(typeEnumEmptyVariant: nodes.TypeEnumEmptyVariantNode): void;
|
|
14
|
+
visitTypeEnumStructVariant(typeEnumStructVariant: nodes.TypeEnumStructVariantNode): void;
|
|
15
|
+
visitTypeEnumTupleVariant(typeEnumTupleVariant: nodes.TypeEnumTupleVariantNode): void;
|
|
16
|
+
visitTypeLeaf(typeLeaf: nodes.TypeLeafNode): void;
|
|
17
|
+
visitTypeLeafWrapper(typeLeafWrapper: nodes.TypeLeafWrapperNode): void;
|
|
18
|
+
visitTypeMap(typeMap: nodes.TypeMapNode): void;
|
|
19
|
+
visitTypeOption(typeOption: nodes.TypeOptionNode): void;
|
|
20
|
+
visitTypeSet(typeSet: nodes.TypeSetNode): void;
|
|
21
|
+
visitTypeStruct(typeStruct: nodes.TypeStructNode): void;
|
|
22
|
+
visitTypeStructField(typeStructField: nodes.TypeStructFieldNode): void;
|
|
23
|
+
visitTypeTuple(typeTuple: nodes.TypeTupleNode): void;
|
|
24
|
+
visitTypeVec(typeVec: nodes.TypeVecNode): void;
|
|
25
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tells Kinobi where a dependency is located.
|
|
3
|
+
* This could be a recognized dependency, or any other string
|
|
4
|
+
* as long as renderers know how to map them into real libraries.
|
|
5
|
+
*/
|
|
6
|
+
export type Dependency = RelativeDependecy | 'core' | 'mplEssentials' | 'mplDigitalAsset' | string;
|
|
7
|
+
/**
|
|
8
|
+
* Tells Kinobi where a local dependency is located.
|
|
9
|
+
* - `generated` means the dependency is located in the `generated` folder.
|
|
10
|
+
* - `root` means the dependency is located in the source folder, outside of the `generated` folder.
|
|
11
|
+
* - `rootHooked` means the dependency is located outside of the `generated` folder, in a
|
|
12
|
+
* special folder that is used internally by the auto-generated code.
|
|
13
|
+
*
|
|
14
|
+
* These can be interpreted by renderers as they see fit as different languages
|
|
15
|
+
* have different ways of importing local files.
|
|
16
|
+
*/
|
|
17
|
+
export type RelativeDependecy = 'generated' | 'root' | 'rootHooked';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as nodes from '../nodes';
|
|
2
|
+
import type { NodeStack } from './NodeStack';
|
|
3
|
+
export type NodeSelectorType = 'program' | 'instruction' | 'account' | 'definedType' | 'error' | 'typeDefinedLink' | 'typeStruct' | 'typeLeaf';
|
|
4
|
+
export type NodeSelector = {
|
|
5
|
+
type: NodeSelectorType | '*';
|
|
6
|
+
name?: string;
|
|
7
|
+
stack?: string | string[];
|
|
8
|
+
program?: string;
|
|
9
|
+
} | NodeSelectorFunction;
|
|
10
|
+
export type NodeSelectorFunction = (node: nodes.Node, stack: NodeStack, program: nodes.ProgramNode | null) => boolean;
|
|
11
|
+
export declare const toNodeSelectorFunction: (selector: NodeSelector) => NodeSelectorFunction;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as nodes from '../nodes';
|
|
2
|
+
export declare class NodeStack {
|
|
3
|
+
private readonly stack;
|
|
4
|
+
constructor(stack?: nodes.Node[]);
|
|
5
|
+
push(node: nodes.Node): void;
|
|
6
|
+
pop(): nodes.Node | undefined;
|
|
7
|
+
peek(): nodes.Node | undefined;
|
|
8
|
+
all(): nodes.Node[];
|
|
9
|
+
isEmpty(): boolean;
|
|
10
|
+
clone(): NodeStack;
|
|
11
|
+
toString(): string;
|
|
12
|
+
toStringArray(): string[];
|
|
13
|
+
matchesWithNames(names: string[]): boolean;
|
|
14
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LogLevel } from '../logs';
|
|
2
|
+
import * as nodes from '../nodes';
|
|
3
|
+
import { NodeStack } from './NodeStack';
|
|
4
|
+
export type ValidatorItem = {
|
|
5
|
+
message: string;
|
|
6
|
+
level: LogLevel;
|
|
7
|
+
node: nodes.Node;
|
|
8
|
+
stack: NodeStack;
|
|
9
|
+
};
|
|
10
|
+
export declare class ValidatorBag {
|
|
11
|
+
readonly items: ValidatorItem[];
|
|
12
|
+
constructor(items?: ValidatorItem[]);
|
|
13
|
+
add(item: ValidatorItem): ValidatorBag;
|
|
14
|
+
mergeWith(others: ValidatorBag[]): ValidatorBag;
|
|
15
|
+
error(message: string, node: nodes.Node, stack: NodeStack): ValidatorBag;
|
|
16
|
+
warn(message: string, node: nodes.Node, stack: NodeStack): ValidatorBag;
|
|
17
|
+
info(message: string, node: nodes.Node, stack: NodeStack): ValidatorBag;
|
|
18
|
+
trace(message: string, node: nodes.Node, stack: NodeStack): ValidatorBag;
|
|
19
|
+
debug(message: string, node: nodes.Node, stack: NodeStack): ValidatorBag;
|
|
20
|
+
orderByLevel(): ValidatorBag;
|
|
21
|
+
log(): void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type * as nodes from '../nodes';
|
|
2
|
+
export interface Visitor<T = void> {
|
|
3
|
+
visitRoot: (root: nodes.RootNode) => T;
|
|
4
|
+
visitProgram: (program: nodes.ProgramNode) => T;
|
|
5
|
+
visitAccount: (account: nodes.AccountNode) => T;
|
|
6
|
+
visitInstruction: (instruction: nodes.InstructionNode) => T;
|
|
7
|
+
visitDefinedType: (definedType: nodes.DefinedTypeNode) => T;
|
|
8
|
+
visitError: (error: nodes.ErrorNode) => T;
|
|
9
|
+
visitTypeArray: (typeArray: nodes.TypeArrayNode) => T;
|
|
10
|
+
visitTypeDefinedLink: (typeDefinedLink: nodes.TypeDefinedLinkNode) => T;
|
|
11
|
+
visitTypeEnum: (typeEnum: nodes.TypeEnumNode) => T;
|
|
12
|
+
visitTypeEnumEmptyVariant: (typeEnumEmptyVariant: nodes.TypeEnumEmptyVariantNode) => T;
|
|
13
|
+
visitTypeEnumStructVariant: (typeEnumStructVariant: nodes.TypeEnumStructVariantNode) => T;
|
|
14
|
+
visitTypeEnumTupleVariant: (typeEnumTupleVariant: nodes.TypeEnumTupleVariantNode) => T;
|
|
15
|
+
visitTypeLeaf: (typeLeaf: nodes.TypeLeafNode) => T;
|
|
16
|
+
visitTypeLeafWrapper: (typeLeafWrapper: nodes.TypeLeafWrapperNode) => T;
|
|
17
|
+
visitTypeMap: (typeMap: nodes.TypeMapNode) => T;
|
|
18
|
+
visitTypeOption: (typeOption: nodes.TypeOptionNode) => T;
|
|
19
|
+
visitTypeSet: (typeSet: nodes.TypeSetNode) => T;
|
|
20
|
+
visitTypeStruct: (typeStruct: nodes.TypeStructNode) => T;
|
|
21
|
+
visitTypeStructField: (typeStructField: nodes.TypeStructFieldNode) => T;
|
|
22
|
+
visitTypeTuple: (typeTuple: nodes.TypeTupleNode) => T;
|
|
23
|
+
visitTypeVec: (typeVec: nodes.TypeVecNode) => T;
|
|
24
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as nodes from '../../nodes';
|
|
2
|
+
import { BaseThrowVisitor } from '../BaseThrowVisitor';
|
|
3
|
+
export declare class GetByteSizeVisitor extends BaseThrowVisitor<number | null> {
|
|
4
|
+
private availableDefinedTypes;
|
|
5
|
+
private visitedDefinedTypes;
|
|
6
|
+
private definedTypeStack;
|
|
7
|
+
registerDefinedTypes(definedTypes: nodes.DefinedTypeNode[]): void;
|
|
8
|
+
visitAccount(account: nodes.AccountNode): number | null;
|
|
9
|
+
visitInstruction(instruction: nodes.InstructionNode): number | null;
|
|
10
|
+
visitDefinedType(definedType: nodes.DefinedTypeNode): number | null;
|
|
11
|
+
visitTypeArray(typeArray: nodes.TypeArrayNode): number | null;
|
|
12
|
+
visitTypeDefinedLink(typeDefinedLink: nodes.TypeDefinedLinkNode): number | null;
|
|
13
|
+
visitTypeEnum(typeEnum: nodes.TypeEnumNode): number | null;
|
|
14
|
+
visitTypeEnumEmptyVariant(): number | null;
|
|
15
|
+
visitTypeEnumStructVariant(typeEnumStructVariant: nodes.TypeEnumStructVariantNode): number | null;
|
|
16
|
+
visitTypeEnumTupleVariant(typeEnumTupleVariant: nodes.TypeEnumTupleVariantNode): number | null;
|
|
17
|
+
visitTypeLeaf(typeLeaf: nodes.TypeLeafNode): number | null;
|
|
18
|
+
visitTypeLeafWrapper(typeLeafWrapper: nodes.TypeLeafWrapperNode): number | null;
|
|
19
|
+
visitTypeMap(): number | null;
|
|
20
|
+
visitTypeOption(typeOption: nodes.TypeOptionNode): number | null;
|
|
21
|
+
visitTypeSet(): number | null;
|
|
22
|
+
visitTypeStruct(typeStruct: nodes.TypeStructNode): number | null;
|
|
23
|
+
visitTypeStructField(typeStructField: nodes.TypeStructFieldNode): number | null;
|
|
24
|
+
visitTypeTuple(typeTuple: nodes.TypeTupleNode): number | null;
|
|
25
|
+
visitTypeVec(): number | null;
|
|
26
|
+
protected sumSizes(sizes: (number | null)[]): number | null;
|
|
27
|
+
}
|