UNPKG

@codama/renderers-rust

Version:
1 lines 110 kB
{"version":3,"sources":["../src/ImportMap.ts","../src/utils/codecs.ts","../src/renderValueNodeVisitor.ts","../src/utils/discriminatorConstant.ts","../src/utils/linkOverrides.ts","../src/utils/render.ts","../src/utils/traitOptions.ts","../src/getTypeManifestVisitor.ts","../src/getRenderMapVisitor.ts","../src/renderVisitor.ts"],"names":["render","visit","isNode","dirname","pathDirname","pascalCase","camelCase","snakeCase","traits","getTraitsFromNode","CodamaError","pipe","extendVisitor","resolveNestedTypeNode","seedManifest","resolvedType","isNodeFilter","VALUE_NODES","logWarn"],"mappings":"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","file":"index.node.mjs","sourcesContent":["import { TypeManifest } from './getTypeManifestVisitor';\n\nconst DEFAULT_MODULE_MAP: Record<string, string> = {\n generated: 'crate::generated',\n generatedAccounts: 'crate::generated::accounts',\n generatedErrors: 'crate::generated::errors',\n generatedInstructions: 'crate::generated::instructions',\n generatedTypes: 'crate::generated::types',\n hooked: 'crate::hooked',\n mplEssentials: 'mpl_toolbox',\n mplToolbox: 'mpl_toolbox',\n};\n\nexport class ImportMap {\n protected readonly _imports: Set<string> = new Set();\n\n protected readonly _aliases: Map<string, string> = new Map();\n\n get imports(): Set<string> {\n return this._imports;\n }\n\n get aliases(): Map<string, string> {\n return this._aliases;\n }\n\n add(imports: Set<string> | string[] | string): ImportMap {\n const newImports = typeof imports === 'string' ? [imports] : imports;\n newImports.forEach(i => this._imports.add(i));\n return this;\n }\n\n remove(imports: Set<string> | string[] | string): ImportMap {\n const importsToRemove = typeof imports === 'string' ? [imports] : imports;\n importsToRemove.forEach(i => this._imports.delete(i));\n return this;\n }\n\n mergeWith(...others: ImportMap[]): ImportMap {\n others.forEach(other => {\n this.add(other._imports);\n other._aliases.forEach((alias, importName) => this.addAlias(importName, alias));\n });\n return this;\n }\n\n mergeWithManifest(manifest: TypeManifest): ImportMap {\n return this.mergeWith(manifest.imports);\n }\n\n addAlias(importName: string, alias: string): ImportMap {\n this._aliases.set(importName, alias);\n return this;\n }\n\n isEmpty(): boolean {\n return this._imports.size === 0;\n }\n\n resolveDependencyMap(dependencies: Record<string, string>): ImportMap {\n const dependencyMap = { ...DEFAULT_MODULE_MAP, ...dependencies };\n const newImportMap = new ImportMap();\n const resolveDependency = (i: string): string => {\n const dependencyKey = Object.keys(dependencyMap).find(key => i.startsWith(`${key}::`));\n if (!dependencyKey) return i;\n const dependencyValue = dependencyMap[dependencyKey];\n return dependencyValue + i.slice(dependencyKey.length);\n };\n this._imports.forEach(i => newImportMap.add(resolveDependency(i)));\n this._aliases.forEach((alias, i) => newImportMap.addAlias(resolveDependency(i), alias));\n return newImportMap;\n }\n\n toString(dependencies: Record<string, string>): string {\n const resolvedMap = this.resolveDependencyMap(dependencies);\n const importStatements = [...resolvedMap.imports].map(i => {\n const alias = resolvedMap.aliases.get(i);\n if (alias) return `use ${i} as ${alias};`;\n return `use ${i};`;\n });\n return importStatements.join('\\n');\n }\n}\n","import { BytesValueNode } from '@codama/nodes';\nimport { getBase16Encoder, getBase58Encoder, getBase64Encoder, getUtf8Encoder } from '@solana/codecs-strings';\n\nexport function getBytesFromBytesValueNode(node: BytesValueNode): Uint8Array {\n switch (node.encoding) {\n case 'utf8':\n return getUtf8Encoder().encode(node.data) as Uint8Array;\n case 'base16':\n return getBase16Encoder().encode(node.data) as Uint8Array;\n case 'base58':\n return getBase58Encoder().encode(node.data) as Uint8Array;\n case 'base64':\n default:\n return getBase64Encoder().encode(node.data) as Uint8Array;\n }\n}\n","import {\n arrayValueNode,\n bytesValueNode,\n isNode,\n numberValueNode,\n pascalCase,\n RegisteredValueNode,\n ValueNode,\n} from '@codama/nodes';\nimport { visit, Visitor } from '@codama/visitors-core';\n\nimport { ImportMap } from './ImportMap';\nimport { getBytesFromBytesValueNode, GetImportFromFunction } from './utils';\n\nexport function renderValueNode(\n value: ValueNode,\n getImportFrom: GetImportFromFunction,\n useStr: boolean = false,\n): {\n imports: ImportMap;\n render: string;\n} {\n return visit(value, renderValueNodeVisitor(getImportFrom, useStr));\n}\n\nexport function renderValueNodeVisitor(\n getImportFrom: GetImportFromFunction,\n useStr: boolean = false,\n): Visitor<\n {\n imports: ImportMap;\n render: string;\n },\n RegisteredValueNode['kind']\n> {\n return {\n visitArrayValue(node) {\n const list = node.items.map(v => visit(v, this));\n return {\n imports: new ImportMap().mergeWith(...list.map(c => c.imports)),\n render: `[${list.map(c => c.render).join(', ')}]`,\n };\n },\n visitBooleanValue(node) {\n return {\n imports: new ImportMap(),\n render: JSON.stringify(node.boolean),\n };\n },\n visitBytesValue(node) {\n const bytes = getBytesFromBytesValueNode(node);\n const numbers = Array.from(bytes).map(numberValueNode);\n return visit(arrayValueNode(numbers), this);\n },\n visitConstantValue(node) {\n if (isNode(node.value, 'bytesValueNode')) {\n return visit(node.value, this);\n }\n if (isNode(node.type, 'stringTypeNode') && isNode(node.value, 'stringValueNode')) {\n return visit(bytesValueNode(node.type.encoding, node.value.string), this);\n }\n if (isNode(node.type, 'numberTypeNode') && isNode(node.value, 'numberValueNode')) {\n const numberManifest = visit(node.value, this);\n const { format, endian } = node.type;\n const byteFunction = endian === 'le' ? 'to_le_bytes' : 'to_be_bytes';\n numberManifest.render = `${numberManifest.render}${format}.${byteFunction}()`;\n return numberManifest;\n }\n throw new Error('Unsupported constant value type.');\n },\n visitEnumValue(node) {\n const imports = new ImportMap();\n const enumName = pascalCase(node.enum.name);\n const variantName = pascalCase(node.variant);\n const importFrom = getImportFrom(node.enum);\n imports.add(`${importFrom}::${enumName}`);\n if (!node.value) {\n return { imports, render: `${enumName}::${variantName}` };\n }\n const enumValue = visit(node.value, this);\n const fields = enumValue.render;\n return {\n imports: imports.mergeWith(enumValue.imports),\n render: `${enumName}::${variantName} ${fields}`,\n };\n },\n visitMapEntryValue(node) {\n const mapKey = visit(node.key, this);\n const mapValue = visit(node.value, this);\n return {\n imports: mapKey.imports.mergeWith(mapValue.imports),\n render: `[${mapKey.render}, ${mapValue.render}]`,\n };\n