{"_id":"@btc-vision/visitor-as","_rev":"6-79dcafb96fec3c02b0221f4afeb63859","name":"@btc-vision/visitor-as","dist-tags":{"latest":"0.13.0"},"versions":{"0.11.5":{"name":"@btc-vision/visitor-as","version":"0.11.5","author":{"name":"Willem Wyndham"},"license":"MIT","_id":"@btc-vision/visitor-as@0.11.5","maintainers":[{"name":"blobmaster41","email":"anakun@opnet.org"}],"homepage":"https://github.com/as-pect/visitor-as#readme","bugs":{"url":"https://github.com/as-pect/visitor-as/issues"},"dist":{"shasum":"6d9cd98743515525a217ce5f2c712c0a2c5bbb91","tarball":"https://registry.npmjs.org/@btc-vision/visitor-as/-/visitor-as-0.11.5.tgz","fileCount":44,"integrity":"sha512-pXhNtkfeS9KJBetLyePTRFJDz/32ysc6wwJb/+m3D73TAHxlpgt9DtZn9OASk4WlMREPvDXwNLV8XLTekg1plw==","signatures":[{"sig":"MEYCIQCF/BlSl8e31OBqkku/2MnL96lTrdKESDrMMy68DiOXawIhAK8OYPwdEifufixn8rqrIkvDSv5NWBIwR2F8raqnKCGI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":467757},"main":"dist/index.js","type":"module","types":"dist","gitHead":"5c41031760b6cc29434f1ad9399ac76e06cfb6bf","private":false,"scripts":{"test":"mocha","build":"rimraf dist/ && tsc -p src --skipLibCheck","test:mocha":"npx mocha"},"_npmUser":{"name":"blobmaster41","email":"anakun@opnet.org"},"repository":{"url":"git+https://github.com/as-pect/visitor-as.git","type":"git"},"_npmVersion":"10.9.2","description":"A generic visitor framework for AssemblyScript","directories":{},"_nodeVersion":"22.13.0","dependencies":{"ts-mixer":"^6.0.4","lodash.clonedeep":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.2","mocha":"^11.1.0","rimraf":"^6.0.1","ts-node":"^10.9.2","prettier":"^3.4.2","typescript":"^5.7.3","@types/node":"^22.12.0","assemblyscript":"^0.27.32","@assemblyscript/loader":"^0.27.32","@types/lodash.clonedeep":"^4.5.9"},"peerDependencies":{"@types/node":"^22.12.0","assemblyscript":"^0.27.0"},"_npmOperationalInternal":{"tmp":"tmp/visitor-as_0.11.5_1738292636820_0.18313192499183195","host":"s3://npm-registry-packages-npm-production"}},"0.11.6":{"name":"@btc-vision/visitor-as","version":"0.11.6","author":{"name":"Willem Wyndham"},"license":"MIT","_id":"@btc-vision/visitor-as@0.11.6","maintainers":[{"name":"blobmaster41","email":"anakun@opnet.org"}],"homepage":"https://github.com/as-pect/visitor-as#readme","bugs":{"url":"https://github.com/as-pect/visitor-as/issues"},"dist":{"shasum":"d7b3225f9e3815a6585abfb85965829851e62eff","tarball":"https://registry.npmjs.org/@btc-vision/visitor-as/-/visitor-as-0.11.6.tgz","fileCount":44,"integrity":"sha512-/lREl1ES5JAP9Uo3VNlKqBe3rzyCghBOputh6hbqkpWcd8RYVO4NLMQsY/6G8LjKDQi9UhFs7dz5WM/73m0x7A==","signatures":[{"sig":"MEYCIQCHESJf/4A60oynnsCaWA91uWnFxGY5Jo2OcMU9oY/GmwIhAL/fOdyQhg1/Ovh63sNkLLjZ5j8+7uhRK5l8Eo5Nw6t6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":467755},"main":"dist/index.js","type":"module","types":"dist","gitHead":"5c41031760b6cc29434f1ad9399ac76e06cfb6bf","private":false,"scripts":{"test":"mocha","build":"rimraf dist/ && tsc -p src --skipLibCheck","test:mocha":"npx mocha"},"_npmUser":{"name":"blobmaster41","email":"anakun@opnet.org"},"repository":{"url":"git+https://github.com/as-pect/visitor-as.git","type":"git"},"_npmVersion":"11.4.1","description":"A generic visitor framework for AssemblyScript","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ts-mixer":"^6.0.4","lodash.clonedeep":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.2.1","mocha":"^11.7.1","rimraf":"^6.0.1","ts-node":"^10.9.2","prettier":"^3.6.2","typescript":"^5.8.3","@types/node":"^24.0.13","assemblyscript":"^0.28.3","@assemblyscript/loader":"^0.28.3","@types/lodash.clonedeep":"^4.5.9"},"peerDependencies":{"@types/node":"^24.0.13","assemblyscript":"^0.28.3"},"_npmOperationalInternal":{"tmp":"tmp/visitor-as_0.11.6_1752456915998_0.35959589302467787","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@btc-vision/visitor-as","version":"0.12.0","author":{"name":"Willem Wyndham"},"license":"MIT","_id":"@btc-vision/visitor-as@0.12.0","maintainers":[{"name":"blobmaster41","email":"anakun@opnet.org"}],"homepage":"https://github.com/as-pect/visitor-as#readme","bugs":{"url":"https://github.com/as-pect/visitor-as/issues"},"dist":{"shasum":"cab9e5850e8c479526becc9eb575336975e9ed30","tarball":"https://registry.npmjs.org/@btc-vision/visitor-as/-/visitor-as-0.12.0.tgz","fileCount":45,"integrity":"sha512-heb9AjVUB4l8w8tePXZXW+9PKGeknKBmTkM7yCAb5o6Ag25Ps2GPaZ+4RL2ZQI0bmf/iFqJZCejvMDtekrztPw==","signatures":[{"sig":"MEUCICs0qKQ8V+GKdOA68BnIMoL0wYm8Z90x3pINmZbsSOy/AiEAnZ5i6oPvmU5QzUVVSFZ7Z9tp95RzltIS92o/Hj7fP0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":490717},"main":"dist/index.js","type":"module","types":"dist","gitHead":"198965d7259e17ba316d3d7289d75360db812f0a","private":false,"scripts":{"test":"mocha","build":"rimraf dist/ && tsc -p src --skipLibCheck","test:mocha":"npx mocha"},"_npmUser":{"name":"blobmaster41","email":"anakun@opnet.org"},"repository":{"url":"git+https://github.com/as-pect/visitor-as.git","type":"git"},"_npmVersion":"11.8.0","description":"A generic visitor framework for AssemblyScript","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ts-mixer":"^6.0.4","lodash.clonedeep":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^6.2.2","mocha":"^11.7.5","rimraf":"^6.1.2","ts-node":"^10.9.2","prettier":"^3.8.1","typescript":"^5.9.3","@types/node":"^25.2.0","@assemblyscript/loader":"^0.28.9","@types/lodash.clonedeep":"^4.5.9","@btc-vision/assemblyscript":"^0.29.2"},"peerDependencies":{"@types/node":"^24.0.13","@btc-vision/assemblyscript":"^0.29.1"},"_npmOperationalInternal":{"tmp":"tmp/visitor-as_0.12.0_1770271747955_0.6452272794489275","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@btc-vision/visitor-as","version":"0.12.1","author":{"name":"Willem Wyndham"},"license":"MIT","_id":"@btc-vision/visitor-as@0.12.1","maintainers":[{"name":"blobmaster41","email":"anakun@opnet.org"}],"homepage":"https://github.com/as-pect/visitor-as#readme","bugs":{"url":"https://github.com/as-pect/visitor-as/issues"},"dist":{"shasum":"4c121ed58adb1eeb91249ea8e1b5cb281a6e2b77","tarball":"https://registry.npmjs.org/@btc-vision/visitor-as/-/visitor-as-0.12.1.tgz","fileCount":45,"integrity":"sha512-c7ilOf98xy32fCwbToNVtW7i1/4iH7kIl+133s0XDC5lANSrxv8kOp91CSFn0yzMolf0KHsGG+j/arD2Pe1m3w==","signatures":[{"sig":"MEQCIHTxDn/OrefXdzP3NWE3Ey6UEblIVvcE3ny0dH6gpyqNAiAiX3KaYKU6Sk2bBrC4qFO4cf3/VBmjUjgHe/yTO6QmnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":490716},"main":"dist/index.js","type":"module","types":"dist","gitHead":"f3cf50b5d530da6e612f57ac0a5ee712f1edde6f","private":false,"scripts":{"test":"mocha","build":"rimraf dist/ && tsc -p src --skipLibCheck","test:mocha":"npx mocha"},"_npmUser":{"name":"blobmaster41","email":"anakun@opnet.org"},"repository":{"url":"git+https://github.com/as-pect/visitor-as.git","type":"git"},"_npmVersion":"11.8.0","description":"A generic visitor framework for AssemblyScript","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ts-mixer":"^6.0.4","lodash.clonedeep":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^6.2.2","mocha":"^11.7.5","rimraf":"^6.1.2","ts-node":"^10.9.2","prettier":"^3.8.1","typescript":"^5.9.3","@types/node":"^25.2.0","@assemblyscript/loader":"^0.28.9","@types/lodash.clonedeep":"^4.5.9","@btc-vision/assemblyscript":"^0.29.2"},"peerDependencies":{"@types/node":"^25.2.0","@btc-vision/assemblyscript":"^0.29.1"},"_npmOperationalInternal":{"tmp":"tmp/visitor-as_0.12.1_1770271861603_0.9929236417759129","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"@btc-vision/visitor-as","version":"0.12.2","author":{"name":"Willem Wyndham"},"license":"MIT","_id":"@btc-vision/visitor-as@0.12.2","maintainers":[{"name":"blobmaster41","email":"anakun@opnet.org"}],"homepage":"https://github.com/as-pect/visitor-as#readme","bugs":{"url":"https://github.com/as-pect/visitor-as/issues"},"dist":{"shasum":"b5702ad03a96a327b96ef5d963963cc31ff42b1f","tarball":"https://registry.npmjs.org/@btc-vision/visitor-as/-/visitor-as-0.12.2.tgz","fileCount":45,"integrity":"sha512-pZKfM1gobMgUL01ptKKhpLbEvekWQ7TyyOl4eG3KsbPG4QEGUr36ikFhmHutO950hNWZntct6yVGNLkifSbH3w==","signatures":[{"sig":"MEUCIQD9KgMx1ggl1gqKl84xP1WNUNlBSlBauBvmyO4LMv0DSAIgcuGLrDv0hlEkFzPU6w0u6jG/vP4WONrTWO8Xdvo+dqk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":479645},"main":"dist/index.js","type":"module","types":"dist","gitHead":"d53eb056198e28a6ab70e165e55e3b146d9cf914","private":false,"scripts":{"test":"mocha","build":"rimraf dist/ && tsc -p src --skipLibCheck","test:mocha":"npx mocha"},"_npmUser":{"name":"blobmaster41","email":"anakun@opnet.org"},"repository":{"url":"git+https://github.com/as-pect/visitor-as.git","type":"git"},"_npmVersion":"11.14.0","description":"A generic visitor framework for AssemblyScript","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ts-mixer":"^6.0.4","lodash.clonedeep":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^6.2.2","mocha":"^11.7.5","rimraf":"^6.1.3","ts-node":"^10.9.2","prettier":"^3.8.3","typescript":"^6.0.3","@types/node":"^25.6.1","@btc-vision/as-loader":"^0.0.0","@types/lodash.clonedeep":"^4.5.9","@btc-vision/assemblyscript":"^0.29.3"},"peerDependencies":{"@types/node":"^25.2.0","@btc-vision/assemblyscript":"^0.29.1"},"_npmOperationalInternal":{"tmp":"tmp/visitor-as_0.12.2_1778191987369_0.8401531494353252","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@btc-vision/visitor-as","version":"0.13.0","description":"A generic visitor framework for AssemblyScript","main":"dist/index.js","types":"dist","repository":{"type":"git","url":"git+https://github.com/as-pect/visitor-as.git"},"author":{"name":"Willem Wyndham"},"license":"MIT","private":false,"type":"module","scripts":{"test":"mocha","test:mocha":"npx mocha","build":"rimraf dist/ && tsc -p src --skipLibCheck"},"peerDependencies":{"@btc-vision/assemblyscript":"^0.29.1","@types/node":"^25.2.0"},"devDependencies":{"@btc-vision/as-loader":"^0.0.0","@btc-vision/assemblyscript":"^0.29.3","@types/lodash.clonedeep":"^4.5.9","@types/node":"^25.6.1","chai":"^6.2.2","mocha":"^11.7.5","prettier":"^3.8.3","rimraf":"^6.1.3","ts-node":"^10.9.2","typescript":"^6.0.3"},"dependencies":{"lodash.clonedeep":"^4.5.0","ts-mixer":"^6.0.4"},"gitHead":"d53eb056198e28a6ab70e165e55e3b146d9cf914","_id":"@btc-vision/visitor-as@0.13.0","bugs":{"url":"https://github.com/as-pect/visitor-as/issues"},"homepage":"https://github.com/as-pect/visitor-as#readme","_nodeVersion":"25.9.0","_npmVersion":"11.14.0","dist":{"integrity":"sha512-hqp4JSFFLR8fLh81zx6vPoLU+7hwM7/zS77aiC0IpQAaKZikP5F8zGu3iUvwUC0AOGg9jKvHup85F832aTfyrw==","shasum":"d7c5c9b79c9d88a30dd6b074aba3a07f00ea47ea","tarball":"https://registry.npmjs.org/@btc-vision/visitor-as/-/visitor-as-0.13.0.tgz","fileCount":45,"unpackedSize":479645,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHKTOd698k6otrv2rvXR1tCjnvmtmp8Co9CT2y6fYMFtAiEA4taCOxaQFCDw4E6T3m39KIHVegNZYJDt4Bmay/P9pJo="}]},"_npmUser":{"name":"blobmaster41","email":"anakun@opnet.org"},"directories":{},"maintainers":[{"name":"blobmaster41","email":"anakun@opnet.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/visitor-as_0.13.0_1778192316378_0.20837716690121866"},"_hasShrinkwrap":false}},"time":{"created":"2025-01-31T03:03:56.706Z","modified":"2026-05-07T22:18:36.684Z","0.11.5":"2025-01-31T03:03:56.985Z","0.11.6":"2025-07-14T01:35:16.196Z","0.12.0":"2026-02-05T06:09:08.162Z","0.12.1":"2026-02-05T06:11:01.754Z","0.12.2":"2026-05-07T22:13:07.688Z","0.13.0":"2026-05-07T22:18:36.530Z"},"bugs":{"url":"https://github.com/as-pect/visitor-as/issues"},"author":{"name":"Willem Wyndham"},"license":"MIT","homepage":"https://github.com/as-pect/visitor-as#readme","repository":{"type":"git","url":"git+https://github.com/as-pect/visitor-as.git"},"description":"A generic visitor framework for AssemblyScript","maintainers":[{"name":"blobmaster41","email":"anakun@opnet.org"}],"readme":"# Visitor utilities for AssemblyScript Compiler transformers\r\n\r\n## Example\r\n\r\n### List Fields\r\n\r\nThe transformer:\r\n\r\n```ts\r\nimport {\r\n  ClassDeclaration,\r\n  FieldDeclaration,\r\n  MethodDeclaration,\r\n} from \"../../as\";\r\nimport { ClassDecorator, registerDecorator } from \"../decorator\";\r\nimport { getName } from \"../utils\";\r\n\r\nclass ListMembers extends ClassDecorator {\r\n  visitFieldDeclaration(node: FieldDeclaration): void {\r\n    if (!node.name) console.log(getName(node) + \"\\n\");\r\n    const name = getName(node);\r\n    const _type = getName(node.type!);\r\n    this.stdout.write(name + \": \" + _type + \"\\n\");\r\n  }\r\n\r\n  visitMethodDeclaration(node: MethodDeclaration): void {\r\n    const name = getName(node);\r\n    if (name == \"constructor\") {\r\n      return;\r\n    }\r\n    const sig = getName(node.signature);\r\n    this.stdout.write(name + \": \" + sig + \"\\n\");\r\n  }\r\n\r\n  visitClassDeclaration(node: ClassDeclaration): void {\r\n    this.visit(node.members);\r\n  }\r\n\r\n  get name(): string {\r\n    return \"list\";\r\n  }\r\n}\r\n\r\nexport = registerDecorator(new ListMembers());\r\n```\r\n\r\nassembly/foo.ts:\r\n```ts\r\n@list\r\nclass Foo {\r\n  a: u8;\r\n  b: bool;\r\n  i: i32;\r\n}\r\n```\r\n\r\nAnd then compile with `--transform` flag:\r\n\r\n```\r\nasc assembly/foo.ts --transform ./dist/examples/list --noEmit\r\n```\r\n\r\nWhich prints the following to the console:\r\n\r\n```\r\na: u8\r\nb: bool\r\ni: i32\r\n```\r\n","readmeFilename":"README.md"}